hacktricks/binary-exploitation/common-binary-protections-and-bypasses
2024-08-12 13:17:31 +00:00
..
aslr Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
pie Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
stack-canaries Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
cet-and-shadow-stack.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
libc-protections.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
memory-tagging-extension-mte.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
no-exec-nx.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
README.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:43:30 +00:00
relro.md Translated ['binary-exploitation/common-binary-protections-and-bypasses/ 2024-08-12 13:17:31 +00:00

Powszechne zabezpieczenia i sposoby obejścia w eksploatacji binarnej

{% hint style="success" %} Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wesprzyj HackTricks
{% endhint %}

Włącz pliki Core

Pliki Core to rodzaj plików generowanych przez system operacyjny, gdy proces ulega awarii. Te pliki przechwytują obraz pamięci zatrzymanego procesu w chwili jego zakończenia, w tym pamięć procesu, rejestry i stan licznika programu, między innymi szczegóły. Ten zrzut może być niezwykle wartościowy do debugowania i zrozumienia przyczyny awarii.

Włączanie Generowania Dumpów Core

Domyślnie wiele systemów ogranicza rozmiar plików core do 0 (tj. nie generuje plików core) w celu oszczędzania miejsca na dysku. Aby włączyć generowanie plików core, można użyć polecenia ulimit (w powłoce bash lub podobnych) lub skonfigurować ustawienia systemowe.

  • Za pomocą ulimit: Polecenie ulimit -c unlimited pozwala bieżącej sesji powłoki tworzyć pliki core o nieograniczonej wielkości. Jest to przydatne podczas sesji debugowania, ale nie jest trwałe po ponownym uruchomieniu systemu lub nowych sesjach.
ulimit -c unlimited
  • Trwała konfiguracja: Dla bardziej trwałego rozwiązania, możesz edytować plik /etc/security/limits.conf, aby dodać linię taką jak * soft core unlimited, co pozwala wszystkim użytkownikom generować pliki core o nieograniczonej wielkości bez konieczności ręcznego ustawiania ulimit w ich sesjach.
* soft core unlimited

Analiza plików rdzenia za pomocą GDB

Aby przeanalizować plik rdzenia, można użyć narzędzi do debugowania, takich jak GDB (GNU Debugger). Zakładając, że masz wykonywalny plik, który wygenerował zrzut rdzenia, a plik rdzenia ma nazwę core_file, można rozpocząć analizę za pomocą:

gdb /path/to/executable /path/to/core_file

To polecenie wczytuje plik wykonywalny i plik rdzenia do GDB, pozwalając na zbadanie stanu programu w momencie awarii. Możesz użyć poleceń GDB do eksploracji stosu, sprawdzenia zmiennych i zrozumienia przyczyny awarii.

{% hint style="success" %} Dowiedz się i ćwicz Hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wesprzyj HackTricks
{% endhint %}