
Web scanner que detecta versões de CMS, plugins, bibliotecas JavaScript vulneráveis, endereços de e-mail e números de telefone em sites alvo, classificando o risco de vazamento de informações.
Primeiro execute docker run --rm -p 8000:80 siwecos/infoleak-scanner.
Abra seu navegador e use o scanner: http://localhost/?url=<URL>
Obtenha php5, curl e um servidor web:
sudo apt-get install apache2 php5 php5-curl
Copie a aplicação para o servidor web:
cp -R . /var/www/html/
Pesquisa plugins para o CMS detectado. A maior lista (wordpress) contém 980 plugins diferentes.
Pesquisa por bibliotecas JavaScript vulneráveis e mais utilizadas.
Pesquisa por endereços de e-mail. Interessante para ataques de spam e/ou engenharia social.
Pesquisa por números de telefone. Interessante para ataques de engenharia social e/ou golpes.
| Descoberta | Pontuação (0-100) |
|---------------------+---------------|
| CMS_ONLY | 100 |
| CMS_VERSION | 96 |
| CMS_VERSION_VULN | veja abaixo |
| PLUGIN_ONLY | 99 |
| PLUGIN_VERSION | 96 |
| PLUGIN_VERSION_VULN | veja abaixo |
| JS_LIB_ONLY | 99 |
| JS_LIB_VERSION | 96 |
| JS_LIB_VULN_VERSION | veja abaixo |
| EMAIL_FOUND | 96 |
| NUMBER_FOUND | 98 |
Se houve uma descoberta como:
CMS_VERSION_VULN
PLUGIN_VERSION_VULN
JS_LIB_VULN_VERSION
então a pontuação geral será limitada a 20 e cada vulnerabilidade adicional
diminuirá a pontuação geral em 10. Ou seja, se
CMS_VERSION_VULN e PLUGIN_VERSION_VULN e JS_LIB_VULN_VERSION forem retornados, a
pontuação geral será 0.
Além disso, uma descoberta do jQuery v1.12.4 em um site Wordpress não será classificada como uma biblioteca vulnerável comum.
Essa descoberta resultará em uma pontuação de 90, mas o placeholder ainda será JS_LIB_VULN_VERSION, pois é uma biblioteca vulnerável.
Você pode executar o scanner por meio de requisições POST e GET.
Se você quiser executar o scanner com uma requisição POST, deve enviar os parâmetros no formato JSON codificado:
{
"url": "string",
"dangerLevel": 0,
"callbackurls": [
"string"
],
"userAgent": "string"
}
url define a URL que deve ser escaneada.
dangerLevel não é relevante, basta defini-la como 0.
callbackurls é um array de URLs. Essas URLs receberão o resultado do
scanner (enviado via POST).
userAgent define seu user agent individual que você deseja que seja enviado ao escanear.
Executar o scanner com uma requisição GET é muito mais simples. Tudo o que você precisa fazer é executar a aplicação com uma URL fornecida:
http://localhost/?url=<URL>
Nenhuma descoberta em nenhuma varredura:
{
"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
}
]
}
Pelo menos uma descoberta em cada varredura:
{
"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"
]
}
}
]
}
]
}