본문 바로가기

Analysis

72. Lazarus's Python malware

정보 수집 중, 지난 4월 Lazarus 그룹이 유포한 Python 악성코드를 수집하였다. python 기반의 악성코드라는 점이 흥미로워 분석해보았다.

 

해당 악성코드는 Python 언어로 제작되었고, 2024년 5월 12일 현재 VirusTotal에서도 3개의 Anti-Virus 업체만이 탐지중이다.

악성코드 정보

 

해당 악성코드는 내부에 base64 인코딩 된 실제 악성 행위 코드를 포함하고 있다. 해당 base64 인코딩 된 코드가 base64 디코딩 된 후 exec() 함수를 통해 실행된다.

파이썬 코드

 

base64 디코딩 된 이후 코드를 살펴보면, AnyDesk와 관련된 문자열들이 등장한다. 해당 문자열들은 C2 서버로부터 다운로드 받는 악성코드를 AnyDesk 프로그램처럼 위장하기 위한 목적이다.

C2 서버 및 AnyDesk 문자열

 

디코딩 된 코드에서는 4개의 함수가 존재하며 각 함수는 아래와 같은 역할을 수행한다.

  - save_conf : 현재 옵션, 구성 사항을 저장

  - get_anydesk_path : C2에서 얻어온 정보를 anydesk.exe 형태로 홈 경로에 저장

  - update_conf :  애니데스크 비밀번호 해쉬/솔트값/토큰 솔트값 등을 업데이트

  - restart_anydesk : 애니데스크 프로그램 재시작

 

주요 행위로는 C2서버로부터 다운로드한 추가 악성코드를 실행한다. 따라서, 실제로 피해 PC에서 수행될 악성 행위가 어떤 것이 될지는 Lazarus 그룹이 유포하는 추가 악성코드에 따라 달라진다. 보통 이전의 북한 측 APT 그룹 공격자들의 행태로 보면, TutRAT / RokRAT 등의 RAT 악성코드를 유포하고 피해 PC에 대해 장악을 시도했었다. 따라서, 해당 악성코드도 비슷한 형태로 공격이 진행되지 않을까 생각한다.

메인 행위 부분

 

C2 서버에 접속할 경우 아래 그림과 같이 파일을 업로드하는 페이지가 나타난다. 해당 페이지를 통해 Lazarus 그룹은 추가적인 악성코드를 피해 PC에 유포하는 것으로 보여진다.

* 현재 접속 불가

C2 서버 접속

 

반응형