CFS三层靶机实验

实验环境准备:kali,target1,2,3

需要用到的工具:

中国蚁剑,nmap,wappalyzer(页面插件),dirsearch,neo-regorg,nmap

目前已知信息:kali的Ip是192.168.60.130

                         target1的IP是172.16.102.133

环境搭建

靶机资源获取:链接:https://pan.baidu.com/s/1YeD5svFLSPWsJsZtAeXp1A
                         提取码:h68m

导入靶机

 

 配置网卡,设置22段的网卡

打开target虚拟机设置,配置网络适配器,将刚刚定义的22段网卡设置在网络适配器2上

 进入tar1虚拟机终端输入命令ifconfig检查网络配置是否成功

打开浏览器进入宝塔的面板

:8888/a768f109/ 此处为后台地址

登录密码和网站后台等之类的,在文件夹中找到Target1_centos.vmx

将target1的第一个ip添加进去

第一台配置好了

现在在配一张33段的网卡

 targer2的第一张网卡设置为22段那张网卡,第二张网卡设置为33段那张网卡

 之后操作步骤同上

在文件夹中找到Target2_centos.vmx就能进宝塔后台进行配置

第三台设备只需要将网络适配器改成那个33段的网卡

全部配置完后,将自定义的那两张网卡的此处的地方的√取消掉即可,记得是在所有配置完成后再操作这一步

实验过程

Target 1

第一步:外网信息收集

这个环境省略了获取域名真实ip的步骤,直接可以通过ip进行信息收集

直接利用Kali上安装的namp工具进行扫描

 (参数解释)

-sV 查看当前端口版本
-T4 扫描速度
-A 扫描全部
-p1-65535 扫描所有端口

扫描之后得出这个ip开启了哪些端口,启用了哪些服务

这里可以注意一下3306端口号,开启的是mysql服务,在MySQL后有一个unanthorized,表示的是未授权

尝试连接一下 ,发现没什么用

继续观察,发现一个8888端口号,发现是宝塔CMS的面板

继续收集

通过观察页面,以及页面插件wappalyzer,我们发现这个网站用的是thinkPHP V5.0版本

接下来扫目录

使用的工具是dirsearch

 (参数解释)

-e 表示的是扫描的语言   后面跟的default参数是指默认全扫的意思,会将所有后缀名都进行扫描
可以选择自定义字典进行扫描

进入扫描到的各目录,在robots.txt里找到了第一个flag

发现还有一个static目录,这个目录下一般存放的是静态资源,在浏览器中验证后发现显示403,得出结论这个目录存在,但无法获取里面的资源,所以继续扫

 进入这个目录下发现下载了一个文件,通过记事本打开发现里面并没有什么可以利用的价值

现在能收集到的信息已经足够了

之后,我们基于收集到的信息,了解到这个网站是基于thinkphp 框架 v5.0 版本做的,我们可以选择在网上收集这个版本的历史漏洞和漏洞利用的工具来进行下一步操作

在Kali上运行这个漏洞利用工具

 利用这个工具检查一下可以利用什么漏洞

 根据扫描到的信息,发现我们可以利用thinkphp 5.0.22/5.1.29 RCE这个漏洞模块,选择对应到的版本模块,直接一键getshell,就可以利用这个版本存在的rce漏洞,非常方便快乐,非常脚本小子

再去新生成的目录下验证是否存在rce漏洞

然后再直接通过蚁剑进行连接即可,成功拿下内网第一台靶机

也成功找到第二个flag

 接下来进行内网信息收集

在我们获取到权限的这台设备中,我们可以通过蚁剑的虚拟终端进行对设备和设备所处内网也进行一个信息收集

查内核(uname -a),查ip(ifconfig),查端口(netstat -ntlp),查进程(tasklist),查路由(route)

我们可以在终端中进到各个目录中去查看各种有用的信息,当然也可以在蚁剑的文件管理UI界面直接查看

ls 查看当前目录下的文件
ls -al 查看当前目录下所有的文件(包括隐藏文件)
Linux常见敏感目录
/etc   /var  /usr  /root

具体找文件的过程省略,最终在根目录下发现了一个flag.txt的文件

 cat读取一下这个文件,得到第三个flag 

 之后我们再查看一下这个服务器的网络配置信息

通过命令执行返回的结果我们得知,这台设备有两张网卡,除了172.16.102.133这个ip,还有一个22段的ip:192.168.22.131

再利用nmap探测22段其他存活的ip

proxychians nmap  -sT -T5 192.168.22.1/24

检测出22段还有一个存活ip是tar2在22段的ip,192.168.22.129

target 2

根据前面的步骤,我们得知第一个靶机是开启了web服务的,而且target1有两个ip网段,我们的kali不能直接访问到target1的22网段的,我们这时就需要搭建隧道

这里使用的工具是neo-regorg(php5.4版本以下可以选择这个工具的前身regorg)

将在kali里面带有key的那个文件夹中的tunnel.php文件通过蚁剑文件上传,生成带有key的文件夹的指令如下(注意:生成过后,一共会存在两个文件夹,一个是自己才能使用的,包含有带有名称为key的文本的文件夹,还有一个是作为模板的文件夹,模板文件夹可以不用管它)

python neoreg.py generate -k password  #生成带有key的个人的文件夹

上传成功之后记得在网页上进入/tunnel.php检查一下是否存在问题

f12进入开发者模式,打开网络部分,页面回复为200即为正确

进入kali的regorg目录下打开终端,打开工具

