记一次失败的实战渗透
字数 1381 2025-08-18 17:33:34
SQL注入与内网渗透实战教学
0X01 SQL注入发现与利用
注入点识别
- 在网站查询框中输入测试字符:
- 输入
1进行正常查询 - 输入
1'触发SQL错误,表明存在SQL注入漏洞
- 输入
SQLMAP工具使用
- 使用SQLMAP确认注入存在并获取DBA权限:
sqlmap -u "目标URL" --dbs - 确认数据库用户权限为DBA(数据库管理员)
0X02 网站GetShell方法
常见GetShell途径
- 通过SQL注入获取Shell的两种主要方法:
- 方法一:跑数据/目录找到管理后台 → 文件上传GetShell
- 方法二:通过报错/phpinfo等获取绝对路径 → 直接写入Shell
实际操作步骤
- 使用御剑等工具扫描网站目录,发现
admin目录存在目录遍历漏洞 - 通过目录遍历直接获取网站绝对路径(如
C:\wwwroot\...) - 使用SQLMAP的
--os-shell功能:sqlmap -u "目标URL" --os-shell- SQLMAP会先上传文件上传Shell(tmpxxxx.php)
- 再通过文件上传Shell上传命令执行Shell
- 最后利用命令执行Shell执行命令
注意事项
- 某些函数(如
assert)可能被禁用,需要尝试其他类型的一句话木马 - 通过目录遍历可能发现未授权上传点,可作为替代GetShell方法
0X03 初步信息搜集
系统信息收集
- 获取基本信息:
- 当前用户:
system - 操作系统:Windows Server 2012
- 内网环境存在
- 杀毒软件:ESET NOD32
- 当前用户:
内网探测方法
- 常用工具:
- Nbtscan
- ICMP协议扫描
- arp-scan
- scanline
- 通过Cobalt Strike(CS)上线后使用Ladon插件扫描:
- 扫描结果显示内网存在大量主机
- 发现AD等敏感词汇,推测存在多个域环境
0X04 横向渗透与深入信息搜集
内网渗透策略
-
首选漏洞利用:
- MS17-010(永恒之蓝)漏洞利用
- 使用Ladon插件扫描内网MS17-010漏洞主机
-
代理设置:
- CS开启socks代理
- 本地Kali配置代理:
sudo vim /etc/proxychains.conf # 添加CS的IP和端口 proxychains msfconsole
-
绕过杀软限制:
- 当交互执行被拦截时,使用单命令加载的EXP
- 添加用户账号进行权限维持
域渗透思路(当目标处于域环境时)
-
基础方法:
- 提权后读取HASH,尝试获取域管账号
- 检查域管进程进行进程注入
- HASH传递攻击域控
-
备用方法:
- MS14-068域提权
- MS14-025漏洞利用
- CVE-2020-1472(Zerologon)漏洞利用
-
其他途径:
- 扫描域内WEB或设备漏洞
- 从边缘设备逐步向域控渗透
关键工具与资源
-
主要工具:
- SQLMAP:SQL注入检测与利用
- 御剑:网站目录扫描
- Cobalt Strike:远控与内网渗透
- Ladon插件:内网扫描与漏洞检测
- Metasploit:漏洞利用框架
-
参考资源:
- SQLMAP --os-shell原理:雨九九博客
经验总结与注意事项
-
渗透测试要点:
- 明确目标,避免时间浪费
- 保持思路灵活,不执着于单一方法
- 内网渗透前先做好充分信息搜集
-
失败经验:
- 内网机器可能已被其他攻击者控制(如勒索软件)
- 杀毒软件会拦截某些攻击行为
- 漏洞利用存在不确定性,需准备多种方案
-
防御建议:
- 及时修补MS17-010等常见漏洞
- 限制数据库用户权限(避免使用DBA账号)
- 禁用目录遍历功能
- 监控异常账户添加行为
- 部署杀毒软件和入侵检测系统