Banner Grabbing
Publicado por Perfil removido (última atualização em 09/10/2013)
[ Hits: 6.277 ]
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); ?>
Cadastro utilizando a classe PDO com o método prepare()
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Agora temos uma assistente virtual no fórum!!! (247)
iso de sistema 32 bit em atividade (12)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)