Post

Virus Total Python Checker

Requisitos

  • Python 3
  • Módulo requests de Python
1
import requests

Esta línea de código importa la biblioteca “requests”. Esta biblioteca se utiliza para hacer solicitudes HTTP a servidores web. En este programa, se utilizará para enviar solicitudes a la API de VirusTotal y recibir respuestas.


Explicación del código

1
2
# Solicitar al usuario ingresar la clave de API de VirusTotal
api_key = input("Por favor, ingresa tu clave de API de VirusTotal: ")

Aquí se solicita al usuario que ingrese su clave de API de VirusTotal utilizando la función input(). La clave de API es necesaria para autenticarse en la API de VirusTotal y realizar consultas.


1
2
# URL base de la API de VirusTotal
base_url = 'https://www.virustotal.com/vtapi/v2/'

Esta línea define la URL base de la API de VirusTotal. Todas las solicitudes a la API se construirán a partir de esta URL base.


1
2
3
4
5
6
7
8
9
# Función para consultar un hash en VirusTotal
def check_hash(hash_to_check):
    params = {'apikey': api_key, 'resource': hash_to_check}
    url = base_url + 'file/report'
    
    response = requests.get(url, params=params)
    result = response.json()
    
    return result

Esta sección del código define una función llamada check_hash. Esta función se utiliza para consultar un hash en VirusTotal. Aquí está cómo funciona:

  • Se le pasa un argumento llamado hash_to_check, que es el hash que deseas consultar.
  • Se crea un diccionario llamado params que contiene dos claves: ‘apikey’ (con el valor de la clave de API que ingresó el usuario) y ‘resource’ (con el valor de hash_to_check).
  • Se construye la URL completa de la solicitud combinando la base_url y ‘file/report’.
  • Se utiliza la función requests.get() para enviar una solicitud GET a la URL especificada con los parámetros proporcionados en params.
  • La respuesta se almacena en la variable response, y luego se extrae el contenido JSON de la respuesta usando response.json(), que se almacena en la variable result.
  • Finalmente, la función devuelve el resultado de la consulta.


1
2
3
4
5
6
7
8
9
# Función para imprimir el resultado de la consulta
def print_result(result):
    if result['response_code'] == 0:
        print("Hash no encontrado en VirusTotal")
    else:
        print("Resultados para el hash:", result['resource'])
        print("Detalles:")
        for scanner, data in result['scans'].items():
            print(f"{scanner}: {data['result']}")

Esta sección del código define otra función llamada print_result, que se utiliza para imprimir el resultado de la consulta a VirusTotal. Aquí está cómo funciona:

  • La función toma un argumento llamado result, que es el resultado de la consulta a VirusTotal.
  • Comprueba si la clave ‘response_code’ en result es igual a 0. Si es 0, significa que no se encontró el hash en VirusTotal y muestra un mensaje correspondiente. Si no es 0, significa que se encontraron resultados y muestra los detalles.
  • Muestra el hash consultado, y luego recorre los resultados de los escáneres e imprime el nombre del escáner y el resultado del análisis.


1
2
3
4
5
# Main
if __name__ == "__main__":
    hash_to_check = input("Introduce el hash que deseas consultar en VirusTotal: ")
    result = check_hash(hash_to_check)
    print_result(result)

En la sección Main, el programa comprueba si se está ejecutando como el programa principal. Si es así, realiza lo siguiente:

  • Solicita al usuario que ingrese el hash que desea consultar en VirusTotal utilizando la función input(). El hash se almacena en la variable hash_to_check.
  • Luego, llama a la función check_hash(hash_to_check) para consultar el hash en VirusTotal y almacena el resultado en la variable result.
  • Finalmente, llama a la función print_result(result) para imprimir el resultado de la consulta.

Uso

  1. Clona este repositorio a tu máquina local.
    1
    
    git clone https://github.com/Hackpysec/Python-Checker-.git
    
  2. Instala el módulo requests de Python si aún no lo has hecho. Puedes hacerlo con el siguiente comando:
    1
    
    pip install requests
    
  3. Ejecuta el script con el comando:
    1
    
    python check_hash.py
    
  4. Cuando se te solicite, ingresa tu clave de API de VirusTotal.
  5. Ingresa el hash que deseas verificar.

El script consultará el hash en VirusTotal y mostrará los resultados.

Demo

Python Checker GIF

El token de Virustotal se obtiene al registrarnos en su sitio web y se puede accceder al script desde Github

This post is licensed under CC BY 4.0 by the author.