
Scanner web che rileva versioni CMS, plugin, librerie JavaScript vulnerabili, indirizzi email e numeri di telefono sui siti web target, valutando il rischio di fuga di informazioni.
Prima esegui docker run --rm -p 8000:80 siwecos/infoleak-scanner.
Apri il tuo browser e usa lo scanner: http://localhost/?url=<URL>
Ottieni php5, curl e un webserver:
sudo apt-get install apache2 php5 php5-curl
Copia l'applicazione nel webserver:
cp -R . /var/www/html/
Cerca plugin per il CMS rilevato. La lista più grande (WordPress) contiene 980 plugin diversi.
Cerca librerie JavaScript vulnerabili e più utilizzate.
Cerca indirizzi email. Interessante per attacchi di spam e/o ingegneria sociale.
Cerca numeri di telefono. Interessante per attacchi di ingegneria sociale e/o truffe.
| Finding | Score (0-100) |
|---------------------+---------------|
| CMS_ONLY | 100 |
| CMS_VERSION | 96 |
| CMS_VERSION_VULN | see below |
| PLUGIN_ONLY | 99 |
| PLUGIN_VERSION | 96 |
| PLUGIN_VERSION_VULN | see below |
| JS_LIB_ONLY | 99 |
| JS_LIB_VERSION | 96 |
| JS_LIB_VULN_VERSION | see below |
| EMAIL_FOUND | 96 |
| NUMBER_FOUND | 98 |
If there was a finding like:
CMS_VERSION_VULN
PLUGIN_VERSION_VULN
JS_LIB_VULN_VERSION
then the overall score will capped to 20 and every additional vulnerability
will decrease the overall score by 10. Which means, that if
CMS_VERSION_VULN and PLUGIN_VERSION_VULN and JS_LIB_VULN_VERSION is returned, the
overall score will be 0.
Also a finding of jQuery v1.12.4 on a Wordpress website won't be rated like a usual vulnerable library.
This finding will result in a score of 90, but the placeholder will still be JS_LIB_VULN_VERSION as it is a vulnerable library.
Se è stato trovato un risultato come:
CMS_VERSION_VULN
PLUGIN_VERSION_VULN
JS_LIB_VULN_VERSION
allora il punteggio complessivo sarà limitato a 20 e ogni vulnerabilità aggiuntiva diminuirà il punteggio complessivo di 10. Il che significa che se vengono restituiti CMS_VERSION_VULN, PLUGIN_VERSION_VULN e JS_LIB_VULN_VERSION, il punteggio complessivo sarà 0.
Inoltre, un ritrovamento di jQuery v1.12.4 su un sito WordPress non verrà valutato come una libreria vulnerabile usuale. Questo risultato avrà un punteggio di 90, ma il placeholder sarà comunque JS_LIB_VULN_VERSION in quanto è una libreria vulnerabile.
Puoi eseguire lo scanner tramite richieste POST e GET.
Se vuoi eseguire lo scanner con una richiesta POST devi inviare i parametri in un formato codificato JSON:
{
"url": "string",
"dangerLevel": 0,
"callbackurls": [
"string"
],
"userAgent": "string"
}
url definisce l'URL da scansionare.
dangerLevel non è rilevante, impostalo semplicemente a 0.
callbackurls è un array di URL. Questi URL riceveranno il risultato dello scanner (inviato tramite POST).
userAgent definisce il tuo user agent individuale che vuoi venga inviato durante la scansione.
Eseguire lo scanner con una richiesta GET è molto più semplice. Tutto quello che devi fare è eseguire l'applicazione con un dato URL:
http://localhost/?url=<URL>
Nessun risultato in nessuna scansione:
{
"name": "InfoLeak-Scanner",
"version": "1.0.0",
"hasError": false,
"errorMessage": null,
"score": 100,
"tests": [
{
"name": "CMS",
"hasError": false,
"errorMessage": null,
"score": 100,
"scoreType": "info",
"testDetails": null
},
{
"name": "CMS_PLUGINS",
"hasError": false,
"errorMessage": null,
"score": 100,
"scoreType": "warning",
"testDetails": null
},
{
"name": "JS_LIB",
"hasError": false,
"errorMessage": null,
"score": 100,
"scoreType": "warning",
"testDetails": null
},
{
"name": "EMAIL_ADDRESS",
"hasError": false,
"errorMessage": null,
"score": 100,
"scoreType": "info",
"testDetails": null
},
{
"name": "PHONE_NUMBER",
"hasError": false,
"errorMessage": null,
"score": 100,
"scoreType": "info",
"testDetails": null
}
]
}
Almeno un risultato in ogni scansione:
{
"name": "InfoLeak-Scanner",
"version": "1.0.0",
"hasError": false,
"errorMessage": null,
"score": 20,
"tests": [
{
"name": "CMS",
"hasError": false,
"errorMessage": null,
"score": 96,
"scoreType": "info",
"testDetails": [
{
"placeholder": "CMS_VERSION",
"values": {
"cms": "wordpress",
"version": "4.9.6",
"node": "meta",
"node_content": "WordPress 4.9.6"
}
}
]
},
{
"name": "CMS_PLUGINS",
"hasError": false,
"errorMessage": null,
"score": 99,
"scoreType": "warning",
"testDetails": [
{
"placeholder": "PLUGIN_ONLY",
"values": {
"plugin": "contact-form-7",
"node": "href",
"node_content": "https://[...]/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.0.2"
}
}
]
},
{
"name": "JS_LIB",
"hasError": false,
"errorMessage": null,
"score": 0,
"scoreType": "warning",
"testDetails": [
{
"placeholder": "JS_LIB_VULN_VERSION",
"values": {
"js_lib_name": "jquery",
"js_lib_version": "1.12.4",
"node": "src",
"node_content": "https://[...]/wp-includes/js/jquery/jquery.js?ver=1.12.4"
}
}
]
},
{
"name": "EMAIL_ADDRESS",
"hasError": false,
"errorMessage": null,
"score": 96,
"scoreType": "info",
"testDetails": [
{
"placeholder": "EMAIL_FOUND",
"values": {
"email_adress": [
[
"[email protected]"
]
]
}
}
]
},
{
"name": "PHONE_NUMBER",
"hasError": false,
"errorMessage": null,
"score": 98,
"scoreType": "info",
"testDetails": [
{
"placeholder": "NUMBER_FOUND",
"values": {
"number": [
"1234-12 11 22-3",
"123-11 22 333-4"
]
}
}
]
}
]
}