hacktricks/generic-methodologies-and-resources/pentesting-methodology.md

170 lines
12 KiB
Markdown

# 펜테스팅 방법론
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 **제로부터 영웅이 될 때까지 AWS 해킹을 배우세요**!</summary>
HackTricks를 지원하는 다른 방법:
* **회사가 HackTricks를 광고하길 원하거나 PDF로 HackTricks를 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 굿즈**](https://peass.creator-spring.com)를 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* **💬 [디스코드 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
* **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소로 PR을 제출하세요.
</details>
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
**해킹 경력**에 관심이 있고 해킹할 수 없는 것을 해킹하고 싶다면 - **채용 중입니다!** (_유창한 폴란드어 필수_).
{% embed url="https://www.stmcyber.com/careers" %}
## 펜테스팅 방법론
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_Hacktricks 로고는_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_에 의해 디자인되었습니다._
### 0- 물리적 공격
**공격하려는 기기에 물리적 액세스**가 있습니까? [**물리적 공격에 대한 트릭**](../physical-attacks/physical-attacks.md) 및 [**GUI 애플리케이션에서 탈출하는 방법**](../physical-attacks/escaping-from-gui-applications/)을 읽어보세요.
### 1 - [네트워크 내 호스트 발견](pentesting-network/#discovering-hosts)/ [회사 자산 발견](external-recon-methodology/)
**수행 중인 테스트가 내부 또는 외부 테스트인지에 따라** **회사 네트워크 내 호스트를 찾는 것** (내부 테스트) 또는 **인터넷 상의 회사 자산을 찾는 것** (외부 테스트)에 관심이 있을 수 있습니다.
{% hint style="info" %}
외부 테스트를 수행하는 경우, 회사의 내부 네트워크에 액세스한 후에는이 가이드를 다시 시작해야합니다.
{% endhint %}
### **2-** [**네트워크에서 재미있는 시간**](pentesting-network/) **(내부)**
**이 섹션은 내부 테스트를 수행하는 경우에만 해당됩니다.**\
호스트를 공격하기 전에 **네트워크에서 일부 자격 증명을 훔치거나** 네트워크 내부에서 무엇을 찾을 수 있는지 **수동/능동적(MitM)**으로 알아보기 위해 **데이터를 스니핑**하는 것이 좋습니다. [**펜테스팅 네트워크**](pentesting-network/#sniffing)를 읽어보세요.
### 3- [포트 스캔 - 서비스 발견](pentesting-network/#scanning-hosts)
**호스트의 취약점을 찾을 때 처음 해야 할 일은 어떤 포트에서 어떤 서비스가 실행 중인지 알아내는 것**입니다. [**호스트의 포트를 스캔하는 데 사용되는 기본 도구**](pentesting-network/#scanning-hosts)를 살펴봅시다.
### **4-** [서비스 버전 취약점 검색](search-exploits.md)
실행 중인 서비스와 그 버전을 알게 되면 알려진 취약점을 **검색해야 합니다**. 운이 좋다면 쉘을 제공하는 취약점이 있을 수도 있습니다...
### **5-** 서비스 펜테스팅
실행 중인 서비스에 대한 멋진 취약점이 없는 경우, 각 서비스에서 **일반적인 구성 오류를 찾아야 합니다**.
**이 책에서는 가장 일반적인 서비스를 펜테스트하는 가이드를 찾을 수 있습니다** (일반적이지 않은 서비스도 포함됨)**. 왼쪽 색인에서** _**PENTESTING**_ **섹션을 찾아보세요** (서비스는 기본 포트별로 정렬됨).
**가장 넓은 부분인** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **부분에 대해 특별히 언급하고 싶습니다.**\
또한 여기에서 [**소프트웨어에서 알려진 취약점을 찾는 방법에 대한 작은 가이드**](search-exploits.md)를 찾을 수 있습니다.
**색인에 서비스가 없는 경우 Google에서** 다른 자습서를 찾아보고 **추가하길 원한다면 알려주세요**. Google에서 아무것도 찾을 수 없는 경우 **자체 블라인드 펜테스팅**을 수행할 수 있습니다. 서비스에 연결하여 **퍼징하고 응답을 읽는 것**으로 시작할 수 있습니다.
#### 5.1 자동 도구
**자동 취약점 평가를 수행할 수 있는 여러 도구**도 있습니다. **이 책에서 찾을 수 있는 서비스 펜테스트에 관한 노트를 기반으로 한** [**Legion**](https://github.com/carlospolop/legion)**을 시도해보는 것을 권장합니다.**
#### **5.2 서비스 브루트 포싱**
일부 시나리오에서 **브루트 포스**가 **서비스를 침투하는 데 유용**할 수 있습니다. [**다양한 서비스 브루트 포싱에 대한 치트 시트를 여기에서 찾을 수 있습니다**](brute-force.md)**.**
### 6- [피싱](phishing-methodology/)
이 시점에서 흥미로운 취약점을 찾지 못했다면 네트워크에 들어가기 위해 **일부 피싱을 시도**해야 할 수 있습니다. 피싱 방법론은 [여기](phishing-methodology/)에서 확인할 수 있습니다.
### **7-** [**쉘 획득**](shells/)
피해자에서 코드를 실행할 방법을 어떻게든 찾아야 합니다. 그런 다음, **역쉘을 얻기 위해 시스템 내에서 사용할 수 있는 도구 목록이 매우 유용**할 것입니다(shells/).
특히 Windows에서 **안티바이러스를 피하기 위한 도움이 필요**할 수 있습니다: [**이 페이지를 확인하세요**](../windows-hardening/av-bypass.md)**.**\\
### 8- 내부
쉘에 문제가 있다면 펜테스터에게 가장 유용한 명령어의 작은 **모음**을 여기에서 찾을 수 있습니다:
* [**Linux**](../linux-hardening/useful-linux-commands/)
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
* [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/)
### **9 -** [**유출**](exfiltration.md)
피해자로부터 **일부 데이터를 추출**하거나 권한 상승 스크립트와 같은 것을 **삽입**해야 할 수도 있습니다. 이러한 목적으로 사용할 수 있는 **일반 도구에 대한 포스트**를 [**여기에서 확인하세요**](exfiltration.md)**.**
### **10- 권한 상승**
#### **10.1- 로컬 권한 상승**
박스 안에서 **루트/Administrator가 아닌 경우** 권한을 **상승시키는 방법을 찾아야** 합니다.\
여기서 [**Linux**](../linux-hardening/privilege-escalation/) **및** [**Windows**](../windows-hardening/windows-local-privilege-escalation/) **에서 로컬 권한 상승하는 가이드를 찾을 수 있습니다.**\
또한 **Windows 작동 방식에 대한** 이 페이지들을 확인해야 합니다:
* [**인증, 자격 증명, 토큰 권한 및 UAC**](../windows-hardening/authentication-credentials-uac-and-efs.md)
* [**NTLM 작동 방식**](../windows-hardening/ntlm/)
* Windows에서 [**자격 증명을 탈취하는 방법**](broken-reference/)
* [_**Active Directory**_](../windows-hardening/active-directory-methodology/)에 관한 몇 가지 요령
**Windows 및 Linux 로컬 권한 상승 경로를 열거하는 최고의 도구를 확인하는 것을 잊지 마세요:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- 도메인 권한 상승**
여기서 [**Active Directory를 열거하고 권한을 상승시키고 지속시키는 가장 일반적인 작업을 설명하는 방법론을 찾을 수 있습니다**](../windows-hardening/active-directory-methodology/). 이것이 섹션의 하위 항목에 불과하더라도, 이 프로세스는 **펜테스팅/레드팀 과제에서 매우 민감**할 수 있습니다.
### 11 - POST
#### **11**.1 - Looting
호스트 내에서 더 많은 **암호**를 찾을 수 있는지 또는 **사용자의 권한**으로 **다른 기기에 액세스**할 수 있는지 확인하세요.\
여기서 [**Windows에서 암호 덤프하는 다양한 방법**](broken-reference/)을 찾을 수 있습니다.
#### 11.2 - 지속성
**시스템을 다시 악용할 필요가 없도록 2개 또는 3개의 다른 유형의 지속성 메커니즘을 사용하세요.**\
**여기서 [**Active Directory에서 지속성 요령**](../windows-hardening/active-directory-methodology/#persistence)을 찾을 수 있습니다.**
TODO: Windows 및 Linux에서 지속성 포스트 완성
### 12 - Pivoting
**수집된 자격 증명**으로 다른 기기에 액세스할 수도 있고, 혹은 피해자가 연결된 새 네트워크 내에서 새로운 호스트를 **발견하고 스캔해야 할 수도** 있습니다 (펜테스팅 방법론을 다시 시작).\
이 경우 터널링이 필요할 수 있습니다. [**터널링에 대한 글**](tunneling-and-port-forwarding.md)을 여기서 찾을 수 있습니다.\
반드시 [Active Directory 펜테스팅 방법론에 대한 글](../windows-hardening/active-directory-methodology/)도 확인해야 합니다. 거기에서 측면 이동, 권한 상승 및 자격 증명 덤프에 대한 멋진 요령을 찾을 수 있습니다.\
[**NTLM에 대한 페이지**](../windows-hardening/ntlm/)도 확인하세요. Windows 환경에서 피벗하는 데 매우 유용할 수 있습니다.
### 더 보기
#### [Android 애플리케이션](../mobile-pentesting/android-app-pentesting/)
#### **악용**
* [**기본 Linux 악용**](../exploiting/linux-exploiting-basic-esp/)
* [**기본 Windows 악용**](../exploiting/windows-exploiting-basic-guide-oscp-lvl.md)
* [**기본 악용 도구**](../exploiting/tools/)
#### [**기본 Python**](python/)
#### **암호 요령**
* [**ECB**](../cryptography/electronic-code-book-ecb.md)
* [**CBC-MAC**](../cryptography/cipher-block-chaining-cbc-mac-priv.md)
* [**패딩 오라클**](../cryptography/padding-oracle-priv.md)
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
**해킹 경력에 관심이 있고 해킹할 수 없는 것을 해킹하고 싶다면 - 우리는 채용 중입니다!** (_구사할 수 있는 폴란드어 필수_).
{% embed url="https://www.stmcyber.com/careers" %}
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터 제로에서 영웅까지 AWS 해킹 배우기</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks를 지원하는 다른 방법:
* **회사를 HackTricks에서 광고하거나 PDF로 다운로드하려면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구입하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)를 팔로우하세요.
* **HackTricks 및 HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 **당신의 해킹 요령을 공유하세요**.
</details>