# Pentesting Methodology
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCP 해킹 배우기 및 연습하기: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks 지원하기
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
{% endhint %}
해킹 경력에 관심이 있고 해킹할 수 없는 것을 해킹하고 싶다면 - **우리는 채용 중입니다!** (_유창한 폴란드어 필기 및 구사 필요_).
{% embed url="https://www.stmcyber.com/careers" %}
## Pentesting Methodology
_Hacktricks 로고는_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_에 의해 디자인되었습니다._
### 0- 물리적 공격
공격하고자 하는 기계에 **물리적 접근**이 있습니까? [**물리적 공격에 대한 팁**](../hardware-physical-access/physical-attacks.md)와 [**GUI 애플리케이션에서 탈출하는 방법**](../hardware-physical-access/escaping-from-gui-applications.md)에 대한 내용을 읽어보세요.
### 1 - [네트워크 내 호스트 발견](pentesting-network/#discovering-hosts)/ [회사의 자산 발견](external-recon-methodology/)
**테스트**가 **내부 테스트**인지 **외부 테스트**인지에 따라 **회사 네트워크 내 호스트를 찾는 것**(내부 테스트) 또는 **인터넷에서 회사의 자산을 찾는 것**(외부 테스트)에 관심이 있을 수 있습니다.
{% hint style="info" %}
외부 테스트를 수행하는 경우, 회사의 내부 네트워크에 접근하게 되면 이 가이드를 다시 시작해야 합니다.
{% endhint %}
### **2-** [**네트워크와 함께 즐기기**](pentesting-network/) **(내부)**
**이 섹션은 내부 테스트를 수행하는 경우에만 적용됩니다.**\
호스트를 공격하기 전에 **네트워크에서 자격 증명을 훔치거나** **데이터를 스니핑**하여 **수동/능동적으로(MitM)** 네트워크 내에서 무엇을 찾을 수 있는지 알아보는 것이 좋습니다. [**Pentesting Network**](pentesting-network/#sniffing)를 읽어보세요.
### 3- [포트 스캔 - 서비스 발견](pentesting-network/#scanning-hosts)
**호스트에서 취약점을 찾을 때** 가장 먼저 해야 할 일은 어떤 **서비스가 어떤 포트에서 실행되고 있는지** 아는 것입니다. [**호스트의 포트를 스캔하는 기본 도구**](pentesting-network/#scanning-hosts)를 살펴보겠습니다.
### **4-** [서비스 버전 익스플로잇 검색](search-exploits.md)
어떤 서비스가 실행되고 있는지, 그리고 아마도 그 버전을 알게 되면 **알려진 취약점을 검색해야** 합니다. 운이 좋으면 쉘을 제공하는 익스플로잇이 있을 수 있습니다...
### **5-** Pentesting 서비스
실행 중인 서비스에 대한 멋진 익스플로잇이 없다면, 각 서비스에서 **일반적인 잘못된 구성**을 찾아야 합니다.
**이 책에서는 가장 일반적인 서비스에 대한 펜테스트 가이드를 찾을 수 있습니다** (그리고 그렇게 일반적이지 않은 서비스도 포함되어 있습니다). 왼쪽 인덱스에서 **_**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-** [**쉘 얻기**](reverse-shells/)
어쨌든 피해자에게 **코드를 실행할 방법을 찾아야 합니다**. 그런 다음, [역 쉘을 얻기 위해 시스템 내에서 사용할 수 있는 가능한 도구 목록이 매우 유용할 것입니다](reverse-shells/).
특히 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/)
### **9 -** [**정보 유출**](exfiltration.md)
피해자로부터 **데이터를 추출해야 하거나** 심지어 **무언가를 도입해야 할 수도 있습니다** (예: 권한 상승 스크립트). **여기에서 이러한 목적에 사용할 수 있는 일반적인 도구에 대한** [**게시물을 확인하세요**](exfiltration.md)**.**
### **10- 권한 상승**
#### **10.1- 로컬 권한 상승**
박스 내에서 **root/Administrator가 아닌 경우**, **권한을 상승시키는 방법을 찾아야 합니다**.\
여기에서 [**리눅스**](../linux-hardening/privilege-escalation/) **및** [**윈도우**](../windows-hardening/windows-local-privilege-escalation/) **에서 로컬 권한을 상승시키는 방법에 대한 가이드를 찾을 수 있습니다.**\
또한 **Windows가 어떻게 작동하는지**에 대한 이 페이지를 확인하세요:
* [**인증, 자격 증명, 토큰 권한 및 UAC**](../windows-hardening/authentication-credentials-uac-and-efs/)
* [**NTLM 작동 방식**](../windows-hardening/ntlm/)
* Windows에서 [**자격 증명을 훔치는 방법**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md)
* [_**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 - 약탈
호스트 내에서 더 많은 **비밀번호**를 찾거나 **사용자의 권한**으로 **다른 기계에 접근할 수 있는지** 확인하세요.\
여기에서 [**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/#persistence)**을 찾을 수 있습니다.**
TODO: Windows 및 Linux에서 지속성 게시물 완성
### 12 - 피벗팅
**수집한 자격 증명**으로 다른 기계에 접근할 수 있거나, **새로운 호스트를 발견하고 스캔해야 할 수도 있습니다** (펜테스팅 방법론을 다시 시작하세요) 피해자가 연결된 새로운 네트워크 내에서.\
이 경우 터널링이 필요할 수 있습니다. [**터널링에 대한 게시물**](tunneling-and-port-forwarding.md)을 여기에서 찾을 수 있습니다.\
또한 [Active Directory 펜테스팅 방법론](../windows-hardening/active-directory-methodology/)에 대한 게시물을 확인해야 합니다. 거기에서 수평 이동, 권한 상승 및 자격 증명 덤프를 위한 멋진 팁을 찾을 수 있습니다.\
[**NTLM**](../windows-hardening/ntlm/)에 대한 페이지도 확인하세요. Windows 환경에서 피벗하는 데 매우 유용할 수 있습니다.
### 더 많은 정보
#### [안드로이드 애플리케이션](../mobile-pentesting/android-app-pentesting/)
#### **익스플로잇**
* [**기본 리눅스 익스플로잇**](broken-reference/)
* [**기본 윈도우 익스플로잇**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
* [**기본 익스플로잇 도구**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
#### [**기본 파이썬**](python/)
#### **암호화 팁**
* [**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)
해킹 경력에 관심이 있고 해킹할 수 없는 것을 해킹하고 싶다면 - **우리는 채용 중입니다!** (_유창한 폴란드어 필기 및 구사 필요_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCP 해킹 배우기 및 연습하기: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks 지원하기
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
{% endhint %}