Download 4Linux - 507 Pen Test (+Atualizado 2011_Completa) PDF

Title4Linux - 507 Pen Test (+Atualizado 2011_Completa)
File Size4.8 MB
Total Pages261
Table of Contents
                            Capítulo 1  
Introdução à Segurança da Informação
	1.1.  Objetivos
	1.2.  O que é segurança?
	1.3.  Segurança da Informação
	1.4.  Padrões/Normas
		1.4.1.  ISO 27001
		1.4.2.  ISO 27002
		1.4.3.  Basileia II
		1.4.4.  PCI-DSS
		1.4.5.  ITIL
		1.4.6.  COBIT
		1.4.7.  NIST 800 Series
	1.5.  Por que precisamos de segurança?
	1.6.  Princípios básicos da segurança da informação
		1.6.1.  Confidencialidade
		1.6.2.  Integridade
		1.6.3.  Disponibilidade
		1.6.4.  Autenticidade
		1.6.5.  Legalidade
		1.6.6.  Terminologias de segurança
	1.7.  Ameaças e ataques
	1.8.  Mecanismos de segurança
		1.8.1.  Mecanismos físicos
		1.8.2.  Mecanismos lógicos
	1.9.  Serviços de segurança
	1.10.  Certificações
	1.11.  War Games
		1.11.1.  War Games desktop
		1.11.2.  War Games online
	1.12.  Exercícios teóricos
Capítulo 2   
Introdução ao Teste de Invasão e Ética Hacker
	2.1.  	Objetivos:
	2.2.  Visão geral sobre o Pentest
	2.3.  Tipos de Pentest
		2.3.1.  Blind
		2.3.2.  Double blind
		2.3.3.  Gray Box
		2.3.4.  Double Gray Box
		2.3.5.  Tandem
		2.3.6.  Reversal
	2.4.  As fases de um ataque
		2.4.1.  Levantamento de Informações
		2.4.2.  Varredura
		2.4.3.  Ganhando acesso
		2.4.4.  Mantendo acesso
		2.4.5.  Limpando rastros
	2.5.  Categorias de ataques
		2.5.1.  Server Side Attacks
		2.5.2.  Client Side Attacks
	2.6.  Metodologias existentes
	2.7.  Como conduzir um teste de invasão
	2.8.  Aspectos Legais
	2.9.  Exercícios teóricos
Capítulo 3  
Escrita de Relatório
	3.1.  Objetivos
	3.2.  O que é um relatório?
	3.3.  O que deve conter no relatório
Capítulo 4  
Google Hacking
	4.1.  Objetivos
	4.2.  Google Hacking
	4.3.  Comandos Avançados do Google
		4.3.1.  intitle, allintitle
		4.3.2.  inurl, allinurl
		4.3.3.  filetype
		4.3.4.  allintext
		4.3.5.  site
		4.3.6.  link
		4.3.7.  inanchor
		4.3.8.  daterange
		4.3.9.  cache
		4.3.10.  info
		4.3.11.  related
	4.4.  Google Hacking Database
	4.5.  Levantamento de informações
	4.6.  Contramedidas
	4.7.  Prática dirigida
Capítulo 5  
Levantamento de Informações
	5.1.  Objetivos
	5.2.  Footprint
	5.3.  Por onde começar?
	5.4.  Consulta a informações de domínio
	5.5.  Consultando servidores DNS
	5.6.  Consultando websites antigos
	5.7.  Webspiders
	5.8.  Netcraft
	5.9.  Buscando relacionamentos
	5.10.  Prática dirigida
	5.11.  Rastreamento de E-mails
	5.12.  Fingerprint
		5.12.1.  Fingerprint passivo
		5.12.2.  Fingerprint ativo
		5.12.3.  Descobrindo um Sistema Operacional usando ICMP
		5.12.4.  Calculando HOP
		5.12.5.  Fingerprint através do xprobe2
	5.13.  Contramedidas
	5.14.  Prática dirigida
Capítulo 6  
Entendendo a Engenharia Social e o No-Tech Hacking
	6.1.  Objetivos
	6.2.  O que é Engenharia Social?
	6.3.  Tipos de Engenharia Social
		6.3.1.  Baseada em pessoas
		6.3.2.  Baseada em computadores
	6.4.  Formas de ataque
		6.4.1.  Insider Attacks
		6.4.2.  Roubo de identidade
		6.4.3.  Phishing Scam
		6.4.4.  URL Obfuscation
		6.4.5.  Dumpster Diving
		6.4.6.  Persuasão
	6.5.  Engenharia Social Reversa
	6.6.  No Tech Hacking
	6.7.  Contramedidas
	6.8.  Exercício teórico
