Aprende a escanear un sitio web (una URL determinada) en busca de virus con Automater.

Mucha gente se pregunta, ¿hay alguna forma segura de comprobar una URL sospechosa? La respuesta es bastante simple, sí se puede. Hay muchas herramientas que puedes utilizar en Internet para comprobar si una URL es segura para el explorador o no. Como desarrollador (o analista de intrusiones), no necesitas perder el tiempo proporcionando la URL que desea escanear en cada herramienta web disponible para escanear, en su lugar, puedes utilizar la herramienta Automater. Automater está disponible desde la línea de comandos en Kali Linux.

¿Qué es Automater?

Automater es una herramienta OSINT de URL / dominio, dirección IP y Md5 Hash destinada a facilitar el proceso de análisis para los analistas de intrusiones. Dado un objetivo (URL, IP o HASH) o un archivo lleno de objetivos, Automater devolverá resultados relevantes de fuentes como las siguientes: IPvoid.com, Robtex.com, Fortiguard.com, unshorten.me, Urlvoid.com, Labs. alienvault.com, ThreatExpert, VxVault y VirusTotal. Con esta herramienta puedes verificar si un dominio está marcado como malicioso y si los archivos están marcados como malware.

Visita el repositorio oficial de Github del proyecto aquí para obtener más información.

Ejemplos de prueba

El uso de automater es muy simple y directo, por lo que puedes comprender cómo funciona a través de ejemplos:

Escanear sitio web

La estructura de la herramienta de línea de comandos de automater es muy simple:

automater [-h] [-o OUTPUT] [-w WEB] [-c CSV] [-d DELAY] [-s SOURCE][--p] target
  • -h o --help: mostrar el mensaje de ayuda y salir.
  • -o  --output: envía los resultados a un archivo.
  • -w o --web: envíe los resultados a un archivo html.
  • -c o --csv: envíe los resultados a un archivo CSV.
  • -d o --delay: Esto cambiará la demora a los segundos ingresados.
  • -s o --source: esta opción solo ejecutará el destino contra un motor de origen específico para extraer dominios asociados. Las opciones se definen en el atributo de nombre del elemento del sitio en el archivo de configuración XML.

Para iniciar el escaneo en una URL (en este caso diablo3keygen.net), simplemente puedes ejecutar:

automater diablo3keygen.net

Escanear varios sitios web

Para escanear varios sitios web simultáneamente con automater, puedes guardar todas las direcciones que deseas escanear en un nuevo archivo de texto ( .txt). Cada línea del archivo representa una dirección para escanear ( list.txt):

facebook.com
ourcodeworld.com
diablo3keygen.net

Y luego inicie el escaneo con:

automater list.txt

A través de un hash

Vamos a utilizar el identificador hash de un virus para probar Automater. El archivo es un malware conocido como "CRDF.Trojan.Virus.Win32.Zbot3182957456", la prueba se puede ejecutar con los siguientes comandos:

# Con su hash MD5
automater 44A6A7D4A039F7CC2DB6E85601F6D8C1

# O con el hash sha256
automater 9b8cdbd216044d13413efee6c20c5da080da30a9aacabeeeb5cea66e96104645

La ejecución de cualquiera de los comandos anteriores en la terminal debería generar la siguiente salida:

