Winnti Group의 새로운 모듈형 백도어 PipeMon이 2020년 2월에 발견되었습니다. 주요 타깃은 한국과 대만의 멀티플레이어 온라인 게임 및 비디오 기업이며, 악성코드는 공급망을 공격할 수 있다. 공격자는 게시된 게임에 트로이 목마를 삽입하거나 게임 서버를 공격하고 게임 화폐를 사용하여 금전적 이익을 얻을 수 있습니다. Winnti 그룹은 2012년부터 활동해 왔으며 소프트웨어 업계의 공급망 공격을 표적으로 삼고 있습니다. 최근 ESET 연구원들은 홍콩의 여러 대학을 대상으로 한 공격도 발견했습니다.
PipeMon의 두 가지 변종이 대상 회사에서 발견되었습니다. PipeMon의 첫 번째 단계는 .rsrc에 포함된 비밀번호로 보호된 실행 파일을 실행하는 것으로 구성됩니다. 아래와 같이 프로그램을 시작하고 자동 생성된 디렉터리의 setup0.exe에 RARSFX를 작성하고 매개 변수를 통해 암호를 제공한 후 CreateProcess를 사용하여 RARSFX를 실행합니다.
setup0.exe -p*|T/PMR{|T2^LWJ*
샘플마다 암호가 다릅니다. 그런 다음 해당 내용을 추출합니다. RARSFX를 TMP%RarSFX0에서 %로:
CrLnc.dat – 암호화된 페이로드
Duser.dll – UAC 우회
osksupport.dll – UAC 우회
PrintDialog.dll – 악성 코드 초기화
PrintDialog.exe – Pri ntDialog 로드 .dll 합법적인 Windows 파일
setup.dll - 설치 dll
setup.exe - 기본 프로그램
폴더 이름에 충돌이 있는 경우 RarSFX0 문자열 끝에 있는 숫자는 충돌이 없을 때까지 증가됩니다. 갈등. 파일을 추출한 후 매개변수 없이 setup.exe가 실행되며 LoadLibraryA를 사용하여 setup.dll을 로드합니다. 로드 후 setup.dll은 '-x:n' 형식으로 매개변수를 확인하며, n은 작동 모드에 따라 다릅니다. 지원되는 매개변수와 해당 동작은 표 1에 나와 있습니다.
RARSFX는 인수 없이 setup.exe를 실행하여 권한으로 실행 중인지 확인합니다. 그렇지 않은 경우 Windows 버전이 Windows 7 빌드 7601보다 이전인지 추가로 확인하세요. 조건이 충족되면 토큰 가장을 사용하여 권한을 얻습니다. 그렇지 않으면 다음 중 하나에 페이로드를 설치할 수 있는 다른 UAC 우회 기술을 사용하려고 시도합니다.
공격보다는 악성 DLL의 위치를 무작위로 선택하는 대신 setup.dll은 다음 레지스트리 값을 설정하여 DLL 로더를 대체 프린터로 등록합니다.C:WindowsSystem32spoolprtprocsx64DEment.dll
C:WindowsSystem32spoolprtprocsx64EntAppsvc.dll
C:WindowsSystem32spoolprtprocsx64Interactive.
HKLMSYSTEMControlSet001ControlPrintEnvironmentsWindows x64Print ProcessorsPrintFiiterPipelineSvcDriver = “DEment.dll”PrintfiiterPipelinesvc의 철자 오류에 주의하세요(어떤 이름이든 사용할 수 있으므로 인쇄 프로세서 설치에는 영향을 미치지 않습니다). 인쇄 프로세서를 등록한 후 PipeMon은 인쇄 스풀러 서비스(spoolsv.exe)를 다시 시작하여 악성 인쇄 프로세스를 로드합니다. 인쇄 스풀러 서비스는 PC가 부팅될 때마다 시작되어 악성 프로그램의 지속성을 보장합니다. 설치 프로그램에 따라 CrLnc.dat는 레지스트리의 다음 위치에 기록됩니다. 0 E52DHK LMSYSTEMCurrentControlSetControlPrintEnvironmentsWindows x64Print Processorslltdsvc1Driver = " "ENTAPPSVC.DLL"
PipeMon 전체 실행 프로세스 아래 그림과 같이: PipeMon
PipeMon은 모듈식 백도어입니다. 각 모듈은 IntelLoader 기능을 내보내고 로딩을 위해 반사 로딩 기술을 사용할 수 있는 DLL입니다. 각 모듈에는 표 2에 표시된 것처럼 서로 다른 기능이 있습니다.
banner.bmp
certificate.cert License.hwpJSONDIU7c9djE
D8JNCKS0DJE
B0SDFUWEk NCj.logN
.h wp는 한국어예요 text 핸들러는 한국에서 매우 인기 있는 확장 프로그램을 사용합니다. 모듈은 R**으로 암호화되어 있으며, 복호화 키는 'Com! 123Qasdz'는 각 모듈에 하드코딩되어 있습니다. Win32CmDll.dll은 ManagerMain 및 GuardClient 모듈을 해독하고 삽입합니다. ManagerMain 모듈은 통신 모듈의 암호 해독 및 주입을 담당하는 반면 GuardClient 모듈은 통신 모듈이 실행 중인지 확인하고 필요한 경우 다시 로드됩니다. 아래 다이어그램은 PipeMon의 작동 방식을 간략하게 설명합니다.Win32CmDll.dll은 먼저 ManagerMain 및 GuardClient 모듈을 lsass.exe, wininit.exe 또는 lsm.exe 중 하나라는 프로세스에 삽입하려고 시도합니다. 실패하면 spoolsv.exe, ekrn.exe(ESET), avp.exe(Kaspersky) 또는 dllhost.exe라는 프로세스를 제외하고 등록된 Windows 서비스 프로세스 중 하나를 삽입하려고 시도합니다. 다른 모든 방법이 실패하면 taskhost.exe, taskhostw.exe 또는 explorer.exe 프로세스를 시도합니다.
다른 모듈은 전용 명령을 사용하여 요청 시 로드할 수 있지만 아직 발견된 모듈은 없습니다. 모듈은 명명된 파이프를 통해 통신합니다. 각 모듈 간의 통신 채널은 송신용과 수신용으로 각각 하나씩 두 개의 명명된 파이프를 사용합니다.
%CNC_DEFINED% 문자열은 C&C 서버에서 수신되며, %B64_TIMESTAMP% 변수는 base64로 인코딩된 타임스탬프입니다.
통신 모듈은 C&C 서버와 다른 모듈 간의 통신을 관리합니다. 파이프라인 및 해당 C&C 주소가 ManagerMain 모듈에 하드코딩되어 있습니다. 통신 프로토콜은 HP-Socket 라이브러리를 통해 처리되는 TCP를 통한 TLS입니다. 모든 메시지는 하드코드된 키를 사용하여 R** 암호화됩니다. 전송된 콘텐츠가 4KB보다 크거나 같으면 먼저 zlib를 사용하여 압축합니다.
C&C 서버와의 통신을 시작하고 먼저 다음 정보가 포함된 비콘 메시지를 보냅니다.
OS 버전
연결된 네트워크 어댑터의 물리적 주소와 %B64_TIMESTAMP%
피해자의 로컬 IP 주소
백도어 버전/캠페인 우리는 다음과 같은 값을 관찰했습니다. R**을 간단한 XOR로 바꾸고, 0x75E8EEAF를 키로 사용하고, 하드코딩된 문자열을 모두 제거하고, 임의의 값을 사용하여 모듈 간 통신 파이프의 이름을 지정합니다. 메인 로더만 디스크에 파일로 저장되며 업데이트된 모듈은 다음 표에 설명되어 있습니다.
C&C 통신 형식 변경:백도어 구성이 암호화되어 로더 DLL에 내장됩니다. .
PipeMon 모듈과 설치 프로그램 모두 동일한 서명을 사용하며, 인증서는 이전 공격에서 Winnti 조직에 의해 도난당했을 수 있습니다.
위 내용은 Winnti Group의 새로운 변형 분석을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!