스팸 메일로 유포되는 닷넷 다운로더 악성코드
ASEC 주간 악성코드 통계에 따르면, 최근 유포되고 있는 악성코드 중 다수가 인포스틸러(정보 유출형 악성코드) 및 RAT(Remote Administration Tool) 유형이다. 이 중 대부분은 스팸 메일을 통해 유포되며, 사용자가 첨부파일을 실행시키도록 유도하는 방식이다. 그리고 공격자들은 백신 진단 우회를 목적으로 프로그래밍 언어를 활용해 악성코드 외형을 패커로 패킹한다.
이번 글에서는 최근 다수 접수되고 있는 닷넷(.NET) 다운로더 악성코드를 살펴본다.
공격자는 스팸 메일의 첨부파일을 이용해 악성코드를 유포할 때 백신의 파일 진단을 우회하기 위한 목적으로 악성코드의 외형을 패커로 패킹한다. 실제 악성코드가 백신에 의해 탐지된다 하더라도, 패킹될 경우에는 매번 다른 형태의 외형을 갖게 되어 파일 진단을 우회할 수 있다.
[그림 1] 전형적인 스팸 메일 첨부파일을 통한 유포 방식
이처럼 파일 진단을 우회하기 위한 목적의 패커는 C/C++ 외에도 델파이(Delphi), VB(Visual Basic), 닷넷(.NET) 등의 프로그래밍 언어를 이용해 악성코드를 패킹한다. 최근 유포되고 있는 패커들은 닷넷을 이용해 개발된 것들이 많고, 인포스틸러 및 RAT 악성코드들 중 다수는 닷넷으로 개발되어 있다.
현재 닷넷 패커로 패킹되어 다운로드되는 악성코드들로는 에이전트테슬라(AgentTesla), 로키봇(Lokibot), 폼북(Formbook), 레드라인(Redline)과 같은 인포스틸러, 그리고 나노코어(Nanocore), 렘코스(Remcos), 아베마리아(AveMaria)와 같은 RAT 악성코드들이 있다. ASEC 주간 악성코드 통계에서 확인되는 대부분의 악성코드들이 닷넷 패커를 이용해 패킹되어 유포되고 있다.
[그림 2] ASEC 주간 악성코드 통계
이와 같은 악성코드는 내부에 원본 악성코드를 인코딩해 갖고 있다가 메모리 상에서 실행하는 것이 아닌, 외부에서 다운로드하는 다운로더 악성코드이다. 따라서, 다른 악성코드들보다는 크기가 작을 수 있고, 보통 50KB 이하가 대부분이다. 예를 들어 현재 분석 대상인 악성코드도 크기가 36KB이지만, 최종적으로 실행되는 레드라인 인포스틸러의 크기는 129KB이다.
악성코드가 실행되면 먼저 다음과 같이 특정한 경로의 파일이 존재하는지 검사한다. 존재할 경우에는 크기가 일정 사이즈 이상인지 검사한다. 처음 실행될 경우에는 이러한 경로에 파일이 존재하지 않을 것이기 때문에 다운로드 행위를 진행한다. 하지만 두번째 이후부터는 다운로드된 악성 데이터 파일을 해당 경로에 저장하기 때문에 추가적인 다운로드 행위는 발생하지 않는다.
악성 데이터 파일의 경로: C:\Users\[사용자명]\ VhcKBsciXUImQAUYRauSqsHlPqRsJEPJtLwZWelVXcm
[그림 3] 특정 경로의 파일 검사
이후 다음과 같은 주소에서 html 파일을 다운로드한다.
다운로드 주소: hxxp://mmwrlridbhmibnr[.]ml/liverpool-fc-news/features/steven-gerrard-liverpool-future-dalglish–goal-1E8CB3334F200C7BE89D2B42348D4145.html
자세히 보면 영국 프리미어리그 축구클럽 리버풀(Liverpool) 관련 키워드와 함께 뉴스 제목으로 추정되는 문자열들이 존재한다. 이 사이트에 직접 들어가 보면 아래와 같이 실제 Liverpool.com의 뉴스 기사와 동일한 웹페이지를 보여주는 것을 확인할 수 있다.
[그림 4] Liverpool.com 위장 웹페이지
하지만 이 웹페이지를 살펴보면 아래와 같이 html 파일 내부에 문자열들 즉 인코딩된 데이터가 포함되어 있는 것을 확인할 수 있다.
[그림 5] html에 포함된 인코딩된 데이터
이 데이터는 추가 악성코드가 인코딩된 형태이기 때문에, 이후 악성코드는 다운로드된 html 파일에서 다음과 같은 패턴 내부에 존재하는 문자열들만을 추출하는 과정을 거친다.
패턴: <meta name=”keywords” content=”([\w\d ]*)”>
[그림 6] 매칭되는 데이터 추출
이렇게 추출된 문자열들은 앞에서 언급한 경로에 저장된다. 이후 다시 저장한 파일을 읽어와 디코딩 과정을 진행하면 실행파일(Portable Executable: PE) 형태의 악성코드가 확인된다. 이렇게 디코딩된 PE를 Assembly.Load() 함수를 이용해 로드한 후 Invoke()함으로써 다음 페이로드를 실행시킨다. 참고로 원본 악성코드는 레드라인 인포스틸러지만 이중으로 패킹되어 있기 때문에 다음 페이로드 또한 닷넷 패커이며, 이 패커가 실제 레드라인 악성코드를 실행시킨다.
[그림 7] 디코딩된 PE를 로드하는 루틴
참고로 위 URL에는 레드라인 인포스틸러의 인코딩된 데이터가 포함되어 있지만, 또 다른 URL에는 에이전트테슬라, 폼북, 아베마리아 등 다양한 악성코드들을 포함하는 웹페이지들이 있다. 해당 악성코드들은 이전 블로그 게시물을 통해 다룬 바 있다.
이외에도 현재까지 확인된 동일 유형의 악성 웹페이지 도메인 주소는 다음과 같다.
- hxxp://mmwrlridbhmibnr[.]ml
- hxxp://x11fdf4few8f41f[.]com
- hxxp://jejendjcjfhh[.]com
- hxxp://coroloboxorozor[.]com
- hxxp://gkfaalkhnkqvgjntywc[.]ml
- hxxp://liverpoolofcfanclub[.]com
- hxxp://xwjhdjylqeypyltby[.]ml
또한, 도메인 자체가 liverpoolofcfanclub[.]com인 경우도 있고, 다른 도메인을 가진 경우도 아래와 같이 동일한 기사 제목이 사용되는 경우가 많은 것을 확인할 수 있다.
다운로드 주소:
- hxxp://x11fdf4few8f41f[.]com/liverpool-fc-news/features/steven-gerrard-liverpool-future-dalglish–goal-46e16d2a7877d0cf324d4a06227f7e86.html
- hxxp://jejendjcjfhh[.]com/liverpool-fc-news/features/steven-gerrard-liverpool-future-dalglish–goal-3DA2A5A254C838683C13E135C5024118.html
- hxxp://coroloboxorozor[.]com/base/900f6fcd75d87b754b81096bc90c3a57.html
이번 글에서 살펴본 닷넷 패커 악성코드는 주로 스팸 메일을 통해 유포되고 있다. 따라서, 사용자들은 의심스러운 메일을 수신하면 첨부파일의 실행을 지양해야 한다. 또한 V3를 최신 버전으로 업데이트해 악성코드 감염을 사전에 예방할 수 있도록 신경 써야 한다.
[파일 진단]
- Infostealer/Win.RedLine (2021.04.23.02)
[행위 진단]
- Malware/MDP.Behavior.M3108
[IOC 정보]
- MD5: 925ddf3e5c04ca02a9e76dd122f2ba3e
- 다운로드 주소: hxxp://mmwrlridbhmibnr[.]ml/liverpool-fc-news/features/steven-gerrard-liverpool-future-dalglish–goal-1E8CB3334F200C7BE89D2B42348D4145.html
- RedLine C&C : 188.119.113[.]174:17149
악성 웹페이지 도메인 주소:
- hxxp://mmwrlridbhmibnr[.]ml
- hxxp://x11fdf4few8f41f[.]com
- hxxp://jejendjcjfhh[.]com
- hxxp://coroloboxorozor[.]com
- hxxp://gkfaalkhnkqvgjntywc[.]ml
- hxxp://liverpoolofcfanclub[.]com
- hxxp://xwjhdjylqeypyltby[.]ml
출처 : AhnLab