Results found for: 44A6A7D4A039F7CC2DB6E85601F6D8C1     ____________________
[+] MD5 found on VT: 1
[+] Scan date submitted: 2016-03-01 07:38:00
[+] Detected Engines: 42
[+] Total Engines: 56
[+] Vendor | Classification: ('MicroWorld-eScan', 'Trojan.Downloader.JQGE')
[+] Vendor | Classification: ('nProtect', 'Trojan/W32.Blocker.1429504')
[+] Vendor | Classification: ('CAT-QuickHeal', 'TrojanPWS.Zbot.Gen')
[+] Vendor | Classification: ('McAfee', 'PWSZbot-FKQ!44A6A7D4A039')
[+] Vendor | Classification: ('Malwarebytes', 'Trojan.Dropper.UPT')
[+] Vendor | Classification: ('Zillya', 'Trojan.Zbot.Win32.145968')
[+] Vendor | Classification: ('AegisLab', 'Troj.W32.Generic!c')
[+] Vendor | Classification: ('BitDefender', 'Trojan.Downloader.JQGE')
[+] Vendor | Classification: ('K7GW', 'Trojan ( 004904bd1 )')
[+] Vendor | Classification: ('K7AntiVirus', 'Trojan ( 004904bd1 )')
[+] Vendor | Classification: ('Agnitum', 'Trojan.Blocker!tq8JK8ba1bk')
[+] Vendor | Classification: ('Symantec', 'Trojan.Gen.2')
[+] Vendor | Classification: ('Avast', 'Win32:CeeInject-Y [Trj]')
[+] Vendor | Classification: ('Kaspersky', 'HEUR:Trojan.Win32.Generic')
[+] Vendor | Classification: ('NANO-Antivirus', 'Trojan.Win32.Zbot.cqnsrz')
[+] Vendor | Classification: ('Ad-Aware', 'Trojan.Downloader.JQGE')
[+] Vendor | Classification: ('Sophos', 'Troj/HkMain-DF')
[+] Vendor | Classification: ('Comodo', 'TrojWare.Win32.UMal.~A')
[+] Vendor | Classification: ('F-Secure', 'Trojan.Downloader.JQGE')
[+] Vendor | Classification: ('DrWeb', 'Trojan.DownLoader9.22851')
[+] Vendor | Classification: ('VIPRE', 'Trojan.Win32.Fareit.if (v)')
[+] Vendor | Classification: ('TrendMicro', 'TROJ_GEN.R047C0CBT16')
[+] Vendor | Classification: ('Emsisoft', 'Trojan.Downloader.JQGE (B)')
[+] Vendor | Classification: ('Jiangmin', 'Backdoor/Pushdo.ady')
[+] Vendor | Classification: ('Avira', 'TR/Rogue.1428744')
[+] Vendor | Classification: ('Microsoft', 'VirTool:Win32/CeeInject.gen!KK')
[+] Vendor | Classification: ('Arcabit', 'Trojan.Downloader.JQGE')
[+] Vendor | Classification: ('AhnLab-V3', 'Spyware/Win32.Zbot')
[+] Vendor | Classification: ('GData', 'Trojan.Downloader.JQGE')
[+] Vendor | Classification: ('ALYac', 'Trojan.Downloader.JQGE')
[+] Vendor | Classification: ('AVware', 'Trojan.Win32.Fareit.if (v)')
[+] Vendor | Classification: ('VBA32', 'Trojan.Zbot.2813')
[+] Vendor | Classification: ('Tencent', 'Win32.Trojan.Generic.Pdco')
[+] Vendor | Classification: ('Ikarus', 'Virus.Win32.CeeInject')
[+] Vendor | Classification: ('Fortinet', 'W32/Generic.AC.2250672')
[+] Vendor | Classification: ('Baidu-International', 'Trojan.Win32.Injector.ASFC')
[+] Vendor | Classification: ('Qihoo-360', 'Win32/Trojan.886')
[+] Hash found at ThreatExpert: No results found
[+] Malicious Indicators from ThreatExpert: No results found
[+] Date found at VXVault: No results found
[+] URL found at VXVault: No results found
[+] Malc0de Date: No results found
[+] Malc0de IP: No results found
[+] Malc0de Country: No results found
[+] Malc0de ASN: No results found
[+] Malc0de ASN Name: No results found
[+] Malc0de MD5: No results found
No results found in the THMD5

Escaneo con herramienta específica

En lugar de ejecutar un análisis con todas las herramientas en línea, puede ejecutar solo las herramientas que desee. Por ejemplo, para ejecutar el análisis en el hash solo en Virus Total o Threat Expert, puede especificarlo con el argumenti -s:

# Ejecutar con Virus Total
automater -s virustotal [URL to scan]

# Ejecutar con Threat Expert
automater -s threatexpert [URL to scan]

Creando tu propio script de análisis

Puedes automatizar este proceso y utilizarlo en tus propias herramientas. Hemos escrito un script que se puede ejecutar con Node.js, solo necesitas reemplazar la variable urlOrHashToScan y ejecutarla:

var exec = require('child_process').exec;
var fs = require('fs');

var outputFile = "/root/hacking/report.csv";
var urlOrHashToScan = "44A6A7D4A039F7CC2DB6E85601F6D8C1";

exec(`automater ${urlOrHashToScan} --csv ${outputFile}`, (error, stdout, stderr) => {
    if (error) {
        console.error(`exec error: ${error}`);
        return;
    }

    if (fs.existsSync(outputFile)) {
        var CSV_DATA = fs.readFileSync(outputFile, "utf8");
        var ParsedCSV = parseCSV(CSV_DATA);

        //Imprime todos los elementos de la matriz
        ParsedCSV.forEach((item) => {
            console.log(item.join(" | "));
        });

    }else{
        console.log(`stderr: ${stderr}`);
    }
});

