운영 및 유지보수 안전 Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

Nov 26, 2019 am 10:02 AM
행렬

Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술: 클래식 프로세스 주입, Process HollowingProcess Doppelgänging. Process HollowingProcess Doppelgänging

恶意软件使用进程注入的主要目的大致是为了躲避杀软的检测或者进行提权操作。这里我们将主要针对第一种情况下的3种手段进行详细的讨论。

一:经典的进程注入(DLL注入)

这是最为经典的手段,流程也十分简洁明了即:

OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread

프로세스 주입을 사용하는 악성 코드의 주요 목적은 일반적으로 바이러스 백신 소프트웨어의 탐지를 피하거나 권한 상승 작업을 수행하는 것입니다. 여기서는 첫 번째 경우의 세 가지 방법을 주로 자세히 논의하겠습니다.

Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

1: 클래식 프로세스 주입(DLL 주입)

이것은 가장 고전적인 방법이며 프로세스도 매우 간단하고 명확합니다. #🎜 🎜#

OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread

#🎜 🎜# 2: Process Hollowing

이것은 매우 오래된 방법으로 중국어에서는 일반적으로 "꼭두각시 프로세스 만들기"로 번역됩니다. 이 방법을 사용하여 생성된 프로세스는 어떠한 법적으로도 위장될 수 있습니다. 예를 들어 IE로 위장한 경우 메모리에 있는 프로세스 해커를 사용하여 보면 아이콘 리소스, 설명, 디지털 서명이 모두 IE의 값이 됩니다. 이는 긴급 구조대원이 조사 중에 감지하기 어려울 수 있습니다.

1 (2).jpg 이 기법을 간결하게 표현하자면, 악성 프로세스는 먼저 정지 상태의 프로세스를 생성한 후, 원래의 메모리 매핑을 취소하고 미리 준비된 악성 코드로 대체한 후, 악성 프로세스를 처리합니다. 수정된 이미지. 파일이 리디렉션된 후 프로세스의 실행 상태가 복원됩니다.

구현 아이디어:

1. CreateProcess를 통해 대상 프로세스를 생성하고 CREATE_SUSPENDED 매개변수를 전달하여 프로세스를 일시 중지합니다. Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

# 🎜🎜 #
2. NtQueryProcessInformation을 통해 대상 프로세스 메모리에 있는 이미지 파일의 기본 주소를 얻습니다. (PEB 블록 데이터 구조)

Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

3. 들어오는 매개변수는 프로세스 핸들과 NtUnmapViewOfSection을 통해 대상 프로세스의 메모리 데이터(섹션)를 지웁니다. 기본 주소

4. VirtualAllocEx를 통해 새 메모리를 신청합니다. (시작 주소는 이전 이미지의 기본 주소입니다. 파일이며 크기는 페이로드 크기)

5. WriteProcessMemory

6을 통해 메모리에 페이로드를 씁니다. 🎜#

7. GetThreadContext를 통해 대상 스레드의 컨텍스트를 가져오고 컨텍스트의 eax 레지스터를 올바른 코드 진입점

8로 수정합니다. SetThreadContext #🎜를 통해 진입점을 설정합니다. 🎜#

9. ResumeThread 프로세스를 통해 깨어나 페이로드를 실행합니다

대결 아이디어: 구현 아이디어에서 볼 수 있듯이 1, 4, 5단계 , 6, 7, 8 및 9는 프로세스를 생성하는 데 일반적입니다. 그런 다음 프로세스는 자체 수단을 주입합니다. 2단계와 3단계만 특별합니다. Hook Key 기능 등 기존의 탐지 방법을 이용하여 탐지할 수 있습니다.

3: Process Doppelgänging

2017년 유럽 블랙햇 컨퍼런스에서 처음 제안된 비교적 새로운 주입 방식입니다. 이 방법은 Process Doppelgänging으로 생성된 프로세스를 프로세스 해커를 이용하여 메모리에서 보면 Process Hollowing과 원리 및 성능이 유사하며 해당 아이콘 리소스, 설명, 디지털 서명이 모두 지정된 대상 프로그램입니다.

