현재 사이버 공간에서 랜섬웨어와 크립토마이너가 주요 공격 대상이지만, 악의적인 목적으로 피해자의 컴퓨터에 은밀하게 침투하는 다른 위협 행위자들도 있습니다. Quick Heal Security Labs는 일상적인 위협 탐지 작업 중 Quick Heal의 URL 분류 클라우드 기능에 의해 차단된 URL을 발견했습니다. 해당 URL에 대한 추가 분석을 통해 "AZORult" 인포스틸러 악성코드의 새로운 변종을 발견했습니다. 이 악성코드는 피해자의 컴퓨터에서 데이터를 수집하여 CnC 서버로 유출합니다. 이 글에서는 이 악성코드를 분석하고 흥미로운 정보를 공유하겠습니다.
아래 공격 체인은 이 맬웨어에서 관찰된 실행 순서를 보여줍니다.

분석 당시 초기 공격 벡터는 알려지지 않았지만, 공격 체인은 악성 URL에서 추적되었습니다. Quick Heal Security Labs는 초기 공격 벡터가 피싱 이메일일 것으로 추정했습니다.
URL: cw57146.tmweb.ru/upload/neut[.]exe
정적 분석 중 샘플에 플레어가 많이 포함된 것으로 보입니다. 'neut.exe' 파일은 MS Windows용 PE32 실행 파일이며, Microsoft Visual Basic의 P-코드 파일로 컴파일되었습니다. 다양한 암호화 문자열을 포함하고 있으며, 높은 엔트로피의 대용량 리소스 데이터를 포함하고 있습니다.

Decompiled File에는 현재 프로세스에 대해 DEP를 비활성화하는 기능이 있으며, 숨겨진 파일이 표시되지 않도록 Explorer 설정을 수정하려고 시도하고 메모리에 막대한 리소스를 로드합니다.

디컴파일된 파일에서 몇 가지 함수를 더 탐색하는 동안, 난독화된 코드가 발견되었습니다. 이 코드는 데이터의 난독화를 해제하고 유효한 문자열을 생성하는 함수에 전달됩니다.

이 64진수 값을 ASCII로 변환하면, 코드는 base64로 인코딩된 것처럼 보입니다. 따라서 baseXNUMX 알고리즘을 사용하여 디코딩하면 다음 문자열을 찾을 수 있습니다.
C:\ProgramData\worm.exe
Hxxp://cw57146.tmweb.ru/upload/neut[.]exe
다음으로 탐색되는 함수는 XOR 알고리즘과 전체 리소스 데이터에 적용되는 몇 가지 추가 연산을 포함합니다. 복호화 루틴은 아래 스니펫을 통해 확인할 수 있습니다.

이 로직을 리소스 코드에 구현한 후, 하나의 PE 파일을 찾았습니다. 복호화된 PE 파일은 델파이 윈도우 파일이며, 이 파일을 분석해 보겠습니다.
정적으로 파일을 검사한 결과 다양한 base64 인코딩 문자열이 발견되었으며, 아래 이미지에 표시되어 있습니다.

위 문자열을 base64 알고리즘을 사용하여 디코딩하면 아래 결과가 나옵니다. 이 문자열은 "Uninstall" 레지스트리 키의 "DisplayName"과 같은 시스템 정보를 수집하는 데 사용됩니다. 이 키는 시스템에 설치된 모든 소프트웨어를 식별하는 데 사용됩니다. "CreateToolhelp32Snapshot"은 실행 중인 모든 프로세스를 나열하는 데 사용됩니다.
소프트웨어\Microsoft\Windows\CurrentVersion\제거 표시 이름 표시 버전 하드웨어\설명\시스템\중앙 프로세서\0 CreateToolhelp32스냅샷
암호화되지 않은 문자열도 몇 개 있습니다. 아래 스냅샷에 그러한 문자열 중 일부가 나와 있습니다.

