상세 컨텐츠

본문 제목

악성 NPM 패키지, njRAT 원격 접근 트로이목마 설치해

국내외 보안동향

by 알약4 2020. 12. 2. 09:00

본문

Malicious NPM packages used to install njRAT remote access Trojan

 

새로운 악성 NPM 패키지가 해커가 시스템을 제어하도록 허용하는 njRAT 원격 접근 트로이목마를 설치하는 것으로 나타났습니다.

 

NPM은 개발자와 사용자가 패키지를 다운로드하여 그들의 프로젝트에 통합할 수 있는 JavaScript 패키지 관리자입니다.

 

NPM은 누구나 사용할 수 있기 때문에 아무나 악성코드 검사 과정을 거치지 않고 새 패키지를 업로드 할 수 있습니다. 이로써 다양한 패키지 100만개를 보유한 저장소로 거듭날 수 있었지만 공격자가 악성 패키지를 쉽게 업로드 할 수 있는 환경이기도 합니다.

 

악성 NPM, njRAT 설치해


오픈소스 보안 업체인 SonatypeJSON 파일로 데이터베이스를 만드는 정식 툴로 위장한 악성 NPM 패키지를 발견했습니다.

 

이 패키지는 'jdb.js', 'db-json.js'였으며 NPM은 이를 제거했습니다. 아래 스크린샷에서 확인할 수 있듯, 이는 프로젝트에 새 기능을 추가하는데 사용할 수 있는 무해한 패키지처럼 보입니다.

 

 

<NPMJsonDB (db-json.js) 패키지 >

<이미지 출처: https://blog.sonatype.com/bladabindi-njrat-rat-in-jdb.js-npm-malware>

 

 

db-json.js 패키지의 package.json 파일에서 확인할 수 있듯 이는 종속된 또 다른 패키지인 'jdb.js'를 포함하고 있습니다.

 

 

<db-jsonPackage.json>

<이미지 출처: https://www.bleepingcomputer.com/news/microsoft/malicious-npm-packages-used-to-install-njrat-remote-access-trojan/>

 

 

아래에서 확인할 수 있듯 jdb.js 패키지는 module.js, package.json, patch.exe 실행파일을 포함하고 있습니다. module.js는 설치 시 자동으로 실행되도록 설정되어있기 때문에 설치 시 NPM은 자동으로 module.js를 실행합니다.

 

 

<jdb 패키지 콘텐츠>

<이미지 출처: https://www.bleepingcomputer.com/news/microsoft/malicious-npm-packages-used-to-install-njrat-remote-access-trojan/>

 

 

JS 스크립트는 심하게 난독화되어 있습니다. 이는 njRAT 악성코드인 patch.exe 실행파일을 시작합니다.

 


<난독화된 JavaScript 파일>

<이미지 출처: https://www.bleepingcomputer.com/news/microsoft/malicious-npm-packages-used-to-install-njrat-remote-access-trojan/>

 

 

njRAT이 설치되면 공격자는 피해자의 컴퓨터에 대한 전체 원격 접근 권한을 가지게 되어 아래 행위가 가능해집니다.

 

- 윈도우 레지스트리 수정

- 파일 생성 및 삭제

- 파일 올리기

- 명령 실행

- 컴퓨터에 대한 정보 얻기

- 컴퓨터 제어

- 키 입력 기록

- 비밀번호 탈취

- 프로세스 종료

- 스크린 샷 캡처

 

아래는 공격자가 njRAT을 통해 전송할 수 있는 명령어 몇 가지를 보여주는 소스코드 일부입니다.

 

 

<njRAT의 디컴파일된 소스 코드>

<이미지 출처: https://www.bleepingcomputer.com/news/microsoft/malicious-npm-packages-used-to-install-njrat-remote-access-trojan/>

 

 

각 패키지는 100번정도 다운로드 되었습니다. 하지만 SonatypeAx Sharma는 이 악성 NPM이 본격적으로 사용되기 전 발견했다고 추측했습니다.

 

지난 1년 동안 악성코드를 설치하거나 악성 행위를 시도하는 NPM 패키지가 점점 더 흔히 발견되고 있습니다.

 

최근 NPM은 악성 패키지인 'fallguy', 'discord.dll'Chrome, Brave, Opera, Yandex 브라우저에서 Discord 토큰과 브라우저 정보를 훔치는 것을 발견한 후 이를 제거했습니다.

 

악성 NPM 프로젝트는 흔히 합법적인 프로젝트와 유사한 이름을 사용하기 때문에 개발자는 자신의 프로젝트에 패키지를 통합할 때 주의를 기울여야합니다.


 

현재 알약에서는 해당 악성코드 샘플에 대해 Trojan.MSIL.Bladabindi로 탐지 중입니다.

 

 

 

 

출처:

https://www.bleepingcomputer.com/news/microsoft/malicious-npm-packages-used-to-install-njrat-remote-access-trojan/

https://blog.sonatype.com/bladabindi-njrat-rat-in-jdb.js-npm-malware


관련글 더보기

댓글 영역