【VulHub靶场】——CFS三层靶机内网渗透实操

简介: 今天的内容是cfs三层靶机

一:环境搭建

1.靶场下载

靶场就在刚才的网盘链接中,下载之后有很多个7z文件,按照下面的步骤合并解压


下载完是很多个7z格式的压缩文件,直接合并解压就行,就是用

copy /b CFS三层靶机.7z* 靶机.7z

命令把下载好的7z文件合并成一个,再解压就行了,解压密码是teamssix.com


解压打开后就是下面这样

2.网卡配置

这里先别急着在vmware导入这三台虚拟机,需要先配置网卡搭建好一个内网环境,这里我们配置3张网卡

其中的4,9,10三张网卡就是为了这个靶场而创建的三张网卡,尽量跟我设置的一样就可以

再按照下面这个环境去更换网卡,这里的攻击机器是我自己的一台kali,大家应该都有吧

在vm的主页选择打开虚拟机找到对应位置即可创建靶场所需的三台虚拟机

win7选第10张网卡,kali攻击机选择第四张网卡,乌班图选择第9张和第10张网卡,最后的centos选择第4张和第9张网卡,这样整个环境就搭建好了,开启即可,接下来就是宝塔后台配置


3.宝塔配置

在靶机的描述部分附有宝塔后台地址,但是ip和你的不一样,直接开启查看ip之后把宝塔登录地址的ip换成你的ip就可以登录

将对应网址的ip改为自己的ip后,就可以进入宝塔面板,选择网站,再点击网站名,将centos靶机中c段为75的那个ip添加进去,确保能够访问到对应的web页面

乌班图同样的操作添加c段为22的ip,win7直接开机即可,到这里搭建就全部完成了(这里模拟的是kali和centos的第一张网卡位于外网,即你拥有一台kali,现在给你一个ip为192.168.75.133的主机让你渗透)


大家在下去操作的时候个人建议可以用记事本不断记录自己获取的信息,这样既方便后续使用,也有利用理清自己的思路,比如我这样


二:渗透实操

1.打穿centos

1.信息收集

      现在的环境是我们只有对方主机的ip,其他什么也不知道,这种情况我们可以先使用nmap对对方主机进行扫描,通过探测到的端口得知对方开启了什么服务 ,话不多说,直接开扫

这里可以看到对方开启的服务还是比较多,所以要挑选对我们比较有用的,首先就注意到了80端口开启,这意味着什么就不用数了吧,这说明对方搭建了网站,网站就有各种的漏洞的可以常识,这不就好打多了,我们直接物理机访问这个开启了80端口的ip

2. 获取centos的webshell

访问后发现这是一个用thinkphp5版本搭建的网站,众所周知这个版本的thinkphp存在命令执行漏洞,这里我就不用手工,直接用工具了,这个工具可以探测并利用存在漏洞的thinkphp,要的私聊我,这里直接放入对方网址,再上传一句话木马

再访问这个带有木马的域名使用蚂剑来连接即可获取webshell ,如下图

flag21sA.txt里面放的就是我们的第一个flag,这里就不放图片了,我们继续操作  

拿到centos的webshell后再利用蚁剑的终端做进一步信息收集的过程中发现了另一个ip,这就说明了它还存在其他内网主机

这对一初学渗透的我来说完全是赤裸裸的挑衅,这不给他打穿?话不多说直接开搞,下面的内容就需要涉及到msf了,当然,这台centos已经被我们拿下了,我们先用msf创建一个后门,就是在桌面创建一个elf格式的木马,再开启监听,通过刚才蚂剑上传上去,再直接控制终端他的终端运行这个木马即可监听到,如图:

3.获取主机权限

这里我们就彻底了拿到了centos的权限,必须得再打它的内网助助兴,刚才nmap探测出可能内网还有其他主机,这里我们就来进行探测打其他的主机

2.打穿乌班图

1.信息收集

这里我们直接尝试nmap扫描另一张网卡的其他主机,

出现了这样的结果,这说明什么,说明了一个都扫不到,那这是为什么呢,其实是因为我们的网段设置,这里扫描是用的kali的ip扫描,模拟的环境中kali和centos是公网主机,所以可以直接扫到,而现在扫的属于内网网段,扫不到很正常,那我们怎么办呢?转念一想,刚才我们打下的centos虽然是公网主机,但是它也在这个内网内啊,思路是不是瞬间就有了?我们就用centos的ip来打它的内网,直接‘借刀杀人’,先用msf自带的探测网络接口的模块(get_local_subnets)和查看路由的模块(autoroute -p)来进一步进行信息探测

