hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/common-binary-protections-and-bypasses
2024-07-18 22:12:19 +00:00
..
aslr Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:12:19 +00:00
pie Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:12:19 +00:00
stack-canaries Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:12:19 +00:00
no-exec-nx.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:12:19 +00:00
README.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:12:19 +00:00
relro.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:12:19 +00:00

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
{% endhint %}

Abilitare i file di core

I file di core sono un tipo di file generato da un sistema operativo quando un processo si arresta in modo anomalo. Questi file catturano l'immagine della memoria del processo arrestato al momento della sua terminazione, inclusi la memoria del processo, i registri e lo stato del contatore di programma, tra i vari dettagli. Questa istantanea può essere estremamente preziosa per il debug e per comprendere perché si è verificato l'arresto anomalo.

Abilitare la generazione di file di core

Per impostazione predefinita, molti sistemi limitano la dimensione dei file di core a 0 (cioè, non generano file di core) per risparmiare spazio su disco. Per abilitare la generazione di file di core, puoi utilizzare il comando ulimit (in bash o shell simili) o configurare le impostazioni a livello di sistema.

  • Utilizzando ulimit: Il comando ulimit -c unlimited consente alla sessione della shell corrente di creare file di core di dimensioni illimitate. Questo è utile per le sessioni di debug ma non è persistente tra i riavvii o le nuove sessioni.
ulimit -c unlimited
  • Configurazione Persistente: Per una soluzione più permanente, puoi modificare il file /etc/security/limits.conf per includere una riga come * soft core unlimited, che consente a tutti gli utenti di generare file di core di dimensioni illimitate senza dover impostare manualmente ulimit nelle loro sessioni.
* soft core unlimited

Analizzare i file di core con GDB

Per analizzare un file di core, puoi utilizzare strumenti di debug come GDB (il debugger GNU). Supponendo di avere un eseguibile che ha prodotto un dump di core e il file di core è chiamato core_file, puoi iniziare l'analisi con:

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

Questo comando carica l'eseguibile e il file di core in GDB, permettendoti di ispezionare lo stato del programma al momento del crash. Puoi utilizzare i comandi di GDB per esplorare lo stack, esaminare le variabili e comprendere la causa del crash.

{% 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
{% endhint %}