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

173 lines
12 KiB
Markdown

# Metodologia Pentestingu
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Ucz się i ćwicz Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Wsparcie dla HackTricks</summary>
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Jeśli jesteś zainteresowany **karierą w hacking** i chcesz złamać to, co nie do złamania - **zatrudniamy!** (_wymagana biegła znajomość polskiego w mowie i piśmie_).
{% embed url="https://www.stmcyber.com/careers" %}
## Metodologia Pentestingu
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_Loga Hacktricks zaprojektowane przez_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
### 0- Ataki fizyczne
Czy masz **fizyczny dostęp** do maszyny, którą chcesz zaatakować? Powinieneś przeczytać kilka [**sztuczek dotyczących ataków fizycznych**](../hardware-physical-access/physical-attacks.md) i innych dotyczących [**ucieczki z aplikacji GUI**](../hardware-physical-access/escaping-from-gui-applications.md).
### 1 - [Odkrywanie hostów w sieci](pentesting-network/#discovering-hosts)/ [Odkrywanie zasobów firmy](external-recon-methodology/)
**W zależności** od tego, czy **test**, który wykonujesz, jest **testem wewnętrznym czy zewnętrznym**, możesz być zainteresowany znalezieniem **hostów w sieci firmy** (test wewnętrzny) lub **znalezieniem zasobów firmy w internecie** (test zewnętrzny).
{% hint style="info" %}
Zauważ, że jeśli wykonujesz test zewnętrzny, po uzyskaniu dostępu do wewnętrznej sieci firmy powinieneś ponownie rozpocząć ten przewodnik.
{% endhint %}
### **2-** [**Zabawa z siecią**](pentesting-network/) **(Wewnętrzny)**
**Ta sekcja dotyczy tylko testów wewnętrznych.**\
Zanim zaatakujesz hosta, może wolisz **ukraść jakieś dane logowania** **z sieci** lub **podsłuchiwać** jakieś **dane**, aby dowiedzieć się **pasywnie/aktywnie (MitM)**, co możesz znaleźć w sieci. Możesz przeczytać [**Pentesting Network**](pentesting-network/#sniffing).
### 3- [Skanowanie portów - Odkrywanie usług](pentesting-network/#scanning-hosts)
Pierwszą rzeczą do zrobienia, gdy **szukasz luk w hoście**, jest poznanie, które **usługi działają** na jakich portach. Zobaczmy [**podstawowe narzędzia do skanowania portów hostów**](pentesting-network/#scanning-hosts).
### **4-** [**Szukając exploitów wersji usług**](search-exploits.md)
Gdy już wiesz, które usługi działają, a może ich wersje, musisz **szukać znanych luk**. Może masz szczęście i istnieje exploit, który da ci powłokę...
### **5-** Usługi Pentestingu
Jeśli nie ma żadnego fajnego exploita dla żadnej działającej usługi, powinieneś poszukać **częstych błędów konfiguracyjnych w każdej działającej usłudze.**
**W tej książce znajdziesz przewodnik po pentestingu najczęściej występujących usług** (i innych, które nie są tak powszechne)**. Proszę, przeszukaj lewy indeks w sekcji** _**PENTESTING**_ **(usługi są uporządkowane według ich domyślnych portów).**
**Chcę szczególnie wspomnieć o części** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **(ponieważ jest najbardziej rozbudowana).**\
Również mały przewodnik na temat [**znajdowania znanych luk w oprogramowaniu**](search-exploits.md) można znaleźć tutaj.
**Jeśli twoja usługa nie znajduje się w indeksie, poszukaj w Google** innych samouczków i **daj mi znać, jeśli chcesz, żebym to dodał.** Jeśli **nie możesz nic znaleźć** w Google, przeprowadź **własny ślepy pentesting**, możesz zacząć od **połączenia się z usługą, fuzzowania jej i czytania odpowiedzi** (jeśli jakieś są).
#### 5.1 Narzędzia automatyczne
Istnieje również kilka narzędzi, które mogą przeprowadzać **automatyczne oceny luk**. **Zalecałbym spróbować** [**Legion**](https://github.com/carlospolop/legion)**, które jest narzędziem, które stworzyłem i opiera się na notatkach dotyczących pentestingu usług, które możesz znaleźć w tej książce.**
#### **5.2- Bruteforce usług**
W niektórych scenariuszach **Brute-Force** może być przydatny do **kompromitacji** **usługi**. [**Znajdź tutaj CheatSheet różnych usług do bruteforce**](brute-force.md)**.**
### 6- [Phishing](phishing-methodology/)
Jeśli w tym momencie nie znalazłeś żadnej interesującej luki, **możesz spróbować phishingu**, aby dostać się do sieci. Możesz przeczytać moją metodologię phishingu [tutaj](phishing-methodology/):
### **7-** [**Uzyskiwanie powłoki**](reverse-shells/)
W jakiś sposób powinieneś znaleźć **jakąś metodę wykonania kodu** na ofierze. Wtedy [lista możliwych narzędzi w systemie, które możesz użyć do uzyskania powłoki zwrotnej, byłaby bardzo przydatna](reverse-shells/).
Szczególnie w systemie Windows możesz potrzebować pomocy, aby **unikać programów antywirusowych**: [**Sprawdź tę stronę**](../windows-hardening/av-bypass.md)**.**\\
### 8- Wewnątrz
Jeśli masz problemy z powłoką, możesz tutaj znaleźć małą **kompilację najbardziej przydatnych poleceń** dla pentesterów:
* [**Linux**](../linux-hardening/useful-linux-commands.md)
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
* [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/)
### **9 -** [**Ekstrakcja**](exfiltration.md)
Prawdopodobnie będziesz musiał **wyciągnąć jakieś dane z ofiary** lub nawet **wprowadzić coś** (jak skrypty do eskalacji uprawnień). **Tutaj masz** [**post o wspólnych narzędziach, które możesz użyć do tych celów**](exfiltration.md)**.**
### **10- Eskalacja uprawnień**
#### **10.1- Lokalne Privesc**
Jeśli nie jesteś **rootem/Administratorem** w systemie, powinieneś znaleźć sposób na **eskalację uprawnień.**\
Tutaj znajdziesz **przewodnik po eskalacji uprawnień lokalnie w** [**Linuxie**](../linux-hardening/privilege-escalation/) **i w** [**Windowsie**](../windows-hardening/windows-local-privilege-escalation/)**.**\
Powinieneś również sprawdzić te strony dotyczące tego, jak działa **Windows**:
* [**Uwierzytelnianie, dane logowania, uprawnienia tokenów i UAC**](../windows-hardening/authentication-credentials-uac-and-efs/)
* Jak działa [**NTLM**](../windows-hardening/ntlm/)
* Jak [**ukraść dane logowania**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) w Windowsie
* Kilka sztuczek dotyczących [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
**Nie zapomnij sprawdzić najlepszych narzędzi do enumeracji lokalnych ścieżek eskalacji uprawnień w Windowsie i Linuxie:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- Domain Privesc**
Tutaj znajdziesz [**metodologię wyjaśniającą najczęstsze działania w celu enumeracji, eskalacji uprawnień i utrzymania się w Active Directory**](../windows-hardening/active-directory-methodology/). Nawet jeśli jest to tylko podsekcja sekcji, ten proces może być **ekstremalnie delikatny** w zadaniu Pentesting/Red Team.
### 11 - POST
#### **11**.1 - Grabienie
Sprawdź, czy możesz znaleźć więcej **haseł** wewnątrz hosta lub czy masz **dostęp do innych maszyn** z **uprawnieniami** swojego **użytkownika**.\
Znajdź tutaj różne sposoby [**zrzucania haseł w Windowsie**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md).
#### 11.2 - Utrzymywanie
**Użyj 2 lub 3 różnych typów mechanizmów utrzymywania, aby nie musieć ponownie eksploatować systemu.**\
**Tutaj znajdziesz kilka** [**sztuczek dotyczących utrzymywania w Active Directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Uzupełnij post o utrzymywaniu w Windowsie i Linuxie
### 12 - Pivoting
Dzięki **zebranym danym logowania** możesz uzyskać dostęp do innych maszyn, lub może musisz **odkryć i zeskanować nowe hosty** (rozpocznij metodologię pentestingu od nowa) w nowych sieciach, w których jest połączona twoja ofiara.\
W takim przypadku tunelowanie może być konieczne. Tutaj znajdziesz [**post mówiący o tunelowaniu**](tunneling-and-port-forwarding.md).\
Zdecydowanie powinieneś również sprawdzić post o [metodologii pentestingu Active Directory](../windows-hardening/active-directory-methodology/). Znajdziesz tam fajne sztuczki do poruszania się lateralnie, eskalacji uprawnień i zrzucania danych logowania.\
Sprawdź również stronę o [**NTLM**](../windows-hardening/ntlm/), może być bardzo przydatna do pivotowania w środowiskach Windows.
### WIĘCEJ
#### [Aplikacje Android](../mobile-pentesting/android-app-pentesting/)
#### **Eksploatacja**
* [**Podstawowa eksploatacja Linuxa**](broken-reference/)
* [**Podstawowa eksploatacja Windowsa**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
* [**Podstawowe narzędzia eksploatacji**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
#### [**Podstawowy Python**](python/)
#### **Sztuczki kryptograficzne**
* [**ECB**](../crypto-and-stego/electronic-code-book-ecb.md)
* [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md)
* [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md)
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Jeśli jesteś zainteresowany **karierą w hacking** i chcesz złamać to, co nie do złamania - **zatrudniamy!** (_wymagana biegła znajomość polskiego w mowie i piśmie_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Ucz się i ćwicz Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Wsparcie dla HackTricks</summary>
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
</details>
{% endhint %}