세금계산서 사칭 메일로 유포되는 악성코드 주의!
최근 ASEC 분석팀은 Remcos RAT 악성코드가 세금계산서로 위장해 유포되는 정황을 확인했다. 본 게시글을 통해 최신 피싱 메일의 주요 특징을 살펴본다.
이번 피싱 메일의 내용과 유형은 ASEC 블로그를 통해 지속적으로 공유해왔던 것과 크게 다르지 않다. 메일 본문에는 어색한 문법으로 쓰인 짧은 메세지와 세금계산서로 위장한 첨부파일을 포함하고 있다. 다만 메일 내용에 크게 개의치 않고 무심코 첨부파일을 실행해 악성코드에 감염될 가능성이 있으므로 사용자들의 각별한 주의가 요구된다.
[그림 1] 세금계산서로 위장한 악성코드가 첨부된 피싱메일
[그림 2] 첨부파일
첨부파일인 ‘Tax.gz’ 파일을 압축 해제하면 ‘Tax.com’ 이라는 실행파일이 존재하며, 디버깅해 파일 내부를 확인해보면 [그림 2]와 같은 코드를 확인할 수 있다. 만약 실행환경이 64비트 환경이라면 ‘hxxp://zhost.polycomusa[.]com/Chrimaz.exe’ 에서 해당 환경에 적합한 악성파일(1df2bf9313decafd0249d6a4556010bc)을 내려받아 실행하며, 그렇지 않을 경우 ‘3xp1r3Exp.ps1’ 이라는 파워쉘(PowerShell) 파일을 다운로드해 추가 악성행위를 수행한다.
[그림 3] 파일 디버깅 시 확인되는 코드
해당 파워쉘(PowerShell)스크립트는 아래 [그림 4]와 같이 UAC Bypass(우회)를 목적으로 추가 파일(version.dll)을 다운로드하는 내용으로 구성되어 있다. UAC Bypass는 여러가지 트릭을 이용해 UAC 프롬프트의 팝업 없이 악성코드를 관리자 권한으로 실행시키는 권한 상승 기법이다. UAC Bypass에 대한 상세분석 내용은 자사에서 작년 7월에 발행한 TI보고서를 통해 확인할 수 있다.
[그림 4] 외부 URL에서 내려 받아지는 파워쉘 스크립트
다양한 UAC Bypass 기법 중에서 해당 파워쉘 스크립트는 트릭 폴더(Mock Directory)를 생성해 DLL Hijacking의 방식을 사용한다. 이러한 방식에 대해 조금 더 상세하게 설명하기 위해 [그림 4]의 파워쉘 스크립트의 Line 15를 보면 특정 경로를 생성하는 파워쉘 커맨드(command)를 확인할 수 있다.
트릭폴더를 지칭하는 ‘Mock(가짜의) Directory’ 가 의미하는 바는 다음과 같다. 해당 커맨드는 C드라이브 Windows 하위 폴더에 System32 폴더를 생성하는 커맨드처럼 보이지만, 자세히 보면 ‘Windows’ 폴더가 아니라 뒤에 공백(Space)이 하나 존재하는 ‘Windows ‘ 폴더인 것을 알 수 있다. Windows UI 탐색기를 통해서 파일명 끝에 공백이 존재하는 해당 폴더를 만드는 것은 당연히 불가능하며, 커맨드를 통해서 ‘C:\Windows ‘ 를 생성하는 것 또한 불가능하다. 하지만 커맨드를 통해서 서브 디렉토리가 존재하는 ‘C:\Windows \System32’ 를 생성하는 것은 가능하다는 점을 이용한 것이다.
[그림 5] 파워쉘 커맨드를 통한 트릭폴더 생성 테스트(Windows 10)
파일이 실행될 때 권한 상승이 필요한지 판단하는 조건 중 하나는 신뢰할 수 있는 폴더(ex. C:\Windows\System32)에서 실행되었는지 확인하는 것이다. 이는 자동권한상승(autoElevate) 조건을 판단하는 경로 검증 로직에서 “\System32” 부터 검사하는 점을 악용한 것인데, AIS(Application Information Service : AppInfo.dll)의 GetLongPathNameW API를 통해 처리되는 과정에서 폴더명 끝에 공백이 있으면 공백을 자동으로 제거하게 된다. 반대로 생각해보면 공격자가 해당 조건을 우회할 수 있다면 사용자에게 권한상승 여부를 묻지않고도 권한을 상승해 파일실행이 가능하게 한다는 것을 의미한다.
결과적으로는 해당 경로(C:\Windows \System32)의 Windows 폴더명 끝에 공백이 제거됨으로써 신뢰할 수 있는 위치(Trusted Directory)로 간주된다. 이렇게 트릭폴더가 신뢰할 수 있는 경로로 바뀌면서 정상 프로그램이 악성 DLL(version.dll)을 로드하게 만드는 방식인 'DLL 하이재킹기법'이 가능해진다.
현재는 경유지의 연결이 유효하지 않아 추가 악성행위가 확인되지 않지만, 연결이 유효했을 시점에 최종적으로 version.dll 이 로드되어 실행되면 아래와 같이 ‘C:\ProgramData\Chrimaz\Chrimaz.exe’ 를 의미하는 경로의 ‘Chrimaz.exe파일 실행 커맨드’가 확인되는데, 내/외부 인프라를 통해 연관 파일 분석 시 이 파일은 Remcos RAT 악성코드로 확인되었다.
또한, 자사 인프라를 통해 연관성있는 파일을 확인해보니 2월 24일 쯤에도 유사 파워쉘 스크립트 및 version.dll 과 유사한 파일들이 다양한 외부 URL을 통해 유포된 것을 알 수 있었다. UAC Bypass 목적을 갖는 여러 단계를 거쳐서 최종적인 악성코드를 유포하는 방식이 다양해진다는 것이 주목할만한 점이다.
UAC Bypass는 권한상승의 대표적인 방식이며, 악성코드는 다양한 목적으로 권한상승을 시도한다. 사용자들은 윈도우 운영체제를 최신 버전으로 패치해 UAC Bypass 공격을 방지해야 한다. 기본적으로는 출처가 불분명한 메일의 첨부파일 열람은 자제해야 하며, 사용하고 있는 백신을 최신버전으로 업데이트해 악성코드의 감염을 사전에 차단할 수 있도록 힘써야 한다.
출처 : AhnLab