이 방법은 Windows 트랜잭션(TxF)의 특성을 이용하여 악성 파일을 사용하여 트랜잭션에서 합법적인 파일을 덮어쓰게 됩니다. 이때 트랜잭션이 제출되지 않습니다(즉, 덮어쓰기가 되지 않습니다. 디스크에서 발생) 섹션이 생성됩니다(현재 트랜잭션의 복사본). 섹션 핸들을 얻은 후에는 악성 파일이 실제로 디스크의 합법적인 파일을 덮어쓰는 것을 방지하기 위해 트랜잭션이 롤백됩니다. 그 후, 메모리에 있는 섹션의 핸들을 사용하여 프로세스를 생성합니다. 생성된 프로세스에는 합법적인 실행 파일에 대한 정보가 있습니다.

보시다시피 트랜잭션에서 파일을 덮어써야 하기 때문에 이 방법을 사용하려면 대상 파일에 대한 쓰기 권한이 필요합니다.

구현 아이디어: Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

1. TxF 트랜잭션 객체 생성(NtCreateTransaction)

Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

2 , 트랜잭션 API로 합법적인 실행 파일을 엽니다. 즉, 트랜잭션 개체(CreateFileTransacted)에 파일을 추가합니다.

3 악성 파일을 엽니다. Space(CreateFile, GetFileSizeEx -> NtAllocateVirtualMemory -> ReadFile) Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

4 트랜잭션(WriteFile)의 합법적인 실행 파일을 메모리 #🎜🎜의 악성 파일로 덮어씁니다. #

# 🎜🎜#

5. 현재 트랜잭션의 섹션(NtCreateSection)을 만듭니다. Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

#🎜🎜##🎜🎜#

6. 트랜잭션을 롤백하고 방금 덮어쓴 파일을 합법적인 실행 파일로 복원합니다(NtRollbackTransaction).

Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

7. 메모리의 섹션을 사용하여 프로세스 개체를 만듭니다(NtCreateProcessEx). 악성 파일 진입점을 탐색하고 프로세스 매개변수 블록을 생성한 후 프로세스 메모리에 프로세스 블록을 작성합니다(NtQueryInformationProcess -> RtlInitUnicodeString -> RtlCreateProcessParametersEx)

9. PEB에서 프로세스 매개변수 블록을 업데이트하고 스레드를 생성합니다. Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술

대책:

단계를 살펴보면 Hook 키 기능(예: NtCreateThreadEx)을 통해 이 기법을 탐지할 수 있습니다.

요약

위 세 가지 기술의 발전에서 몇 가지 추세를 볼 수 있습니다.

첫 번째 포인트는 기억 속의 은폐 능력이 점점 더 강해지고 있다는 점입니다. 처음에는 은폐가 전혀 없었으나 지금은 기억 속에서 법적인 프로그램에 따라 행동할 수 있습니다.

두 번째로, 페이로드를 메모리에 릴리스하는 방법은 점점 더 탐지하기 어려워지고 있습니다. 처음에는 페이로드가 메모리에 직접 복사되었습니다. 이제 공격자는 릴리스 프로세스를 추가로 숨기기 위해 TxF와 같은 일부 기능을 사용할 수 있습니다.

세 번째 포인트는 최종 단계의 주요 기능에는 거의 변화가 없다는 점입니다. 페이로드 해제가 점점 더 숨겨지더라도 여전히 메모리에 해제되어 실행을 요청하게 됩니다. 제한된 수의 핵심 기능을 후킹하여 최종 페이로드를 덤프해야 합니다.

추가 관련 튜토리얼 권장 사항:

웹 서버 보안

위 내용은 Mitre ATT&CK 매트릭스의 세 가지 프로세스 주입 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

인공지능의 역사와 매트릭스 탐구: 인공지능 튜토리얼(2) 인공지능의 역사와 매트릭스 탐구: 인공지능 튜토리얼(2) Nov 20, 2023 pm 05:25 PM

이 시리즈의 첫 번째 기사에서는 인공 지능, 머신 러닝, 딥 러닝, 데이터 과학 등의 연관성과 차이점에 대해 논의했습니다. 또한 전체 시리즈에서 사용할 프로그래밍 언어, 도구 등에 대해 몇 가지 어려운 선택을 했습니다. 마지막으로 약간의 행렬 지식도 소개했습니다. 이번 글에서는 인공지능의 핵심인 매트릭스에 대해 심도있게 논의해보겠습니다. 그런데 그 전에 먼저 인공지능의 역사를 이해해 볼까요? 왜 인공지능의 역사를 이해해야 할까요? 역사상 수많은 AI 붐이 있었지만, AI의 잠재력에 대한 큰 기대는 실현되지 못한 경우가 많았다. 인공지능의 역사를 이해하면 이 인공지능의 물결이 기적을 일으킬지 아니면 터질 또 다른 거품일지 알 수 있습니다. 우리를