/**
 * Analizador de CSS
 * @param s cadena csv delimitada por cadenas
 * @param sep separator override
 * @attribution : http://www.greywyvern.com/?post=258 (comments closed on blog :( )
 */
function parseCSV(s, sep) {
    // http://stackoverflow.com/questions/1155678/javascript-string-newline-character
    var universalNewline = /\r\n|\r|\n/g;
    var a = s.split(universalNewline);
    for (var i in a) {
        for (var f = a[i].split(sep = sep || ","), x = f.length - 1, tl; x >= 0; x--) {
            if (f[x].replace(/"\s+$/, '"').charAt(f[x].length - 1) == '"') {
                if ((tl = f[x].replace(/^\s+"/, '"')).length > 1 && tl.charAt(0) == '"') {
                    f[x] = f[x].replace(/^\s*"|"\s*$/g, '').replace(/""/g, '"');
                } else if (x) {
                    f.splice(x - 1, 2, [f[x - 1], f[x]].join(sep));
                } else f = f.shift().split(sep).concat(f);
            } else f[x].replace(/""/g, '"');
        } a[i] = f;
    }
    return a;
}

La salida del script con el hash dado se verá así:

Target | Type | Source | Result
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Found | 1
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Date | 2016-03-01 07:38:00
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Detected | 42
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Engines | 56
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('MicroWorld-eScan', 'Trojan.Downloader.JQGE')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('nProtect', 'Trojan/W32.Blocker.1429504')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('CAT-QuickHeal', 'TrojanPWS.Zbot.Gen')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('McAfee', 'PWSZbot-FKQ!44A6A7D4A039')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Malwarebytes', 'Trojan.Dropper.UPT')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Zillya', 'Trojan.Zbot.Win32.145968')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('AegisLab', 'Troj.W32.Generic!c')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('BitDefender', 'Trojan.Downloader.JQGE')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('K7GW', 'Trojan ( 004904bd1 )')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('K7AntiVirus', 'Trojan ( 004904bd1 )')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Agnitum', 'Trojan.Blocker!tq8JK8ba1bk')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Symantec', 'Trojan.Gen.2')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Avast', 'Win32:CeeInject-Y [Trj]')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Kaspersky', 'HEUR:Trojan.Win32.Generic')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('NANO-Antivirus', 'Trojan.Win32.Zbot.cqnsrz')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Ad-Aware', 'Trojan.Downloader.JQGE')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Sophos', 'Troj/HkMain-DF')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Comodo', 'TrojWare.Win32.UMal.~A')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('F-Secure', 'Trojan.Downloader.JQGE')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('DrWeb', 'Trojan.DownLoader9.22851')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('VIPRE', 'Trojan.Win32.Fareit.if (v)')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('TrendMicro', 'TROJ_GEN.R047C0CBT16')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Emsisoft', 'Trojan.Downloader.JQGE (B)')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Jiangmin', 'Backdoor/Pushdo.ady')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Avira', 'TR/Rogue.1428744')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Microsoft', 'VirTool:Win32/CeeInject.gen!KK')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Arcabit', 'Trojan.Downloader.JQGE')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('AhnLab-V3', 'Spyware/Win32.Zbot')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('GData', 'Trojan.Downloader.JQGE')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('ALYac', 'Trojan.Downloader.JQGE')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('AVware', 'Trojan.Win32.Fareit.if (v)')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('VBA32', 'Trojan.Zbot.2813')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Tencent', 'Win32.Trojan.Generic.Pdco')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Ikarus', 'Virus.Win32.CeeInject')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Fortinet', 'W32/Generic.AC.2250672')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Baidu-International', 'Trojan.Win32.Injector.ASFC')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | VT Vendor_Class | ('Qihoo-360', 'Win32/Trojan.886')
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | TE Date | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | TE Indicators | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | Vx Date | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | Vx URL | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | MC Date | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | MC IP | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | MC Country | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | MC ASN | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | MC ASN Name | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | MC MD5 | No results found
44A6A7D4A039F7CC2DB6E85601F6D8C1 | md5 | THMD5 | No results found

Puede ver que automater es una herramienta muy útil que puede usar para investigar URL sospechosas que cree que podrían ser malware. Le ahorrará mucho tiempo en la investigación, ya que no necesitará visitar todos estos sitios web para escanear la URL manualmente.

Que te diviertas ❤️!


Ingeniero de Software Senior en EPAM Anywhere. Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores