DIA#18-Ethical Hacking Tools (Metasploit- Recolha de Informação part1)
Hoje continuo com o tutorial da Offensive Security, sendo que desta vez me vou focar em Recolha de Informação.
A base de um teste de penetração bem sucedido é a realização de uma inspecção sólida, de seguida vou mencionar algumas da técnicas utilizadas com esse objectivo em mente
Scanning
Ao fazer scans normalmente tem-se a opção "RHosts" em vez de "RHost", de modo a poder conter um conjunto de IPs (por exemplo:192.168.1.20-192.168.1.30), CIDR (Classless Inter-Domain Routing, basicamente divide redes consoante a máscara, por exemplo, com 192.168.1.0/24 inclui-se o conjunto de todos os IPs 192.168.1.x, variando o x), pode também contar vários conjuntos separados por vírgula (por exemplo:192.168.1.0/24, 192.168.3.0/24) ou ficheiros com listas de hosts separadas por linhas (por exemplo: file:/tmp/hostlist.txt). Outro comportamento default, em módulos de scanners, é ter o valor "threads" colocado a 1 de modo a ter apenas 1 thread concorrente, pode-se aumentar este número para o scan ser mais rápido, ou mais baixo para reduzir o tráfego na network, existem apenas alguns limites que se devem respeitar, entre os quais: manter o número de threads abaixo de dezasseis em sistemas win32, manter as threads abaixo de duzentas quando se está a correr MSF sob Cygwin e manter as threads abaixo de duzentos e cinquenta e seis em sistemas Unix-like.
Port Scanning
Com o nmap, um dos comandos mais conhecidos para o scan de targets, se não colocar nenhuma opção irá ser feito um SYN scan (é rápido quando não se depara com firewalls restritivas, sendo também furtivo uma vez que não realiza uma conexão TCP completa), no entanto existem muitas outras opções, para as ver recomendo ir a "https://nmap.org/book/man-port-scanning-techniques.html". É possível fazer um SYN scan através da msfconsole com "use auxiliary/scanner/portscan/syn"
Em adição ao nmap, existem bastantes mais opções para fazer scan de ports, com o comando "search portscan", podem-se observar todas as opções disponíveis. Uma dessas opções é o módulo usado com o comando "use auxiliary/scanner/portscan/tcp".
SMB Scanning
Depois de determinar que host estão disponíveis na network, é possível tentar determinar que OS está a ser corrido nesses sistemas, de modo a diminuir as possibilidades de attacks, que se podem utilizar num sistema especifico.
Como durante o scan se observou que existiam muitos ports 445 (port usado pelo windows para SMB, aka Samba, filesharing) abertos usa-se o comando "use auxiliary/scanner/smb/smb_version" par ir buscar o modulo da msfconsle que determine a versão windows que está ser corrida, caso se tenha a base de dados devidamente conectada, com o comando "hosts" irá ser possível ver a informação obtida anteriormente.
Idle Scanning
Com o idle scanning é possível ser mais furtivo fazendo scans a um target enquanto se faz spoofing do IP de outro host da network. Para este tipo de scan funcionar é necessário localiza um host idle na network que usa sequências IPID(16-bit identification field) de incremental ou Broken Little-Endian, para isso vai ser usado o comando "use auxiliary/scanner/ip/ipidseq" para escolher o módulo que permite procurar hosts que cumprem os requisitos. Após escolher o IP dos hosts que cumprem os requisitos utiliza-se nmap enquanto se usa o módulo anterior para confirmar os resultados. Para um olhar mais aprofundado do idle scan recomendo ir a "https://nmap.org/book/idlescan.html".
Hunting for MSSQL
A procura e localização de MSSQL (Microsoft SQL/Microsoft Structured Query Language ) pode ser feita através de UDP foot-printing. Quando MSSQL instala, irá fazê-lo através do TCP port 1433 ou num TCP port dinâmico aleatório. Se o port for atribuído de forma dinâmica, consultar o UDP port 1434 irá fornecer informação relativa ao servidor, incluindo que port o serviço está à espera, para fazer isto passam-se pelos seguintes passos:
- Procura-se o módulo que faz o MSSQL ping na msfconsole com o comando "search mssql";
- Depois de escolher o módulo de MSSQL ping usa-se o "show options" para ver o que é necessário colocar para utilizar a exploit de onde se retira que se devem colocar os RHosts com "set rhosts <remote hosts onde se vão mandar ping>", seguido por "exploit";
- Depois do exploit correr será possível observar o nome do server, o port TCP a ser usado, etc;
- Seguidamente, com a informação obtida é possível usar o módulo "scanner/mssql/mssql_login" para fazer brute-force à password ou THC-Hydra (mais informações recomendo ir a "https://tools.kali.org/password-attacks/hydra");
- Após descobrir a password com "use auxiliary/admin/mssql/mssql_exec" pode-se usar a xp_cmdshell e criar um novo utilizador no target.
Scan de Serviços com o Metasploit
Para além no Nmap existe uma grande variedade de scanners para diferentes serviços, oferecendo muitas vezes ajuda a encontrar serviços vulneráveis a correr na máquina target.
Apesar de SSH (Secure Shell) ser bastante seguro podem existir vulnerabilidades mesmo assim, com o uso de "use auxiliary/scanner/ssh/ssh_version" é possível saber a versão de SSH a ser utilizada e com isso pode-se pesquisar vulnerabilidades.
Muitas vezes servidores FTP (File Transfer Protocol) mal configurados podem ser vulnerabilidades a partir das quais se ganha acesso à network, por isso é sempre bom verificar se o acesso anónimo é permitido quando se encontra um FTP port aberto (normalmente no TCP port 21), isto pode ser feito co o uso de "use auxiliary/scanner/ftp/ftp_version" onde se irá colocar o "RHosts" consoante o target, e depois "use auxiliary/scanner/ftp/anonymous" para verificar se é possível ter acesso anónimo.
No Metasploit existem muitos scanners, para ver os diferentes scanners existentes usa-se "use auxiliary/scanner/" que irá ostrar todas as possibilidades de scanner existentes no Metasploit.
PS. Para ver o exemplo relativo à descoberta da password e criação do user, mencionado no "Hunting for MSSQL" recomendo ir a "https://www.offensive-security.com/metasploit-unleashed/hunting-mssql/".
Comentários
Enviar um comentário