행렬의 오른쪽 대각선 요소의 합을 계산하는 Python 프로그램 행렬의 오른쪽 대각선 요소의 합을 계산하는 Python 프로그램 Aug 19, 2023 am 11:29 AM

널리 사용되는 범용 프로그래밍 언어는 Python입니다. 데스크톱 애플리케이션, 웹 개발, 기계 학습 등 다양한 산업에서 사용됩니다. 다행스럽게도 Python에는 초보자에게 적합한 간단하고 이해하기 쉬운 구문이 있습니다. 이 기사에서는 Python을 사용하여 행렬의 오른쪽 대각선의 합을 계산합니다. 매트릭스란 무엇입니까? 수학에서는 직사각형 배열이나 행렬을 사용하여 수학적 대상이나 그 속성을 설명합니다. 이는 행과 열로 배열된 숫자, 기호 또는 표현식을 포함하는 직사각형 배열 또는 테이블입니다. 예를 들어 -234512367574 따라서 3행 4열의 행렬이며 3*4 행렬로 표현됩니다. 이제 행렬에는 두 개의 대각선, 즉 주 대각선과 보조 대각선이 있습니다.

Python에서 numpy를 사용하여 행렬 또는 ndArray의 행렬식을 계산하는 방법은 무엇입니까? Python에서 numpy를 사용하여 행렬 또는 ndArray의 행렬식을 계산하는 방법은 무엇입니까? Aug 18, 2023 pm 11:57 PM

이번 글에서는 파이썬에서 numpy 라이브러리를 사용하여 행렬의 행렬식을 계산하는 방법을 알아 보겠습니다. 행렬식의 행렬식은 행렬을 간결한 형태로 표현할 수 있는 스칼라 값이다. 선형대수학에서 유용한 양이며 물리학, 공학, 컴퓨터 과학을 포함한 다양한 분야에서 수많은 응용이 가능합니다. 이 글에서는 먼저 행렬식의 정의와 속성에 대해 논의하겠습니다. 그런 다음 numpy를 사용하여 행렬의 행렬식을 계산하는 방법을 배우고 몇 가지 예를 통해 실제로 어떻게 사용되는지 살펴보겠습니다. 행렬식의 행렬식은 속성을 설명하는 데 사용할 수 있는 스칼라 값입니다.

다차원 배열을 사용하여 두 행렬을 곱하는 Python 프로그램 다차원 배열을 사용하여 두 행렬을 곱하는 Python 프로그램 Sep 11, 2023 pm 05:09 PM

