渗透测试实战——多网段多场景靶机入侵实战

 

前言

hello大家好,最近工作太忙好几个月没更新文章了,但是也有好多小伙伴在线下工作、活动中认出了小弟的ID和头像,非常感谢大家关注我的文章,希望以后会写的更多更好!!

这次小弟准备了3个靶机,分别跨3个不同网段,2台Linux、一台win2008,攻击者分别逐步入侵拿权限、代理、完成全部入侵(因为小弟是在工作笔记本上搭的环境,笔记本电脑性能有限,故仅仅3台3层网段,其实原理都是一样的,请见谅)。

 

网络拓扑

场景一:

场景二:

 

靶机下载

靶机一:https://pan.baidu.com/s/1-PMQTQWinxFPrZYnFrk6dg

靶机二:https://pan.baidu.com/s/1qd_FLPUfVOPaFjjXGtB0Gw

靶机三:https://pan.baidu.com/s/1vjfINZSTy3VXGfvwVuyfBw

注:第二层靶机小伙伴们在拿到root权限后,要使用root权限多添加几个网卡,系统默认一个网口

 

start

第一层网络环境

老规矩,先确认目标IP,IP为:172.16.24.63 如图:

我们进一步探测目标的具体情况,因为是靶机,所以我们就不用做一堆信息收集工作了,就nmap探测一下端口就好了,

我们继续以80端口,作为突破口,

就一个gif,我们跑一下目录看看,

逐一查看

如上图中看到,有joomla,我们使用joomscan扫一下看看

如图,无任何有用信息

我们把目光放在/zorin上,逐一点击查看,

可以看到2个关键点:“/sentrifugo”、初始默认密码为“toor”

下面我的思路是收集用户名,爆破一下初始密码,

该靶机是1985年的007电影,我就收集了剧中人的名字做成了字典,电影参考地址:https://www.imdb.com/title/tt0090264/

下面我们开始爆破密码,如图:

成功爆破出默认账号密码:bob – toor

成功登陆ssh,如图:

下一步我们继续提权操作,如图:

逐一查看:

成功拿到jenny账号密码:!!!sfbay!!!,

我们在继续查看/max

可以看到该目录下的“aView.py”文件我们无法查看,

下面切换到用户jenny,因为她的权限比较高一些,

可以成功查看该文件,下面我们就根据“note.txt”文件来做一个字典吧,根据它的规则提示我写了个简单小程序,代码如图:

运行脚本,保存为文件“fuzz.txt”

下面我们按照它的提示挂上字典,跑该目标的8191端口,本次小弟使用burp完成,大家也可使用wfuzz工具完成,如图:

成功

http://172.16.24.63:8191/7f98ca7ba1484c66bf09627f931448053ae6b55a

执行一下看看

图上的不就是“aView.py”的内容吗?我们修改一下那个python,确认一下

如图所示,我们有读写权限,修改试一下

可以看到,没问题了,下一步就直接写入反弹shell,如图:

本地接收,成功拿到root权限

(本靶机还有另外一种解法,小伙伴们自己线下试试哦)

第二层网络环境

接上一步,我习惯使用msf,我们先弹回一个meterpreter权限,如图:

查看IP情况,

我们添加路由,

添加完后,我们做一下socks4 代理,如下图操作:

下一步我使用proxychains来完成后面的代理工作,命令操作如下:

sudo vim /etc/proxychains.conf

注:此处IP为攻击者IP,

下一步我们测试一下是否能成功代理穿透,只需要在正常命令前面加上“proxychains”即可,如图:

可以看到代理穿透成功,如上图所示第二层靶机开放了2个端口,分别为22和80,老规矩我们还是以80端口作为突破口,进一步渗透,我们打开浏览器看一下
不需要设置代理,只需要如下命令:

浏览器也代理成功,但是没什么关键页面信息,我们跑一下目录吧

发现/drupal目录,我们继续跟进,

发现一个敏感用户“james”,先保持着,不一定后面要得到,

我们继续查看/robots.txt

查看版本信息:

