.. | ||
aslr | ||
pie | ||
stack-canaries | ||
no-exec-nx.md | ||
README.md | ||
relro.md |
Common Binary Protections
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Włącz pliki rdzeniowe
Pliki rdzeniowe to rodzaj pliku generowanego przez system operacyjny, gdy proces ulega awarii. Pliki te przechwytyują obraz pamięci awaryjnego procesu w momencie jego zakończenia, w tym pamięć procesu, rejestry i stan licznika programu, między innymi szczegóły. Ten zrzut może być niezwykle cenny do debugowania i zrozumienia, dlaczego wystąpiła awaria.
Włączanie generowania zrzutów rdzeniowych
Domyślnie wiele systemów ogranicza rozmiar plików rdzeniowych do 0 (tj. nie generują plików rdzeniowych), aby zaoszczędzić miejsce na dysku. Aby włączyć generowanie plików rdzeniowych, można użyć polecenia ulimit
(w bashu lub podobnych powłokach) lub skonfigurować ustawienia systemowe.
- Używając ulimit: Polecenie
ulimit -c unlimited
pozwala bieżącej sesji powłoki na tworzenie plików rdzeniowych o nieograniczonej wielkości. Jest to przydatne w sesjach debugowania, ale nie jest trwałe po ponownym uruchomieniu lub w nowych sesjach.
ulimit -c unlimited
- Trwała konfiguracja: Aby uzyskać bardziej trwałe rozwiązanie, możesz edytować plik
/etc/security/limits.conf
, aby dodać linię taką jak* soft core unlimited
, co pozwala wszystkim użytkownikom na generowanie plików core o nieograniczonej wielkości bez konieczności ręcznego ustawiania ulimit w ich sesjach.
* soft core unlimited
Analiza plików rdzeniowych za pomocą GDB
Aby przeanalizować plik rdzeniowy, możesz użyć narzędzi do debugowania, takich jak GDB (GNU Debugger). Zakładając, że masz plik wykonywalny, który wygenerował zrzut rdzenia, a plik rdzeniowy nazywa się core_file
, możesz rozpocząć analizę za pomocą:
gdb /path/to/executable /path/to/core_file
To polecenie ładuje plik wykonywalny i plik rdzenia do GDB, co pozwala na zbadanie stanu programu w momencie awarii. Możesz używać poleceń GDB, aby eksplorować stos, badać zmienne i zrozumieć przyczynę awarii.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.