[Incident Response] T1196 Control Panel Items

 

ATT&CK Execution


(1) Execution이란?

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

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

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

  • 예시

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

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

[그림 1] Execution


(2) Control Panel Items란?

  • Windows 제어판 항목은 사용자가 컴퓨터 설정을 보고 조정할 수 있는 유틸리티

  • 제어판 항목은 등록된 실행 파일(.exe) 또는 제어판(.cpl)파일이며, 후자는 실제로 CPIApplet 함수를 내보내는 동적 링크 라이브러리(.dll)파일로 이름이 변경됨

  • 제어판 항목은 명령 줄에서 직접 프로그래밍 방식으로 API(응용 프로그래밍 인터페이스) 호출 또는 파일을 두 번 클릭하여 실행 가능

  • 사용하기 쉽도록 제어판 항목에는 일반적으로 제어판 등록 및 로드 된 후 사용자가 사용할 수 있는 그래픽 메뉴가 포함

  • 공격자는 임의 명령을 실행하기 위해 제어판 항목을 실행 페이로드로 사용할 수 있음

  • Spearphishing Attachment를 통해 악성 제어판 항목을 배달하거나 다단계 악성코드의 일부로 실행할 수 있음

  • 제어판 항목, 특히 CPL 파일은 응용 프로그램 또는 파일 확장자 화이트리스트를 무시할 수 있음

  • 완화 방법으로는 실행 방지와 파일 및 디렉토리 권한 제한이 있음

  • 실행 방지는 적절한 경우 Windows Defender 응용 프로그램 제어, AppLocker 또는 소프트웨어 제한 정책과 같은 응용 프로그램 허용 목록 도구를 사용하여 악의적이거나 알려지지 않은 .cpl 파일을 식별하고 차단

  • 파일 및 디렉토리 권한 제한은 제어판 항목의 저장 및 실행을 C:\Windows 사용자 디렉토리가 아닌 보호된 디렉토리로 제한됨  


(3) Control Panel Item 내용 정리

3-1. 정상 용도

  • 제어판은 컴퓨터 설정을 확인하고 조정 가능한 유틸리티

  • 등록된 실행 파일(.exe.) 혹은 제어판 파일(.cpl) > 제어판 항목

  • 쉬운 사용을 위해 '제어판 항목'은 제어판 위에 그래픽으로 표시

3-2. 악의적 사용

  • 악성 명령을 사용하기 위해 제어판 아이템을 실행 페이로드로 사용 가능

  • Spearphishing 메일을 통해 악성 '제어판 항목'을 배달 > '사용자 실행'으로 실행

  • .cpl 파일은 파일 확장자 화이트리스팅 무시 가능

3-3. 매개변수

  • .cpl - Control Panel Items

 

[그림 2] Control Panel Items 기법 예시 (1)

 

[그림 3] Control Panel Items 기법 예시 (2)

 

[그림 4] Control Panel Items 기법 예시 (3)

 

[그림 5] Control Panel Items 기법 예시 (4)


(4) 기법 실습

 

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

 

[그림 6] CPP 파일 작성

 

  • CPP 파일을 위 [그림 5]와 같이 작성

  • DLL로 동작

  • 계산기를 실행시키기 위한 코드

 

4-2. 코드 컴파일 > 컴파일된 실행 파일 > cpl 파일

 

[그림 7] cpl 파일 변경

 

  • CPP 파일을 컴파일

  • 컴파일된 파일을 CPL 파일로 변경

 

4-3. CMD(명령 프롬프트) 실행 > CPL 파일 실행

 

[그림 8] 계산기 실행

 

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

  • [그림 7]과 같이 명령어 입력

  • CPL 파일을 실행할 수 있으며, 코드에 작성한 calc.exe 파일이 자동적으로 실행


(5) Control Panel Items 추가 내용

  • ID : T1196

  • 전술 : Defense Evasion, Execution

  • 플랫폼 : Windows

  • 필요 권한 : User, Administrator, SYSTEM

  • 데이터 소스

    • API 모니터링

    • 이진 파일 메타데이터

    • DLL 모니터링

    • Windows 레지스트리

    • Windows 이벤트 로그

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

    • 프로세스 모니터링

  • 방어 우회

    • 응용 프로그램 허용 목록

    • 프로세스 허용 목록


# Reference

 

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

 

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

[Incident Response] T1223 Compiled HTML File

 

ATT&CK Execution


(1) Execution이란?

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

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

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

  • 예시

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

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

[그림 1] Execution