2.信息分析

这里查看到centos处于三个网段内,刚才我们nmap扫出来只有两个网段,这说明122的网段明显就是出题方来迷惑我们的,不用管,而且当前没有路由 (路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程,就相当于把我们要传输的数据先传输到该路由,再发往目标,centos上又没有msf,所以可以通过设置路由的方式把我们的请求从centos发出,这样不就可以在kali上访问到centos的ip了吗),所以我们要来添加一个路由(autoroute -s),因为我们已经在75的网段内,所以添加的路由肯定添加22网段的,就简单理解为我们建立了一个攻击机kali和该网段的隧道如图:

现在我们就可以与 22这个网段进行通信了,老样子,nmap扫描该内网网段下存活了哪些主机,如图:(注意:这里使用nmap扫描要禁用ping检测,即-Pn,因为不一定能ping通)

3.msf的代理配置

这里的路由还有一个缺陷,它只能在这个msf建立的会话上使用,假如我们新开一个终端使用nmap扫描,还是扫不到,所以这里就涉及到一个重要的知识点,msf的代理配置,当然msf有自己的代理模块,就是 auxiliary/server/socks_proxy  ,我们先来开启代理服务,跟我一样的配置就行,srvport是端口随便定,只要不被占用

再进入 /etc/proxychains4.conf 更改代理配置即可

在该文件的最下面一行,把ip更改为kali攻击机的ip,端口更改为刚刚配置模块的端口,更改后如下:

此时在指令前输入proxychains4即可走代理来执行该命令,我们用nmap来检验一下,如下

能探测乌班图的端口,说明代理配置成功(前面的终端页面都不要关,路由必须设置才可以成功)

4.拿下乌班图webshell

跟拿下centos的webshell一样的原理,开放了80端口,所以我们直接找他的网页,这里就在kali上打开,但是浏览器并不能直接访问乌班图的网站,同样需要加上代理,根据靶机的ip如下配置就好

配置之后直接访问乌班图的ip就可以访问对应的网站

可以看到这是一个cms系统,一般步骤是先探测版本再去度娘看对应版本有没有什么漏洞,但是这里的开发者审查工具直接提示了sql注入,我们就不去进行多余的操作了(毕竟只是靶场),

我们直接访问它给的有sql注入的漏洞站点,简单试了一下发现是个时间盲注,我这么勤奋的人当然是直接用sqlmap来跑了,话不多说,直接开跑看结果,注意这里的sqlmap也要配置代理(用自带的)

1.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 --dbs


2.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 -D bagecms --tables


3.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 -D begacms -T bage_admin --columns


4.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 -D begacms -T bage_admin -C username,password --dump


上面这四个命令的ip和端口换成你自己设置的就行了,一些原因,这里只放结果,如下:

现在我们获得了这个网站的账号密码,之后呢?当然是找他的后台,直接登录,那这个网站的webshell不是直接有了?一般是爆破工具来爆破,这里就直接放结果了

用刚才sqlmap跑出来的密码登录即可

登录后观察网站,发现使用了很多模块化文件。而且都是php格式,我们直接在其中的一个php文件中加入一句话木马,再访问该文件位置,注意这里的网址使用的是模块化,不能直接加在网站上,要用?r=模块文件 的方式访问模块文件,再用蚁剑连接,注意,因为这里只是靶场,用的都是虚拟机的仅主机模式,所以蚂剑可以直接连接,平时正常情况下是不行的,需要给蚁剑配置kali一样的代理,这里是靶场就不需要了

这里就成功拿到了webshell权限

5.拿下乌班图主机权限

拿下了webshell,又要开始拿主机权限,虽然麻烦,但成就感满满不是吗?

同理,我们再生成针对乌班图的木马,这里需要注意的是木马的shell只能用正向,因为我们是搭建隧道来访问的乌班图,因为我们正常访问是访问不到的,但是它处于内网中也访问不到我们,而且让他通过隧道来找我们是不现实的,所以还是得我们通过隧道去找他,所以只能正向

同样的msf新开一个页面开启监听,但是这里要注意,msf新开一个页面后之前的那个页面的所有东西都用不了,所以不能直接msfconsole打开,msf这里也需要走代理 ,就是在用proxychains msfconsole来启动msf,再设置payload,设置lport,设置phost,即可开启监听

