From df7edfdc2abf121caeb9eb13f11a3ca0845a5fd1 Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 19 Apr 2025 17:11:54 +0000 Subject: [PATCH] Translated ['src/generic-methodologies-and-resources/pentesting-methodol --- .../pentesting-methodology.md | 50 +++++++++--------- src/images/venacus-logo.png | Bin 0 -> 9217 bytes 2 files changed, 24 insertions(+), 26 deletions(-) create mode 100644 src/images/venacus-logo.png diff --git a/src/generic-methodologies-and-resources/pentesting-methodology.md b/src/generic-methodologies-and-resources/pentesting-methodology.md index a56271a1d..995838554 100644 --- a/src/generic-methodologies-and-resources/pentesting-methodology.md +++ b/src/generic-methodologies-and-resources/pentesting-methodology.md @@ -2,20 +2,19 @@ {{#include ../banners/hacktricks-training.md}} - ## Pentesting Methodology
_Hacktricks logos designed by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ -### 0- 물리적 공격 +### **0- 물리적 공격** -공격하고자 하는 기계에 **물리적 접근**이 있습니까? [**물리적 공격에 대한 몇 가지 요령**](../hardware-physical-access/physical-attacks.md)과 [**GUI 애플리케이션에서 탈출하는 방법**](../hardware-physical-access/escaping-from-gui-applications.md)에 대한 내용을 읽어보세요. +공격하고자 하는 기계에 **물리적 접근**이 있습니까? [**물리적 공격에 대한 몇 가지 트릭**](../hardware-physical-access/physical-attacks.md)과 [**GUI 애플리케이션에서 탈출하는 방법**](../hardware-physical-access/escaping-from-gui-applications.md)에 대한 내용을 읽어보세요. -### 1 - [네트워크 내 호스트 발견](pentesting-network/index.html#discovering-hosts)/ [회사의 자산 발견](external-recon-methodology/index.html) +### **1-** [**네트워크 내 호스트 발견**](pentesting-network/index.html#discovering-hosts)/ [회사의 자산 발견](external-recon-methodology/index.html) -**테스트**가 **내부 테스트**인지 **외부 테스트**인지에 따라 **회사 네트워크 내 호스트**를 찾거나 **인터넷에서 회사의 자산**을 찾는 데 관심이 있을 수 있습니다. +**테스트**가 **내부 테스트**인지 **외부 테스트**인지에 따라 **회사 네트워크 내 호스트를 찾는 것**(내부 테스트) 또는 **인터넷에서 회사의 자산을 찾는 것**(외부 테스트)에 관심이 있을 수 있습니다. > [!NOTE] > 외부 테스트를 수행하는 경우, 회사의 내부 네트워크에 접근하게 되면 이 가이드를 다시 시작해야 합니다. @@ -25,13 +24,13 @@ _Hacktricks logos designed by_ [_@ppiernacho_](https://www.instagram.com/ppieran **이 섹션은 내부 테스트를 수행하는 경우에만 적용됩니다.**\ 호스트를 공격하기 전에 **네트워크에서 일부 자격 증명을 훔치거나** **데이터를 스니핑**하여 **수동/능동적으로(MitM)** 네트워크 내에서 무엇을 찾을 수 있는지 알아보는 것이 좋습니다. [**Pentesting Network**](pentesting-network/index.html#sniffing)를 읽어보세요. -### 3- [포트 스캔 - 서비스 발견](pentesting-network/index.html#scanning-hosts) +### **3-** [**포트 스캔 - 서비스 발견**](pentesting-network/index.html#scanning-hosts) **호스트에서 취약점을 찾을 때** 가장 먼저 해야 할 일은 어떤 **서비스가 어떤 포트에서 실행되고 있는지** 아는 것입니다. [**호스트의 포트를 스캔하는 기본 도구**](pentesting-network/index.html#scanning-hosts)를 살펴보겠습니다. ### **4-** [서비스 버전 익스플로잇 검색](../generic-hacking/search-exploits.md) -어떤 서비스가 실행되고 있는지, 그리고 아마도 그 버전을 알게 되면 **알려진 취약점을 검색**해야 합니다. 운이 좋으면 쉘을 제공하는 익스플로잇이 있을 수 있습니다... +어떤 서비스가 실행되고 있는지, 그리고 아마도 그 버전을 알게 되면 **알려진 취약점을 검색해야** 합니다. 운이 좋으면 쉘을 제공하는 익스플로잇이 있을 수 있습니다... ### **5-** Pentesting 서비스 @@ -42,37 +41,37 @@ _Hacktricks logos designed by_ [_@ppiernacho_](https://www.instagram.com/ppieran **특히** [**Pentesting Web**](../network-services-pentesting/pentesting-web/index.html) **부분에 특별히 언급하고 싶습니다 (가장 방대한 부분이기 때문입니다).**\ 또한 [**소프트웨어에서 알려진 취약점을 찾는 방법**](../generic-hacking/search-exploits.md)에 대한 작은 가이드를 여기에서 찾을 수 있습니다. -**인덱스에 서비스가 없다면, Google에서 다른 튜토리얼을 검색하세요** 그리고 **추가해 달라고 알려주세요.** Google에서 **아무것도 찾을 수 없다면**, **자신의 블라인드 펜테스트를 수행하세요**, **서비스에 연결하고, 퍼징하고, 응답을 읽는 것**으로 시작할 수 있습니다 (있다면). +**서비스가 인덱스에 없다면, Google에서** 다른 튜토리얼을 검색하고 **추가해 달라고 알려주세요.** Google에서 **아무것도 찾을 수 없다면**, **자신의 블라인드 펜테스트를 수행하세요**, 서비스에 **연결하고, 퍼징하고, 응답을 읽는 것**(있다면)으로 시작할 수 있습니다. #### 5.1 자동 도구 **자동 취약점 평가**를 수행할 수 있는 여러 도구도 있습니다. **[**Legion**](https://github.com/carlospolop/legion)**을 시도해 보기를 권장합니다. 이 도구는 제가 만든 도구로, 이 책에서 찾을 수 있는 서비스에 대한 펜테스트 노트를 기반으로 합니다.** -#### **5.2- 서비스 브루트 포스** +#### **5.2 서비스 브루트 포싱** -일부 시나리오에서는 **브루트 포스**가 **서비스를 타협하는 데 유용할 수 있습니다**. [**여기에서 다양한 서비스의 브루트 포스 치트 시트를 찾으세요**](../generic-hacking/brute-force.md)**.** +일부 시나리오에서는 **브루트 포스**가 **서비스를 타협하는 데 유용할 수 있습니다**. [**여기에서 다양한 서비스의 브루트 포싱 치트 시트를 찾으세요**](../generic-hacking/brute-force.md)**.** ### 6- [피싱](phishing-methodology/index.html) -이 시점에서 흥미로운 취약점을 찾지 못했다면, **네트워크에 침투하기 위해 피싱을 시도해야 할 수도 있습니다**. 제 피싱 방법론을 [여기](phishing-methodology/index.html)에서 읽어보세요: +이 시점에서 흥미로운 취약점을 찾지 못했다면 **네트워크에 침투하기 위해 피싱을 시도해야 할 수도 있습니다**. 제 피싱 방법론을 [여기](phishing-methodology/index.html)에서 읽어보세요: ### **7-** [**쉘 얻기**](../generic-hacking/reverse-shells/index.html) -어쨌든 피해자에게 **코드를 실행할 방법을 찾았어야 합니다**. 그런 다음, [시스템 내에서 리버스 쉘을 얻기 위해 사용할 수 있는 가능한 도구 목록이 매우 유용할 것입니다](../generic-hacking/reverse-shells/index.html). +어쨌든 피해자에게 **코드를 실행할 수 있는 방법을 찾아야 합니다**. 그런 다음, [시스템 내에서 리버스 쉘을 얻기 위해 사용할 수 있는 가능한 도구 목록이 매우 유용할 것입니다](../generic-hacking/reverse-shells/index.html). 특히 Windows에서는 **안티바이러스를 피하는 데 도움이 필요할 수 있습니다**: [**이 페이지를 확인하세요**](../windows-hardening/av-bypass.md)**.** ### 8- 내부 -쉘에 문제가 있는 경우, 펜테스터에게 가장 유용한 명령어의 작은 **모음집**을 여기에서 찾을 수 있습니다: +쉘에 문제가 있는 경우, 펜테스터에게 가장 유용한 명령어의 작은 **모음**을 여기에서 찾을 수 있습니다: - [**리눅스**](../linux-hardening/useful-linux-commands.md) - [**윈도우 (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md) - [**윈도우 (PS)**](../windows-hardening/basic-powershell-for-pentesters/index.html) -### **9 -** [**탈출**](../generic-hacking/exfiltration.md) +### **9-** [**탈출**](../generic-hacking/exfiltration.md) -아마도 **피해자로부터 일부 데이터를 추출해야 하거나** 심지어 **무언가를 도입해야 할 것입니다** (예: 권한 상승 스크립트). **여기에서 이러한 목적을 위해 사용할 수 있는** [**일반적인 도구에 대한 게시물을 찾을 수 있습니다**](../generic-hacking/exfiltration.md)**.** +피해자로부터 **데이터를 추출해야 하거나** 심지어 **무언가를 도입해야 할 수도 있습니다** (예: 권한 상승 스크립트). **여기에서 이러한 목적을 위해 사용할 수 있는** [**일반적인 도구에 대한 게시물을 찾을 수 있습니다**](../generic-hacking/exfiltration.md)**.** ### **10- 권한 상승** @@ -80,38 +79,38 @@ _Hacktricks logos designed by_ [_@ppiernacho_](https://www.instagram.com/ppieran 박스 내에서 **root/Administrator**가 아니라면, **권한을 상승시키는 방법을 찾아야 합니다.**\ 여기에서 [**리눅스**](../linux-hardening/privilege-escalation/index.html) **및** [**윈도우**](../windows-hardening/windows-local-privilege-escalation/index.html) **에서 로컬 권한을 상승시키는 가이드를 찾을 수 있습니다.**\ -또한 **Windows가 어떻게 작동하는지**에 대한 이 페이지를 확인해야 합니다: +또한 **Windows가 어떻게 작동하는지**에 대한 페이지를 확인해야 합니다: - [**인증, 자격 증명, 토큰 권한 및 UAC**](../windows-hardening/authentication-credentials-uac-and-efs/index.html) -- [**NTLM 작동 방식**](../windows-hardening/ntlm/index.html) +- [**NTLM이 어떻게 작동하는지**](../windows-hardening/ntlm/index.html) - Windows에서 [**자격 증명을 훔치는 방법**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) -- [_**Active Directory**_](../windows-hardening/active-directory-methodology/index.html)에 대한 몇 가지 요령 +- [_**Active Directory**_](../windows-hardening/active-directory-methodology/index.html)에 대한 몇 가지 트릭 **Windows 및 Linux 로컬 권한 상승 경로를 열거하는 최고의 도구를 확인하는 것을 잊지 마세요:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) #### **10.2- 도메인 권한 상승** -여기에서 [**Active Directory에서 권한을 열거하고 상승시키고 지속하는 가장 일반적인 작업을 설명하는 방법론**](../windows-hardening/active-directory-methodology/index.html)을 찾을 수 있습니다. 비록 이것이 섹션의 하위 섹션일지라도, 이 과정은 **펜테스팅/레드 팀 과제에서 매우 섬세할 수 있습니다.** +여기에서 [**Active Directory에서 권한을 열거하고 상승시키고 지속하는 가장 일반적인 작업을 설명하는 방법론**](../windows-hardening/active-directory-methodology/index.html)을 찾을 수 있습니다. 이것은 섹션의 하위 섹션일 뿐이지만, 이 과정은 **펜테스팅/레드 팀 과제에서 매우 섬세할 수 있습니다.** ### 11 - POST #### **11**.1 - 약탈 -호스트 내에서 더 많은 **비밀번호**를 찾거나 **사용자의 권한**으로 **다른 기계에 접근할 수 있는지 확인하세요**.\ -여기에서 [**Windows에서 비밀번호를 덤프하는 다양한 방법**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md)을 찾을 수 있습니다. +호스트 내에서 더 많은 **비밀번호**를 찾거나 **사용자의 권한**으로 **다른 기계에 접근할 수 있는지 확인하세요.**\ +여기에서 [**Windows에서 비밀번호를 덤프하는 다양한 방법**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md)을 찾으세요. #### 11.2 - 지속성 **시스템을 다시 공격할 필요가 없도록 2~3가지 다른 유형의 지속성 메커니즘을 사용하세요.**\ -**여기에서** [**Active Directory의 지속성 요령**](../windows-hardening/active-directory-methodology/index.html#persistence)**을 찾을 수 있습니다.** +**여기에서** [**Active Directory의 지속성 트릭**](../windows-hardening/active-directory-methodology/index.html#persistence)**을 찾을 수 있습니다.** TODO: Windows 및 Linux의 지속성 게시물 완료 ### 12 - 피벗팅 -**수집된 자격 증명**으로 다른 기계에 접근할 수 있거나, **새로운 호스트를 발견하고 스캔해야 할 수도 있습니다** (피해자가 연결된 새로운 네트워크 내에서 펜테스팅 방법론을 다시 시작하세요).\ +**수집한 자격 증명**으로 다른 기계에 접근할 수 있거나, **새로운 호스트를 발견하고 스캔해야 할 수도 있습니다** (피넨팅 방법론을 다시 시작) 새로운 네트워크에서 피해자가 연결되어 있는 경우.\ 이 경우 터널링이 필요할 수 있습니다. [**터널링에 대한 게시물**](../generic-hacking/tunneling-and-port-forwarding.md)을 여기에서 찾을 수 있습니다.\ -또한 [Active Directory 펜테스팅 방법론](../windows-hardening/active-directory-methodology/index.html)에 대한 게시물을 확인해야 합니다. 거기에서 수평 이동, 권한 상승 및 자격 증명 덤프를 위한 멋진 요령을 찾을 수 있습니다.\ +또한 [Active Directory 펜테스팅 방법론](../windows-hardening/active-directory-methodology/index.html)에 대한 게시물을 확인해야 합니다. 거기에서 수평 이동, 권한 상승 및 자격 증명 덤프를 위한 멋진 트릭을 찾을 수 있습니다.\ [**NTLM**](../windows-hardening/ntlm/index.html)에 대한 페이지도 확인하세요. Windows 환경에서 피벗하는 데 매우 유용할 수 있습니다. ### MORE @@ -126,11 +125,10 @@ TODO: Windows 및 Linux의 지속성 게시물 완료 #### [**기본 파이썬**](python/index.html) -#### **암호 요령** +#### **암호 트릭** - [**ECB**](../crypto-and-stego/electronic-code-book-ecb.md) - [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md) - [**패딩 오라클**](../crypto-and-stego/padding-oracle-priv.md) - {{#include ../banners/hacktricks-training.md}} diff --git a/src/images/venacus-logo.png b/src/images/venacus-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6afa1ae32224e1f128e12f8d19f3c58683ac3974 GIT binary patch literal 9217 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 literal 0 HcmV?d00001