2017년 3월, ShadowBrokers는 DanderSpritz와 FuzzBunch라는 두 가지 프레임워크를 포함하여 전 세계를 놀라게 한 기밀 문서를 공개했습니다.
DanderSpritz는 인텔리전스를 수집하고, 취약점을 악용하며, 탈취된 장치를 제어하도록 설계된 순수 플러그인입니다. Java로 작성되었으며 봇넷 관리 패널과 유사한 그래픽 인터페이스 및 Metasploit 도구와 유사한 제어판을 제공합니다. 또한 FuzzBunch로 제어되지 않는 장치를 위한 백도어와 플러그인도 통합되어 있습니다.
DanderSprit 인터페이스
Fuzzbunch는 객체 분석, 취약점 악용, 작업 심기 등을 목적으로 하는 다양한 유형의 플러그인을 포함하여 다양한 유틸리티가 상호 작용하고 함께 작동할 수 있는 프레임워크를 제공합니다. FuzzBunch 프레임워크 플러그인 패키지에 포함된 파일은 세 가지 유형으로 구분됩니다.
%pluginName%-version.fb
프레임워크의 유틸리티 파일입니다. XML에서 헤더를 복사하고 플러그인 ID를 포함합니다.
%pluginName%-version.exe
FuZZbuNch가 실행 명령을 받으면 이 실행 파일을 실행하세요.
%pluginName%-version.xml
이 구성 파일은 플러그인의 입력 및 출력 매개변수의 이름, 유형, 설명을 설명합니다. 이 정보는 FuzzBunch 인터페이스를 통해 표시될 수 있습니다. 이 파일 유형 분류 표준은 기본 매개변수 설정을 지정하여 프레임워크의 운용성을 향상시킵니다.
ImplantConfig는 제어된 장치를 관리하기 위한 플러그인인 DarkPulsar라는 관리 모듈과 "sipauth42.tsp"라는 원격 제어 백도어가 포함된 Fuzzbunch 호출 가능 툴킷입니다.
다음 명령을 지원합니다:
BurnRawShellcodeEDFStagedUploadDisableSecurityEnableSecurityUpgradeImplantPingPong
Burn, RawShellcode, UpgradeImplant 및 PingPong은 이식된 소프트웨어 제거/업그레이드, 임의 코드 실행 및 원격 시스템에 백도어 설치 여부 확인을 지원합니다. 다른 명령의 목적은 아직 명확하지 않습니다. .
Kaspersky Lab은 DarkPulsar를 분석할 때 C&C와 이식된 소프트웨어 간의 트래픽을 암호화하는 데 사용되는 여러 상수를 발견했습니다.
Kaspersky는 이러한 상수가 추가 심층 조사를 위한 출발점으로 사용될 수 있다고 믿기 때문에 탐지기가 구축되었습니다. 몇 달 후, 32비트와 64비트 버전을 모두 포함하는 신비한 DarkPulsar 백도어가 나타났습니다. 연구원들은 러시아, 이란, 이집트에서 원자력, 통신, IT, 항공우주 및 연구 및 개발과 같은 분야와 관련된 Windows 2003/2008 서버를 일반적으로 감염시키는 약 50건의 사례를 발견했습니다.
DarkPulsar에는 동적 라이브러리 파일이 이식되어 있습니다. 워크로드에서 내보낸 기능으로 판단하면 다음 기능을 달성할 수 있습니다.
시스템에 백도어를 설치하는 데 두 가지 익명 기능이 사용됩니다.
이름이 TSPI(전화 서비스 제공자 인터페이스) 작업과 관련된 기능으로, 백도어가 자동 실행 목록에 있고 자동으로 시작되는지 확인하는 데 사용됩니다.
SSPI(Security Support Provider Interface) 작업과 관련된 이름을 가진 함수로, 주로 악성 코드를 실행하는 데 사용됩니다.
SSPI 및 TSPI 인터페이스 구현은 매우 간단하므로 DarkPulsar에서 내보낸 기능은 인터페이스 기능과 동일한 이름을 갖지만 올바른 전화 서비스는 악성 코드로 대체됩니다.
이 동적 라이브러리는 익명 함수를 통해 시스템에 설치됩니다. 관리자 권한으로 Secur32.AddSecurityPackage
를 호출하고 백도어를 시작하는 매개변수에 자체 라이브러리 경로를 지정하여 lsass를 만듭니다. exe
code>DarkPulsar를 SSP/AP로 로드하고 내보낸 함수 SpLsaModeInitialize
를 호출하여 DarkPulsar에 의한 백도어를 초기화합니다. 그 중 AddSecurityPackage는 lsass.exe
에 코드를 삽입하는 데 사용됩니다. 또한 HKLMSoftwareMicrosoftWindowsCurrentVersionTelephonyProviders
에 라이브러리 파일 이름을 추가합니다. Secur32.AddSecurityPackage
以及参数中它自己库的路径来启动后门,使得lsass.exe
将DarkPulsar加载为SSP/AP并调用其导出的函数SpLsaModeInitialize
,由DarkPulsar初始化后门。其中AddSecurityPackage用于将代码注入到lsass.exe
。它还在HKLMSoftwareMicrosoftWindowsCurrentVersionTelephonyProviders
中添加了其库文件名。
这样一来Telephony API(TapiSrv)开始加载随着远程访问连接管理器(RasMan)服务启动开始加载,将该启动类型设置为“自动”。加载电话服务提供商的库时,TapiSrv调用TSPI_lineNegotiateTSPIVersion
,其中包含AddSecurityPackage调用以将恶意代码注入到lsass.exe
中。
DarkPulsar通过为SpAcceptLsaModeContext
(负责身份验证的函数)安装钩子来实现恶意功能。此类注入行为在进程lsass.exe
lsass.exe
에 악성 코드를 삽입하는 AddSecurityPackage 호출이 포함된 TSPI_lineNegotiateTSPIVersion
을 호출합니다. DarkPulsar는
1, Msv1_0.dll - NTLM 프로토콜의 경우, 2, Kerberos.dll - Kerberos 프로토콜에 사용됨, 3, Schannel.dll - TLS/SSL 프로토콜에 사용됨, 4, Wdigest.dll - 다이제스트 프로토콜에 사용됨,SpAcceptLsaModeContext
(인증을 담당하는 기능)에 대한 후크를 설치하여 악성 기능을 구현합니다. 이러한 유형의 주입은lsass.exe
프로세스 내의 여러 시스템 인증 패킷 내에서 발생하며 Darkpulsar가 다음 프로토콜에 따라 인증 프로세스를 제어할 수 있도록 합니다:
5, Lsasrv - 사용됨. 계약을 협상합니다.
🎜🎜이 프로세스를 완료한 후 Darkpulsar는 시스템 프로토콜에 악성 코드 트래픽을 주입할 수 있습니다. 이러한 유형의 네트워크 활동은 시스템 표준에 따라 수행되므로 시스템 프로세스에만 반영됩니다. 즉, 정상적인 작동을 방해하지 않고 위 프로토콜용으로 예약된 시스템 포트를 사용한다는 의미입니다. 🎜DarkPulsar 임플란트의 네트워크 트래픽 연결 성공
인증 프로세스 제어의 두 번째 장점은 프로세스 목록, 원격 레지스트리, SMB와 같이 인증이 필요한 개체에 액세스하기 위해 사용자 이름 및 비밀번호 보호 입력을 우회할 수 있다는 것입니다. 파일 시스템. Darkpulsar의 비활성화 보안 명령을 보낸 후 제어되는 장치의 백도어 후크는 SpAcceptLsaModeContext
함수를 호출하여 함수에 전달된 자격 증명을 유효하게 만들고 시스템은 클라이언트의 보호 개체에 대한 액세스를 제공합니다. SpAcceptLsaModeContext
函数,使得该函数传递的凭据有效,然后系统将提供对客户端的受保护对象的访问权限。
Darkpulsar-1.1.0.exe的管理界面是基于“一条指令和一次启动”原则构建的。要执行的命令必须在配置文件Darkpulsar-1.1.0.9.xml中指定,或者作为命令行参数指定,至少详细说明:
目标机器是使用32位还是64位系统;
协议(支持SMB、NBT、SSL、RDP协议)以提供命令和端口号;
用于解密会话AES密钥的私有RSA密钥。
Fuzzbunch框架的插件Darkpulsar-1.1.0可以协调不同的组件并管理参数。以下是DisableSecurity命令在Fuzzbunch中的实际应用示例:
下面是运行DisableSecurity之后的进程表实例,允许执行任何没有有效凭据的插件,并通过常规系统功能(远程注册表服务)进行操作:
DanderSpritz是用于控制受感染机器的框架,与FuZZbuNch不同,因为后者为具有特定功能的后期开发阶段提供了部分工具包,例如DisableSecurity和DarkSeuls的EnableSecurity。
DanderSpritz适用于更大范围的后门,在受控设备中使用PeedleCheap来启动攻击者的恶意软件。DanderSpritz的插件PeddleCheap可用于配置嵌入式软件并连接到被感染的计算机。建立连接后,所有DanderSpritz后期开发功能均可用。
这就是EDFStagedUpload模式中的DarkPulsar通过植入恶意软件感染设备的渠道:PCDllLauncher(Fuzzbunch的插件)在受控设备一侧部署PeddleCheap植入软件,DanderSpritz提供用户友好的开发界面。所以,PCDllLauncher的全名是'PeddleCheap DLL Launcher'。
整合DanderSpritz方案、PeddleCheap插件、DarkPulsar插件和PCDllLauncher到一起实现恶意功能共包含四个步骤:
通过FuZZbuNch,运行命令EDFStagedUpload以启动DarkPulsar。
在DanderSpritz中,运行命令pc_prep(PeedelCheap Preparation)以准备恶意代码和要启动的库文件。
在DanderSpritz中,运行命令pc_old(这是命令pc_listen -reuse -nolisten -key默认的别名),这会将其设置为等待来自Pcdlllauncher的socket。
通过FuZZbuNch启动Pcdlllauncher并指定使用ImplantFilename参数中的命令pc_prep准备的有效路径。
DanderSpritz
文件系统插件
FuzzBunch和DanderSpritz框架提供了很大的灵活性,包含诸多专为不同任务设计的插件,比如说FuzzBunch插件负责监控和攻击设备,DanderSpritz框架中的插件则是为管理已感染的受害者而开发的。
DarkPulsar后门的发现有助于理解它作为两个泄露框架之间的桥梁作用,以及它们如何成为同一攻击平台的一部分。这些平台是为长期潜伏攻击而设计的,从DarkPulsar的持久性和潜伏能力(例如将其流量封装到合法协议中并绕过密码保护以通过身份验证)可以看出背后的开发者非常之专业。
在受感染的计算机中执行EDFStagedUpload时,会建立永久连接,这是出现端口445流量的原因。lsass.exe
대상 시스템이 32비트 또는 64비트 시스템을 사용하는지 여부 ;
명령 및 포트 번호를 제공하는 프로토콜(SMB, NBT, SSL, RDP 프로토콜 지원)
Fuzzbunch 프레임워크용 플러그인인 Darkpulsar-1.1.0은 다양한 구성요소를 조정하고 매개변수를 관리할 수 있습니다. 다음은 Fuzzbunch에서 비활성화보안 명령을 실제로 적용한 예입니다. 🎜🎜세션 AES 키를 해독하는 데 사용되는 개인 RSA 키.
🎜FuZZbuNch를 통해 EDFStagedUpload 명령을 실행하여 DarkPulsar를 시작합니다. 🎜
🎜DanderSpritz에서 pc_prep(PeedelCheap 준비) 명령을 실행하여 실행할 악성 코드와 라이브러리 파일을 준비합니다. 🎜
🎜DanderSpritz에서 pc_old 명령을 실행하세요(이것은 pc_listen -reuse -nolisten -key 명령의 기본 별칭입니다). 그러면 Pcdlllauncher에서 소켓을 기다리도록 설정됩니다. 🎜
🎜FuZZbuNch를 통해 Pcdlllauncher를 실행하고 ImplantFilename 매개변수에 pc_prep 명령을 사용하여 준비된 유효한 경로를 지정합니다. 🎜🎜🎜 🎜 DanderSpritz🎜🎜🎜🎜파일 시스템 플러그인 🎜
lsass.exe
에 나타났습니다. 🎜🎜🎜🎜🎜DanderSpritz가 PcDllLauncher 플러그인을 통해 PeddleCheap의 악성 코드를 배포하면 네트워크 활동이 극적으로 증가합니다. 🎜🎜🎜🎜감염된 컴퓨터에 대한 연결이 종료되면 네트워크 활동이 중지되고 lsass.exe
두 개의 바인딩된 소켓만 남습니다:
Injection - 96f10cfa6ba24c9ecd08aa6d37993fe4
파일 경로 - %SystemRoot% System32. tsp
등록 - HKLM 소프트웨어MicrosoftWindowsCurrentVersionTelephonyProviders
위 내용은 NSA의 새로운 APT 프레임워크 DarkPulsar를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!