Capítulo 7  
Varreduras ativas, passivas e furtivas de rede
	7.1.  Objetivos
	7.2.  Varreduras Internet Control Messages Protocol (ICMP)
	7.3.  Varreduras TCP
	7.4.  Nmap
	7.5.  Métodos de Varredura
		7.5.1.  -sP
		7.5.2.  -sV
		7.5.3.  -sS
		7.5.4.  -sT
		7.5.5.  -sU
		7.5.6.  -sF, -sX, -sN
		7.5.7.  -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>
	7.6.  Prática dirigida
		7.6.1.  Mapeando portas abertas em um servidor
	7.7.  Tunelamento
	7.8.  Prática dirigida
		7.8.1.  Tunelando com o Netcat
	7.9.  Anonymizer
	7.10.  Prática dirigida
		7.10.1.  Navegando anonimamente
	7.11.  Contramedidas
Capítulo 8  
Enumeração de informações e serviços
	8.1.  Objetivos
	8.2.  Enumeração
	8.3.  Aquisição de banners
		8.3.1.  Técnicas clássicas
		8.3.2.  Ferramentas
	8.4.  Prática dirigida
		8.4.1.  Capturando banner de aplicações (de forma ativa)
	8.5.  Mapeando graficamente a rede
		8.5.1.  Lanmap e Cheops
		8.5.2.  AutoScan
		8.5.3.  Maltego
	8.6.  Descobrindo Vulnerabilidades
		8.6.1.  Nessus
	8.7.  Prática dirigida
		8.7.1.  Instalando o Nessus
		8.7.2.  Registrando e iniciando
	8.8.  Definindo vetores de ataque
	8.9.  Prática dirigida
	8.10.  Contramedidas
Capítulo 9  
Testando o sistema
	9.1.  Objetivos
	9.2.  O que é negação de serviço?
	9.3.  DoS
		9.3.1.  Exemplo de ataques DoS
		9.3.2.  Prática dirigida
	9.4.  DDoS
		9.4.1.  Ferramenta de DDoS
		9.4.2.  Prática dirigida
	9.5.  Principais tipos de ataques
		9.5.1.  Ping Flood
		9.5.2.  SYN Flood
		9.5.3.  Smurf Attack
	9.6.  Recomendações
	9.7.  Sequestro de Sessão
	9.8.  Prática dirigida com o HUNT
	9.9.  Contramedidas
		9.9.1.  Find DdoS
Capítulo 10  
Trojans, Backdoors, Vírus, Rootkits e Worms
	10.1.  Objetivos
	10.2.  Backdoor
	10.3.  Cavalo de Tróia ou Trojan Horse
	10.4.  Rootkits
	10.5.  Vírus e worms
	10.6.  Netcat
		10.6.1.  Opções do Netcat
		10.6.2.  Netcat - Utilização
		10.6.3.  Encadeando Netcats
	10.7.  Keylogger
	10.8.  Prática dirigida
	10.9.  Contramedidas
Capítulo 11  
Ignorando Proteções
	11.1.  Objetivos
	11.2.  Evasão de Firewall/IDS com Nmap
	11.3.  Firewall Tester
		11.3.1.  Características:
		11.3.2.  Utilização:
		11.3.3.  Sintaxe:
	11.4.  Detectando Honeypots
	11.5.  Prática dirigida
	11.6.  Contramedidas
Capítulo 12  
Técnicas de Força Bruta
	12.1.  Objetivos
	12.2.  Brute Force
	12.3.  Wordlist
		12.3.1.  Download de Wordlist
	12.4.  Geração de Wordlist
	12.5.  John The Ripper
		12.5.1.  MODOS
		12.5.2.  LINHA DE COMANDO
		12.5.3.  USANDO A FERRAMENTA
	12.6.  THC-Hydra
		12.6.1.  Usando o HydraGTK
		12.6.2.  Hydra no terminal
	12.7.  BruteSSH2
	12.8.  Rainbow Crack
	12.9.  Utilizando o Rainbow Crack para criação de Rainbow Tables
		12.9.1.  Introdução
		12.9.2.  Passo 1: usar o rtgen para gerar as rainbow tables.
		12.9.3.  Passo 2: usar o rtsort para organizar as rainbow tables
		12.9.4.  Passo 3: usar o rcrack para buscar o conteúdo das rainbow tables
	12.10.  Prática dirigida
	12.11.  OSSTMM Recomenda
	12.12.  Contramedidas
