Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
heapinspect — 🔍Strumento di analisi heap per CTF pwn. | Kitploit
Strumenti/GitHubGitHub/matrix1001/heapinspect
ExploitDebuggerCTFAnalisi di Binari
GitHubmatrix1001/heapinspect

heapinspect

🔍Strumento di analisi heap per CTF pwn.

Vedi Repository
225205 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

HeapInspect

Pwnning è un'arte.

HeapInspect è progettato per rendere heap molto più carino.

Ora questo strumento è un plugin di nadbg. Provatelo!

Caratteristiche

  • Senza necessità di gdb o altri requisiti
  • Supporto multi glibc
    • 2.19, 2.23-2.27 (attualmente testati)
    • sia 32bit che 64bit
  • Bella interfaccia per visualizzare l'heap
    • HeapShower (dettagliato)
    • PrettyPrinter (colorato, riassunto)
  • Heapdiff (in funzione)
  • Rilevamento di corruzione e analisi exploit (in funzione)
  • Supporta anche gdb
  • Compatibile con Python2 e Python3

Utilizzo

Esempio rapido

Un uso rapido di questo strumento.

pp1

pp2

raw1

rela1

Puoi anche usarlo come plugin per gdb, molto utile quando pwndbg o altri plugin non riescono ad analizzare l'heap.

root@kitploit:~
sed -i "1i source `pwd`/gdbscript.py" ~/.gdbinit # in alternativa, puoi aggiungere quella riga manualmente

Nota

gdb1

gdb2

gdb3

Base

Abbastanza facile da usare. Lo trasformerò in un pacchetto più avanti.

root@kitploit:~
from heapinspect.core import *
hi = HeapInspector(1234)       #pid qui
hs = HeapShower(hi)

print(hs.fastbins)
print(hs.smallbins)
print(hs.largebins)
print(hs.unsortedbins)
print(hs.tcache_chunks)

hs.relative = 1              #modalità relativa, vedi Esempio rapido
print(hs.fastbins)

sleep(10)
#ora supponiamo che lo stato dell'heap sia cambiato
hs.update()                  #usa questo per aggiornare

pp = PrettyPrinter(hi)
print(pp.all)                #pretty printer
pp.update()                  #usa questo per aggiornare

Test

Ci sono alcuni casi di test.

root@kitploit:~
heapinspect/tests/ $ python test.py  #questo eseguirà tutti i casi di test per verificare questo strumento.

......
......

test case unsortedbins64 at test/testcases/libc-2.27/64bit
pid:6704
=========================           fastbins           =========================
=========================         unsortedbins         =========================
chunk(0x7f9aae2e6720): prev_size=0x0      size=0xb1     fd=0x7f9aacdfbca0  bk=0x7f9aae2e6880
chunk(0x7f9aae2e6880): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6720  bk=0x7f9aacdfbca0
=========================          smallbins           =========================
=========================          largebins           =========================
=========================            tcache            =========================
tcache[9]:
chunk(0x7f9aae2e6670): prev_size=0x0      size=0xb1     fd=0x7f9aae2e65d0  bk=0x0
chunk(0x7f9aae2e65c0): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6520  bk=0x0
chunk(0x7f9aae2e6510): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6470  bk=0x0
chunk(0x7f9aae2e6460): prev_size=0x0      size=0xb1     fd=0x7f9aae2e63c0  bk=0x0
chunk(0x7f9aae2e63b0): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6310  bk=0x0
chunk(0x7f9aae2e6300): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6260  bk=0x0
chunk(0x7f9aae2e6250): prev_size=0x0      size=0xb1     fd=0x0             bk=0x0

Documentazione

Docstring dettagliate sono state scritte nel codice sorgente.

Ho creato una documentazione sphinx in docs. Basta aprire docs/build/html/index.html con il tuo browser.

Diario di sviluppo

2020/5/11 Versione 0.1.4

  • supporto python3

2018/12/10 Versione 0.1.3

  • aggiunto supporto per gdb

2018/11/6 versione 0.1.2

aggiornamento documentazione.

  • aggiornati i documenti sphinx
  • ristrutturata la struttura dei file

2018/11/5 versione 0.1.1

non un aggiornamento funzionale.

  • PEP8
  • docstring
  • aggiornamento delle prestazioni

2018/10/31 versione 0.1.0

prima release

  • migliori opzioni da riga di comando

2018/10/30 versione 0.0.8

la prossima versione sarà una release.

  • CRLF in LF
  • perfezionamento del codice
  • perfezionamento del readme
  • pretty printer

2018/10/29 versione 0.0.7

  • test automatico
  • perfezionamento del codice

2018/10/27 versione 0.0.6

questa non è una versione stabile. Sto cercando di risolvere bug dovuti a diverse versioni di glibc. Ho bisogno di aiuto per testarlo.

  • aggiunto supporto multi libc
  • aggiunto supporto x86

2018/10/26 versione 0.0.5

la prossima versione aggiungerà il supporto multi libc. Heapdiff e heap check saranno aggiunti in seguito.

  • HeapShower
  • visualizzazione offset relativi heap e libc
  • correzione bug del loop di ricerca
  • bins ora cerca da bk invece di fd, come fa glibc

2018/10/24 versione 0.0.4

  • HeapRecoder, farò un heapdiff
  • smallbins e largebins

2018/10/23 versione 0.0.3

  • prototipo fastbin
  • prototipo unsortedbin
  • prototipo bins
  • prototipo tcache

2018/10/22 versione 0.0.2

  • aggiunto C_Struct per gestire strutture C

2018/10/19 versione 0.0.1

  • aggiunta class HeapInspector
  • tentativo di analizzare più informazioni di arena

2018/10/18 versione 0.0.0

  • aggiunta class Proc in proc_util
  • test sperimentale in test.py
Scarica lo strumento