(2) Compiled HTML File이란?

  • Compiled HTML File(chm)은 일반적으로 Microsoft HTML 도움말 시스템의 일부로 배포

  • CHM 파일은 HTML 문서나 이미지, 자바스크립트와 같은 스크립팅 / 웹 관련 프로그래밍 언어와 같은 다양한 컨텐츠의 압축 편집 역할

  • CHM 내용은 HTML 도움말 실행 프로그램(hh.exe)에 의해 로드 된 Internet Explorer 브라우저의 기본 구성 요소를 사용하여 표시됨

  • 공격자는 이 기술을 악용하여 악성코드를 숨길 수 있고, 내장 된 페이로드가 포함된 사용자 정의 CHM 파일을 피해자에게 전달한 뒤, 악성 행위에 의해 트리거가 될 수 있음

  • CHM 실행은 hh.exe를 통한 이진 실행을 설명하지 않는 이전 또는 패치되지 않은 시스템에서 응용 프로그램 허용 목록을 무시할 수 있음

  • 완화 방법으로 실행 방지나 웹 기반 컨텐츠 제한이 있음

  • 실행 방지는 특정 시스템이나 네트워크에 공격자가 악용될 가능성 방지를 위해 hh.exe가 필요하지 않은 경우 응용 프로그램 허용 목록을 사용하는 방법

  • 웹 기반 컨텐츠 제한은 CHM 파일과 같은 적대적 캠페인에 사용되는 것으로 알려진 잠재적이지 않은 파일 형식 다운로드나 전송을 실행 차단하는 방법


(3) Compiled HTML File 내용 정리

3-1. 정상 용도

  • '컴파일된 HTML 파일'은 보통 Microsoft HTML 도움말 시스템의 일부로 배포

  • 다양한 컨텐츠의 압축본 : HTML, Image, Javascript, Hypertext/link

3-2. 악의적 사용

  • 악의적으로 컴파일한 .chm 파일 제작

  • 정상적인 파일처럼 위장하여 '사용자 실행'에 의해 실행

  • 실행 시 내장된 악성 페이로드가 실행되어 감염

3-3. 매개변수

  • .chm - Compiled HTML File (CHM)

3-4. 예제

  • C:\Windows\hh.exe {local chm file path}

 

[그림 2] Compiled HTML File 기법 예시 (1)

 

[그림 3] Compiled HTML File 기법 예시 (2)

 

[그림 4] Compiled HTML File 기법 예시 (3)


(4) 기법 실습

 

4-1. HTML Help Workshop 프로그램 다운로드 > 코드 작성

 

[그림 4] HTML Help Workshop 다운로드 >  코드 작성

 

  • HTML Help Workshop 프로그램을 다운로드하고, [그림 4]를 예시로 하여 코드 작성

 

4-2. HHP 파일 > Sublime Text3 > 컴파일할 수 있는 프로젝트 파일 만들기

 

[그림 5] 프로젝트 파일 만들기

 

  • HHP 파일을 Sublime Text3로 작성하여 컴파일 할 수 있는 프로젝트 파일을 만들어 준다.

 

4-3. HTML Help Workshop 프로젝트 > Log 파일, CHM 파일 생성

 

[그림 6] LOG, CHM 파일 생성

 

  • 다시 HTML Help Workshop으로 가서 프로젝트를 HHP 파일로 만들어주면 Log파일이 생성되고, CHM 파일도 같이 생성됨 

 

4-4. 악의적 CHM 파일 생성 (공격자 입장)

 

[그림 7] CHM 파일 생성

 

  • CMD(명령 프롬프트)를 실행시키고, [그림 7]과 같은 명령어를 입력해주면 성공적으로 악의적인 CHM 파일 생성

  • 실제로는 도움말이 켜지지만, 작성해놓은 계산기가 실행되는 것을 확인


(5) Compiled HTML File 추가 내용

  • ID : T1223

  • 전술 : Defense Evasion, Execution

  • 플랫폼 : Windows

  • 필요 권한 : User

  • 데이터 소스

    • 파일 모니터링

    • 프로세스 모니터링

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

  • 방어 우회

    • 응용 프로그램 허용 목록

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


# Reference

 

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

 

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

[Incident Response] T1059 Command-Line Interface

 

ATT&CK Execution


(1) Execution이란?

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

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

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

  • 예시

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

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

[그림 1] Execution


(2) Command-Line Interface란?

  • Command-Line Interface는 컴퓨터 시스템과 상호 작용하는 방법을 제공하며, 여러 유형 운영체제 플랫폼에서 공통적 기능을 가짐

  • 원격 데스크톱 응용 프로그램, 리버스쉘 세션 등을 통해 로컬이나 원격으로 상호 작용이 가능

  • 공격자는 해당 기법을 사용하여 작업 중에 시스템과 상호 작용하고 다른 소프트웨어 실행 가능

  • 완화 방법으로 실행 방지가 있으며, Windows Defender 응용 프로그램 제어, AppLocker 또는 소프트웨어 제한 정책과 같은 응용 프로그램 허용 목록 도구를 사용하여 불필요한 Command-Line Interpreters를 차단할 수 있음


(3) Command-Line Interface 내용 정리

3-1. 정상 용도

  • 명령줄 인터페이스는 컴퓨터 시스템과 상호 작용하기 위한 보편적인 기능

  • Windows 운영체제의 cmd, Linux 운영체제의 bash

3-2. 악의적 사용

  • 공격자는 침해한 시스템에서 명령행 인터페이스를 사용하여 시스템 악용 가능

  • 원격 데스크톱(RDP), 리버스쉘(Reverse Shell) 등으로 로컬/원격으로 상호 작용 가능 