행렬은 행과 열로 배열된 숫자의 집합입니다. m행과 n열로 구성된 행렬을 mXn 행렬이라고 하며, m과 n을 차원이라고 합니다. 행렬은 목록이나 NumPy 배열을 사용하여 Python에서 만든 2차원 배열입니다. 일반적으로 행렬 곱셈은 첫 번째 행렬의 행과 두 번째 행렬의 열을 곱하여 수행할 수 있습니다. 여기서 첫 번째 행렬의 열 개수는 두 번째 행렬의 행 개수와 같아야 합니다. 입력 및 출력 시나리오 두 개의 행렬 A와 B가 있다고 가정합니다. 이 두 행렬의 차원은 각각 2X3과 3X2입니다. 곱셈 후 결과 행렬은 2개의 행과 1개의 열을 갖게 됩니다. [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

두 행렬의 동등성을 비교하는 C 프로그램 두 행렬의 동등성을 비교하는 C 프로그램 Aug 31, 2023 pm 01:13 PM

사용자는 두 행렬의 순서뿐만 아니라 두 행렬의 요소도 입력해야 합니다. 그런 다음 두 행렬을 비교합니다. 행렬 요소와 크기가 모두 같으면 두 행렬은 같습니다. 행렬의 크기는 동일하지만 요소가 동일하지 않은 경우 행렬은 비교할 수 있지만 동일하지 않은 것으로 표시됩니다. 크기와 요소가 일치하지 않으면 표시 행렬을 비교할 수 없습니다. 다음 프로그램은 두 행렬이 같은지 비교하는 데 사용되는 C 프로그램입니다. #include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10] ; 안에

매트릭스에서 계정을 반전시키는 방법은 무엇입니까? 행렬 반전은 무엇을 의미하나요? 매트릭스에서 계정을 반전시키는 방법은 무엇입니까? 행렬 반전은 무엇을 의미하나요? Mar 27, 2024 pm 12:16 PM

소셜 미디어 운영에서 매트릭스 계정 역류는 서로 다른 계정 간에 트래픽을 유도함으로써 팬들이 서로를 보완하고 활동을 늘릴 수 있는 일반적인 전략입니다. 매트릭스 계정 간의 역류는 신중한 계획과 실행이 필요하며 간단한 문제가 아닙니다. 이 기사에서는 서로 다른 계정 간의 반전을 구현하는 방법과 행렬 반전의 중요성에 대해 자세히 설명합니다. 1. 매트릭스에서 계정을 반전시키는 방법은 무엇입니까? 매트릭스 계정 중에서 주요 트래픽 소스이자 핵심 콘텐츠 출시의 플랫폼이 될 메인 계정을 선택하는 것이 중요합니다. 콘텐츠 기획은 일관된 콘텐츠 품질과 스타일을 보장하기 위해 계정 특성과 대상 고객을 기반으로 해당 콘텐츠 계획을 수립하는 것입니다. 3. 서로 추천하고 좋아요: 매트릭스 계정 간에 서로 홍보하고 좋아요를 누르고 합리적인 레이아웃과 배치를 통해 팬들을 안내합니다.

Python 프로그램: 열 사이의 행렬에서 첫 번째 요소와 마지막 요소의 위치를 ​​바꿉니다. Python 프로그램: 열 사이의 행렬에서 첫 번째 요소와 마지막 요소의 위치를 ​​바꿉니다. Sep 08, 2023 pm 04:29 PM

행렬은 행과 열로 배열된 숫자의 2차원 배열입니다. Python에는 행렬을 나타내는 데이터 유형이 없지만 중첩 목록이나 NumPy 배열을 행렬로 사용할 수 있습니다. 행렬의 첫 번째 열 요소와 마지막 열 요소를 바꾸는 방법을 보려면 다음 입력 및 출력 시나리오를 참조하세요. 입출력 시나리오 목록 목록을 사용하여 표현된 3X3 행렬이 있다고 가정합니다. 출력 행렬은 첫 번째 열 요소와 마지막 열 요소를 교체한 결과 행렬이 됩니다. 입력 행렬:[1,3,4][4,5,6][7,8,3]출력 행렬:[4,3,1][4,5,6][3,8,7]다른 것을 고려해 보겠습니다. 행과 열이 동일하지 않은 행렬입니다. 입력 매트릭스:

Douyin 계정 매트릭스를 설정하는 방법은 무엇입니까? 매트릭스를 할 때 계정 문제를 해결하는 방법은 무엇입니까? Douyin 계정 매트릭스를 설정하는 방법은 무엇입니까? 매트릭스를 할 때 계정 문제를 해결하는 방법은 무엇입니까? Mar 25, 2024 pm 11:01 PM

단편 비디오 산업의 급속한 발전과 함께 Douyin은 중국에서 가장 인기 있는 단편 비디오 플랫폼 중 하나가 되었습니다. 많은 기업과 자영업자는 Douyin 계정 매트릭스를 구축하여 영향력을 확대하기를 희망합니다. 그렇다면 좋은 Douyin 계정 매트릭스를 구축하는 방법은 무엇입니까? 이 도움말에서는 이 질문에 답하고 계정 문제를 해결하는 방법을 소개합니다. 1. Douyin 계정 매트릭스를 설정하는 방법은 무엇입니까? Douyin 계정 매트릭스를 설정할 때 첫 번째 작업은 각 계정의 위치를 ​​정확하게 결정하는 것입니다. 브랜드나 개인의 특성에 따라 각 계정의 테마와 스타일을 명확하게 하여 타겟 고객의 관심을 끌 수 있습니다. 콘텐츠 주제, 게시 빈도, 촬영 기술 등 콘텐츠 전략을 결정하는 것이 중요합니다. 이러한 단계는 계정 매트릭스가 효율성을 최대한 활용하는 데 도움이 될 수 있습니다. 3. 계정 간 상호 작용: 각 계정 간 좋은 관계 구축

See all articles