Capítulo 13  
Vulnerabilidades em aplicações web
	13.1.  Objetivos
	13.2.  Entendendo a aplicação web
	13.3.  Por que é tão perigoso?
	13.4.  Principais Classes de Vulnerabilidades
		13.4.1.  Command Injection
		13.4.2.  Command Inject - Shell PHP
		13.4.3.  SQL Injection
		13.4.4.  Cross-Site Scripting (XSS)
		13.4.5.  CSRF
		13.4.6.  Insecure Direct Object Reference
		13.4.7.  Falha de Autenticação e gerenciamento de sessão
		13.4.8.  Insecure Cryptographic Storage
		13.4.9.  Failure to Restrict URL Access
	13.5.  Ferramentas para exploração
	13.6.  Prática dirigida
		13.6.1.  Paros Proxy
	13.7.  Laboratório – WebGoat
		13.7.1.  Soluções para os desafios
	13.8.  Contramedidas
Capítulo 14  
Elevação de Privilégios Locais
	14.1.  Objetivos
	14.2.  O que é escalada de privilégios?
	14.3.  Possíveis alvos
	14.4.  Passo a passo
	14.5.  Laboratório
		14.5.1.  Desafio 1
		14.5.2.  Desafio 2
	14.6.  Contramedidas
Capítulo 20  
Apagando Rastros
	20.1.  Objetivos
	20.2.  Por que encobrir rastros?
	20.3.  O que encobrir?
	20.4.  Técnicas
	20.5.  Ferramentas
	20.6.  Contramedidas
Capítulo 21  Desafios: Testes de Invasão
	21.1.  Objetivo
	21.2.  Desafio 1
	21.3.  Desafio 2
		ANEXOS
			Primeiro anexo
				Opções do Nmap
			Segundo Anexo
				Opções do NetCat
Capítulo 15  
Técnicas de Sniffing
	15.1.  Objetivos
	15.2.  O que é um sniffer?
	15.3.  Como surgiu o sniffer?
	15.4.  Arp Spoof
	15.5.  Principais protocolos vulneráveis a sniffer
	15.6.  Principais Ferramentas
		15.6.1.  Dsniff
		15.6.2.  Ettercap
		15.6.3.  TCPDump
		15.6.4.  Wireshark
	15.7.  DNS Pharming
		15.7.1.  Ataque DNS
	15.8.  Prática dirigida
	15.9.  Contramedidas
Capítulo 16  
Ataques a Servidores WEB
	16.1.  Objetivos
	16.2.  Tipos de ataques
		16.2.1.  DoS
		16.2.2.  DDoS
	16.3.  Fingerprint em Web Server
		16.3.1.  Httprint
	16.4.  Descobrindo Vulnerabilidades com Nikto
	16.5.  Auditoria e Exploração de Web Servers com W3AF
	16.6.  Online Scanner
	16.7.  Contramedidas
Capítulo 18  
Exploits
	18.1.  Objetivos
	18.2.  Mas afinal, o que é um exploit?
	18.3.  Organização dos Processos na Memória
	18.4.  Shellcode
	18.5.  Buffer Overflow
	18.6.  Conclusão
Capítulo 17  
Ataques a Redes Sem Fio
	17.1.  Objetivos
	17.2.  Introdução
	17.3.  Wardriving
	17.4.  Ataques ao protocolo WEP
	17.5.  SSID Oculto
	17.6.  MAC Spoofing
	17.7.  WPA Brute Force
	17.8.  WPA Rainbow Tables
	17.9.  Rougue Access Point
	17.10.  Wifi Phishing
	17.11.  Contramedidas