3-3. 매개변수

  • 임의적

3-4. 예제

  • C:\Windows\System32\cmd.exe /c sc query


(4) 기법 실습

 

4-1. cmd(명령 프롬프트) 실행 > cmd /c sc query

 

[그림 2] cmd /c sc query 입력

 

[그림 3] 내용 확인

 

  • 내부적으로 실행 시키는 것은 일반 사용자도 간단하게 사용할 수 있지만, 공격자가 정보를 얻기 위해 악용할 가능성이 존재

  • 명령어를 통하여 데이터가 출력되며, 해당 정보를 통하여 공격에 활용 가능


(5) Command-Line Interface 추가 내용

  • ID : T1059

  • 전술 : Execution

  • 플랫폼 : Linux, Windows, MacOS

  • 필요 권한 : User, Administrator, SYSTEM

  • 데이터 소스

    • 프로세스 모니터링

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


# Reference

 

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

[Incident Response] T1191 CMSTP

 

ATT&CK Execution


(1) Execution이란?

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

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

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

  • 예시

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

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

[그림 1] Execution


(2) CMSTP란?

  • CMS(Microsoft Connection Manager) 프로필 설치 프로그램 (CMSTP.exe)은 Connection Manager 서비스 프로필을 설치하는 데 사용되는 명령 줄 프로그램

  • CMSTP.exe는 설치 정보 파일 (INF)을 매개 변수로 사용하고 원격 액세스 연결에 활용되는 서비스 프로필을 설치

  • 공격자는 악의적인 명령에 감염된 INF 파일을 CMSTP..exe에 제공할 수 있음

  • Regsvr32 / 'Squiblydoo'와 유사하게 CMSTP.exe는 원격 서버에서 DLL 및 COM Scriptlets (.sct)을 로드하고, 실행하기 위해 남용될 수 있음

  • CMSTP.exe는 적법하게 서명 된 Microsoft 응용 프로그램이므로, 실행은 AppLocker 및 기타 화이트리스트 방어를 우회 가능

  • CMSTP.exe를 악용하여 사용자 계정 컨트롤을 우회하고 자동으로 상승 된 COM 인터페이스를 통해 악의적인 INF에서 임의의 명령 실행 가능

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

  • 그러나 비활성화는 VPN 연결 설치에 CMSTP.exe를 사용하지 않는 한 CMSTP.exe는 특정 환경에서 필요하지 않을 수 있음

  • 실행 방지는 CMSTP.exe가 특정 시스템이나 네트워크에 필요하지 않은 경우, 공격자가 악용 될 가능성이 없도록 하려면 응용 프로그램 허용 목록을 사용하여 CMSTP.exe의 실행을 차단 


(3) CMSTP 내용 정리

3-1. 정상 용도

  • CMS(Microsoft Connection Manager) 프로필 설치 프로그램(CMSTP.exe)

  • 연결 관리자 프로파일을 설치하기 위해 사용

3-2. 악의적 사용

  • 악의적 명령이 작성된 .inf 파일을 CMSTP에 제공

  • 침해 서버 내에서 DLL 혹은 COM scriptlets(.sct)을 로드하고 실행

  • 적법한 MS 인증서로 서명 > AppLocker 등의 방어 기법 우회 가능

  • 사용자 계정 컨트롤(UAC) 우회 가능 > 권한 상승 가능

3-3. 매개변수

  • .inf - Installation Information File (INF)

3-4. 예제

  • C:\Windows\System\cmstp.exe /s {inf file path}


(4) 기법 실습

  • CMSTP 기법은 서버가 구축되어 있는 환경에서만 사용할 수 있는 기법

  • 따라서 PC에 추가적인 모듈 설치가 되어 있지 않다면 CMSTP 기법은 사용 불가능

그러므로 CMSTP 기법은 실습하지 못하였으므로, 예시 그림을 예로 들어 설명한다.

 

[그림 2] CMSTP 기법 예시

 

  • 악의적으로 사용하기 위한 inf 파일 작성

  • 내 로컬 PC에서 계산기를 실행하도록 하는 INF 파일

  • 실제로 계산기 말고도, 외부에서 실행 파일을 다운로드 받아 시키는 것도 가능

 

[그림 3] CMSTP inf 코드

 

  • 정상적인 DLL에 NI 함수를 이용하여 SCT 파일을 실행 시킴

  • SCT 파일에는 계산기를 실행시키는 코드를 담고 있음

 

[그림 4] CMSTP sct 코드

 

  • sct 파일은 XML 형식으로 작성되어 있음

  • ActiveXObject가 계산기를 실행시키는 것을 확인 가능


(5) CMSTP 추가 내용

  • ID : T1191

  • 전술 : Defense Evasion, Execution

  • 플랫폼 : Windows

  • 필요 권한 : User

  • 데이터 소스

    • 프로세스 모니터링

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

    • 네트워크 프로세스 사용

    • Windows 이벤트 로그

  • 방어 우회

    • 응용 프로그램 허용 목록

    • 안티 바이러스


# Reference

 

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

 

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

+ Recent posts