분석 정보/악성코드 분석 정보

Node.js를 활용하는 Lu0Bot 악성코드

TACHYON & ISARC 2023. 11. 1. 14:36

최근 SFX 압축 파일 형태로 유포되는 Lu0Bot 악성코드가 발견됐다. 해당 악성코드는 C&C 서버의 명령을 받아 동작하는 봇 악성코드이며, Node.js 인터프리터와 암호화된 JavaScript를 포함하고 있다. Lu0Bot을 실행하면, 스스로 압축을 해제 후 Node.js를 사용해 암호화된 JavaScript를 복호화 및 실행한다.

Node.js는 플랫폼에 구애 받지 않고 JavaScript 코드를 실행할 수 있게 해주는 프로그램으로 다양한 기능을 지원하는 라이브러리를 내장하고 있기 때문에 Lu0Bot은 별도의 외부 소스 없이 다양한 동작을 수행할 수 있다. 다만, 현재 해당 악성코드는 PE 파일로 유포되고 있어 Windows에서만 실행되지만, Node.js의 활용은 Linux 등의 다른 플랫폼으로 공격 대상이 확장될 수 있음을 나타낸다.

 

먼저, Lu0Bot 악성코드를 실행하면 압축된 파일을 해제해 [그림 1]과 같이 1개의 BAT 파일과 6개의 DAT 파일이 추출되는 것을 확인할 수 있다.

 

[그림 1] SFX 압축 파일 구성

 

추출된 BAT 파일은 eqnyiodbs라는 이름의 DAT 파일 4개를 합쳐 Node.js 인터프리터 파일을 생성하고, 해당 인터프리터를 사용해 lknidtnqmg.dat 파일을 실행한다.

 

[그림 2] Node.js 인터프리터 생성 및 실행

 

lknidtnqmg.dat는 암호화된 데이터 파일로 디버거를 사용하면 인터프리터가 복호화한 원본 코드를 얻을 수 있다. 해당 원본 코드는 JavaScript 언어로 작성됐으며 난독화가 적용된 것을 확인할 수 있다.

 

[그림 3] 스크립트 복호화

 

[그림 3] JavaScript가 실행되면, 감염된 PC의 시스템 정보와 프로세스 정보를 수집한다.

 

[그림 4] 시스템 및 프로세스 정보

 

이후, C&C 서버와 연결하고 수집한 정보를 서버로 전송한다. , 분석 시점에서 서버가 응답하지 않아 추가 데이터 교환이 발생하지 않는다.

 

[그림 5] C&C 서버 연결

 

한편, Lu0Bot은 시작프로그램 폴더에 Node.js 인터프리터 및 스크립트를 실행하는 LNK 파일을 생성해 자동 실행을 등록함으로써 지속성을 획득한다.

 

[그림 6] 자동 실행 등록

 

Lu0Bot 악성코드는 감염된 PC에서 시스템 정보를 수집하며, 서버의 명령에 따라 추가 악성 동작을 수행할 수 있다. 또한, Node.js를 활용하는 방식은 다른 플랫폼으로 공격 대상의 확장 가능성이 있어 주의가 필요하고, 백신 프로그램과 OS를 항상 최신버전으로 유지할 것을 권고한다.

 

상기 악성코드는 잉카인터넷 안티바이러스 제품 TACHYON Internet Security 5.0에서 진단 및 치료가 가능하다.

 

[그림 7] TACHYON Internet Security 5.0 진단 및 치료 화면