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
beebug — Uno strumento per verificare la sfruttabilità | Kitploit
Strumenti/GitHubGitHub/invictus1306/beebug
Analisi delle VulnerabilitàExploitReverse EngineeringDebuggerAnalisi di Binari
GitHubinvictus1306/beebug

beebug

Uno strumento per verificare la sfruttabilità

Vedi Repository
211357 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

beebug - Uno strumento per verificare l'exploitability

Descrizione

beebug è uno strumento che può essere utilizzato per verificare se un crash di un programma potrebbe essere sfruttabile.

Questo strumento è stato presentato per la prima volta al r2con 2018 a Barcellona.

Alcune funzionalità implementate sono:

  • Stack overflow su libc
  • Crash sul Program Counter
  • Crash su branch
  • Crash su scrittura in memoria
  • Vulnerabilità heap
  • Violazione di accesso in lettura (alcuni casi sfruttabili)
  • Grafo basato su [functrace](https://github.com/invictus1306/functrace) (Dynamic Binary Instrumentation)

Possiamo usare beebug per:

  • Analisi dei crash (basata su r2pipe)
  • Generazione di grafi (basata su functrace)
  • Analisi dei crash + Generazione di grafi

Dipendenze

  • r2pipe
  • pydot
  • graphviz
  • pyqtgraph

Installazione

root@kitploit:~
$ wget https://github.com/radare/radare2/archive/3.5.0.tar.gz
$ tar xvzf 3.5.0.tar.gz
$ cd radare2-3.5.0/
$ ./configure --prefix=/usr
$ make -j8

$ sudo make install
$ sudo apt-get install graphviz

$ git clone https://github.com/invictus1306/beebug
$ cd beebug
$ sudo pip3 install -r requirements.txt

SEMPLICE DEMO

beebug

Utilizzo

aiuto

root@kitploit:~
$ python3 ./beebug.py -h
usage: beebug.py [-h] -t TARGET [-ta TARGETARGS] [-f FILE] [-g GRAPH] [-i]
                 [-a] [-r REPORT_FILE] [-v]

optional arguments:
  -h, --help            mostra questo messaggio di aiuto ed esce
  -t TARGET, --target TARGET
                        programma target da analizzare
  -ta TARGETARGS, --targetargs TARGETARGS
                        argomenti per il programma target
  -f FILE, --file FILE  file di input
  -g GRAPH, --graph GRAPH
                        nome del grafo di output
  -i, --instrumentation
                        opzione di strumentazione
  -a, --analyze         analizza il crash
  -r REPORT_FILE, --report_file REPORT_FILE
                        file di report DynamoRIO da analizzare
  -v, --version         mostra il numero di versione del programma ed esce

Analisi del crash con r2 (senza strumentazione)

root@kitploit:~
$ python3 beebug.py -t ./tests/simple_crash -a
Process with PID 5047 started...
File dbg:///home/invictus1306/Documents/warcon_demo/beebug/tests/simple_crash  reopened in read-write mode
= attach 5047 5047
ptrace (PT_ATTACH): Operation not permitted
child stopped with signal 11
[+] SIGNAL 11 errno=0 addr=0x00000000 code=1 ret=0
ptrace (PT_ATTACH): Operation not permitted
ptrace (PT_ATTACH): Operation not permitted
Invalid write crash - Generally it is exploitable, the write value/address could be tainted - Invalid write of size 2
backtrace
0  0x400552           sp: 0x0                 0    [sym.vuln]   
1  0x400574           sp: 0x7fff635890c8      24   [main]  main+25 
2  0x7f34d4372830     sp: 0x7fff635890e8      32   [??]  sym.libc_start_main+240 
3  0x7f34d472c7cb     sp: 0x7fff63589178      144  [??]  sym.dl_rtld_di_serinfo+29051 
4  0x400459           sp: 0x7fff635891a8      48   [??]  entry0+41 

registers
rax = 0x00000000
rbx = 0x00000000
rcx = 0x7f34d4716b20
rdx = 0x01d85010
r8 = 0x01d85000
r9 = 0x0000000d
r10 = 0x7f34d4716b78
r11 = 0x00000000
r12 = 0x00400430
r13 = 0x7fff635891c0
r14 = 0x00000000
r15 = 0x00000000
rsi = 0x01d85020
rdi = 0x7f34d4716b20
rsp = 0x7fff635890b0
rbp = 0x7fff635890c0
rip = 0x00400552
rflags = 0x00010202
orax = 0xffffffffffffffff

file di configurazione per la strumentazione

Necessario solo se si desidera utilizzare la strumentazione

file config

root@kitploit:~
[dynamorio]
drrun               = /your_path/DynamoRIO-Linux-7.0.0-RC1/bin64/drrun
client              = /your_path/functrace/build/libfunctrace.so
[instrumentation]
disassembly         = False
disas_func          = main
wrap_function       =
wrap_function_args  = 0
cbr                 = True
verbose             = False

Generazione del grafo (senza analisi del crash)

root@kitploit:~
$ python3 beebug.py -t ./tests/simple_crash -i -r report1 -g graph1 
$ xpdf grap1

simplecrash

Analisi del crash + Generazione del grafo

root@kitploit:~
python3 beebug.py -t ./tests/simple_crash -i -r report1 -g graph1 -a
Process with PID 5081 started...
File dbg:///home/invictus1306/Documents/warcon_demo/beebug/tests/simple_crash  reopened in read-write mode
= attach 5081 5081
ptrace (PT_ATTACH): Operation not permitted
child stopped with signal 11
[+] SIGNAL 11 errno=0 addr=0x00000000 code=1 ret=0
ptrace (PT_ATTACH): Operation not permitted
ptrace (PT_ATTACH): Operation not permitted
Invalid write crash - Generally it is exploitable, the write value/address could be tainted - Invalid write of size 4
backtrace
0  0x400552           sp: 0x0                 0    [sym.vuln]   
1  0x400574           sp: 0x7fff5ec31f88      24   [main]  main+25 
2  0x7fb834795830     sp: 0x7fff5ec31fa8      32   [??]  sym.libc_start_main+240 
3  0x7fb834b4f7cb     sp: 0x7fff5ec32038      144  [??]  sym.dl_rtld_di_serinfo+29051 
4  0x400459           sp: 0x7fff5ec32068      48   [??]  entry0+41 

registers
rax = 0x00000000
rbx = 0x00000000
rcx = 0x7fb834b39b20
rdx = 0x00d15010
r8 = 0x00d15000
r9 = 0x0000000d
r10 = 0x7fb834b39b78
r11 = 0x00000000
r12 = 0x00400430
r13 = 0x7fff5ec32080
r14 = 0x00000000
r15 = 0x00000000
rsi = 0x00d15020
rdi = 0x7fb834b39b20
rsp = 0x7fff5ec31f70
rbp = 0x7fff5ec31f80
rip = 0x00400552
rflags = 0x00010202
orax = 0xffffffffffffffff

Limitazione

  • Se il programma richiede input utente in fase di esecuzione, non è possibile aggiungerlo (basato su r2pipe)
  • La vista del grafo (basata su pydot/graphviz) è limitata a programmi target di piccole dimensioni

Direzioni future

  • Supporto per diverse architetture
  • Miglioramento del grafo (basato su graphviz)
  • Analisi dei core dump (basato su radare2)

Sviluppatore principale

  • Andrea Sindoni - Twitter
Scarica lo strumento