EMPIRE: LUPINONE
0x01信息收集
首先进行主机发现,还是利用arp-scan -l
命令在同网段发现主机
0x011:端口扫描
得到主机IP之后,对靶机的端口进行一个基本的扫描*
*nmap -sV -p- 172.16.10.107
*可以发现靶机仅仅只开放了*80
和22
端口,那么我们先访问80
端口*
*
*访问网页主页,发现主页页面上除了一个图片之后没有其他的,然后查看网页的源代码*
*可以看到有一行提示,难度较低,不要放弃.然后就没有别的信息了*
*那就直接掏出*dirb
进行目录扫描咯**
发现页面存在robots.txt
文件,访问robots.txt
文件
robots.txt
文件提示了一个~myfiles
目录,修改URL
,访问这个目录*
*
*但是一访问页面就直接报错*404
*查看网页的源代码,发现作者还在鼓励我们
*但是可以通过*~myfiles
目录想到一个信息,是不是所有目录前面都加上了~
这个字符*
这个时候我们就要用wfuzz
这个工具来进行目录的扫描了****
因为wfuzz
工具会将字典中的每一条记录都显示出来,所以我就把结果直接写入一个文本中给大家看最终效果,那么就直接访问 http://172.16.10.107/~secret
*将页面中回显的文本进行翻译,可以得到信息,网站中存在用户*icex64
的ssh私钥文件
,但是是被隐藏起来的*
*那么Linux
的隐藏文件的特征便是文件的最前面加上一个.
*所以我们利用这个特征再次进行目录扫描,但是由于是私钥,那么需要考虑后缀的问题,所以我们将工具*wfuzz
替换为ffuz
**来进行扫描*
Payload: *ffuf -c -r -u 'http://172.16.10.107/~secret/.FUZZ' -w ./1.txt -e .php,.txt,.html -fs 0
可以看到回显爆出来了一个mysecret.txt
文件,我们直接访问
URL:http://172.16.10.107/~secret/.mysecret.txt
是一段经过不知道什么编码的编码后的密文,这...我密码学也不咋会啊*
*经过大佬的提示,最终是base58
**编码,这...考的真的偏*
*
*将解码后的内容复制到kali上进行保存,保存的文件名为*id_rsa
这个时候可以看到,默认保存文件的文件权限是读写-读-读
也就是6-4-4
而id_rsa
文件的权限一般需要6-0-0
所以我们这边给他改写一个权限,权限改写完之后就可以进行ssh
连接
这里发现有了id_rsa
也需要密码
*我们先使用*ssh2john
将id_rsa
转换一下*
*
*然后再用*john
工具破解密码,这里字典用的是rockyou.txt
为kali
自带的字典*
*
*破解出来密码为*P@55w0rd!
,然后再次用ssh
进行连接**
成功的拿到第一个flag
提权!!!
首先执行sudo -l
查看这个用户有什么权限
发现可以以arsene
用户执行heist.py
脚本,查看这个脚本的内容
*但是没有对其进行修改的权限,那么我们只能从其他的地方下手,我们可以看到这脚本首先导入了一个*webbrowser
,那么我们就可以从这里下手
*首先查找这个库或者是查找这个可执行文件*
**Payload: find / -writable ! -path '/proc*' ! -path '/sys*' ! -path '/dev*' -exec ls -al {} \; 2>/dev/null
那么我们就修改这个py
脚本
*然后用*sudo
进行提权*
*
*这个可能需要输入用户的密码,我找了很久都没有找到,后来是手动进去修改了,按道理来说是不需要的....可能可以找到....*
payload : sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py
*就可以成功拿到*arsene
的shell
*来到*arsene
的家目录可以看到一个NOTE.txt
*啊这,好家伙....*
可以看到arsene
用户是有pip
命令的,那么也就是利用pip
**进行提权*
*Payload:
Pp=$(mktemp -d)
echo "import os; os.execl('/bin/sh'), 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)'" > $Pp/setup.py
sudo pip install $Pp
成功的拿到了root
的权限!
拿到最终的Flag
那么这台靶机也就到此结束啦,这台靶机所涉及到的内容还是挺有难度的,非常知道学习
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论