如上图,该版本是有rce漏洞的,在小弟的前面文章中出现过多次,这里就不多做介绍了,本次直接使用msf来完成攻击,

执行

用shell来操作

继续

各位师傅一看就知道是base64的编码,我们解密看看

得到密码,但是好像没用,如图

我们继续

看到wget具备root权限,那我们的思路就跟小弟前面的文章中一样,直接伪造一个类root权限用户,wget下来直接替换原来的文件,操作如下

继续

下面我们直接wget就行,如图:

切换用户,成功拿到root权限

为了分别管理,我习惯性的弹会一个高权限shell,如图:

第二层靶机完

第三层网络环境

接上一步,我习惯使用msf,我们先弹回一个meterpreter权限,如图:

查看IP情况,并再一次添加路由

继续添加进proxychains

下面我们老规矩,用nmap探测目标

可以看到该目标为Windows 2008系统,并且开启较多端口,我们能入侵的方法也比较多,比如ms17-010、ssh爆破、rdp爆破、cve-2019-0708等等,那么这里那,因为本次设想了2种环境,所以我就随便使用2种方法完成各自的入侵工作:

一、利用PRTG提权

因为它开放了3389,所以我先登陆看看,命令如下,如图:

因为该靶机密码均为“vagrant”,如果我一来就爆破出来“administrator”的密码登录了,那就没意思了,所以我就用它另外一个账号叫“vagrant”来爆破吧,如图:

成功,我们下一步就是远程登录该账户,来完成提权操作,如图:

登陆后,看到其桌面上有个好东西,PRTG Network Monitor 软件,其是国外较知名的流量监控软件,本场景模拟在真实环境中的部署在不通互联网的监控内网敏感服务器,如图:

那我这次以它作为提权的突破口,let‘s go

1.先判断其软件版本,18.1.37

通过版本搜索,可以发现其是有漏洞的,下面我们来手工验证触发,试一下

名字随便取

下面我使用nishang来做一个tcpshell,如图

然后把这个shell.ps1上传到第二层被控制服务器上,(小伙伴们要问了,为什么要控制上传到第二层?因为该场景第三层目标只连内网不通互联网,我们只能通过第二层肉鸡来完成对第三层目标的最终控制)如图:

然后继续上面的操作

一切准备就绪,保存,执行

在第二层的被控制服务器上,成功看到其的http请求

那我们看一下,shell是否弹回来了?

如上图,可以看到我们成功拿到了system权限的shell。

(这里说一下,有的时候在实战中,这样操作写,可能会有shell是下载了,但是没有弹回来的情况,这里给大家说一下解决方法,先看下图:

命令解释:第一部分命令就是查看shell.ps1并用管道符给到第二部分,第二部分命令就是转换文件到指定编码并用管道符给到第三部分,第三部分就经过base64加密。然后让复制下面的编码,最后让目标执行命令:powershell -enc xxxxx 即可,如图:

完!

二、利用ms16-075提权

这次的场景设想是进去第三层后,目标机器可以连通互联网,那我们这次就用另外一种方法拿system权限,前面都一样,我们先爆破其ssh把,如图:

连接上ssh

输入cmd,即是普通的Windows命令行界面,下面我们要做的,就是弹回一个shell到攻击者电脑上,这里大家可以使用公网vps如果没有的话或者可以使用ngrok/frp等,我这里就使用ngrok,

第一步先打开隧道,本次打开2个,一个是下载木马的隧道,一个是接收shell的隧道,如图;

下面开始配置木马

接下来开启本地http,打通下载木马的隧道

下一步打通接收shell隧道,msf开启监听,等待目标的连接,连接ssh,使用命令下载木马

接下来连接ssh,使用命令下载木马,运行

shell也弹回来了

下面我们提权,下图为可能可以被提权的漏洞

小伙伴们也可以使用该项目:https://github.com/SecWiki/windows-kernel-exploits

或者其他Windows界面下的提权搜索工具,互联网上很多,这里就不提供了。

本次选用ms16-075来完成,如图:

提权成功,成功拿到system权限。

文章完结。谢谢大家观看!!!

(完)