用python文件来运行放在target1的服务器目录下的tunnel文件
   -l 0.0.0.0表示kali能与物理机连接的所有ip

 在target1上运行tunnel.php这个脚本-------->与kali搭建隧道进行连接-------->kali开启监听------->开启socks5服务并运行在kali的所有ip上,因为不清楚kali的哪个ip能与物理机进行互通,所以设置服务开启在全段上,以便能与物理机建立

此时我们的kali以及与target1之间搭上了代理,成功建立了连接

在通过proxychains工具连接当前的Socks代理工具

proxychains工具后跟的命令相当于使用当前socks代理进行数据包发送

proxychains后跟fscan或者nmap以及任意一个可使用socks代理模块的工具,探测主机存活

在通过proxychains开启浏览器进行内网服务的访问 

proxychians firefox

也可以直接用Burp来进行内网服务访问

我们可以在user option中启用socks代理模块,在这个模块下进行设置(注意neo-regorg启动成功后查看显示的Socks服务是在那里开启的)

这里使用的是kali机中的Burp,一方面是可以提供socks服务搭建代理,另一方也可以方便抓包

然后访问到这个页面

发现这个内网的页面用的是bagecms

再重复上面对thinkphp的各类信息收集方法即可

我们最终在云悉平台也找到了对应的CMS的历史漏洞和后台的地址

观察页面,打开f12,发现这个靶场里面作者也给了我们提示

作者告诉了我们一个sql注入的注入点

结合前面我们通过信息收集得到的信息,就有了新的思路

sqlmap对注入点进行探测,参数keyword可注入,且数据库为mysql
分别跑出库表字段以及在数据库中找密码等敏感信息
sqlmap -r C:\Users\Administrator\Desktop\bage.txt --
proxy=socks5://172.16.102.133:1080 -D bagecms -T bage_admin --columns
--proxy代理参数
-dbs 所有库
--tables 某个库中的所有表
--columns 上一个表中的所有字段

通过sqlmap的一系列操作和编码转译之后,我们得到了这个后台登陆账号是admin,密码是123qwe

成功登陆到后台之后,得到第四个flag

再根据我们刚刚上面查到的这个cms的历史漏洞,我们可以知道这个后台界面的模板模块用户是可以随意修改的

我们在这里面上传一个一句话木马,再到那个页面进行验证发现上传成功

我们再打开蚁剑,在里面设置挂上代理

代理服务器和端口号设置为kali的ip和隧道监听的端口号

再测试与target2的22段是否能连接

代理搭建成功并保存了之后,连接上我们写入了一句话木马的有rce漏洞的页面

 在文件管理页面看到了第五个flag

到此成功拿下了target 2

之后对target 2的服务器进行信息收集,具体参考对tar1的信息收集

在/etc/passwd目录下我们发现了第六个flag

再收集一下该设备的配置,发现还有一个33段的网卡

 并发现了一个可用的用户dora,访问root文件夹无果证明这个用户权限不够,可用尝试提权

suid提权  find / -perm -u=s -type f 2>/dev/null

 尝试sudi提权发现无果

之后整理一下思路   (流量走势图是直接截屏老师给我们画的图,如有侵权立删)

 

目前kali能访问第一台服务器并以第一台服务器作为代理,访问到了22段也就是第二台服务器,此时我们的目标是能访问第三台服务器并拿下第三台服务器,所以我们此时需要以第二台服务器为代理,需要的操作和工具相仿。用第一台服务器做代理时,我们用regorg建代理(连接80端口)时,端口监听在kali上(服务监听端口1080),如果用第二台服务器做代理的话,端口监听应该是在第一台服务器上,就可以实现kali通过第一台服务器的监听端口直接访问第三台服务器

此时大致的流量走向思路

此时,我们需要验证一下第二台服务器是否有python,有python与否影响到我们的工具方面的使用,对tar2进行全盘扫描

发现存在python,我们此时只需要将tunnel.php文件再上传到tar2上,与之前相仿,我们需要再在页面中验证一下tunnel.php是否上传成功,在网络中查看回显200即成功

然后我们需要将连接文件neoreg.py上传到tar1的服务器上

上传成功后,打开tar1的虚拟终端,运行上传的这个文件

我们再检查一下1080端口是否开启,发现是开启的

因为工具和网络代理存在过多等原因,工具无法正常使用,这里就跳过扫描33段存活ip的步骤,直接利用现成已知的tar3的ip

扫描tar3的445和3389是否存在,这两个端口均存在历史漏洞 445(ms17-010) 3389(CVE-2019-0708)

 

发现这两个端口是开启的状态,接下来查看这两个端口存在的漏洞是否存活

接下来用proxychains启动msf

 

在msf中搜索ms17-010 永恒之蓝漏洞 ,选择第三个带有scanner的模块(445端口)(带有scanner的都是探测能否利用该漏洞的模块),发现可以利用

(3389端口)搜索0708 远程命令执行漏洞 ,依旧选择scanner检测漏洞模块查看是否可以利用该漏洞,发现也可以利用

 

利用ms17-010漏洞,这4个模块只有第三个是漏洞检测的模块,其他都是漏洞利用的模块,0号为直接获得反弹Shell,2号为直接执行命令,搜索之后选择第二个模块,利用命令执行

进行后利用show options 得知,当中的command参数可以写入我们的命令

输入

set rhost 192.168.33.33
set command "whoami" #利用永恒之蓝漏洞执行whoami,返回的权限为system
run

 

发现利用成功

接下来只需要在command的设置中更改我们需要使用的命令即可

最终通过各种命令找到最后一个flag

 到此,实验结束,这也算是内网渗透的一个流程

(如果文章内容有误,麻烦大佬们指点,我会及时改正,如果帮助到了您,麻烦点个赞呗)

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值