Capítulo 19  
Metasploit Framework
	19.1.  Objetivos
	19.2.  Introdução
	19.3.  O que é Metasploit Framework
	19.4.  Instalando Metasploit Framework
	19.5.  Um olhar sobre o Framework
		19.5.1.  Desenvolvimento do MSF
	19.6.  Tecnologia por detrás do Framework
	19.7.  Tecnologia do Meterpreter Payload
	19.8.  Metasploit e OSSTMM em vídeo
	19.9.  Atualizando o Metasploit
	19.10.  Primeiros passos na utilização do Metasploit
	19.11.  Análise final
	19.12.  Prática dirigida
		19.12.1.  Payload com Meterpreter
		19.12.2.  Keylogging com Meterpreter
		19.12.3.  Sniffing com Meterpreter
		19.12.4.  Mantendo o acesso
		19.12.5.  PrintScreen
		19.12.6.  Metasploit Adobe Exploit
		19.12.7.  Atacando um objetivo final a partir de uma máquina já comprometida
		19.12.8.  Atacando máquinas Windows (XP, Vista, 7, 2003, 2008) através de um webserver falso
	19.13.  Armitage
		19.13.1.  Configuração do Armitage
		19.13.2.  Varrendo com o Armitage
		19.13.3.  	Explorando com o Armitage
	19.14.  Wmap web scanner
		19.14.1.  Configurando o WMap
		19.14.2.  Adicionando alvos
		19.14.3.  Verificando resultados
	19.15.  Laboratório Metasploit
	19.16.  Contramedidas
                        
Document Text Contents
Page 1

Capítulo 1 Introdução à Segurança da Informação - 12

Capítulo 1

Introdução à Segurança da

Informação

1.1. Objetivos

● Fornecer ao aluno uma visão geral sobre segurança da informação

● Entender a importância da segurança da informação no mundo de hoje

● Conhecer as principais ameaças

● Compreender a terminologia básica utilizada

● Conhecer algumas certificações da área

Page 2

Capítulo 1 Introdução à Segurança da Informação - 13

1.2. O que é segurança?

Segundo o dicionário da Wikipédia, segurança é um substantivo feminino,

que significa:

● Condição ou estado de estar seguro ou protegido.

● Capacidade de manter seguro.

● Proteção contra a fuga ou escape.

● Profissional ou serviço responsável pela guarda e proteção de algo.

● Confiança em si mesmo.

Dentro do escopo com relação ao que iremos estudar, os três primeiros

tópicos adequam-se perfeitamente ao que será abordado ao longo do curso. No

entanto, veremos esses aspectos na visão do atacante, aquele que tem por objetivo

justamente subverter a segurança.

E o que queremos proteger?

Vamos analisar o contexto atual em primeiro lugar...

Na época em que os nobres viviam em castelos e possuíam feudos, com mão

de obra que trabalhavam por eles, entregando-lhes a maior parte de sua produção e

ainda pagavam extorsivos importos, qual era o maior bem que possuíam? Terras! Isso

mesmo, quem tinha maior número de terras era mais poderoso e possuía mais

riqueza. Posto que quanto mais terras, maior a produção recebida das mãos dos

camponeses que arrendavam as terras de seu suserano.

Após alguns séculos, com o surgimento da Revolução Industrial, esse

panorama muda completamente... Os camponeses deixam os campos e passam a

trabalhar nas fábricas, transformando-se em operários.

Quem nunca viu o filme “Tempos Modernos” de Chaplin? Chaplin ilustra muito

bem como era a rotina desses operários.

Nessa fase da história da civilização, o maior ativo é a mão de obra,

Page 130

Capítulo 12 Técnicas de Força Bruta - 141

junto com esta opção. A sessão fica gravada na home do John, em um

arquivo chamado john.rec.

● --session=NOME: Define o nome da sessão que pode ser utilizado com a

opção restore. A esse nome será automaticamente adicionado a

extensão .rec.

● --status[=NOME]: Mostra o status da última sessão ou, se definido o

nome da sessão, da sessão especificada.

● --make-charset=ARQ: Gera um arquivo charset para ser utilizado no

modo "incremental".

● --show: Mostra as senhas do arquivo que você especificou para o JtR que

já foram quebradas. Esta opção é especialmente útil quando você tem

outra instância do JtR rodando.

● --test: Esta opção faz um benchmark de todos os algoritmos compilados

no software e os testa para saber se estão funcionando corretamente.

Esta opção já foi explicada anteriormente.

● --users=[-]Nome do usuário ou UID: Com esta opção você pode

especificar para o JtR quais usuário você quer tentar quebrar a senha.

