사용자 PC 화면 캡처한 후, SMTP 통해 공격자에게 전송 가능...사용자 피해 우려
[보안뉴스 김영명 기자] 최근 악성코드의 유포 형태가 다양하게 변화하고 있다. 그 중 마이크로소프트 윈도우(Windows) 도움말 파일(*.chm)을 이용한 악성코드가 지난해부터 증가하고 있다.
윈도우를 악용한 주요 악성코드 사례는 △윈도우 도움말 파일(*.chm)로 유포되는 APT 공격 △코로나 확진 안내문으로 사칭한 악성 도움말 파일 국내 유포 △문서 편집 및 메신저 프로그램으로 위장한 백도어 (*.chm) △코인분실, 급여명세서 위장한 악성 도움말 파일(*.chm) △윈도 도움말 파일(*.chm)을 통해 유포 중인 AgentTesla △chm 악성코드에서 확인된 안티 샌드박스 및 기업 타깃 공격 △국내 대학 대상으로 악성 chm 유포 등이다.

▲전체 동작 과정[자료=안랩 ASEC 분석팀]
특히, 안랩 ASEC 분석팀은 최근 AsyncRAT 악성코드가 chm을 이용해 유포 중인 것을 확인했다고 밝혔다. 이번에 발견된 사례는 먼저, chm 파일을 실행하게 되면 기존 유형과는 다르게 빈 화면의 도움말 창이 생성된다. 이때 사용자 모르게 실행되는 악성 스크립트의 내용은 이전 유형들에 비해 비교적 간단한 형태인 것을 알 수 있다. 해당 스크립트는 mshta를 이용해 특정 주소에 존재하는 악성 명령어를 실행하게 된다.

▲chm 실행 화면 및 chm 내 악성 스크립트(좌부터)[자료=안랩 ASEC 분석팀]
해당 주소에는 악성 VBScript가 존재하며 명령어의 일부는 다음과 같다. 악성 VBScript는 탐지를 우회하기 위해 문자열이 쪼개진 형태이며, 파워쉘 명령어를 실행하는 기능을 수행한다. 파워쉘 명령어는 2가지이며, 각각 vbs 및 hta 파일 다운로드 후 실행한다.

▲v.vbs 코드 일부[자료=안랩 ASEC 분석팀]
v.vbs 파일의 경우 알아보기 힘든 형태로 난독화돼 있다. 난독화 해제 시, 파워쉘 명령어를 확인할 수 있으며 파워쉘 명령어는 스크립트 내 인코딩된 형태로 존재하는 닷넷 DLL을 로드한다. 해당 DLL은 Loader 파일로 인자로 전달되는 URL에서 악성 데이터를 받아 메모리상에 로드한다.

▲난독화 해제된 명령어 일부[자료=안랩 ASEC 분석팀]
로드된 DLL은 리버스된 악성 URL을 인자로 받아 해당 URL에서 추가 데이터를 다운로드한 후, C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\RegAsm.exe 프로세스에 로드해 실행한다.
Loader에 의해 다운로드 돼 실행되는 데이터가 실제 악성 행위를 수행하며, 깃허브에 공개된 오픈소스 RAT 악성코드인 AsyncRAT이다. 해당 악성코드는 명령제어(C2) 서버로부터 공격자의 명령을 받아 다양한 악성 행위를 수행할 수 있으며 기본적으로 Anti-VM, 키로깅, 원격 쉘 등의 기능이 존재한다. 추가로, C2 및 port 등 악성 행위에 필요한 문자열을 모두 암호화한 형태로 보유하고 있으며 복호화해 사용한다.

▲AsyncRAT[자료=안랩 ASEC 분석팀]
두 번째로, v.hta는 추가 명령어 실행 및 시작 프로그램 생성 기능을 수행한다. 먼저, 추가 명령어 실행 기능은 파워쉘 명령어를 통해 받아온다. 추가 명령어는 파워쉘 명령어로, 2개의 URL에서 각각 데이터를 받아온 후 하나의 데이터를 실행하는 기능을 수행한다. 이때 인자로 특정 경로와 나머지 하나의 데이터가 전달된다.
현재 첫 번째 URL 접속이 불가능해 정확한 과정은 알 수 없지만, 받아오는 데이터는 Loader로 추정된다. Loader를 통해 인자로 전달된 정상 프로세스에 나머지 데이터가 인젝션 돼 실행되는 것으로 추정되며, 해당 방식은 행위 탐지를 우회하기 위해 악성코드들이 자주 사용하는 방식이다.

▲추가 명령어[자료=안랩 ASEC 분석팀]
인젝션 돼 실행되는 것으로 추정되는 데이터는 정보유출형 악성코드로 확인됐다. 해당 악성코드에는 사용자 PC 화면을 캡처한 후, SMTP를 통해 공격자에게 전송하는 기능이 존재한다.

▲스크린샷 전송[자료=안랩 ASEC 분석팀]
v.hta의 두 번째 기능으로는 시작 프로그램 생성이 가능하다는 점이다. 아래 경로에 LNK 파일을 생성하며, LNK 파일은 v.vbs 파일을 실행하도록 설정한다. 추가로, 사용자의 의심을 피하기 위해 바로가기 아이콘에 정상 파일의 아이콘을 사용한다.

▲생성된 LNK 파일 속성[자료=안랩 ASEC 분석팀]
최근 chm 등 다양한 형태로 악성코드가 유포되고 있으며, 대부분의 악성코드가 행위 탐지를 우회하기 위해 악성 데이터를 로드하는 과정에서 정상 프로세스를 이용하고 있다. 또한, 파일리스(FileLess) 형태로 악성코드가 실행돼 사용자가 어떤 유형의 악성코드가 실행됐는지 파악하기 어렵게 하는 패턴을 보이고 있다. 이에 사용자들은 출처가 불분명한 파일의 열람을 자제해야 하며, 주기적인 PC 검사를 진행해야 한다.
[김영명 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>