Banner Grabbing
Publicado por Perfil removido (última atualização em 09/10/2013)
[ Hits: 6.466 ]
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.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Quero saber sobre os melhores aplicativos de office para usar em 2024 ... (4)
Problemas com o PulseAudio no lubuntu (8)
Som e sistema de janelas não obedecem (1)
Toda vez que tento atualizar o clamav me deparo com erros ao atualizar... (1)