Banner Grabbing
Publicado por Perfil removido (última atualização em 09/10/2013)
[ Hits: 6.803 ]
Banner Grabbing é uma técnica de enumeração usada para recolher informações sobre os sistemas de computador em uma rede e os serviços que estão sendo executados, por exemplo, uma máquina é um servidor FTP, através dessa técnica podemos descobrir qual é a versão desse serviço FTP.
#!/usr/bin/env php
<?
// Coded by MMxM
error_reporting(0);
function help($name){
print "\n[*] IP-Range Banner grabber\n";
print "[+] Coded by MMxM\n";
print "[*] How to use:\n\n";
print "\t\$ $name <ip-start> <ip-end> <ports> <threads>\n\n";
print "[*] Example:\n\n";
print "\t\$ $name 127.0.0.1 127.0.0.254 21,22,25,80,3306 10\n\n";
exit(0);
}
function threads($argv){
$ip1 = ip2long($argv[1]);
$ip2 = ip2long($argv[2]);
while ($ip1 <= $ip2) {
$ips[] = long2ip($ip1);
$ip1++;
}
print "\n[*] ".count($ips)." IP's to get banner\n\n";
$out = 0;
$thr = $argv[4];
$ini = 0;
$fin = $thr - 1;
while(1){
$childs = array();
for ($count = $ini; $count <= $fin; $count++){
if(empty($ips[$count])){
$out = 1;
continue;
}
$pid = pcntl_fork();
if ( $pid == -1 ) {
echo "Fork error\n";
exit(1);
} else if ($pid) {
array_push($childs, $pid);
} else {
$n = $count+1;
banner($ips[$count],$argv[3]);
exit(0);
}
}
foreach($childs as $key => $pid){
pcntl_waitpid($pid, $status);
}
if($out == 1){
return;
}
$ini = $fin + 1;
$fin = $fin + $thr;
}
}
function banner($ip,$ports){
$list = explode(",",$ports);
foreach($list as $port){
$fp = fsockopen($ip, $port, $errno, $errstr, 2);
if (!$fp) {
print "\n[+] $ip : $port\n";
print "[*] Closed Port => $port\n\n";
} else {
$out = "";
$i = 1;
fwrite($fp, "HEAD / HTTP/1.0\r\n\r\n");
while (!feof($fp)){
$a = fgets($fp, 1024);
if(preg_match("/(^50)|(^$)/",$a)){
break;
}
if($port == 22){
$out = $a;
break;
}
$out .= $a;
}
if($out == ""){
print "\n[+] $ip : $port\n";
print "[-] Filtered port => $port\n\n";
}
else {
print "\n[+] $ip : $port\n";
print $out;
print "\n\n";
}
fclose($fp);
}
}
}
if(count($argv) != 5)
help($argv[0]);
else
threads($argv);
?>
Sistema competo para autenticação de usuarios.
Cadastro utilizando a classe PDO com o método prepare()
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
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
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Assisti Avatar 3: Fogo e Cinzas (4)
Conky, alerta de temperatura alta (11)









