Protezioni e Bypass Comuni per l'Exploitation Binaria

Reading time: 3 minutes

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks

Abilitare i file Core

I file 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 del programma, tra i vari dettagli. Questo snapshot può essere estremamente prezioso per il debug e per comprendere perché si è verificato l'arresto.

Abilitare la Generazione di Core Dump

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

  • Utilizzando ulimit: Il comando ulimit -c unlimited consente alla sessione della shell corrente di creare file core di dimensioni illimitate. Questo è utile per le sessioni di debug ma non è persistente tra i riavvii o le nuove sessioni.
bash
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.
markdown
- soft core unlimited

Analizzare i file di core con GDB

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

bash
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 GDB per esplorare lo stack, esaminare le variabili e comprendere la causa del crash.

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks