[Perl] VirusTotal Scanner 0.1

  • 2 Respuestas
  • 2656 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Perl] VirusTotal Scanner 0.1

  • en: Mayo 16, 2013, 02:21:35 pm
Un simple script para scannear un archivo mediante el API de virustotal , la idea se me ocurrio cuando vi este script en python hecho por Sanko del foro Underc0de.

Una imagen :



Código: Perl
  1. #!usr/bin/perl
  2. #VirusTotal Scanner 0.1
  3. #Coded By Doddy H
  4. #ppm install http://www.bribes.org/perl/ppm/JSON.ppd
  5. #ppm install http://trouchelle.com/ppm/Digest-MD5-File.ppd
  6. #ppm install http://www.bribes.org/perl/ppm/Crypt-SSLeay.ppd
  7. #ppm install http://trouchelle.com/ppm/Color-Output.ppd
  8.  
  9. use JSON;
  10. use Digest::MD5::File qw(file_md5_hex);
  11. use LWP::UserAgent;
  12. use Color::Output;
  13. Color::Output::Init;
  14.  
  15. my $nave = LWP::UserAgent->new;
  16. $nave->agent(
  17. "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
  18. );
  19. $nave->timeout(5);
  20.  
  21. my $api_key = "yourapi"
  22.   ;    #Your API Key
  23.  
  24. head();
  25.  
  26. unless ( $ARGV[0] ) {
  27.     printear( "<ul class="bbc_list"><li type="square"> Sintax : $0 <file to scan>", "text", "11", "5" );[/li][/list]
  28.  
  29.     copyright();
  30.     exit(1);
  31. }
  32. else {
  33.  
  34.     unless ( -f $ARGV[0] ) {
  35.         printear( "\n[-] File Not Found\n", "text", "5", "5" );
  36.         copyright();
  37.     }
  38.  
  39.     my $md5 = file_md5_hex( $ARGV[0] );
  40.  
  41.     printear( "\n</li><li type="square"> Checking ...\n", "text", "7", "5" );[/li][/list]
  42.  
  43.     my $code = tomar(
  44.         "https://www.virustotal.com/vtapi/v2/file/report",
  45.         { "resource" => $md5, "apikey" => $api_key }
  46.     );
  47.  
  48.     if ( $code =~ /"response_code": 0/ ) {
  49.         printear( "\n</li><li type="square"> Not Found\n", "text", "7", "5" );[/li][/list]
  50.         exit(1);
  51.     }
  52.  
  53.     my $dividir = decode_json $code;
  54.  
  55.     printear( "</li><li type="square"> Getting data ...\n", "text", "7", "5" );[/li][/list]
  56.  
  57.     printear( "</li><li type="square"> Scan ID : " . $dividir->{scan_id},     "text", "13", "5" );[/li][/list]
  58.     printear( "</li><li type="square"> Scan Date : " . $dividir->{scan_date}, "text", "13", "5" );[/li][/list]
  59.     printear( "</li><li type="square"> Permalink : " . $dividir->{permalink}, "text", "13", "5" );[/li][/list]
  60.     printear(
  61.         "</li><li type="square"> Virus Founds : " . $dividir->{positives} . "/" . $dividir->{total},[/li][/list]
  62.         "text", "13", "5"
  63.     );
  64.  
  65.     printear( "\n</li><li type="square"> Getting list ...\n", "text", "7", "5" );[/li][/list]
  66.  
  67.     my %abrir = %{ $dividir->{scans} };
  68.  
  69.     for my $antivirus ( keys %abrir ) {
  70.  
  71.         if ( $abrir{$antivirus}{"result"} eq "" ) {
  72.             printear( "</li><li type="square"> " . $antivirus . " : Clean", "text", "11", "5" );[/li][/list]
  73.         }
  74.         else {
  75.             printear(
  76.                 "</li><li type="square"> " . $antivirus . " : " . $abrir{$antivirus}{"result"},[/li][/list]
  77.                 "text", "5", "5" );
  78.         }
  79.     }
  80.  
  81.     printear( "\n</li><li type="square"> Finished\n", "text", "7", "5" );[/li][/list]
  82.     copyright();
  83.  
  84. }
  85.  
  86. sub head {
  87.     printear( "\n-- == VirusTotal Scanner 0.1 == --\n", "text", "13", "5" );
  88. }
  89.  
  90. sub copyright {
  91.     printear( "\n</li><li type="square"> Written By Doddy H", "text", "13", "5" );[/li][/list]
  92.     exit(1);
  93. }
  94.  
  95. sub printear {
  96.     if ( $_[1] eq "text" ) {
  97.         cprint( "\x03" . $_[2] . $_[0] . "\x030\n" );
  98.     }
  99.     elsif ( $_[1] eq "stdin" ) {
  100.         if ( $_[3] ne "" ) {
  101.             cprint( "\x03" . $_[2] . $_[0] . "\x030" . "\x03" . $_[3] );
  102.             my $op = <stdin>;
  103.             chomp $op;
  104.             cprint("\x030");
  105.             return $op;
  106.         }
  107.     }
  108.     else {
  109.         print "error\n";
  110.     }
  111. }
  112.  
  113. sub tomar {
  114.     my ( $web, $var ) = @_;
  115.     return $nave->post( $web, [ %{$var} ] )->content;
  116. }
  117.  
  118. #The End ?
  119.  
« Última modificación: Mayo 17, 2013, 09:18:47 pm por Doddy »

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Country: 00
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de

Re:[Perl] VirusTotal Scanner 0.1

  • en: Mayo 16, 2013, 02:28:52 pm
Buena bro
Pd: no escanea el archivo, comprueba si el hash se encuentra en la bd y si se encuentra te muestra su ultimo escaneo.
Creeme es mejor asi :P
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

Re:[Perl] VirusTotal Scanner 0.1

  • en: Mayo 16, 2013, 02:31:49 pm
ya sabia que primero detecta el hash md5 para despues buscarlo , pero me exprese mal por escribir rapido ,cualquier otra idea con otro API decimelo asi intento hacer otro script en perl.

 

Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 5331
Último mensaje Septiembre 02, 2011, 09:43:36 pm
por blozzter
[Perl] Verificando si es root para correr un script

Iniciado por c1st

Respuestas: 1
Vistas: 3474
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
Funciones más utilizadas en la programación de un perl script

Iniciado por Dragora

Respuestas: 0
Vistas: 4374
Último mensaje Enero 06, 2019, 01:01:06 am
por Dragora
DoSing IP 1.0 - [Creado por SkillmaX] + Source [PERL]

Iniciado por SkillmaX

Respuestas: 0
Vistas: 2598
Último mensaje Julio 04, 2010, 10:14:31 am
por SkillmaX
[Perl] Search in google for scan SQLI

Iniciado por BigBear

Respuestas: 0
Vistas: 2599
Último mensaje Julio 03, 2011, 09:49:49 pm
por BigBear