꿈을꾸는 파랑새

오늘은 직원 설문조사 보고서로 위장한 Remcos 트로이 목마 악성코드인 직원 설문조사 보고서.vbs 에 대해서 알아보겠습니다.Remcos는 일반적으로 피싱 공격을 통해 유포하는 트로이 목마이며 주로 송장 또는 주문이라고 위장을 하고 있으며 Remcos 특징은 다음과 같습니다.
권한 상승:Remcos는 감염된 시스템에 대한 관리자 권한을 얻고 UAC(사용자 계정 제어)를 비활성화할 수 있습니다. 이런 방법을 통해서 공격자가 악성코드 실행이 더 쉬워집니다.
방어 회피:Remcos는 프로세스 인젝션을 사용하여 합법적인 프로세스 내에 자신을 포함하므로 안티바이러스 이 탐지하기가 어려워지며 또한 악성코드는 백그라운드에서 실행되어 사용자로부터 자신을 숨길 수 있습니다.
데이터 수집:Remcos 멀웨어의 핵심 기능 중 하나는 컴퓨터 사용자에 대한 정보를 수집하는 것입니다.
키 입력을 기록하고, 스크린 샷,오디오 및 클립보드 내용을 캡처하고 감염된 시스템에서 암호를 수집할 수 있습니다.
유니코드 감산 방식을 사용하고 있으며 문자 인덱스 치환 등을 이용하고 있습니다.
파일명: 직원 설문조사 보고서.vbs
사이즈:1 MB
MD5:f830cd2fbc55c15afcd0f5b11c46bf70
SHA-1:6df532dcbcb6f0e7d700af2226a5dbab6bda7d9a
SHA-256:f71da26874f86cea2cea3d3798ceb6b37bd3ee51511160828af9863fb8ff8fbf

악성코드 분석

악성코드 내용
악성코드 내용

1.CreateObject 문자열 은폐 시도
난독화 배열은 결과적으로 CreateObject 를 생성을 합니다.
v4061에서 각각 문자는 CreateObject 가 됩니다.
동적 코드 실행을 통해 COM 객체를 생성하게 됩니다.
ExecuteGlobal 을 사용을 해서 CreateObject("WScript.Shell")같은 분석가들이 악성코드 분석을 하기 어렵게 하기 위함
2.32비트 WScript 에서 64비트 WScript로 재실행
각각의 문자의 코드에서 17361 을 빼면서 복호화를 합니다.
0:FolderExists
1:TempFolder
2:WScript.Shell
3:C:\Windows\Sysnative
4:CopyFile
5:WScript.Network
6:Shell.Application
7:Scripting.FileSystemObject
8:GetTempName
9:OpenTextFile
11:C:\Windows\Sysnative\WOW64\wscript.exe
12:Namespace 식으로 될 것입니다.
실제 사용되는 코드를 복원하면 다음과 같습니다.
3. 가상 경로 사용
스크립트가 32비트 wscript.exe에서 실행 중인지 확인->64비트 환경 wscript.exe로 동일 스크립트 재실행->64 비트 wscript.exe 실행 후->기존 32비트 종료->64비트 PowerShell 및 64비트,.NET 페이로드 실행
4.데이터 저장소 사용
WScript.Shell.Environment(Process)를 데이터 저장소로 사용하고 각각 문자에서 13245 를 빼고 복호화합니다.
Process,AppData,HomeDrive,Environment,Path,HomeDrive,WScript.Shell,UserProfile
프로세스 환경변수를 사용
페이로드를 명령줄에 직접적으로 포함하지 않음
Windows 명령줄 길이 제한 회피
임시 파일을 만들지 않음
일반적인 파일 기반 백신 프로그램 회피
부모 프로세스의 환경 자식 conhost.exe 와 powershell.exe가 자동으로 지정
환경변수 이름을 무작위 생성을 해서 정적 시그니처 생성 방해
프로세스 종료 후 흔적을 은폐
5.페이로드 조각 채우기
각각의 서브루틴들은 하나의 무작의 환경변수에 Base64 조각 한개로 저장
PowerShell 코드가 환경변수 이름을 참조 방식으로 실행
6.원본 스크립트 경로 전달
그리고 숫자들 복호화하면 ScriptFullName 이 되며
WScript.ScriptFullName: 현재 실행중인 스크립트의 경로와 이름을 반환 처리합니다.
7.5084자 PowerShell 생성
v4446`은 정확히 5,084개의 숫자로 구성된 배열이며 5084자로 된 PowerShell 2단계 로더 생성 및 무작위로 된 암호화된 .NET 페이로드 조각 들이 봉미
메모리 내 .NET 로딩 PowerShell 로더는 디스크에 EXE나 DLL을 저장하고 실행하는 방식을 사용하지 않고 바이트 배열을 CLR에 직접 전달하는 인 메모리 어셈블리로 처리합니다.

악성코드 내용 2
악성코드 내용 2

원본 VBScript 경로도 별도 환경변수에 저장되어 최종 어셈블리에 전달됩니다.
원본 파일 삭제, 설치 경로 판단, 자기 복사, 지속성 설정을 진행합니다.
그리고 AI로 악성코드가 만들어진 흔적들은 다음과 같습니다.
한국어, 중국어, 러시아 어, 힌디어, 아랍어 들이 무작위로 혼합된 주석을 사용하고 있으며 코드 동작과 전혀 맞지 않는 주석 처리, 반복적이며 같은 변수명 사용
의미 없는 코드 
기업용 소프트웨어처럼 보이게 만든 가짜 메타데이터
즉 기존 VBScript,.NET 로더 에 난독화 를 적용하고 나서 AI로 의미 없는 주석을 처리함
일단 이메일을 통해서 유포했으리라 생각을 하고 악성코드 이름인 직원 설문조사 보고서인 것처럼 아무 업체 이메일을 통해서 악성코드를 뿌렸을 것이라고 개인적으로 생각합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band