이제 추가 분석을 통해 이러한 문자열이 어디서 어떻게 사용되는지 이해할 수 있을 것입니다. IDA에서 파일을 디버깅한 후, 악성코드는 "MachineGuid", "ProductName", "UserName", "ComputerName"과 같은 시스템 정보를 수집하여 DWORD 값과 XOR 연산을 한 후, 연결(concat)하여 특정 시스템에 대한 해당 이름의 뮤텍스를 생성합니다.
그 후, 악성코드는 POST 요청을 사용하여 C&C 서버로 데이터를 전송하려고 시도합니다. 요청은 다음과 같이 구성됩니다.

CnC 서버는 암호화된 것으로 보이는 엄청난 양의 데이터를 응답했습니다.

파일 디버깅을 추가로 진행한 후, 악성코드는 "InternetReadFile" API를 사용하여 CnC 서버에서 메모리로 전송된 데이터를 읽고, 3바이트 키와 XOR 알고리즘을 사용하여 복호화했습니다. 응답 버퍼 끝부분의 일부 데이터에는 Base64로 인코딩된 문자열이 포함되어 있었습니다.

악성 소프트웨어가 피해자의 컴퓨터에서 훔치려고 하는 정보(사용자 이름, 비밀번호, 설치된 소프트웨어, 브라우저 정보 등)를 묘사하는 Base64 인코딩된 문자열입니다.

Xor 연산으로 암호화된 다른 버퍼를 복호화한 결과, %Temp%\48fda” 디렉터리에 많은 dll 파일(~2개)이 덤프되어 있고, 몇 가지 문자열도 포함되어 있음을 확인했습니다. 일부 dll은 브라우저 플러그인과 관련이 있습니다. 악성코드는 이러한 dll 파일을 메모리에 로드하여 브라우저 및 기타 정보를 정확하게 파악합니다.
맬웨어는 "hxxp://ip-api.com/json"을 호출하여 계정 정보, 검색 및 쿠키 세부 정보를 훔칠 수 있으며 감염된 컴퓨터의 공용 IP 주소도 검색합니다.
또한 시스템에 설치된 모든 소프트웨어를 나열하고, CreateToolhelp32Snapshot, Process32first, Process32next 함수를 호출하여 실행 중인 모든 프로세스를 나열합니다. 또한 Electrum, MultiBit, monero-project 등의 다양한 암호화폐 채굴 지갑에 대한 정보를 수집합니다. 또한 사용자가 어떤 웹사이트를 언제 방문했는지에 대한 정보도 수집합니다.
또한, 기계 이름, RAM 크기 및 기타 기계 관련 정보도 전송합니다.

위의 모든 정보는 XOR 연산을 통해 암호화되어 CnC 서버로 다시 전송됩니다. 서버는 완전한 데이터를 수신한 후 "OK"라고 응답합니다.
도난당한 데이터는 이메일 계정, 은행 계좌 및 기타 온라인 정보에 무단으로 접근하는 데 널리 사용될 수 있습니다. 이렇게 도난당한 개인 정보는 사용자에게 정신적, 재정적 피해를 입힐 수 있습니다. AZORult 변종은 Quick Heal 제품에서 "Trojan.IGENERIC"으로 탐지됩니다.
맺음말
랜섬웨어와 크립토마이너 중에서도 Infostealer와 같은 악성코드는 공격자가 선호하는 공격 경로입니다. 사용자 여러분께서 의심스러운 웹사이트/이메일 접속을 자제하시고, 바이러스 백신 프로그램을 최신 상태로 유지하여 이러한 복잡한 악성코드에 감염되지 않도록 예방하시기 바랍니다. Quick Heal은 첨단 탐지 기술을 통해 이러한 복잡한 악성코드와 악성 사이트를 지속적으로 모니터링하고 차단해 왔습니다.
IOC
BF468C06614D844E1A856C02FE7FB698
주제 전문가
프렉샤 삭세나 | 퀵힐 보안 랩스



