什么是红队?
红队行动是一种全面的方法,它通过运用多种攻击手段和技巧来模拟现实世界的网络威胁。其主要目的是训练和评估组织内部人员、流程和技术的防御能力。红队行动通过模仿真实的网络攻击,帮助组织发现并识别安全防护中的漏洞和不足,从而使组织能够加强自身的安全防护措施,更有效地保护其资产。
什么是网络钓鱼?
网络钓鱼是一种网络攻击手段,目的是诱骗人们泄露他们的敏感信息。存在多种网络钓鱼的手法,例如通过电话进行的语音钓鱼(vishing)、通过短信进行的短信钓鱼(smishing)以及通过网络邮件进行的传统网络钓鱼(phishing)。
什么是鱼叉式钓鱼?
鱼叉式钓鱼是一种更为隐蔽和针对性的网络钓鱼手段。攻击者会收集目标受害者的详细信息,以便发起更为精准和个性化的攻击。这种攻击手法往往设计得非常巧妙,难以被轻易识破。
入侵过程包括以下阶段:
-
初步入侵并建立攻击据点 -
进一步侦察目标环境 -
提升权限并进行横向移动 -
窃取数据
攻击准备包括:
-
购买与目标相似的域名,然后等待一段时间,使其看起来更真实 -
审查目标的网络应用程序,寻找有助于攻击的信息 -
寻找目标过去的数据泄露事件 -
识别可攻击的电子邮件地址 -
审查目标的外部基础设施,寻找安全漏洞或其他有助于进一步攻击的信息
示例 1 – 目标域名:google.com
相似域名实例: g00gle.com Gogle.com 国际化域名(IDN)字符近似实例: ɡοοɡⅼε.com ԌООԌⅬᎬ.com域名
示例 2 – 目标:microsft.com
相似域名实例: rnicrosoft.com rnicrosft.com 八进制编码实例: microsoft.com@017700000001
让我们开始网络钓鱼!
通过网络钓鱼初步入侵:
-
向收集到的电子邮件地址发送垃圾网络钓鱼邮件 -
发送更具针对性的邮件 收集登录凭证 -
对收集到的凭证进行分类(如有用、无用、可能有用等) -
测试这些凭证的有效性 -
使用密码喷洒技术 -
入侵更多账户 -
未要求多因素认证(MFA) / 绕过多因素认证 -
如果入侵成功,收集更多信息;如果失败,重新考虑钓鱼策略
更进一步的手段 – 鱼叉式网络钓鱼
-
监控最初被入侵的邮件 / 对特定目标进行公开来源情报(OSINT)收集 -
设计新的攻击方案 -
尝试与目标进行更深入的互动 -
获得访问权限 -
获取利益
真实的红队故事
执行了一次垃圾网络钓鱼活动,导致多个内部账户被入侵。这些账户并不与电子邮件系统相关联,而是属于特定的内部应用程序。此后,我们调整了策略,进而入侵了一个单一的电子邮件账户。
入侵始于一个被入侵的电子邮件
我们成功获取了初始登录凭证,并进入了单一的电子邮件账户。利用密码喷洒技术,我们将同一密码应用于其他电子邮件账户,导致多个额外账户被入侵。
一旦我们确立了访问权,便开始对所有被泄露账户的邮件往来进行监视。在监视过程中,我们发现了一个可以利用的机会,并迅速地利用了这一机会。
通过获取 TeamViewer 的登录凭证,我们成功访问了一台工作站,并植入了恶意软件。此后,我们继续进行信息搜集和在网络中的横向拓展。
进一步行动
我们采用了相似的策略来请求连接权限,但由于网络连接缓慢,未能获得访问权限。我们尝试植入恶意软件,但它被端点检测和响应系统(EDR)发现了。
由于我们伪装成了其他人信任的人,我们让其中一个目标执行了一个 PowerShell 脚本来检查系统(我们告诉目标这有助于我们诊断问题)。
PowerShell 脚本的示例:
# Get the IPConfig information
$ipconfigOutput = ipconfig /all | Out-String
# Get the current username
$currentUsername = $env:USERNAME
# Get the hostname
$hostname = $env:COMPUTERNAME
# Get the domain name
$domainName = (Get-WmiObject Win32_ComputerSystem).Domain
# Get the list of installed software
$installedPrograms = Get-WmiObject -Class Win32_Product | Select-Object -ExpandProperty Name
# Get the domain users
$domainUsers = & net user /domain | Select-Object -Skip 4 | ForEach-Object {
$userName = $_ -replace 's{2,}', ',' -split ','
$userName[0].Trim()
}
# Get the domain groups
$domainGroups = & net group /domain | Select-Object -Skip 6 | ForEach-Object {
$groupName = $_ -replace 's{2,}', ',' -split ','
$groupName[0].Trim()
}
# Get the proxy settings
$proxySettings = Get-ItemProperty -Path 'HKCU:SoftwareMicrosoftWindowsCurrentVersionInternet Settings' -Name ProxyServer, ProxyEnable -ErrorAction SilentlyContinue
$proxyServer = $proxySettings.ProxyServer
$proxyEnabled = $proxySettings.ProxyEnable
# Define the file path based on the computer name
$fileName = "$hostname.txt"
$filePath = Join-Path -Path $env:USERPROFILEDesktop -ChildPath $fileName
# Create an output string with the system information
$output = @"
IPConfig:
$ipconfigOutput
Current Username: $currentUsername
Hostname: $hostname
Installed Software:
$($installedPrograms -join "`r`n")
Domain Name: $domainName
Domain Users:
$($domainUsers -join "`r`n")
Domain Groups:
$($domainGroups -join "`r`n")
Proxy Settings:
Proxy Server: $proxyServer
Proxy Enabled: $proxyEnabled
"@
# Save the output to the file
$output | Out-File -FilePath $filePath -Encoding UTF8
# Display a confirmation message
Write-Host "System information saved to $filePath"
我们还提供了有关如何执行脚本的说明。一段时间后,我们收到了包含我们正在等待的数据的文件。
太棒了!我们拥有了所需的一切。我们继续绕过EDR,并使用户执行我们的有效载荷。从那时起,我们着手获得更深入的态势感知,并进行了横向移动。
好故事总是伴随着……失败
显然,事情并不总是一帆风顺。
遭遇举报,指我们的行为被标记为网络钓鱼或可疑活动。
获得无用的凭证 / 意识到用户在恶搞
5分钟后……
最终思考
红队行动是一种模拟全方位、多层次的网络攻击,目的是全面检验组织的安全防护能力。它运用了多种模拟真实攻击者的战术、技术和程序。
需要指出的是,网络钓鱼并非红队行动唯一的手段。虽然网络钓鱼是社会工程攻击中常用的策略,但还存在许多其他方法可以用于侵入系统或网络。这不仅包括物理攻击,如尾随进入或撬锁,也包括技术攻击,如利用软件漏洞或系统配置错误。
与传统的渗透测试相比,红队行动的成本更高,耗时更长。这是因为它需要对组织的安全状况进行更全面深入的评估,这就需要更多的资源和专业知识。然而,红队行动的好处远远超过其成本,因为它能提供更准确、更真实的评估,帮助组织了解其发现和应对真实攻击的能力。
最后,红队行动还考验了安全团队对攻击的响应能力。这一点在传统的渗透测试中常常被忽视。通过模拟真实攻击,红队行动使组织能够评估其应对计划的有效性,并找出需要改进的地方。这有助于组织更好地准备和应对真实攻击,从而最终提升整体的安全性。
原文始发于微信公众号(独眼情报):攻防演练中红队利器--社工
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论