1 FTS Scanner Malware Sex Abr 19, 2013 2:23 pm
Moedas : 201
Mensagens : 92
Humor : *-*
Reputação : 5
Mensagens : 92
Humor : *-*
Reputação : 5
hacker fts315
- Código:
#!/usr/bin/perl
#info
#####################################################################################
# autor: hacker fts315
# data: 31/07/2012
# linguagem: perl
# versao: 1.0
#####################################################################################
#comandos
#####################################################################################
# --malware_checksum "22a81ef5cc0bf6be006ef710eae92780"
# --malware_arquivo "c:\windows\fts.exe"
#
# -mc "22a81ef5cc0bf6be006ef710eae92780"
# -ma "c:\windows\fts.exe"
#####################################################################################
use LWP::UserAgent;
use Digest::file qw(digest_file_hex);
#variaveis e arrays
my @argumento;
#slogan
print "\n=============================================== \n";
print " FTS Scanner Malware\n";
print "=============================================== \n\n";
#armazenamento de argumentos
my $cont_argv = 0;
foreach(@ARGV)
{
$argumento[$cont_argv] = $ARGV[$cont_argv];
$cont_argv++;
}
if($argumento[$cont_argumento] eq "--malware_checksum" || $argumento[$cont_argumento] eq "-mc")
{
$cont_argumento++;
scanner_malware($argumento[$cont_argumento]);
}
#scanner de malware em um arquivo
elsif($argumento[$cont_argumento] eq "--malware_arquivo" || $argumento[$cont_argumento] eq "-ma")
{
$cont_argumento++;
$checksum = digest_file_hex($argumento[$cont_argumento],"SHA1");
scanner_malware($checksum);
}
else
{
print "exemplo de sintaxe: \n\n";
print " --malware_checksum \"22a81ef5cc0bf6be006ef710eae92780\"\n";
print " --malware_arquivo \"c:\\windows\\fts.exe\"";
print "\n\n";
print " -mc \"22a81ef5cc0bf6be006ef710eae92780\"\n";
print " -ma \"c:\\windows\\fts.exe\"\n";
}
#opcao
my $cont_argumento = 0;
#scanner de malware
sub scanner_malware
{
#virustotal
local $url = "https://www.virustotal.com/file/" . $_[0] . "/analysis/";
local $url2 = LWP::UserAgent->new->get($url);
print "-------------------------------------------------\n\n";
if($url2->content =~ /((.)\d \/ \d\d)/)
{
print "[+] virustotal: " . $1 . "\n";
}
else
{
print "[-] virustotal: hash nao encontrado \n";
}
#viruscan
local $tam = length($_[0]);
if($tam == 32)
{
$url = "http://md5.virscan.org/" . $_[0];
$url2 = LWP::UserAgent->new->get($url);
if($url2->content =~ /(.\d\/\d\d)\)/)
{
print "[+] viruscan: " . $1 . "\n";
}
else
{
print "[-] viruscan: hash nao encontrado \n";
}
}
elsif($tam == 40)
{
$url = "http://sha1.virscan.org/" . $_[0];
$url2 = LWP::UserAgent->new->get($url);
if($url2->content =~ /(.\d\/\d\d)\)/)
{
print "[+] viruscan: " . $1 . "\n";
}
else
{
print "[-] viruscan: hash nao encontrado \n";
}
}
else
{
print "[-] viruscan: hash nao encontrado \n";
}
print "\n-------------------------------------------------";
}
pequeno script q checa para ver se um determinado arquivo ta infectado no virutotal e viruscan, esse script faz a checagem de duas maneiras primeira se ja tiver o checksum em maos (hash md5, sha1 do arquivo) so usar a sintaxe --malware_checksum ou -mc logo em seguida a checksum, so lembrando q o script ta em perl entao precisa do interpretador active perl ou outro interpretador, depois salvar o script com extensao pl no meu caso salvei com nome fts_sm.pl, depois so abrir o prompt e digitar a sintaxe assim
fts_sm.pl --malware_checksum "22a81ef5cc0bf6be006ef710eae92780"
a outra maneira caso vc nao tenha a checksum fazer o script capturar a checksum do arquivo pra isso se usa a sintaxe --malware_arquivo + endereço do arquivo (ou -ma), no meu exemplo vou usar o cmd.exe q fica na pasta system32
fts_sm.pl --malware_arquivo "c:\windows\system32\cmd.exe"
caso vc estiver usando linux nao precisa do active basta usar a sintaxe perl antes do nome do arquivo, outra coisa esse script nao manda o arquivo para ser examinado apenas a checksum entao se nao tiver no bd do virustotal ele nao funciona e tambem tem um problema na visualizaçao do numero de checagem abaixo de 10 ele aparece ( do lado do numero '-'