用蚁剑将生成的木马上传到乌班图并打开终端执行这个木马,即可回弹shell

至此成功拿下乌班图的主机权限,那么就只剩下一台windows7了,我们继续

3.打穿win7

1.信息收集

同理,做进一步的信息收集,继续看他得网络接口,发现还存在一个33段的网络,这就是我们搭建的windows7,

2.msf代理配置

重复拿centos的shell的操作,老三样:继续给他创建一个33段的路由,配置代理,

开启msf的代理模块

配置文件

3.获取主机权限

这里我们新开页面,可以使用msf自带的一些tcp扫描模块或者nmap都可以,注意这里的msf开启时也需要走刚创建的那个代理 ,探测到445端口开放,又是win7系统,那么是不是自然而然就想到永恒之蓝漏洞(ms17-010),这里直接使用msf自带的永恒之蓝攻击,成功拿

最后的flag就在这台win7的桌面上,至此靶场打穿,三个flag拿到,成功通关


相关文章
|
2月前
|
安全 Java 测试技术
如何搭建 WebGoat 靶场保姆级教程(附链接)
如何搭建 WebGoat 靶场保姆级教程(附链接)
|
21天前
|
安全 Shell Linux
记录VulnHub 靶场——Escalate_Linux渗透测试过程
本文档描述了一次靶场环境的搭建和渗透测试过程。首先,提供了靶机环境的下载链接,并建议在VMware或VirtualBox中以NAT模式或仅主机模式导入。接着,通过Kali Linux扫描发现靶机IP,并用Nmap扫描开放端口,识别出80、111、139、445、2049等端口。在80端口上找到一个shell.php文件,通过它发现可以利用GET参数传递cmd命令。
5 0
|
21天前
|
安全 网络安全 数据安全/隐私保护
VulnHub 靶场--super-Mario-Host超级马里奥主机渗透测试过程
这篇文章描述了在一个网络安全靶场环境中进行渗透测试的过程。首先,从百度网盘下载并导入虚拟机镜像,然后将其网络设置为NAT或仅主机模式。接下来,通过扫描靶机IP地址的本地网络段,发现靶机IP为192.168.220.135,并且了解到靶机上有一个名为“mario.supermariohost.local”的Web服务,运行在8180端口。尝试SSH弱口令攻击失败后,通过信息收集找到一个名为“luigi.php”的页面,其中包含一段英文提示,提示需要将域名添加到hosts文件中。 通过cewl工具从luigi.php生成字典文件passwords,然后使用hydra工具尝试SSH登录,成功获得l
17 0
|
2月前
|
安全 测试技术 数据库
如何搭建 DVWA 靶场保姆级教程(附链接)
如何搭建 DVWA 靶场保姆级教程(附链接)
|
5月前
|
前端开发 Docker 容器
基于xinetd部署pwn题(百分百搭成并且可以nc靶场地址)
基于xinetd部署pwn题(百分百搭成并且可以nc靶场地址)
82 1
|
12月前
|
JavaScript
pikachu靶场通关秘籍之跨站脚本攻击
pikachu靶场通关秘籍之跨站脚本攻击
103 0
|
Linux 虚拟化
十四、Linux下安装操作系统,虚拟机联网,如何ping通baidu.com网址,以及如何设置静态IP精讲,这一篇足够了。(手把手小白教程)
十四、Linux下安装操作系统,虚拟机联网,如何ping通baidu.com网址,以及如何设置静态IP精讲,这一篇足够了。(手把手小白教程)
十四、Linux下安装操作系统,虚拟机联网,如何ping通baidu.com网址,以及如何设置静态IP精讲,这一篇足够了。(手把手小白教程)
|
网络协议
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(下)
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(下)
132 0
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(下)
|
安全 Shell API
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(上)
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(上)
194 0
【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)(上)
|
安全 Ubuntu Shell
Vulhub靶场搭建
安装Docker 在安装、使用Docker的过程中出现错误比较多,所以这一节来说明一下如何正确安装最新版本的Docker,(国内机器)并且配置加速器。 一键安装Docker 这是推荐方式。在未安装过Docker的机器上,root权限执行如下命令即可一键安装最新版Docker: curl -s https://get.docker.com/ | sh 如果你已经安装过老版本Docker(且不是用这个一键安装脚本安装的),请先卸载Docker(例如sudo apt purge --autoremove docker.io)。 如果你不想使用这种方式安装Docker,也可以使用系统自带的包管理工具来
435 1