Você pode utilizar o nome de usuário ou o UID dele e pode separar vários

usuários utilizando uma vírgula. Utilizando o "-" antes do nome do

usuário, você faz com que o John ignore aquele usuário ou UID.

● --groups=[-]GID: Faz com que o John tente quebrar apenas as senhas dos

usuários participantes de um grupo especificado (ou ignorá-los, se você

utilizar o "-").

● --shells=[-]SHELL: Apenas tenta quebrar as senhas dos usuários cujas

shells sejam iguais à que foi especificada por você na linha de comando.

Utilizando o "-" você ignora as shells especificadas.

● --salts=[-]NUMERO: Deixa você especificar o tamanho das senhas que

serão (ou não) testadas. Aumenta um pouco a performance para quebrar

algumas senhas, porém o tempo total utilizando esta opção acaba sendo o

mesmo.

Page 131

Capítulo 12 Técnicas de Força Bruta - 142

● --format=FORMATO: Permite a você definir o algoritmo a ser usado para

quebrar a senha, ignorando a detecção automática do software. Os

formatos suportados atualmente são DES, BSDI, MD5, AFS e LM. Você

também pode utilizar esta opção quando estiver utilizando o comando

--test, como já foi explicado anteriormente neste texto.

● --save-memory=1, 2 ou 3: Esta opção define alguns níveis para dizer ao

John com qual nível de otimização ele irá utilizar a memória. Os níveis

variam de 1 a 3, sendo 1 a mínima otimização. Esta opção faz com que o

JtR não afete muito os outros programas utilizando muita memória.

12.5.3. USANDO A FERRAMENTA

Para executar o John sobre arquivos de senha de Linux, teremos que passar

para ele as senhas estão utilizando o esquema de shadow no sistema. Para isso,

utilizaremos o executável ”unshadow”, que está presente junto com o John:

��"�����$����������$������������$�������$�������

Agora podemos executar o John referenciando o nosso arquivo password

"�������$�������

'�$�������$�����������������((�������$����)*���+,-�.-��/�����01�

2�)21�

2�)�����1�

$3��)�����
1�


��
��)�31�

Também podemos passar na sintaxe um parâmetro para que o John pegue a

lista de palavras de outro arquivo (por exemplo, as wordlists que geramos

anteriormente):

Page 260

Capítulo 19 Metasploit Framework - 256

ver se o wmap encontrou algo de interessante.

msf > db_hosts -c address,svcs,vulns

Hosts

=====

address svcs vulns

------- ---- -----

192.168.1.204 1 1

msf >

Olhando a saída acima, podemos ver que o wmap reportou uma

vulnerabilidade. Executando o comando "db_vulns", listaremos os detalhes da

mesma.

msf > db_vulns

[*] Time: Thu Nov 25 00:50:27 UTC 2010 Vuln: host=192.168.1.204

port=80 proto=tcp name=HTTP-TRACE-ENABLED

refs=BAhbByIIQ1ZFIg4yMDA1LTMzOTg=

,BAhbByIIQ1ZFIg4yMDA1LTM0OTg=

,BAhbByIKT1NWREIiCDg3Nw==

,BAhbByIIQklEIgoxMTYwNA==

,BAhbByIIQklEIgk5NTA2

,BAhbByIIQklEIgk5NTYx

msf >

A informação sobre a vulnerabilidade está codificada no formato base64, e por

isso precisamos decodificá-la. Podemos usar o openssl para isso.

Page 261

Capítulo 19 Metasploit Framework - 257

msf > echo "BAhbByIIQ1ZFIg4yMDA1LTMzOTg=" | openssl base64 -d

[*] exec: echo "BAhbByIIQ1ZFIg4yMDA1LTMzOTg=" | openssl base64 -d

[CVE"2005-3398

msf >

Podemos agora usar essa informação para conseguir mais detalhes obre a

vulnerabilidades reportada. Como pentesters, devemos investigar cada informação

encontrada e identificar se há potenciais métodos de ataque.

19.15. Laboratório Metasploit

Objetivos:

1 → Obter acesso remoto na máquina Linux explorando uma falha que

possibilite a execução de uma backdoor.

2 → Obter acesso nas máquinas Windows através do Metasploit.

19.16. Contramedidas

● Manter todos os aplicativos atualizados

● Aplicar patches de correção e segurança

● Manter regras de firewall bem configuradas

Similer Documents