Вы находитесь на странице: 1из 72

Prefcio

Depois de muitas perguntas que no foram respondidas, muitas dvidas que


no foram sanadas, muitos tpicos abandonados, eu decidi criar este livro,
onde vou explicar o funcionamento do mundo hacker da forma mais detalhada,
simples e descontrada possvel, usando uma linguagem que todos possam
entender claramente.
Se voc veio aqui em busca de tutoriais explicativos que do tudo na sua mo,
aqui no o seu lugar.
No futuro, escreverei outro livro, com os mesmos tpicos que esse, porm,
com aplicaes na prtica. Publicarei este livro, se vocs gostarem e quiserem,
eu escrevo o prximo, com os ensinamentos na prtica.
A ideia da criao deste guia foi do membro H.Cr7pt3r do Frum Guia do
Hacker, ento, crditos ele pelo incentivo.
Parte do contedo deste livro foi espelhada no tpico FAQ, criado pelo
membro Void_Witch, em 05/11/2013. Outros tpicos e matrias tambm
foram usados como consulta. Todas as referncias bibliogrficas esto
anexadas ao final do livro.
Eu, Nicholas Ferreira (Nickguitar.dll), publicarei este guia oficialmente no
Frum Guia do Hacker, sendo qualquer outra fonte fruto de cpia. Dedico
totalmente esse guia para os usurios do Frum, especialmente para os
membros iniciantes.
Escrito de 24 de novembro de 2014 a 4 de dezembro, Publicado em 5 de
dezembro de 2014. Qualquer contedo retirado daqui e publicado depois desta
data fruto cpia!

Sumrio
1 .................... Introduo
1.1 .................... Hacker
1.2 .................... Cracker
1.3 .................... Gray Hat, o meio termo
2 .................... tica, a filosofia hacker
3 .................... Engenharia social, um pouco de psicologia
3.1 .................... As fraudes na WEB
4 .................... Por onde comear, o que aprender?
5 .................... Programao
5.1 .................... Banco de dados
6 .................... Pentest
6.1 .................... Exploiting
6.2 .................... Deface
6.3 .................... Google Hacking
7 .................... Redes: Uma viso geral
7.1 .................... Negao de servio (DoS)
8 .................... Malwares: Tipos e caractersticas
9 .................... Tcnicas para esconder malwares
9.1 .................... Crypters
9.2 .................... Binders
9.3 .................... Packers
10 .................... Anlise de malware: Uma viso geral
10.1 .................... Anlise esttica
10.2 .................... Anlise dinmica
11 .................... Engenharia Reversa
11.1 .................... Software Cracking
12 .................... Criptografia
13 .................... Anonimidade e segurana na web
14 .................... Deep Web
15 .................... FAQ
16 .................... Referncias bibliogrficas

Bom, imagino que voc que baixou esse livro est iniciando agora no mundo hacker, ou
ento j iniciou h um tempo mas no tem conhecimento de outras reas desse ramo.
Ento, os ensinamentos passados aqui sero feitos com uma didtica e linguagem simples,
para o fcil entendimento de todos.
Pretendo explicar com o mximo de detalhes possveis, e de uma forma descomplicada,
o funcionamento do mundo hacker, bem como as ferramentas e tcnicas usadas por eles.
Mas no confunda hacker com cracker, existe um abismo de diferena entre esses dois
caras.

1.1 Hacker
Hacker, ou white hat (chapu branco), de acordo com Eric Raymond, criador do smbolo
hacker, o hacker o indivduo que tem um conhecimento extraordinrio em informtica, e
usa esse conhecimento paraelaborar e modificar softwares e hardwares de computadores,
seja desenvolvendo funcionalidades novas ou adaptando as antigas, mas sempre usando o
conhecimento de forma legal (legal no sentido de legalidade, dentro da lei). O hacker pode
ento desenvolver softwares antimalwares, para combater com as pragas virtuais, criadas
pelos crackers.

1.2. Cracker
No muito conhecido pelas pessoas, o cracker, ou black hat (chapu preto),
praticamente o hacker do mal. Os crackers so indivduos tambm com amplo
conhecimento em informtica, mas que usam esse conhecimento para quebrar sistemas de
segurana a fim de obter vantagens ilcitas. Os crackers muitas vezes so generalizados e
conhecidos apenas como os caras que crackeiam programas e jogos pagos, por exemplo
photoshop, Battlefield 3, ou o prprio Windows (ou vai me dizer que voc pagou por esse
Windows que est usando agora?! Rs), mas na verdade os crackers fazem muito mais do que
isso. Eles podem por exemplo criar softwares maliciosos (malwares) que roubam as suas
senhas quando voc digita.

1.3 Gray Hats


Os gray hats (chapu cinza) so o meio-termo entre hacker e cracker. Como assim meiotermo, Nick?. Bom, nem todos so bonzinhos o tempo todo, n? Nem malvados toda hora.
Gray hat aquele cara que tambm tem bastante conhecimento em informtica e hacking,
sabe os limites, mas de vez em quando, ultrapassa esses limites, seja por diverso, ou
qualquer outro motivo, mas sem causar danos significativos e sem roubar informaesdo
sistema invadido. O gray hat pode invadir o PC de um colega, trocar o plano de fundo dele
para um pnis e zuar com a cara dele pro resto da vida, mas sem causar qualquer dano
significativo na mquina da vtima.
At o prximo captulo, onde falaremos sobre tica!

Antes de tudo, o que tica? tica, de acordo com o dicionrio, o ramo da filosofia que
estuda o comportamento moral de um indivduo em uma sociedade. Traduzindo do grego
para portugus, tica significa bons costumes, carter...
Beleza Nick, mas o que isso tem a ver com hacker?
A que t... Como eu j expliquei acima, hacker diferente de cracker, que diferente do
gray hat, j que o hacker tem noo do que faz, tem noo do que certo e errado, e faz o
correto.
Para conseguir bons contatos e fazer boas amizades no mundo hacker, necessrio agir
com tica, ter carter. Coisas como invadir um site puramente por diverso e apagar todo o
contedo que l tem coisa de cracker, e totalmente antitico e imoral.
Um exemplo de atitude de um hacker: O hacker encontra uma falha de segurana no site
da polcia federal, e com a explorao dessa falha ele teria acesso ao sistema de busca de
indivduos por CPF, uma espcie de consulta. Ento ele entra em contato com o webmaster
do site avisando da falha, sem causar nenhum dano e sem divulgar nada publicamente sobre
a falha.
Um exemplo de atitude de um cracker: O cracker encontra uma falha em um dos
servidores do Outlook, que permite que ele envie email para qualquer pessoa se passando
por outra. Ao invs de alertar Microsoft sobre a falha, ele a explora e consegue us-la a seu
favor, para enviar spam para vrias pessoas.
No quero que voc pense que eu estou aqui para ditar regras, de forma alguma, estou
apenas comentando sobre a tica que um hacker deve ter. Cabe a voc, depois de ler o livro
todo, a escolher que caminho quer seguir. Eu particularmente me considero um gray hat. J
ajudei muita gente que precisava, mas tambm j fiz algumas brincadeiras com certas
pessoas, que esto marcadas at hoje, haha.
At mais, e bons estudos!

O que engenharia social? No sei se j ouviu falar nisso, mas a engenharia social,
tambm conhecida como no-tech hacking, uma arma poderosa nas mos de quem souber
us-la, no s no hacking, mas para outras coisas no geral tambm.
Engenharia social a prtica de conseguir informaes sigilosas com outras pessoas, ou
fazer com que elas faam o que voc quer, sem perceber, usando a argumentao e
persuaso a seu favor. No entendeu nada disso? Vou dar um exmeplo que aconteceu
comigo, veja:
Eu jogava um jogo pirata online, e um cara tinha hackeado o site do jogo. Como j era de
se esperar, fiquei com muita raiva e adicionei o cara no MSN. Perguntei por que ele tinha
feito aquilo, e ele respondeu coisas que no tinha entendido... Comecei a xing-lo, e ele no
disse nada. Depois de um tempo xingando ele, ele comeou a puxar assunto sobre super
heris comigo... Perguntou quem venceria em uma batalha entre Super-Homem e Homem
Aranha, e eu fui conversando...
No achei nada estranho o papo, e fui conversando e falando sobre o que eu gostava.
At que ele me disse aguarde um momento, vou hackear um cara. Da eu pensei comigo
mesmo, Como assim?! Parece que s chegar e pronto, hackeado.... Alguns minutos
depois eu fui desconectado do MSN, e quando loguei, a senha tava incorreta... Ento eu
percebi que o cara que ele disse que ia hackear era eu. Meu corao comeou dar tiros,
fiquei tenso, pensei em ligar pra polcia, muita coisa passou pela minha cabea naquele
momento...
Afinal, como ele fez isso? Naquela poca, existia uma ferramenta de recuperao de
senha, em que voc selecionava uma pergunta que era disponibilizada pelo sistema, e
escrevia a resposta para a pergunta, sendo essa resposta pessoal. Esse sistema usado at
hoje em vrios sites.
Lembra-se disso? Pois , foi por a que ele me hackeou... A minha pergunta de segurana
era o meu super heri de infncia favorito, e a resposta era homem aranha. Se ele chegasse
e perguntasse direto, qual o meu super heri favorito, eu iria desconfiar na hora e no iria
responder... Mas ele foi esperto, e usou engenharia social para que eu falasse do que eu
gostava, e ento ele conseguiu a resposta, alterou minha senha e deixou uma mensagem no
status dizendo para eu tomar cuidado.
Ele um exemplo de gray hat (nesse momento), j que ele viu que eu estava
vulnervel psicologicamente, conseguiu acesso uma informao que poderia ser fatal nas
mos erradas e usou para invadir minha conta e deixar uma mensagem dizendo para eu
tomar cuidado.
Esse foi o primeiro contato com hacking que eu tive, achei incrvel, queria fazer com
todo mundo, e foi por a que tudo comeou... O nick do cara que me hackeou? Hifterbuk.
Gostaria de agradecer voc, Hifter, por ter me hackeado. Ahauhauhahau. Talvez, se no
fosse por isso, voc no estaria lendo isso agora.

3.1 Fraudes bancrias


O golpe do telefonema
Um desconhecido liga para sua casa e diz ter sequestrado seu filho, e que quer
R$20.000,00 na conta dele hoje, se no vai mat-lo.
Voc, no desespero, fala o nome do seu filho, perguntando se est tudo bem com ele.
Sabendo disso, o golpista pode fazer ameaas usando o nome de seu filho, o que bem mais
aterrorizante...
Outros golpistas que utilizam mais a internet podem at selecionar suas vtimas. As
redes sociais, principalmente o Facebook, so uma tima forma para saber o que as pessoas
esto fazendo. Estamos no tempo em que as pessoas publicam tudo que esto fazendo.
#PartiuAcademia, #PartiuEscola, #PartiuViajarPraDisney, alm de publicar fotos com a
identificao de localizao ativada, mostrando em que local a foto foi tirada. Isso se no for
daquelas pessoas que publicam o prprio nmero do telefone pedindo para ser chamada no
whatsapp para conversar.
Todas essas informaes so valiosas na mo de criminosos. Eles podem descobrir
uma certa rotina na sua vida, e planejar golpes seguindo-a. Por exemplo, eles sabem que
voc trabalha todos os dias das 9h at 18h, ento sabem que nesse perodo, voc no tem
contato com sua famlia. Eles podem ento ligar para seu(ua) filho(a), deixando o celular
dele ocupado para novas ligaes, e assim aplicar o golpe do telefonema em voc, porque
voc no vai conseguir ligar para seu filho.
Uma dica que dou para voc, dizer o nome errado do seu filho quando atender esse
tipo de chamada.
Ex:
- Golpista: Al? Estou com seu filho aqui.
- Voc: Como assim?! Meu filho???
- Golpista: Sim, estou com ele e voc vai ter que pagar pelo resgate, se no eu o mato.
- Voc: Est com meu filho (invente um nome qualquer)?
- Golpista: (finge perguntar o nome para seu filho)... Sim, ele mesmo
- Voc: Ah ? Mas no tenho filho com esse nome. Boa tarde e tchau.

O golpe da pgina fake


Outro golpe que est presente todos os dias o da pgina fake. Bem provvel que
voc j saiba o que , ou pelo menos tenha ouvido falar, mas voc sabe como ela funciona?
Vou explicar.
A pgina fake, como o prprio nome diz, uma pgina falsa de um determinado site.
Exemplo: Banco do Brasil, Facebook, Gmail. Qualquer site com formulrio de login pode ser
alvo de pgina fake. O objetivo dela pegar os dados de quem tentar logar nela. Como isso
feito? Simples. Quando voc coloca seu login e senha, e clica no boto Logar, voc envia
uma requisio uma pgina (geralmente PHP ou ASP), essa pgina verifica se seus dados
esto certos e faz o login se estiver.
Ns podemos baixar a pgina, criando uma cpia idntica, e podemos tambm
alterar a pgina para qual o formulrio far a requisio quando algum logar.

Nessa nova pgina, ao invs de verificar os dados inseridos, ela pega-os e salva em
outra pgina, ou manda para o email do cracker. Veja abaixo um exemplo de spam contendo
uma pgina fake em meu email:

Imagem: Acervo Pessoal

Nessa imagem que recebi via email, havia um link para uma pgina fake, que
capturava a agncia e senha Bradesco da vtima. Uma pessoa desavisada poderia pensar que
a mensagem real, e fazer a suposta atualizao, dando a agncia e conta na mo de
bandidos.
Dicas que eu posso te dar para no cair nesse golpe:
1 - Sempre verifique a URL do site antes de logar. A maioria das URLs de pginas
fake tem o nome suspeito, diferente do original, ou com algum erro de digitao. Se for
diferente do original, no coloque seus dados. Ex:
Original: bancodobrasil.com.br
Falso: bancodobrasi.com.br
2 - Verifique se o site tem https:// no incio. A maioria dos sites grandes usam esse
servio de segurana. Se o site que voc for logar no tiver com esse servio ativado, ou tiver
com um cadeado quebrado no lugar, no logue, de forma alguma. Isso acontece porque o
crackertentou forar o https na URL, sem esse servio estar rodando, por isso exibido um
cadeado quebrado, alertando que o site pode ser falso. O HTTPS a juno do protocolo

HTTP + SSL (HTTP ser visto no captulo de redes, e SSL ser visto no captulo de
criptografia).
3 - Utilize um filtro anti-phishing. Geralmente eles j vm integrados maioria dos
navegadores e serve para alertar os usurios quando uma pgina suspeita de ser falsa
acessada. O usurio pode ento decidir se quer acess-la mesmo assim ou navegar para
outra pgina. H vrios complementos para o Google Chrome e Firefox que bloqueiam as
pginas suspeitas.

DNS Poisoning
Infelismente existem tcnicas que burlam essas dicas, como o DNS Poisoning, onde o
cracker infecta a mquina da vtima, alterando o arquivo HOSTS do Windows, que
responsvel pelo redirecionamento de endereos IPs para as URLs que conhecemos. Por
exemplo, o IP do Google 173.194.42.137, se voc digitar isso na barra de endereos do seu
navegador, voc ser levado at o site do Google. Mas seria difcil gravar os IPs de todos os
sites que conhecemos, e para isso que serve o DNS, pra deixar os IPs mais bonitos.
O
arquivo
HOSTS
do
Windows
fica
localizado
em
C:\Windows\System32\drivers\etc\hosts, e nele contm o endereo IP do site, seguido do
domnio referente ele.
Se no final do arquivo voc adicionar uma linha com o cdigo:
127.0.0.1 google.com, voc no conseguir mais entrar no google pelo domnio
google.com, porque ele ser redirecionado para o servidor local (de IP 127.0.0.1.
Ento, se for adicionado a linha:
xxx.xxx.xxx.xxxwww.bancodobrasil.com, Sendo xxx.xxx.xxx.xxx o IP da pgina
fake, e o outro parmetro o site do banco do brasil. Assim, quando voc entrasse nessa URL,
seria redirecionado para o site falso, e no perceberia, porque a URL no mudaria.
Abaixo um print de um malware que faz a alterao desse arquivo:

Imagem: Acervo Pessoal

A dica que dou para no cair nesses golpes utilizar um bom anti malware
(Recomendo o Malwarebytes), e sempre verificar o arquivo HOSTS antes de fazer login em
alguma pgina importante. Basta executar o bloco de notas como administrador e arrastar o
arquivo localizado em C:\Windows\System32\drivers\etc para l, e verificar as ltimas
linhas. Se tiver o link de algum site l, apague essas linhas imediatamente e faa uma
varredura com o anti malware. Se isso continuar aparecendo, recomendo utilizar programas
mais agressivos como o Combofix. Se ainda assim no resolver, a soluo formatar.

Outras tcnicas como a utilizao de KL Banker, KL proxy e etc. so quase a mesma


coisa, e as dicas que eu posso dar so as mesmas. Mantenha seu antivrus atualizado e tome
muito cuidado com os sites onde entra. Sempre verifique o arquivo HOSTS.

Como os crackers clonam cartes?


O texto abaixo e dos prximos tpicos foi escrito por Hackuv e editado por mim.
Crditos a ele =)
Voc est feliz, comprando algo com carto de crdito, tudo certo. Ou quase isso.A
fatura que vem no final do ms est com compras que voc no fez. Compras em outras
cidades, estados e at pases. Voc foi vtima, seu carto foi clonado!
Os crackers conseguem os dados do seu carto de crdito de duas maneiras.

A primeira com um chupa cabra. O mesmo pode ser instalado em um terminal


bancrio ou at mesmo nessas maquininhas POS ou Pinpads que tem nas lojas. Os dados
ficam salvos em um dispositivo Flash, e os estelionatrios precisam ir "colher" os dados na
loja, trocando os dispositivos e at em alguns casos, roubando os mesmos. Existem
ocorrncias que os chupas cabras tinham conexo Bluetooth e a distncia se conseguia ter
acesso a esses dados armazenados (falaremos mais sobre conexo via bluetooth no captulo
de redes). Lembrando que o chupa cabra funciona em trs tipos de equipamentos:
equipamentos POS, pinpads de TEF(Transferncia Eletrnica de Fundos) e terminais
bancrios, e como um sistema separado, no depende de nada. Pode ser instalado em
qualquer leitora de carto magntico.
Teminal POS:

Imagem: MerchantDataSystems

Chupa-cabra em terminal bancrio:

Imagem: Fraudes.org

A segunda maneira com malware TEF, que nada mais que um Sniffer que atua na
porta Serial(COM). Sniffer um software que fica capturando todo o trfego que passa em
determinado local. Para ter acesso aos dados, ou os ladres iam "colher", muitas vezes
plugando um pendrive e o mesmo descarregava os dados para ele, ou o malware os enviava
via email ou ftp ou qualquer protocolo de comunicao que esteja configurado, os dados
fraudados. Lembrando que a tcnica do vrus s se consegue fazer no TEF, pois necessita que
os dados trafeguem por um computador antes de chegar na internet.
Terminal TEF:

Imagem: PrismaCPI

Mas, como eles conseguem meus dados?


Muitos acreditam que preciso inmeros cdigos e horas na frente do computador
para burlar a segurana que existe em torno do site do Serasa, por exemplo. Um dos mais
visados por conter muitas informaes como CPF, RG, Filiao, Endereos, Telefones,
Histrico Financeiro, etc. O Serasa, tem um critrio muito rigoroso na hora de criar suas
contas. Todas so pagas, e s para empresas.
S que assim como outras, o Serasa tambm uma empresa, e tem vendedores,
representantes, distribuidores. Ai que as coisas ficam muito mais fceis!
Mas o cracker no tem uma empresa. Ento veja l, uma rpida pesquisa no google:
CNPJ ENDEREO TELEFONE RAZO SOCIALe vrias informaes so retornadas:

Imagem: Hackuv

Viram? Acabamos de ter acesso a vrios dados de empresas, usando apenas o


Google. Mas o que vamos fazer com elas?
Como falei acima, o Serasa trabalha com distribuidores, ento os crackers criam
contas com nomes de outras pessoas e empresas, e tem acesso a toda a base de dados do
Serasa. Mas nem tudo um mar de rosas. Eles precisam adquirir crditos para suas
consultas. Muitos pagam com cartes fraudados, outros com boleto, pois a senha no cai e
no ocorrem muitos problemas judiciais depois...
Seus dados podem ser pgos em listas... Listas de todos os tipos. Faa um teste,
digite seu email no google e veja se retorna alguma coisa. Pois , certamente algo foi
retornado, e possvel que ele esteja em alguma lista com vrios outros emails. Esses vrios
emails so conseguidos com a invaso de sites, e seu email juntamente com outros dados
est no banco de dados desse site, junto com os de vrias outras pessoas que l se
cadastraram. Os crackers ento salvam o banco de dados e extraem apenas as informaes
que so interessantes para eles, geralmente o email e a senha. Essas listas de email so
vendidas outros crackers especializados em enviar spam via email, e por causa disso que
todo dia voc recebe mensagens e no sabe de quem .

Venho Lembrar que isso tudo para conhecimento. O uso desta tcnica
considerada falsidade ideolgica pelo art. 229 Cdigo Penal, e quem utiliza dessas
tcnicas para o mal est sujeito as penas da lei!

Se me permitir, vou recomendar um filme sobre Kevin Mitnick, que na minha opinio,
o maior grey hat de todos os tempos. Ele usava mais da engenharia social para invadir, e j
invadiu grandes empresas e rgos governamentais sem ser pgo.
O filme que eu recomendo Hackers - Operao Takedown. Est disponvel no
youtube. Conta sobre algumas das invases de Kevin, at sua captura pela polcia.
Hoje eleescreve livros e artigos sobre segurana de informaes, d palestras em
diversos pases e trabalha como consultor em segurana de sistemas.
Se voc se interessar por engenharia social, ele tem dois livros, A arte de enganar,
onde ele fala sobre como a engenharia social pode conseguir informaes preciosas, e A
arte de invadir, onde ele conta sobre sua experincia como cracker nos anos 90. Tem umas
histrias bem interessantes nesse livro, e so at inspiradoras. Voc pode procurar os dois
em PDF por a que vai encontrar.
Nos vemos no prximo captulo, onde eu mostrarei por onde voc pode comear a
estudar no mundo hacker.

Uma pergunta que eu recebo bastante essa. Usurios novatos que no sabem por
onde comear, nem o que aprender primeiro.
Bom, essa pergunta um pouco difcil de responder, no h uma resposta pronta
para ela... Visto que o mundo hacker tem vrias reas, no tem como eu dizer para voc
comear por X ou Y. Se quiser focar na rea de deface, ter que aprender a usar exploits,
explorar falhas de programao, etc... Se quiser focar na parte de invases PCs, ter que
aprender sobre malwares, e como deix-los indetectveis... Se quiser entrar na rea do
cracking, ter que aprender a programar em Assembly, entender sobre engenharia reversa,
e sacar bem sobre a estrutura interna dos arquivos do Windows.
Acredito que esse livro te dar uma boa base para seus estudos, j que eu falo sobre
as principais reas do hacking. Assim, voc poder ver em qual rea se encaixa melhor e
focar seus estudos nessa rea.
Na minha opinio, e agora estou falando por mim eu acho que de incio os
usurios novatos devem aprender a programar, porque isso vai dar a base de todo o estudo
que eles precisam. Digamos que voc queira invadir um site que est com uma
vulnerabilidade de cdigo no arquivo que faz a verificao de login.
Se voc no sabe programar aplicaes WEB, no vai saber explorar falhas no site, e
no conseguir efetuar a invaso.
Isso serve tambm para a rea de invaso computadores. Voc cria um server de
trojan e quer infectar uma vtima com ele, mas ele est sendo detectado pelo antivrus, e
voc precisa de um crypter para fazer com que ele torne-se indetectvel. Se voc no sabe
programar, s vai conseguir o crypter comprando, e bem caro. Se voc soubesse programar,
teria construdo um crypter indetectvel, ou talvez at o prprio trojan indetectvel.
Voc deve estar se perguntando agora o que programao, ou ento j sabe, ou j
ouviu falar, ou blablabla... Ento nos veremos no prximo captulo, onde eu falo um pouco
sobre programao.

Nesse captulo eu vou abordar a programao bem superficialmente, falando sobre


ela, suas funes, algoritmo e lgica.
Bom, programao basicamente a forma com que voc vai conversar com o
computador, e fazer com que ele interprete seus comandos, criando programas e cdigos...
Como assim Nick?
Veja, vamos supor que voc queira encher o registro de um site com um IP qualquer.
Voc no vai ficar apertando F5 toda hora, n? Isso gastaria muito tempo, e tempo
dinheiro.
Ento, para automatizar essa tarefa, voc poderia criar um programa que ficasse
clicando na tecla F5 automaticamente, a cada 0,5s. Ento s deix-lo rodando e ele faz
todo o trabalho para voc.
Ok, esse exemplo ficou meio zoado, mas acho que deu para entender.
Uma frase que gosto muito, e que at uso em minha assinatura no frum essa:
Quando aprendemos a ler, aprendemos a escrever.
Quando aprendemos a ouvir, aprendemos a falar.
Ento, quando aprendemos a usar um computador, por que no aprender a
program-lo?.
Programao uma coisa incrvel, voc faz literalmente o que quiser com ela, se
dominar. Voc pode tanto criar um programa simples que envia emails em massa para vrias
pessoas, como pode desenvolver um complexo script que consiga extrair informaes
bancrias de pessoas cadastradas em um site qualquer.
Ah Nick, legal... Mas como eu fao para comear a programar?
Bom, como eu disse, programao a forma com que voc vai conversar com o PC,
ento, para fazer isso, voc precisa de uma linguagem n? Como se voc estivesse
conversando com um americano.
Voc precisa saber ingls, para fazer com que ele te entenda, certo? Mesma coisa no
computador. Voc precisa saber a(s) linguagem(s) de programao para que ele te entenda.
A maioria das linguagens tem alguma similaridade na estrutura do cdigo. Isso
porque elas foram derivadas de outras linguagens antigas, chamadas linguagens-me.
Como quase todas so parecidas na sintaxe, fcil de voc entender
superficialmente o cdigo de qualquer linguagem, se dominar a lgica e algoritmo.
Ehh... Lgica?! Algortmo??? O que p**** isso?
Veja, para esclarecer um pouco antes de falar sobre algoritmo, vamos voltar ao
exemplo das linguagens que usamos no dia-a-dia. Para voc conversar com uma pessoa,
voc precisa organizar as palavras de forma a fazer sentido para quem vai ouvir, certo? Se eu
chegar para voc e falar Ontem manteiga com comi po voc no vai entender. Mas se eu
organizar as palavras e falar na ordem, fazendo sentido e voc vai me compreender, Ontem
comi po com manteiga.

Algoritmo
Em programao, algortmo um esquema para resolver um determinado problema.
Vou dar um exemplo de algoritmo de um programa em PHP que verifica se um
determinado valor um nmero.
1. <?php
2.
$numero = 3;
3.
If(isint($numero)){
4.
echo um nmero!;
5.
}else{
6.
echo No um nmero;
7. ?>
Vamos entender esse cdigo.
Na linha 1 e 7 ns estamos dizendo que o nosso cdigo na linguagem PHP, isso
padro, em todas as linguagens ter algo que diga que o cdigo inicia e termina.
Na linha 2 ns definimos uma varivel chamada numero, contendo o valor 3. Varivel
um espao na memria usado para armazenar dados, qualquer tipo de dado, desde um
numero at um texto.
Na linha 3 ns usamos uma estrutura condicional chamada if, que em ingls significa
se, juntamente com a funo isint(), que verifica se o valor digitado um nmero inteiro.
Ns falamos ao programa assim: se o valor digitado for um nmero inteiro, ento, faa
isso:....
Na linha 4ns definimos o que o programa vai fazer se a condio de cima for
verdadeira. No caso, a condio de cima verificar se o valor digitado um numero inteiro.
Ento, se essa condio for verdadeira, ele vai exibir a mensagem um nmero!.
Na linha 5ns definimos o cdigo que seria executado se essa condio fosse falsa.
Nesse caso, esse cdigo no seria executado, porque a condio verdadeira (3 um
nmero inteiro).
Mas se o valor da varivel $numero no fosse um nmero, o cdigo da linha 4 no
seria executado, ele iria pular pra linha 5. O else significa caso contrrio.
Ento, traduzindo para o portugus, o cdigo ficaria assim:
1.
2.
3.
4.
5.
6.
7.

<?php
Varivel numero = 3;
Se o valor da varivel numero for inteiro, ento:
escreva um nmero!
caso contrrio:
escreva No um nmero
?>

Entenderam? Esse apenas um dos conceitos das linguagens de programao. Se


quiser se aprofundar em programao (e eu recomendo infinitamente que voc faa isso),
procure por cursos/apostilas de algoritmo e lgica de programao.

Lgica
Supondo que voc precise ir na casa do seu amigo, que fica na rua de trs. Para voc
chegar at l, voc precisa seguir uma srie de sequncias lgicas, como andar, virar
esquerda, seguir em frente, virar direita, virar na casa amarela e bater na porta, certo? Mas
veja, h dois caminhos, o que eu disse acima, e o outro, em que voc entra em um beco que
tem na calada e vai direto para casa dele, sem precisar virar em lugar nenhum.
Voc segue uma linha reta, logo, percorre menos espao. Qual caminho voc
prefere? Ir pela rua, dar voltas e andar mais, ou ir pelo beco em uma linha reta, andando
menos?
Bom, se voc normal, escolheu a segunda opo.
assim que voc tem que pensar em programao, sempre faa a melhor e mais
simples escolha possvel, porque linhas e linhas de cdigo do dor de cabea.
Ser que essa a forma mais simples de se fazer isso?.
Pense nisso.
Tipos de converso
Em programao, quando seu cdigo est pronto para ser executado, voc precisa
salv-lo e convert-lo para um arquivo executvel, certo? E essa converso pode ser feita
por compilao ou interpretao.
Se o mtodo de converso traduz todo o cdigo do programa primeiro, para depois
ser executado, dizemos que o cdigo foi compilado, e o software que se responsabiliza por
fazer isso o compilador. Isso til pois o programa pode ser executado vrias e vrias
vezes, sem precisar de uma nova compilao para cada execuo, o que o torna mais
verstil. Exemplos de linguagens compiladas: C, C++, Pascal, Visual Basic, etc.
Porm, se o mtodo de converso executa o cdigo na medida em que ele
executado, dizemos que o cdigo foi interpretado, e o software que se responsabiliza por
fazer isso o interpretador. Programas interpretados geralmente so mais lentos do que os
compilados, mas so bem mais flexveis, permitindo que eles rodem em vrias plataformas.
Por isso so chamadas de script. Exemplos de linguagens interpretadas: PHP, Perl, Python,
Javascript, etc.
Linguagens como C e C++ so compiladas estaticamente, e seus cdigos fontes so
transformados diretamente em linguagem de mquina. Enquanto as linguagens mais
modernas como Java, C# e Python tm seus cdigos fontes transformados em uma
linguagem intermediria (especfica de cada linguagem), que ser interpretada pela mquina
virtual da linguagem quando o programa for executado.

Nveis de programao
As linguagens de programao so divididas em 3 nveis, alto nvel, mdio nvel e
baixo nvel.
As linguagens de alto nvel so as mais simples, so as linguagens que todos
comeam aprendendo. Elas exigem menos do conhecimento de software do programador,
porque trabalha com estruturas simples, e tem uma sintaxe bem amigvel, fazendo com que
todos possam entender. Vantagens: Podem ser executadas em vrias plataformas sem
grandes alteraes no cdigo. Desvantagens: Geram rotinas genricas e complexas,
portanto, ocupam mais espao na memria. Exemplos de linguagens: PHP, C#, Visual Basic,
Python, Perl, etc.
As linguagens de mdio nvel so um pouquinho mais complexas. Elas tm
componentes de linguagens de alto nvel e baixo nvel, ento so um meio-termo entre os
dois. A sintaxe pode ser tanto simples quanto complicada, isso depende de como voc vai
programar. Vantagens: Ter mais poder sobre o computador, permitindo a criao de jogos e
programas mais complexos, com qualidade profissional. Desvantagens: Alguns comandos
so complicados para serem entendidos. Exemplos de linguagens: C, C++, etc.
As linguagens de baixo nvel so bem mais complexas. So voltaras totalmente para a
mquina, ou seja, so escritas usando instrues do processador do computador. Seus
cdigos so bem complexos e permitem que voc execute instrues direto no processador.
Vantagens: Programas so executados com maior velocidade de processamento, ocupando
menos espao na memria. Desvantagens: Os softwares no tem muita portabilidade. Um
programa compilado em um determinado processador pode no rodar em um processador
diferente. Exemplos de linguagens: Assembly, Cobol, etc.
Imagino que voc entendeu sobre programao, mas ainda est em dvida sobre
qual linguagem escolher. Por isso vou mostrar abaixo algumas coisas que podem ser feitas, e
as linguagens que voc pode utilizar para faz-las.
Desenvolvimento WEB: PHP, Javascript, ASP, JSP;
Criao de Crypters (Captulo 9): VB6, VB.net, AutoIT, Pascal;
Criao de exploits: C/C++, Perl, Python, Ruby;
Criao de Jogos: Javascript, Python, C/C++/C#, HTML5;
Manipulao de dados na memria e no processador: Assembly, C++, Python;
Desenvolvimento de aplicativos para smartphone:
Android: Java, Javascript, PHP;
iOS: Objective C, Swift (Criada pela prpria Apple);
Programao desktop: Todas citadas acima. C/C++, Java, VB e Pascal esto em alta
no mercado;

5.1 Banco de dados


Todos ns j ouvimos falar sobre banco de dados. Seja na internet, no trabalho, ou
com algum amigo. Mas voc j parou para pensar para que serve e o quo importante o
banco de dados?
O que um banco de dados? Bom, sabemos que um banco (agncia bancria) um
lugar onde voc pode guardar seu dinheiro de forma segura, e pode consult-lo, sacar ou
depositar quando quiser. Assim funciona o banco de dados na internet. Ele um lugar na
internet que armazena dados. Todo e qualquer tipo de dados. Desde nmeros de fotos at
cartes de crdito, ou nomes e senhas de usurios, ou os tpicos de um determinado site.
Voc baixou esse livro no Frum Guia do Hacker, mas isso s foi possvel porque eu
criei um tpico para o download, e o contedo desse tpico ficou armazenado no banco de
dados do frum.
Existem basicamente duas formas de se administrar um banco de dados:
- Centralizando todos os dados em apenas um banco de dados, ou seja, o banco fica
apenas em um servidor, e contm todos os dados que devem ser acessados pelas aplicaes
e/ou pelos clientes, e como ele fica centralizado totalmente no servidor, requer mais
capacidade de processamento do mesmo.
- Descentralizando os dados, dividindo-os em vrios bancos e em servidores
diferentes. So teis porque cada banco exige apenas da capacidade de processamento do
processador do servidor em que esto rodando, e como os dados esto divididos entre eles,
cada um vai ficar com um pouco, no havendo sobrecarga.
Os bancos de dados devem ser gerenciados por algum lugar, e por isso que existem
os Sistemas Gerenciadores de Banco de Dados (SGBT). Com esses softwares, possvel
manipular os dados que so contidos no BD, podendo adicionar, remover, alterar, fazer
consultas e etc. Um desses softwares, por exemplo, o MySQL, que utiliza a linguagem SQL
(Structured Query Language) como interface. certamente o banco de dados mais utilizado
atualmente, por conta da sua flexibilidade e facilidade ao trabalhar com seus comandos.
NASA, Bradesco, HP, Nokia, Sony, Google, Cisco, todos esses gigantes utilizam o MySQL.
Uma falha bem comum e que foi explorada exaustivamente nos ltimos anos o SQL
Injection. Essa falha permite que o invasor injete querys (comandos) SQL no
servidor/programa devido a uma falha na validao de dados. Por exemplo, no formulrio de
login de um determinado site, o banco de dados pega o login e senha, e os coloca em um
comando para verificar se os dados so reais. Mas, se os dados passados no forem
validados antes, possvel passar comandos para o banco e fazer com que ele ache que ele
deve fazer outra coisa. Voc pode injetar um comando que retorne toda a lista de usurios e
senhas, por exemplo. Veremos sobre essa falha e outras mais para frente no captulo de
vulnerabilidades.
Vamos falar sobre pentest agora, que tem muito a ver com isso. At mais =)

Talvez seja a rea mais cobiada no mundo hacker. A rea as invases. Foi aqui que a
fama do nome hacker se criou.
Traduzindo para o portugus, pentest significa Teste de penetrao.
Mas no essa penetrao a que voc t pensando no, safadinho... Penetrao
nesse caso se refere intruso em um sistema.
Esse teste serve para avaliar a segurana em determinado sistema, programa,
computador ou at mesmo em uma rede. possvel conseguir quebrar a criptografia de uma
senha do wi-fi do seu vizinho usando algumas ferramentas de pentest!
Mas lembre-se que isso crime, e com a lei da Carolina Dieckmann, essa lei est mais
frisada. Mas no vamos falar isso agora, vou dar-me a entender que todos testaro suas
habilidades em ambientes controlados.
Existem profissionais que so pagos pra isso, os chamados Pentesters. So
profissionais que so especializados em fazer auditoria no sistema em busca de falhas,
vulnerabilidades, bugs, simulando sempre um ataque real para descobrir a reao do
sistema determinada explorao.
Para que haja um bom planejamento antes do ataque, para que tudo seja feito
corretamente, como planejado.
(Spoiler sobre GTA V abaixo)
Voc j jogou GTA V? Ou j viu algum vdeo da primeira misso?
Se no viu, eu explico. O personagem principal precisa de dinheiro para pagar uma
dvida, e para conseguir esse dinheiro ele planeja assaltar uma joalheria. Dias antes do roubo
ele entra nela com um culos com cmera, para filmar as entradas de ar (por onde ele
poderia entrar e sair despercebido), filmar os locais onde tm cmeras, e perguntar para a
balconista o tipo de jias que eles vendem (para saber se o roubo seria lucrativo). O resto eu
no vou contar, essa a parte interessante.
Os ladres planejam dias antes do roubo, para que tudo d certo. Imagine o tempo
que os caras demoraram para planejar o assalto ao Banco Central.
No quero passar uma imagem ruim do mundo hacker, at porque voc j sabe bem
a diferena entre um hacker e cracker. Mas se voc quer saber como os crackers atacam,
precisa saber de algumas coisas...
Bom, depois essa histria toda foi s para explicar que no pentest, o procedimento
o mesmo. No s chegar e usar qualquer exploit (explicarei nos prximos tpicos o que
exploit) achando que vai funcionar. Voc precisa estudar seu alvo, analisar o comportamento
dele diante s vrias situaes.
Antes de falar sobre as etapas do pentest, vamos entender o conceito de exploit.

6.1 Exploiting
Por definio, exploit um pedao de cdigo, programa ou uma sequncia de
comandos que se aproveita de vulnerabilidades no sistema para conseguir coisas como
ganhar controle sobre um servidor, obter escalao de privilgio, ou atacar o servidor com
negao de servio (Explicarei sobre negao de servio (DoS) no captulo de redes).
Existem dois tipos de exploits, o remoto e o local. O local o mais comum, ele
executado dentro do servidor da sua vtima, ou seja, usado quando voc j tem acesso ao
servidor. Ele vai modificar o sistema em que ele mesmo est rodando.
Mas como conseguir acesso aos servidores? A que entra o exploit remoto.
Voc pode se conectar ao servidor pelo exploit remoto e executar os comandos
dentro dele, usando o seu PC. Esse tipo de exploit geralmente usado para instalar
backdoors, para que voc mantenha acesso ele. (explicarei mais sobre backdoors na
prxima seco).

Exemplo de exploit para Joomla. Imagem: Exploit-DB

Entendido o conceito de exploit, vou listar os 6 passos para que um bom pentest
seja executado.

1. FootPrint e Fingerprint
Traduzindo de uma forma de fcil entendimento, footprint seria as pegadas, e
fingerprint seriam as impresses digitais do seu alvo. conhecido tambm como
levantamento de dados. E com essas duas etapas que voc vai estudar seu alvo, saber o
que ele faz, tentar elaborar uma rotina para ele. Ex: Voc sabe que o servidor faz backup
toda sexta-feira s 19h, isso pode ser usado futuramente para algum ataque.
Esse levantamento de informaes pode ser feito tanto usando softwares para isso,
quando feito manualmente, por meio de engenharia social.
Em casos mais especficos, se o seu alvo for uma empresa, existe uma tcnica
chamada Trash Scouring, que foi usada muito por Kevin Mitnick. Falamos dele no captulo de
Engenharia Social. Trash Scouring uma tcnica que consiste em vasculhar o lixo de uma
determinada empresa para obter informaes que so jogadas fora, como documentos
antigos, pagamentos de faturas, etc. Isso pode ser usado em uma engenharia social contra a
empresa. O lixo de uns o luxo de outros.
2. Anlise de rede e enumerao de servios
Nessa etapa o pentester vai conseguir identificar quantas mquianas esto
conectadas rede, seus sistemas, portas abertas e os servios que rodam nelas. Eh...
Portas? Como assim?. Bom, esse assunto ser mais detalhado no captulo de redes. Porta
basicamente por onde a conexo ser efetuada.
Imagine que voc est na frente da casa de seu amigo, e precisa entrar nela para
passar uma informao para ele. O que voc faz? Voc precisa da porta aberta para entrar
na casa, se ela estiver fechada, voc no entra, certo?
mais ou menos assim na informtica. Para voc efetuar uma conexo com algum
servidor, voc e ele precisam estar com portas abertas.
E existem alguns servios que rodam nessas portas. Sabe quando voc vai entrar em
algum site, e antes dele voc coloca http://? Ento, o HTTP (HyperText Transfer Protocol)
um servio que roda na porta 80 dos sites. Todos os sites tem a porta 80 aberta. Se ela
estiver fechada, o servio HTTP fica indisponvel, e voc no consegue acessar o site. E vrios
outros servios existem para que o servidor funcione, como o FTP (transferncia de
arquivos), SMTP (envio de email), etc. Isso ser explicado detalhadamente no captulo de
redes.
3. procura de vulnerabilidades
Depois de enumerar todos os servios e portas abertas no servidor, hora de
procurar por vulnerabilidades nesses servios.
A falha mais atual e fatal que eu conheo (at o momento em que estou escrevendo
este livro) o HertBleed, que atinge o servio de SSL (Security Sockets Layer), que um
servio de segurana na transmisso de dados. Essa falha faz com que seja possvel obter
informaes que o servidor envia/recebe.
Existem programas que fazem o scanneamento do servidor a procura de falhas, por
exemplo o Acunetix, ou o Nikto, que so muito teis para defacers (explicarei sobre deface
mais a frente).

Ou voc pode tentar encontrar as falhas manualmente, inserindo parmetros em


alguns lugares do sistema para tentar encontrar uma reao inesperada por parte do
servidor.
4. Explorando a vulnerabilidade
Aps encontrar as vulnerabilidades, chegou a hora de explor-las. A hora mais
esperada do dia... Bom, para explorar uma vulnerabilidade, voc pode usar dois mtodos: O
manual e o automatizado.
No mtodo manual, voc precisa ter mais conhecimento sobre o que est fazendo,
precisa dominar o sistema da sua vtima para conseguir faz-lo interpretar seus comandos.
E no mtodo automatizado, voc usa um exploit para fazer o servio para voc.
a que t a utilidade da programao. Programando um exploit para uma
determinada falha, voc poupa o tempo de ter que fazer o mesmo processo cansativo toda
vez que for invadir um sistema com aquela falha.
Mas eu no sei programar, como vou conseguir um exploit?
Vrios sites disponibilizam bancos de exploits das falhas mais recentes que foram
descobertas. Alguns so privados, os chamados 0day, e voc s tem acesso eles se comprlos. Mas grande parte deles gratuita. Sites como o Exploit-DB, 1337day, Rapid7, etc...

5. Mantendo acesso
Com o acesso ao servidor em mos, voc precisa fazer com que esse acesso se
prolongue, se no o administrador pode perceber que foi invadido, corrigir a falha e
bloquear as portas, e voc no conseguir se conectar novamente.
Para isso que foi criado o backdoor. Backdoor significa porta dos fundos, e um
malwarecriado para manter acesso ao computador da vtima. O backdoor abre portas
escondido, sem que ningum sabia, e fica aguardando conexo nessas portas. Assim, sempre
que voc quiser, voc pode se conectar ele, e o administrador no vai perceber, porque
voc estar usando portas que no eram usadas antes.
6. Eliminao de evidncias e evaso
Todos aprendemos no primrio que o prefixo i significa dentro, e o prefixo e
significa fora. Ento, se invaso o fluxo para dentro, evaso o fluxo para fora.
basicamente o abandono do local do crime(ainda estou levando em conta de que todos as
invases sero feitos em ambientes de testes).
Mas no pode ser de qualquer jeito... Voc precisa apagar seus vestgios antes, ou
ser pego pelo webmaster.
Existem arquivos chamados logs, e esses arquivos so responsveis por registrar tudo
que acontece dentro e fora do servidor. Se voc acessa uma pgina de um site, o seu IP,
junto com as informaes da sua sesso, sero enviados para o arquivo de log, contendo a
data do acesso pgina.
por causa desses arquivos que vrios crackers so presos. Esquecem de limp-los, e
acabam deixando pegadas.
Mas no s apagar o arquivo inteiro e pronto, se no, voc vai deixar um buraco
gigante, e qualquer um vai perceber que voc esteve ali.

Voc precisa apagar apenas as linhas dos logs referentes seu IP. Para isso, procure
pelo arquivo de logs, que geralmente fica na raiz do servidor, abra-o com algum editor de
texto e procure pelo seu IP usando CTRL + F, apague todas as linhas que contenham seu IP e
salve o arquivo. Depois disso ser seguro sair.
Mas cuidado, muitos servidores tem mais de um arquivo de logs, e fazem backups,
ento sempre procure pelas pastas...
E esses so os 6 passos para um pentest bem sucedido. Claro que no ensinei como
fazer o pentest passo-a-passo, eu expliquei apenas a composio desse ataque.

6.2 Deface
Deface a arte de desconfigurar pginas de sites na web. J entrou em algum site
que estava com uma index diferente, com o fundo escuro, letras verdes, dizendo
hackeado, com a foto da Anonymous? Pois , esse um exemplo de deface.

Exemplo de um site invadido e desfigurado pelo Prime, antigo membro do GH

O deface pode ser feito por trs mtodos principais, e estes se desenrolam em
outros. So eles:

Engenharia social Usando tcnicas de engenharia social voc pode conseguir


acessos informaes que podem te levar a conseguir privilgios. J dei o exemplo de
quando eu fui hackeado no MSN via engenharia social. Da com voc, vai da sua
imaginao...

Voc pode enviar um email se passando por um chefe para alguma pessoa que tenha
um cargo menor pra conseguir informaes, ou sei l... Invente, mas no esquea de
planejar antes.
Explorao nvel WEB A maioria dos defaces so feitos por esse mtodo, talvez
por ser o mais fcil, talvez por ser o mais comum. Nesse mtodo voc precisa conhecer
bastante as linguagens que atuam na WEB, sendo alguns exemplos delas: PHP, ASP,
Javascript, etc. E ter um bom conhecimento em banco de dados tambm.
Existem inmeras falhas que atgem o nvel WEB, por exemplo: SQL Injection, XSS,
CSRF (Cross Site Request Forgery), LFI, RFI, LFD, etc... Essas so apenas algumas das mais
comuns.
Explorao nvel de servidor Por meio desse mtodo voc ter que atacar
diretamente o servidor, como j foi explicado na seco principal de pentest.
Geralmente os servios atacados so HTTP, FTP, SSH, MySQL, etc. Para isso, voc
precisar de exploits, que eu tambm j expliquei o funcionamento. Se voc usar algum
portscanner (programa que escaneia portas e servios abertos), e ver que h um servidor
FTP rodando no servidor, coloque o nome do servidor + verso + exploit no google. Ex:
PureFTPD 3.2.2 exploit.No caso, PureFTPD o nome do servidor FTP que est rodando.
(Todos esses nomes sero explicados no prximo captulo: Redes).Na prxima seco ns
falaremos sobre Google Hacking, uma tcnica muito boa, onde se pode conseguir
informaes preciosas sobre os servidores, e que todos deveriam aprender.
Depois de obter acesso ao site, voc deve hospedar uma shell nele. Shell uma
espcie de gerenciador de arquivos do hacker/cracker. com ela que voc pode alterar os
arquivos, instalar backdoors, ler informaes sobre o servidor, etc... As shells geralmente so
desenvolvidas em PHP, e so hospedadas no site usando alguma funo de upload presente
no painel de administrao.
Por exemplo, na pgina de criar uma nova notcia (no painel de admin) h a opo
para fazer upload de uma imagem de capa para a notcia. Porm, ao invs de enviar uma
imagem, o invasor envia a shell PHP, e ento abre o caminho dela no servidor, e pronto.

6.3 Google Hacking


Com o Google Hacking voc pode achar arquivos importantes dentro de site, pginas
que deveriam ser secretas, lista de emails, lista de senhas, shells upadas, backups de banco
de dados, e vrias outras coisas que o Google indexa.
O Google tem vrios recursos que facilita a vida do hacker. Por isso eu sempre digo
quando me perguntam algo bvio: Aprenda a usar o Google, ele seu amigo!
(Quando digo algo bvio, me refiro a alguma informao que pode ser facilmente
adquirida com uma simples pesquisa no Google)
Bom, um desses recursos que o Google oferece a utilizao de Dorks.
O que essa coisa de dork, Nick?
Dorks so parmetros que so passados na pesquisa para que o Google interprete
melhor o que voc quer e mostre os resultados de acordo com a pesquisa.
Quer um exemplo prtico disso? Vamos digitar o seguinte comando no Google:
inurl:php?id=1.

Imagem: Acervo Pessoal

Notou algo diferente? Exato, todos os sites listados tem o parmetro php?id=1 na
URL. Isso acontece porque voc disse ao Google para listar apenas os sites que contenham
esse parmetro na URL.
E qual a utilidade disso?
Essa dork que eu passei pode ser modificada para encontrar falhas em sites. Uma
falha muito comum a SQL Injection, onde voc injeta um comando no banco de dados do
site para ele retornar a lista de usurios e senha. E esse comando feito atravs da URL do
site.
Com essa dork voc pode achar sites que podem estar vulnerveis a SQLi, por que o
id que est na URL usado em uma consulta no banco de dados, ento, se voc alterar esse
id para um comando qualquer, ele ser executado pelo banco. Veja alguns exemplos de
dorks:

allintitle [Faz uma busca de palavras que esto no ttulo do site]


Exemplo: allintitle:seja bem vindo
(Lista todas as pginas que contm o nome seja bem vindo no ttulo do site)
allinurl [Faz uma busca de arquivos/palavras na url]
Exemplo: allinurl:index.swf
(Lista todas as pginas que contm o arquivo index.swf no site)
intext [Faz uma busca especfica de palavras que esto na pgina]
Exemplo: intext:senhas
(Lista todas as pginas que contm a palavra senha no corpo)
(Tente pesquisar por intext:seuemail@provedor.com, e veja se h alguma lista com ele)
filetype [Faz uma busca especfica e retorna apenas o tipo de arquivo citado]
Exemplo: filetype:txt
(Lista apenas arquivos txt, em qualquer site)
Voc pode combinar as dorks para fazer uma busca mais especfica, por exemplo:
intext:"PHPMyAdmin SQL Dump" filetype:sql
(Lista os arquivos .sql que contenham PHPMyAdmin SQL Dump no contedo. Nesse caso,
dumps de bancos de dados inteiros sero exibidos, podendo ter algum contedo interessante
nele)
@ +yahoo +hotmail +gmail filetype:txt
(Lista os arquivos .txt que tenham um arroba (@) seguido de yahoo, hotmail ou gmail.
Ou seja, retorna listas de emails)
E esses so apenas alguns exemplos de dorks, se tiver interesse, procure por Google
Dorks no Google. (Voc pode usar dorks para isso, haha)
Depois dessa explicao sobre deface e invaso, creio que surgiram algumas dvidas
relacionadas rede. Vamos esclarecer algumas delas no prximo captulo, onde eu vou
explicar os principais protocolos usados. At mais, te vejo l!

Esse captulo ser um pouco extenso, porque eu vou tentar explicar sobre os
protocolos mais importantes usados no dia-a-dia.
O conceito de rede de computadores simples. Ela formada por um conjunto de
dois ou mais computadores conectados entre si. Podemos fazer uma analogia uma rede de
pesca. Suponha que cada n da rede seja um computador, e este est se conectado com
vrios outros.

Vale lembrar que os computadores de uma determinada rede no precisam


obrigatoriamente estar conectados internet. Trs computadores de uma pequena empresa
podem estar configurados para trocar informaes apenas entre si, e isso uma rede.
Um pouco mais sobre portas
J falamos bem superficialmente sobre as portas, vamos aprofundar um pouquinho
mais agora.
As portas variam de 1 at 65535, e so divididas em dois intervalos: as portas
conhecidas e portas registradas.
As portas conhecidas esto entre 1 e 1023 e so usadas geralmente por servios
padres do sistema, ou por programas executados por usurios com privilgios.
As portas registradas esto entre 1024 e 65535 e so usadas por processos comuns e
por programas executados por um usurio comum.
Bom, vamos entender o conceito de protocolo de rede. O que um protocolo?
Falando de uma forma clara, protocolo a linguagem na qual os computadores se
comunicam entre si. Se eles no existissem, voc no estaria lendo isso, porque no haveria
internet para voc baixar esse livro. Eles so responsveis por te conectar internet e fazer
com que seu PC se comunique com outros.
Ahh, legal Nick, ento isso tipo uma linguagem de programao, mas para a
internet, n?!
Sim, como se fosse isso. A linguagem de programao a linguagem que voc usa
pra se comunicar com o seu PC, e os protocolos de rede so as linguagens que os PCs usam
para se comunicar entre si.

Existe uma pilha de protocolos chamada TCP/IP, e a principal. Como o nome diz,
uma pilha, ento so vrios protocolos empilhados em uma sequncia e em algumas
camadas. Veja as 4 camadas da pilha de protocolos TCP/IP:

Camada
Aplicao

Protocolos
HTTP, FTP, TELNET,
POP3, SMTP, SSH,
IRC, IMAP, DNS

Funo
Prover suporte aos
programas e servios para
que voc se conecte
internet

Transporte

TCP/UDP

Responsvel pelo modo de


envio dos pacotes

Rede

IP, ICMP, ARP, NAT

Controla a operao e
endereamento de pacotes

Fsica

Modem, RDIS,
Bluetooth, USB

Converter pacotes em sinais


eletrnicos e prover a
conexo fsica com o PC

Eu espero muito que no esteja confuso, pois fundamental voc entender o


funcionamento da rede.
Veja, vou comentar sobre alguns protocolos das 4 camadas.

Camada de Aplicao.
-HTTP (HyperText Transfer Protocol) Talvez o mais conhecido dos protocolos,
por causa dele que nos conectamos aos sites. Se voc notar nas URLs dos sites, antes do
link, tem escrito http://.
Se esse protocolo no existisse, todos os sites que voc conhece hoje no existiriam,
porque ele o responsvel por enviar os dados da requisio para o servidor, e retornar a
pgina HTML para o seu navegador.
O mtodo de conexo bem simples. O computador cliente (da pessoa que v o
site)estabelece uma conexo com o computador servidor (que armazena o site), e envia uma
requisio para ele contendo a URI (caracteres usados para identificar protocolos) e uma
mensagem com as informaes sobre o cliente, pedindo para que lhe seja retornado o
contedo HTML contido no servidor.
O servidor responder essa requisio com uma status line (linha de status), com a
verso do protocolo usado e um cdigo contendo o retorno da operao sendo esse cdigo
o de operao bem sucedida ou um cdigo de erro. Depois dessa linha de status, a conexo
entre o cliente e o servidor interrompida, j que as informaes j esto sendo exibidas no
navegador do cliente. por esse motivo que, se voc abrir um site e desconectar da
internet, ele continua aberto (at voc atualizar a pgina).

-FTP (File Transfer Protocol) Ahh, o bom e velho FTP... Ele responsvel pela
transferncia de arquivos entre o cliente e o servidor, e bem mais rpida que a
transferncia feita via HTTP.
Quem aqui j procurou como invadir um site no youtube j deve ter se deparado com
algum tutorial que usa esse protocolo como ferramenta. Na verdade, todos esses vdeos
so falsos, voc no invade o site de fato. (Pelo menos no da forma que eles ensinam).
Talvez esse protocolo seja to famoso quanto o HTTP, e bem velho tambm.
Uma coisa que pouca gente sabe que o FTP usa duas portas para se comunicar. A
porta 21 usada para sincronizar e a porta 20 usada para a transferncia.
Para que a conexo seja efetuada, o computador cliente (que solicita a conexo)
precisa usar um programa de Cliente FTP, ou pode acessar o servidor diretamente usando
um navegador WEB, onde ser colocado as credenciais (se necessrias) para logar no
servidor FTP. Com as credenciais aceitas, a conexo efetuada e o cliente pode manipular
arquivos no servidor.
Durante a transferncia dos arquivos, duas representaes para a transmisso de
dados podem ser usadas (na verdade so quatro, mas vou mostrar apenas as duas mais
usadas):
Modo ASCII, onde o formato original dos dados convertido em ASCII antes da
transmisso, e convertidos novamente para a forma original depois.
Esse mtodo mais usado para a transferncia de arquivos pequenos, e no
recomendado utiliz-lo para arquivos muito grandes.
Para quem no entendeu o que ASCII, um cdigo para universalizar a
transferncia de dados pela internet, j que os teclados de alguns pases tm acentos e
caracteres especiais que no so usados em outros. Ento tudo convertido para ASCII para
que no haja erros. como se fosse o SI (Sistema Internacional), s que na informtica :P
Modo binrio, tambm conhecido como modo imagem, o modo onde as mquinas
transmitem os arquivos byte-a-byte, e o receptor vai armazenando em formato de pilha, at
que todos os bytes sejam recebidos e o programa/arquivo possa rodar normalmente. Bem
usado para o envio de imagens, executveis e outros arquivos pesados.
-DNS (Domain Name System) Se ele no existisse, talvez a internet no teria
todo esse sucesso. Como eu expliquei na seco de pgina fake, o DNS o protocolo que
transforma os endereos IPs nas URLs dos sites que acessamos.
Vou usar o mesmo exemplo de antes. IP do Google 173.194.42.137, ento, se voc
digitar isso na barra de endereos do seu navegador, voc ser levado at o site do Google.
Mas seria difcil gravar os IPs de todos os sites que conhecemos, talvez voc conseguiria
gravar uns 5 ou 6, mas so muitos nmeros... E para isso que serve o DNS, pra deixar os IPs
mais bonitos.
Cada computador, ao obter um endereo IP e de Gateway, tambm obtm um
endereo IP de um servidor DNS, sendo esse o responsvel pela converso,ou seja, toda vez
que vocdigitar www.google.com no navegador, o servidor DNS vai converter para IP e
assim voc vai poder acessar o website.E cada vez que voc entra num site, ele guarda as
informaes em seu cache,para quando voc precisar novamente, no precisar fazer
consulta servidores DNS,economizando tempo e banda.

Camada de Transporte
- TCP (Transfer Control Protocol) Olha ele a, o grande TCP. O mais usado,
seguro, o top dos tops. O TCP um timo protocolo porque orientado conexo, ou seja,
quando uma requisio TCP enviada, voc tem certeza que ele vai chegar ao destinatrio
de forma correta, sem desvios, sem perdas. Todos os outros protocolos de aplicao usam
ele na transmisso de dados. Ele se encarrega a quebrar os pacotes e depois remont-los no
destino,e, se um pacote estiver faltando ele se encarrega de pedir a retransmisso.
Os pacotes TCP tm campos chamados flags, que onde ficam informaes sobre o
tipo de pacote. Por exemplo, uma requisio de sincronizao tem a flag SYN ativada,
enquanto que uma requisio de finalizao de conexo tem a flag FINativada, e um
pedido de reiniciamento de conexo tem a flag RST ativada. O computador que recebe os
pacotes interpreta essas flags e faz o que pedido.
Para que o TCP possa enviar um arquivo ou estabelecer uma conexo, ele usa um
mtodo chamado de Three-way Handshake ou seja um aperto de mo em 3 vias. Preste
ateno agora, porque isso ser til no prximo captulo: DoS (Negao de Servios).

Quando o cliente quer acessar o servidor Telnet na porta 23, ele envia um pacote SYN
(Synchronize(sincronizao)) para o servidor, pedindo para sincronizar com ele, e iniciar a
conexo.
ClienteServidor
SYN + Porta 23
-------------------------------------->
Ento o servidor envia um pacote SYN/ACK (Acknowledgement(reconhecimento) de volta
para o cliente, dizendo que conseguiu sincronizar, aceitou o pedido de conexo e est
aguardando a confirmao e o estabelecimento da conexo.
Cliente
Servidor
SYN/ACK + Porta(Acima de 1024)
<-------------------------------------

Apos o cliente receber o pacote com os flags SYN/ACK ativados ele envia um ACK
(Acknowledgement(reconhecimento) para confirmar o estabelecimento de conexo.

Cliente
Servidor
ACK + Porta 23
------------------------------------->

Traduzindo para o portugus, a conversa entre os computadores seria algo assim:

- Cliente: Ea servidor, vamos sincronizar nossos sistemas para iniciarmos uma conexo?;
- Servidor: Beleza, j reconheci que voc quer conectar e j consegui me sincronizar com
voc, estou aguardando voc iniciar a conexo;
- Cliente: Tranquilo, ento eu confirmo a conexo. J podemos trocar dados.

Por isso o nome do mtodo Three-way Handshake, porque so feitos 3 verificaes


para ver se a conexo foi efetuada e se os arquivos foram passados. Por isso tambm que eu
disse que ele um pacote seguro, diferente do UDP, que veremos a seguir.

Imagem: Reddit

-UDP (User Datagram Protocol) Esse um protocolo bem mais simples que o
TCP, e muito conhecido pela turma que gosta de fazer ataques de negao de servio
(prximo tpico a ser abordado), justamente por no ser orientado conexo e no fazer a
verificao se os dados foram enviados corretamente (diferente do TCP), ento ele gasta
menos tempo em cada pacote, e pode assim, enviar mais pacotes no mesmo perodo de
tempo.Sendo assim, ele no precisa reenvia pacotes corrompidos e nem os confere. Alguns
outros protocolos usam ele como o DNS e o DHCP.
A voc diz: Mas Nick, se ele tem todas essas desvantagens, pra que us-lo?
E eu respondo: Velocidade.
Imagine-se assistindo uma livestream no youtube, onde tem 70 mil pessoas
conectadas, assistindo a mesma coisa. O servidor fica muito lento, porque a transmisso
em tempo real, e muita gente acessando ao mesmo tempo. Se todos os pacotes enviados e
recebidos fossem verificados, tal como os pacotes que se perderam no caminho, tudo ficaria
lento e o servio pararia de funcionar (Negao de servio, novamente... rs). A que entra o
UDP, ele rpido, no faz verificao, ento ele consegue transmitir todos os dados para
todo mundo. Por isso acontece a perda de qualidade e travamento quando tem muita gente,
j que ele no faz o reenvio de pacotes perdidos, o que se perdeu nunca vai chegar voc,
ento a imagem trava at receber outro pacote.

Camada de Rede
- IP (Internet Protocol) Tambm muito conhecido, o endereo IP serve para
identificar o ser computador na internet. Muitos j disseram vou invadir seu PC pelo IP,
mas no fazem ideia de como ele funciona.
O endereo IP a nossa identificao na internet, como se fosse o nosso CPF, e este
um endereo nico de 32 bytes, pois so 4 octetos (8x8x8x8=32) xxx.xxx.xxx.xxx,sendo sua
faixa de atuao entre 0.0.0.0 e 255.255.255.255.
Lembre-se do exemplo da casa. Voc precisa ir na casa de seu amigo, mas no sabe
onde . O que voc faz? Exato, pergunta o endereo pra ele, s assim voc consegue chegar
at l.
E +/- assim que acontece na internet, os computadores (tanto clientes e servidores)
precisam de um endereo IP para serem identificados e receberem as informaes pela
rede. O endereo de IP nico no momento, ou seja, o IP que voc est usando agora s
seu, e de mais ningum no mundo. Mas, se voc desconectar, e outra pessoa conectar, ela
pode receber o seu IP antigo.
Mas sempre em tempos diferentes, nunca no mesmo tempo, se no acontece um
conflito, e os dois so desconectados para receberem novos IPs.
O IP se responsabiliza por fazer o endereamento de pacotes, ou seja, ele tipo a
pessoa que coloca a carta no correio da internet. Ele pega a sua requisio, com o seu IP, IP
de destino e mensagem(como numa carta, remetente e destinatrio),coloca tudo isso em
um pacote e manda ele pro protocolo de envio (TCP ou UDP).
Atualmente o endereo IP est na verso 4, que conhecida como IPv4 (IP verso 4),
mas desde 2012, j est sendo usada a nova verso, o IPv6.
Mas Nick, pra que atualizar o IP se ele t funcionando?
O IPv4 perdeu sua capacidade de expanso... So muitos computadores, servidores,
notebooks, celulares, tablets, e outras coisas conectadas internet 24h por dia. Como o
endereo IP tem apenas 32 bits, todas as combinaes resultariam em 4x109, que so
4.000.000.000 (quatro bilhes) de endereos. Mas veja, a Terra tem 8 bilhes de pessoas, e
em uma casa h mais de um computador, tablet, celular... Fora os que no foram vendidos.
Alm das lan houses, e das salas com centenas de servidores.
No difcil de perceber que muita gente ficaria sem poder acessar a internet por
no ter IP. por isso que o IPv6 foi criado.
Ao contrrio do IPv4 que tem 32 bits, o IPv6 tem 128 bits, e suas combinaes
resultariam em 3,4x1038endereos. Pra quem quer ter uma noo do nmero de IPs, vou
escrever: 340.000.000.000.000.000.000.000.000.000.000.000.000;
Tentem achar um nome para esse nmero. No exagero, esse realmente o
nmero certo.
Alm disso ele cobre todos os buracos de segurana que tinham no IPv4, onde os
crackers faziam a festa. Isso combinado com o seu suporte obrigatrio IPSec (Extenso do
protocolo IP pra melhorar a privacidade, integridade dos dados e segurana) certamente vai
fazer os crackers terem dor de cabea.

Bom, o IPv6 se destaca pois se difere bastante do IPv4. Veja a tabela com as
diferenas:
IPv4
Endereo de 32 bits
Suporte opcional IPSec
Processo de fragmentao de pacotes feito
pelo roteador
O cabealho do pacote inclui campos de
opo

IPv6
Endereo de 128 bits
Suporte obrigatrio a IPSec
Processo de fragmentao de pacotes feito
pelos hosts emissores
Todos os campos de opo foram mudados
para dentro do campoextension header

O endereo tem que ser configurado


manualmente

Funcionalidades de autoconfigurao

- ICMP (Internet Control Message Protocol) - Protocolo muito importante no


diagnostico da rede, prem um protocolo que est sendo muito bloqueado devido ao seu
mau uso por parte de usurios mal-intencionados. Hoje em dia, quase todos os firewalls ou
roteadores j bloqueiam a entrada desse protocolo em suas redes, permitindo apenas em
redes locais. O famoso Ping usa o protocolo ICMP, ou seja quando eu envio um ping uma
mquina, naverdade eu envio para ela o pacote ICMP Echo Request e espero o ICMP Echo
Reply, assim posso saber que a outra maquina est ativa e funcionando. Antigamente existia
um ataque chamado Ping Of Death, onde as pessoas tiravam servios do ar enviando uma
milhares de pacotes ping com tamanhos alterados (Essa tcnica conhecida como Denial of
Service, e ser o tema do nosso prximo captulo), ou seja bem maior que o normal. Por isso,
hoje em dia poucos so os hosts que respondem a esse protocolo.
A funcionalidade dele apenas essa, mostrar se uma determinada mquina est
ativa na rede ou no. Voc envia um pacote ping (ICMP Echo Request) para uma mquina
qualquer. Se ela estiver conectada rede, e se o firewall dela no bloquear, ela responder o
seu pedido com o pacote ICMP Echo Reply, dizendo que est ativa.

Camada fsica
- USB (Universial Serial Bus) Um protocolo muito conhecido, o USB faz parte
da camada fsica. E esse protocolo visvel, e est presente em nosso dia a dia. Voc pode
toc-lo, fisicamente. Ele foi criado porque antigamente, quando voc precisava instalar
perifricos no computador, era necessrio reiniciar a mquina, e isso no era uma boa ideia,
por conta do nmero de conexes internas sendo realizadas.

Imagem: Wikipdia

Da surgiu a tecnologia PnP (Plug and Play), onde o usurio no obrigado a reiniciar
a mquina, basta plugar o cabo e us-lo.
O objetivo dele fazer com que qualquer usurio sem experincia consiga instalar
perifricos em sua mquina, sem dificuldades.
O USB padro 1.1 foi criado em 1996, a 19 anos atrs, e tinha uma taxa de
transferncia de dados de 1,5Mbps, sendo alimentado por uma fonte de 5v, com 500mA.
As verses foram sendo lanadas ao longo dos anos, e em 2000 foi lanado o USB 2.0,
que o mais comum at hoje. O USB 2.0 tem uma taxa de transferncia de dado de 480
Mbps (cerca de 60MB/s (No confunda Mbps com MB/s), tendo como fonte a mesma do
1.0.
Mais recentemente, em 2009, foi lanada a verso 3.0 do USB, com incrveis 5GBps
de transferncia, e tem como fonte uma alimentao de 5V 900mA, e pode enviar e
receber dados ao mesmo tempo.

- Bluetooth Tambm muito utilizado em aparelhos celulares e em dispositivos


sem fio, o Bluetooth um protocolo que usa a frequncia de rdio de curto alcance para se
comunicar com dispositivos prximos, conseguindo transportar informaes de um
dispositivo outro sem a necessidade de cabos.

Imagem: Wikipdia

Ele est presente em celulares, mouses, teclados, fones de ouvido, notebooks,


impressoras, cmeras digitais, consoles de videogames, entre outros dispositivos. O mouse
que estou usando agora usa essa tecnologia!
Os dois dispositivos no precisam estar no mesmo campo de viso, s precisam estar
no mesmo ambiente, e, dependendo da fraquncia de envio, o raio de alcance limite pode
aumentar. 1m, 10m, 100m, isso depende da potncia mxima usada.
O Bluetooth se encontra agora na verso 3.0, suportando transferncias de at
24Mb/s.
Como a faixa do Bluetooth aberta, ou seja, pode ser utilizada por qualquer
dispositivo (que tenha capacidade), necessrio que o sinal do Bluetooth no sofra
interferncia, se no, no seria til. J aconteceu de voc pegar o controle do quarto, ou de
qualquer outro lugar, e us-lo para desligar a televiso da sala? Pois , isso acontece por
causa da interferncia. O dispositivo que est recebendo os comandos pensa que o controle
que voc usou o original dele, e obedece suas ordens. O esquema de comunicao FHCDMA (Frequency Hopping - Code-Division Multiple Access), que usado pelo Bluetooth, faz
com que a frequncia seja dividida em vrios canais.

O dispositivo que estabelece a conexo muda de um canal para outro de maneira


bastante rpida. Este procedimento chamado "salto de frequncia" (frequency hopping) e
permite que a largura de banda da frequncia seja muito pequena, diminuindo
sensivelmente as chances de interferncia. No Bluetooth, pode-se utilizar at 79 frequncias
(ou 23, dependendo do pas), cada uma "espaada" da outra por intervalos de 1 MHz.

Bom, finalmente terminamos de falar sobre redes. Sei que achou o captulo um
pouco entediante por ser s teoria, mas necessrio entender como a rede funciona para
entender o prximo tpico, sobre ataques de negao de servio, os ataques que deixam os
sites fora do ar. Vamos l!

7.1 Negao de servio (DoS)


Esse captulo ser muito interessante, porque um tema bem polmico e
interessante, e certamente voc vai querer saber como esse ataque funciona.
Bom, vamos entender primeiro o que um ataque de negao de servio.
Imagine que voc acorda 7h da manh para trabalhar. Pega o nibus e vai para a
estao esperar o metr chegar. Tem muita gente com voc, mas um grupo bem grande fura
a fila, e passa na frente dos outros e o metr j passa cheio. Quando ele para, todo mundo
quer entrar ao mesmo tempo, at que o metr fique sem lugar para voc, e voc no
consiga entrar. Ento ele fecha a porta e voc no consegue sair dali, pois o metr negou
prestar servio voc, j que estava congestionado.
Na informtica mais ou menos isso que acontece, quando voc v no jornal dizendo
que hackers derrubaram o site da receita da fazenda, eles fizeram esse ataque. Enviaram
diversas solicitaes falsas, como se fossem reais, para que o site prestasse servio a elas,
at que o servidor fique sobrecarregado e no consiga dar conta de tudo. Ento ele para de
atender novos pedidos para priorizar os que ele j recebeu. Quando ele esvazia a memria e
atende a todos os pedidos, ele volta a prestar servios, e o site volta ao ar.

Imagem: DuckOpenSource

Os ataques de negao de servio pode ser classificado em dois grupos principais:


DoS (Denial of Service) o ataque simples, onde apenas uma pessoa ataca o alvo.
No to comum hoje em dia por conta da sua baixa potncia e eficincia.
DDoS (Distributed Denial of Service) o mais usado, onde muitos usurios (cientes
ou no) atacam um alvo apenas.
Como assim cientes ou no, Nick?
Bom, existe um malware chamado Botnet, onde o cracker infecta vrias vtimas, e
usa o computador dessas vtimas pra atacar o alvo que ele quer. E isso feito sem a vtima
saber. Falaremos mais especificamente sobre esse malware no prximo captulo.

Tipos de ataques [D]DoS:

Syn Flood O syn flood um mtodo de ataque de negao de servio, onde o


pacote usado para atacar o TCP. Como ns falamos, o TCP tem um sistema chamado
Three-way Handshake, ou seja, ele tem trs etapas at concluir a sua conexo.
Revisando o conceito desse sistema, o cliente envia uma requisio com a flag
SYNpara o servidor, pedindo para sincronizar os dados. O servidor envia um pacote com a
flag SYN/ACK, dizendo que j sincronizou e est aguardando a conexo, e ento o cliente
envia um outro pacote com a flag ACK, estabelecendo a conexo.
Ento, se no meio do Three-way Handshake algum dos 3 pacotes no for
enviado/recebido, ou se estiver corrompido, o servidor vai ficar esperando pelo envio de um
novo pacote (j que o TCP faz isso automaticamente). Como o TCP bonzinho, ele vai ficar
esperando um novo pacote, mas, como nunca ser enviado, vai ficar esperando por um
tempo at fechar a conexo por time-out.
Agora imagine milhares de requisies incompletas ou no respondidas. So vrias
threads que esto se dedicando s requisies.

Imagem: Universidade Salerno

E assim que o Syn Flood funciona, o cliente malicioso envia o pacote com a flag SYN
pedindo sincronizao, o servidor responde com SYN/ACK, mas o cliente no responde de
volta, e ento abre outra conexo diferente, fazendo a mesma coisa.
Ento o servidor para de responder as novas requisies e continua processando as
antigas, at que todas sejam processadas e o a memria esvazie. S a que ele volta a
receber novas requisies.

UDP Flood O UDP Flood diferente do SYN Flood, j que o protocolo UDP no faz o
procedimento de verificao dos pacotes (Three-way Handshake). Esse ataque baseado na
tcnica de spoof, consiste em enviar requisies com o campo do IP alterado. Voc vai
enviar um pacote para o servidor se passando por outro computador. Nesse ataque, o
cracker faz um pedido de conexo para a vtima, usando um IP falso.
Ento, j que o protocolo UDP no oferece nenhum meio de garantia de entrega do
pacote, o cracker simplesmente envia pacotes de UDP aleatoriamente para todas portas do
servidor da vtima.Quando o servidor da vtima recebe os pacotes de UDP enviado pelo
attacker, ele tenta determinar qual aplicao esta aguardando pelo pacote naquela
determinada porta em que foi recebido o pacote. Porm, quando o servidor verifica que no
existe nenhuma aplicao aguardando tal pacote recebido, ele emite um pacote ICMP Echo
Request para o destinatrio (que no caso forjou o endereo de IP da fonte) dizendo que o
pacote no encontrou seu destino. Se uma grande quantidade de pacotes de UDP for
enviadopara as portas do servidor da vtima, o sistema poder ser comprometido fazendo
com que acontea a negao de servio.
Smurf Attack O Smurf Attack um ataque simples, porm eficiente, que se baseia
na tcnica de spoof.
No Smurf Attack, o cracker envia um ICMP Echo Request (Ping, como foi explicado na
seco de redes) para todos os computadores de uma determinada rede, porm, esse
pacote ICMP est spoofado, ou seja, o IP est forjado. E, como j vimos antes, quando voc
envia um ICMP Echo Request para uma mquina, se ela estiver online, responder com um
ICMP Echo Reply. Mas, como o IP do remetente foi alterado, o Echo Reply vai para o IP que
est registrado no pacote, que o IP da vtima.

Imagem: InfoSecInstitute

Se voc no entendeu, vou fazer uma analogia bem simples e garanto que vai
entender:
Veja, voc quer deixar o seu colega X ocupado, ento voc envia uma carta se
passando para todas as pessoas de uma famlia que tem 6 pessoas, pedindo para que elas
respondam a carta. Como voc enviou a carta se passando pelo seu colega X, todas as
cartas, quando forem respondidas, sero encaminhadas a ele, e no a voc. E ele vai ficar
lotado de cartas, vai ter que ler todas, e vai ficar muito ocupado.
Mas no pense que os ataques de negao de servio acontecem apenas pela
internet. Um computador pode dar crash tambm, se for submetido a um exploit que faa
isso. Por exemplo, no Windows XP existe uma falha chamada Buffer Overflow, que permite
que voc consiga inserir trechos de cdigo no prprio Windows.
Se voc inserir um cdigo de loop infinito, que faa com que ele retorne sempre para
a mesma operao, o computador vai ficar sem memria e vai acabar exibindo a BSOD (Blue
Screen Of Death, a famosa tela azul da morte).
Ataques [D]DoS tambm podem ser feitos no mundo real. Por exemplo, voc por
algum motivo pessoal pretende fazer com que uma determinada empresa no consiga
atender seus clientes pelo servio de suporte.
Ento, voc e vrias outras pessoas fazem ligaes para a central de atendimento,
uma ligao aps a outra, fazendo com que sempre que algum de fora tente ligar, a ligao
retorne ocupado. Isso aconteceu na Rssia, onde uma quadrilha de assaltantes ocupou o
servio de atendimento da polcia local enquanto assaltavam uma joalheria. Ningum
conseguiu chamar a polcia, e quando conseguiram, j era tarde demais.
Ps: No faam isso!

Mas, para atacar um determinado site com vrios computadores, voc precisaria ter
vrios amigos que colaborassem com voc no ataque, certo? ERRADO! Lembra quando eu
disse que os atacantes poderiam ser cientes ou no do ataque? Pois , a que entra a botnet.
Basicamente um malware que se infiltra no computador das vtimas e realiza ataques de
negao de servio. Falaremos sobre ele e sobre os outros tipos de malware no prximo
captulo. Te vejo l!

Acredito que todos aqui j ouviram falar em vrus, ou cavalo de tria. Eles so
malwares, bem diferentes, com funes especficas cada um. De maneira geral, todos
falamos que o computador foi infectado por vrus. No entanto, existe uma srie de outros
tipos de ameaas, que so diferentes dos vrus e causam males diversos.
Nesse captulo ns vamos aprender sobre os tipos de malware, tal como suas
caractersticas, mtodos de infeco e seus objetivos no sistema infectado.
Primeiro vamos para a definio de malware.
A palavra malware originada do ingls, que significa Malicious Software, que
significa software malicioso. E como o nome j diz, um software que se instala no
computador da vtima sem ela saber, e que tem fins maliciosos, como danificao dos
arquivos, roubo de dados, roubo de senhas, propagao em massa, explorao do sistema,
entre vrias outras funes. Agora vamos para os tipos de malwares e suas caractersticas.

Vrus:Os mais conhecidos. No pela sua funo, mas sim por seu nome. A maioria dos
malwares considerada vrus pelos leigos, justamente por no saberem que eles so
divididos em classificaes. Nunca confunda vrus com malware. Todo vrus um malware,
mas nem todo malware um vrus.
Bom, a funo dos vrus infectar arquivos do sistema e se multiplicar, como se fosse
um vrus biolgico. Ele ataca os arquivos e pode conter um cdigo malicioso dentro dele. O
mais conhecido o vrus I Love You, com o nome original de Love-letter-for-you.txt, que
aps sua execuo, enviava uma cpia de si mesmo para todos da lista de email da vtima. O
vrus foi enviado para mais de 84 milhes de pessoas, e casou um prejuzo de 9 bilhes de
dlares. Esse vrus teve tanto sucesso por usar engenharia social em seu nome. Com o nome
de eu te amo, qualquer um ficaria curioso para saber quem era o remetente da
mensagem, e certamente abriria o email, sendo infectado. Abaixo um print do email em que
o vrus era contido.

Imagem: CRN

Worms:Os worms so uma espcie de subconjunto dos vrus, porm eles contm
algumas diferenas fundamentais em relao aos vrus. Basicamente, um worm um
programa que consegue fazer cpias de si mesmo sem infectar outros arquivos. A ideia dele
de instalar-se uma vez apenas no PC e, a ento, procurar uma maneira de conseguir se
espalhar para outros computadores.
Outra diferena que, ao invs de querer permanecer no detectado, o worm cria
uma instncia nica do seu cdigo e permanece sozinho, j que ele procura brechas no
sistema operacional infectado e garante que s ele vai rodar na mquina, evitando a
infeco por outra ameaa. Isso quer dizer que o worm um arquivo separado, que no se
adere a arquivos existentes (procedimento realizado pelo vrus).
Esta estratgia utilizada pelo worm facilita o seu spreading (propagao) atravs de
dispositivos USB e at mesmo em redes de computadores. Outra tcnica utilizada pelos
worms, e que muito eficiente, a distribuio de si mesmo atravs de e-mails, nos quais
so criados anexos infectados. Estes e-mails so enviados para toda a lista de contatos da
pessoa que teve o seu computador infectado, como no vrus I Love You, e a vtima nem sabe
que isso est acontecendo.

Keyloggers:So usados para a captura de teclas no computador da vtima.


Os primeiros tipos de keyloggers eram peas fsicas que eram conectadas entre o
computador e a sada do teclado, como se fosse um adaptador, e o cracker tinha que inserlo no computador da vtima, ou seja, precisava de acesso fsico ao PC para conseguir installo. Alm de uma boa engenharia social, o cracker precisaria ter acesso ao PC novamente, j
que ele teria que remover o equipamento depois que a vtima tivesse digitado o que ele
queria. Abaixo uma foto de um keylogger fsico:

Imagem: Keelog

O outro tipo de keylogger e mais comum o software. Um programa que o


cracker configura e tem a mesma finalidade do keylogger fsico. A diferena que este pode
ser controlado remotamente, e tem variantes.
Quando infectada, a vtima tem seu teclado monitorado, e tudo que for digitado ser
capturado pelo keylogger, que enviar os dados para o cracker, geralmente via e-mail.

Veja abaixo o print de um keylogger feito em VB6:

Imagem: Planet Source Code

Mas a surge uma dvida e voc pergunta: Mas Nick, as pessoas escrevem muitas
coisas por dia, o cracker no levaria tempo para conseguir encontrar o que quer, diante de
tanto texto?
Sim, e por isso que foi inventado o Smart Keylogger, o keylogger que s pega o que
interessante para o invasor, como senhas, emails, etc...
Os Smart Keyloggers so mais conhecidos no mundo banker(mundo dos fraudadores
de dados bancrios), pois ficam escondidos no PC da vtima em estado de listenning(escuta),
aguardando que um site de banco seja aberto. Assim que a vtima digita a URL do site no
navegador, o keylogger entra em atividade e fica aguardando pelo pressionamento das
teclas. A vtima digita a senha, o keylogger captura a senha, e quando o site do banco
fechado, ele para a sua atividade e volta ao estado de escuta. Veja abaixo um print de um
keylogger banker aberto na IDE Delphi de programao:

Imagem: Hackuv

Botnets: J citadas anteriormente no captulo de ataques DoS, a utilizao de botnets


a principal forma de ataque de DDoS. O cracker envia o malware para vrias pessoas podendo ele ter a capacidade de se propagar, como um vrus - at formar uma rede,
chamada de rede zumbi. Ele ento tem controle sobre todos os zumbis infectados, e pode
ordenar que eles iniciem ataques contra uma ou vrias vtimas. Na ilustrao abaixo voc
pode ver como funciona esse ataque. No caso, o Controller o client da botnet que fica no
PC do cracker.

Imagem: NsFocusBlog

Basicamente o cracker envia um comando para todos os infectados, e todos


interpretam o mesmo comando, ao mesmo tempo. Se ele ordenar que todos ataquem o site
X, todos faro. E isso til para ele, porque assim ele no precisa se preocupar em usar a
prpria banda de rede para fazer o ataque, j que est usando computadores escravos para
fazer isso por ele. Ento, a conexo dele com internet permanece estvel, enquanto que a
conexo dos zumbis fica oscilando.

Backdoors:So ferramentas simples que se acoplam aos malwares mais complexos.


Sua funo abrir uma brecha no sistema da vtima, para garantir que o cracker consiga
conectar l sempre, ou seja, manter acesso. Os backdoors so usados em invases
servidores WEB, como ns vimos no captulo de Pentest, onde o cracker hospeda o malware
no site da vtima, e sempre que quiser, pode conectar ele, sem que a vtima saiba. Ele atua
geralmente abrindo portas no firewall, ou utilizando de alguma brecha em algum programa
ou servio que se conecta a internet.

Imagem: TeeSupport

Mas o contrrio tambm acontecer, voc pode ser hackeado indiretamente por
um site. O cracker pode hospedar arquivos maliciosos em alguma linguagem WEB, e esses
arquivos exploram falhas existentes no navegador que voc estiver usando. H uma falha de
buffer overflow no Internet Explorer 7, onde um script mal intencionado faz com que ele d
crash. (Isso um ataque de negao de servio (DoS)!)

Rootkits: Eles so bem complexos, geralmente so implementados em outros


malwares para que fiquem indetectveis pelo usurio. Sua funo basicamente usar
tcnicas que fazem com que o sistema no consiga perceber sua presena na mquina.
Por exemplo, se voc estiver infectado com um determinado rootkit, e abrir o
gerenciador de tarefas para ver se ele est executando, antes de o gerenciador ser aberto, o
rootkit intercepta esse pedido e filtra os programas que aparecem na lista, excluindo ele
mesmo dela. Assim, quando voc olhar a lista, ele no estar l, porque o programa
gerenciador de tarefas foi modificado por ele para que ele no seja exibido na lista. Essa
tcnica conhecida como API Hooking, onde voc usa uma funo do Windows para
modificar ela mesma, em tempo real.
No fluxograma abaixo possvel ver como um rootkit pode alterar o gerenciador de
tarefas, mostrando apenas os processos que no tem relao com ele:

Imagem: Infolab-GR

Mas Nick, se eles se escondem no sistema, o que eles fazem de danoso?


Como eu disse, eles so geralmente implementados em outros malwares para fazer
com que eles sejam indetectveis pelo sistema. Um rootkit pode se juntar uma botnet,
assim, o cracker ter sempre acesso vtima.

Ransomwares: No so muito conhecidos no Brasil, so mais utilizados na Europa,


mas com certeza so os piores que existem. So terrveis!
Os ransomwares so malwares que se instalam no PC da vtima, e usam um algoritmo
criptogrfico que faz com que o PC se torne utilizvel, e pede uma certa quantia em dinheiro
para o resgate da senha at um certo tempo. Ou seja, uma vez infectada, a vtima no
poder mais utilizar o computador, pois todos os arquivos l presentes estaro
criptografados, e s o cracker tem a senha para descriptografar. Essa senha s ser entregue
caso a vtima faa o pagamento que o cracker deseja, caso contrrio, a senha ser destruda,
e o PC no poder mais ser usado.
O ltimo RansomWare que eu tenho notcia o CryptoLocker, que atacou algumas
vtimas no Brasil no ano passado (2013). Ele se propagava por meio de uma engenharia
social via email. O email falso se passava por uma companhia que estava oferecendo uma
proposta de trabalho, e o executvel estava anexado mensagem. Nele, os crackers pedem
a quantia de 100 dlares / 100 euros para que a senha seja enviada e o PC seja destravado.
Caso contrrio, em um determinado perodo de tempo, a chave de desbloqueio seria
apagada, forando a vtima a formatar o computador.

Print de um PC infectado com o CryptoLocker:

Imagem: Youtube

Trojans:A esto eles, os grandes, os poderosos, os mais conhecidos. Pensou que eu


tinha esquecido deles? Deixei-os para o final. So os famosos cavalos de tria.
Mas voc sabe por que ele recebe esse nome? Bom, imagino que voc saiba a
histria do cavalo de tria, mas se no sabe, procure no Google.
Os trojans funcionam como o Cavalo de Tria, so enviados para que se passem por
outro programa, ou imagem, ou vdeo, e quando so executados, ocorre um processo de
extrao, onde o ele se instala no sistema, sem a vtima saber, e l ele fica.
O trojan dividido em dois programas, o cliente e o servidor. O cliente o painel das
vtimas, que fica sob controle do cracker. nele que todas as aes so executadas. E o
servidor o malware em si, ele que executado pelas vtimas. So normalmente
chamados de Client e Server, respectivamente.
Quais as funes do trojan? Os trojans atualmente contam com muitas funes, h
alguns que contm todas as funes dos malwares citados acima, mas normalmente eles so
usados para espionagem, captura de informaes digitadas, manipulao de arquivos.
Voc faz qualquer coisa com um trojan, tudo o que quiser. Capturar senhas, ver
webcam, enviar pop-ups, abrir sites, baixar/enviar/apagar/criar arquivos, desligar o pc,
inverter os botes do mouse... At formatar o PC da vtima voc consegue.
Existem dois tipos de trojans, os de conexo reversa e os de conexo direta.
Conexo Reversa:So os mais comuns, o trojan em que o server se conectam ao
client. Todas as vtimas ficam tentando se conectar ao cracker, e quando conseguem, ficam
no aguardo dos comandos, para que possam execut-los. Dessa forma, o cracker consegue
se comunicar com todos os servidores ao mesmo tempo, e executar tarefas
simultaneamente.

Spynet, trojan de conexo reversa mais utilizado:

Imagem: Acervo pessoal

Conexo Direta: So menos comuns, justamente por terem perdido lugar para os de
conexo reversa. Nesses, ao contrrio dos de conexo reversa, o client que se conecta com
os servers. Ento, o servidor instalado no computador das vtimas fica aguardando a
conexo do client, que feita manualmente pelo cracker. Quando a conexo feita, a
transferncia de informaes acontece como no de conexo remota, porm, com apenas
uma vtima de cada vez. Essa a desvantagem do trojan de conexo direta, ele consegue se
conectar apenas a uma vtima de cada vez, ento, no possvel enviar comandos em massa
para todas as vtimas infectadas.

Trojan ProRAT, de conexo direta:

Imagem: MegaSecurity

Trojan e Redes
J que estamos falando sobre conexes, vale ressaltar que para os clientes se
conectarem aos servidores (ou o contrrio), necessrio que alguma porta esteja aberta,
para que os dados transitem normalmente entre um PC e outro. Essa porta deve ser aberta
no roteador do cracker, e liberada no firewall, para que no haja interferncia na
comunicao.
Mas Nick, minha internet via rdio/3g
Bom, ento voc s conseguir usar trojans quando abrir as portas de sua conexo.
Como se faz isso? Geralmente voc tem que ligar para a central e pedir suporte para que
faam isso para voc. Eles vo perguntar o motivo, e ento voc usa um pouco de
engenharia social e inventa uma histria. Sei l, diz que para criar um servidor de um jogo,
ou pra usar o uTorrent, a com voc.

Se falarem que no vo abrir, diz que vai cancelar o contrato e que vai contratar
outra empresa (de preferncia, alguma concorrente direta, rival), e vai ver que logo logo eles
vo dar a soluo para seu problema.
Muita gente no consegue usar trojans via rdio por causa disso. Vem vdeos do
youtube que so feitos para internet via cabo e no conseguem abrir as portas por no
terem a senha do painel de configurao.
Entendi. Mas qual o tipo de trojan que eu vou conseguir usar em internet rdio?
Essa pergunta eu no sei responder ao certo, porque nunca usei internet via rdio,
mas h um mtodo em que voc consegue usar trojan de conexo direta.
Voc precisa do Hamachi instalado no seu computador e no da vtima. Hamachi pra
quem no sabe um programa que cria uma rede privada entre dois ou mais computadores
que esto em redes diferentes, como se fosse uma rede LAN virtual.
Ele usado muito para criar servidores de jogos. Quando duas pessoas esto
conectadas no mesmo servidor do Hamachi, ele gera automaticamente um IP virtual para os
dois computadores, e cria uma VPN (Virtual Private Network) para eles.
Dessa forma voc pode pegar o IP virtual da vtima (que foi fornecido pelo Hamachi),
e usar o trojan de conexo direta para se conectar com esse IP. Depois disso s enviar o
server e esperar que ela execute. Quando voc tiver certeza que ela executou, conecte-se ao
IP e pronto.
A desvantagem desse mtodo que a vtima precisa estar com o hamachi instalado,
aberto e no mesmo servidor que voc, alm de que ela precisa executar o server do trojan, o
que requer um pouco de engenharia social para que isso seja feito.

Malwares em celulares
Vale lembrar tambm que essas pragas no atacam apenas computadores, mas
dispositivos mveis tambm, como celulares e tablets. Se voc usa um smartphone Android,
certamente j se deparou com aquelas pginas que dizem que seu celular est infectado, ou
que est muito lento e precisa de um programa especial para atualiz-lo. Na verdade isso
um tipo de engenharia social, onde o atacante deixa a vtima com medo, passando uma
informao falsa sobre o estado de seu aparelho, para fazer com que ela baixe o suposto
aplicativo que promete acelerar o celular, mas na verdade s vai fazer com que ele fique
mais lento.
E para os que dizem que o sistema da Ma melhor, saiba que esto enganados.
Recentemente foi criado um prottipo de carregador para iPhone que contm um malware
instalado nele, apenas aguardando algum iPhone se conectar a ele. Com apenas um minuto
de conexo com o aparelho, ele j consegue infectar o sistema da ma.
O malware foi capaz de comprometer completamente o sistema, independente das
aes do usurio. A equipe que desenvolveu esse carregador modificado j contatou a
Apple, e eles esto vendo o que pode ser feito para evitar que crackers usem isso.
Foto do carregador alterado:

Imagem: Canal iPhone

Para android tambm h muitos, muitos, MUITOS malwares. Alguns so disponveis at


gratuitamente, como o caso do trojan AndroRAT, para android, que tem vrias
ferramentas como escuta telefnica, visualizao das cmeras, gravao do microfone e etc.

Trojan AndroRAT para invaso de Android, disponvel gratuitamente:

Imagem: MackHacker

Tambm h ferramentas de pentest para Android, como o Dsploit, disponvel


gratuitamente na Play Store, com vrias utilidades, como sniffer de sesses, DNS Poisoning,
etc...
Print do Dsploit rodando em um tablet:

Imagem: Google PlayStore

No prximo captulo ns vamos ver como os malwares passam despercebidos pelas


ferramentas antivrus. At l!

Hoje ns estudaremos sobre as tcnicas usadas para fazer com que malwares consigam se
instalar no PC das vtimas, sem que sejam detectados por programas antivrus.
Existem vrias formas de deixar o malware indetectvel, mas sem dvida, a mais
conhecida e mais usada a de criptografar o cdigo dele.
A criptografia basicamente serve para fazer com que um determinado cdigo fique
ilegvel ao computador. E isso que o crypter faz.

9.1 Crypter Esse software carrega o malware, joga o cdigo dele na memria do
sistema, embaralha o cdigo, criptografa e ento salva o arquivo, em um novo executvel.
Quando esse novo executvel aberto, o programa automaticamente organiza o cdigo e
remove a criptografia, fazendo o processo inverso. S a que o malware de fato executado.
Isso acontece porque os antivrus tm uma base de dados com vrias strings
suspeitas. Quando um programa com alguma dessas strings executado, o antivrus
reconhece aquilo como uma ameaa e no deixa ele ser executado.
como se fosse uma revista policial na porta de uma boate, onde o policial revista
todas as pessoas que tentam entrar, e se algum tiver algum item ameaador, essa pessoa
barrada pela polcia, que no deixa ela entrar na boate.
Screenshot de um crypter que usa a chave AES ou RC4 como criptografia:

Imagem: HackPCOnline

O crypter dividido em duas partes: O client e a Stub.


O client a parte grfica, o programa em si, onde voc carrega o malware para ser
criptografado. Mas um arquivo criptografado nunca poderia ser executado, pois seu cdigo
ilegvel. a que entra a stub.
A stub se responsabiliza por fazer o processo inverso do crypter, ou seja, ela gera um
cdigo que anexado ao malware, e faz com que esse cdigo seja executado antes do
malware. Esse cdigo que faz toda a descriptografia do cdigo, tornando o malware um
executvel novamente, e dessa vez, sem passar pelos antivrus.

9.2 Binders Os binders (ou joiners) so softwares usados para juntar dois ou mais
arquivos. Eles so usados geralmente em conjunto com os crypters, e alguns crypters tm
at essa funo implementada nele mesmo.
Quando os arquivos so submetidos ao binder, ele compacta os cdigos dos
executveis e os coloca em pilha, logo abaixo do cdigo de descompresso. Os binders tm
uma espcie de stub acoplada neles mesmos, que se encarrega de fazer esse servio de
descompresso. Quando o executvel bindeado executado, a stub roda o cdigo de

descompresso, que joga os cdigos dos executveis na memria como se tivessem sido
executados separadamente.
Imagem do Cactus Joiner, o binder mais conhecido:

Imagem: PerlBal

Isso til quando voc quer infectar uma vtima mas no tem uma boa engenharia
social para fazer com que ela execute um programa que no funciona (pra ela), ento voc
junta o server do trojan com alguma foto, vdeo ou com outro programa, e manda para ela.
Quando executado, os dois sero executados, mas o server ser executado em modo
stealth, ou seja, em silncio, sem a vtima saber.

9.3 Packers Os packers so um pouco diferentes dos crypters. Eles funcionam


como o Winrar, servem para compactar o cdigo e deix-lo bem menor que o original.
A diferena dos packers para o winrar que o winrar, quando extrado, retorna o
executvel original, com seu tamanho original, enquanto o packer compacta o executvel
por inteiro, ocorrendo a descompactao apenas em run-time.
Como assim, Nick?
Supondo que voc use um packer em um servidor de trojan que tem 455kb. Voc
comprime esse server com um packer, e na compresso esse tamanho vai para 122kb.
Quando a vtima executar esse servidor comprimido, ele vai se autodescompactar, sem criar
novos arquivos, tudo feito na memria.
Upx rodando no Windows XP:

Imagem: Softonic

O arquivo compactado contm o cdigo original e um cdigo de descompresso. O


cdigo de descompresso vai na primeira sesso do executvel, para ser o primeiro trecho
de cdigo a ser executado.
Quando o executvel executado, o cdigo de descompresso joga o cdigo original
na memria e descomprime, fazendo como se ele tivesse sido executado normalmente. O
funcionamento dele parecido com o crypter, e com o binder o fluxograma o mesmo,
veja:
Crypter: Entrada Criptografia Sada Execuo Descriptografia
Binder: Entrada Anexamento Sada Execuo Desacoplamento
Packer: Entrada Compresso Sada Execuo Descompresso
O problema dos packers que eles geram sempre o mesmo cdigo, ento, os mais
conhecidos j esto detectveis aos antivrus. Por exemplo, o packer UPX, que o mais
conhecido, adiciona em dois lugares do executvel a string UPX0 e UPX1, para dizer que
ali est o cdigo de descompresso. Dessa forma, os antivrus conseguem detectar que o
executvel est compactado com o UPX, e ele j o reconhece como uma ameaa, mesmo
que no seja.
Outra desvantagem do packer que seu cdigo de descompresso fica na primeira
sesso do executvel, ento mais fcil para um hacker encontrar o cdigo e fazer a
operao reversa. O nome disso anlise de malware, e isso feito por meio da engenharia
reversa, que so os nossos prximos captulos. Vamos l.

Com o surgimento exponencial de malwares, necessrio que pessoas se


especializem em acabar ou ajudar a acabar com eles. Pra isso que serve a Anlise de
Malware.
Eu gosto muito dessa rea do hacking, porque ela meio que faz uma dissecao no
malware, e voc consegue ver tudo que tem dentro dele, e o que ele faz. Eu tenho a mania
de pegar componentes eletrnicos quebrados e abrir para ver como funciona, isso desde
criana, eu fazia isso com meus brinquedos.
Voc j assistiu CSI? Aquele seriado americano que mostra a investigao da cena do
crime? A anlise de malware basicamente isso.
O analista consegue o(s) arquivo(s) do(s) malware(s), e usando tcnicas, consegue
identificar como foi feito, por quem foi feito, quando foi feito, sua utilidade e o que ele fez
no computador da vtima.
O ato de coletar dados em um sistema vivo (ou seja, que no foi totalmente
comprometido pelo malware) causa algumas mudanas que o analista ter que saber.
Por exemplo, executar ferramentas como o Helix(distribuio linux feita para anlise
forense) a partir de uma mdia removvel ir alterar dados volteis quando for carregado na
memria principal, e normalmente ir criar ou modificar arquivos e entradas no registro do
sistema a ser analisado. Da mesma forma, usar ferramentas forenses que utilizam da
conexo remota necessariamente e obviamente estabelece uma conexo de rede,
executa instrues na memria, e causa outras alteraes no sistema.
Por isso existem ferramentas que batem um snapshot do computador infectado,
salvando informaes da memria ram, conexes de rede ativas, processos executando,
servios rodando, tempo de execuo, arquivos temporrios criados e etc. Tudo isso salvo
em um arquivo. Esse arquivo emulado em um computador virtual.
O que vem a ser um computador virtual? Computador virtual, ou mquina virtual
(MV) um software onde voc emula o live disc de um determinado sistema.
Ou seja, voc pode executar o linux dentro do seu windows 7, sem precisar formatar!
Se quiser conferir, procure por VMWare, ou VirtualBox no Google. Esses dois softwares so
mquinas virtuais, e funcionam perfeitamente para fazer anlise de malware. Eu
particularmente prefiro o VMWare, j que ele consome bem menos CPU e memria, alm
da performance do sistema a ser emulado ser muito boa.
A anlise de malware consiste basicamente em duas etapas:

10.1 Anlise esttica:Ocorre antes da execuo do malware, quando o analista


observa as strings do arquivo a procura de informaes sobre o criador do malware, estuda
sobrecomo ele atua no sistema operacional, que tipo de tcnicas de ofuscao so
utilizadas, quais fluxos de execuo levam ao comportamento principal planejado, se h
operaes de rede, download de outros arquivos, captura de informaes do usurio oudo

sistema, utiliza ferramentas como disassemblers, decompilers e debuggers para entender


como funciona o cdigo(essas ferramentas sero explicadas mais tarde), procura por
informaes de compilao, como a data em que foi criado, a linguagem utilizada, e se h
algum tipo de compactao/criptografia...

Abaixo um print do software ExeInfoPE, que serve para mostrar o compilador usado:

Imagem: Crimes Cibernticos

10.2 Anlise dinmica:Ocorre na hora execuo do malware, feito em uma


mquina virtual, onde o analista consegue informaes como arquivos criados e interagidos
pelo/com o malware, monitoramento de bibliotecas e systemcalls, chaves no registro
criadas e modificadas, conexo com a internet (callhome), e informaes sobre as funes
reais do malware.

Veja um print do programa Process Monitor mostrando dois arquivos criados por um
trojan:

Imagem: Crimes Cibernticos

Mas a anlise no se limita apenas observao dos componentes e do


comportamento do malware na mquina. Alguns malwares so propagados via email, com
links contendo engenharia social, e por esses emails possvel chegar ao cracker.
Geralmente os assuntos dos emails so algo como Boletim de ocorrncia, ou pagamento
do boleto, etc...

Veja abaixo a screenshot que acabei de tirar com alguns spams que recebi:

Imagem: Acervo pessoal.

Vrios desses emails continham malwares para serem baixados, sendo a maioria
keylogger banker. O keylogger banker um variante do keylogger comum, e tem como
principal caracterstica a obteno seletiva de dados. Falamos dele no ltimo captulo.
Esse tipo de KL interessante para ser analisada, porque ela tem o que ns
chamamos de callhome, quando o malware retorna os dados para a casa do cracker(Na
verdade todos os Keyloggers tem, mas analisar esse tipo mais interessante porque estamos
lidando com um estelionatrio). Assim ns podemos obter o endereo IP dele, ou o site isca
que ele pode ter usado.
Site isca? O que isso, Nick?
Alguns crackers criam scripts que fazem parte do KL, ou que armazenam os dados
ele, e hospedam em sites provavelmente hackeados para que o KL funcione
normalmente. J teve um caso em que o Keylogger banker enviava todos os dados que ele
capturava para uma pgina em txt, em uma pasta com o nome de shellfile. Deduzi que
naquela pasta estavam os arquivos com os logs do KL e a shell que o cracker hospedou.
Ento eu fui colocando combinaes de nomes de arquivos naquela pasta, e acabou
que consegui encontrar a shell. O cracker no tinha s aquele KL que eu recebi por emai,
mas tinha um esquema com vrios. E l estava o arquivo .txt, com todas as senhas. Apaguei
tudo, deletei a shell e avisei para o admin que um bandido estava usando o site dele para
roubar pessoas.
Veja abaixo as strings de um KL Banker, e note os sites em que ele atua:

Imagem: Crimes Cibernticos

Nesse captulo falaremos um pouco sobre engenharia reversa, bem como suas
utilidades, funes, etc...
Primeiro, o que engenharia reversa?
Engenharia voc sabe que o estudo que constri as coisas. Engenharia civil, naval,
etc.. Tudo isso visa a construo de coisas para melhorar as condies da utilizao delas.
A engenharia reversa surgiu com a ganncia em poder do ser humano, e foi usada
para desconstruir equipamentos blicos e entender como eles funcionam, para que o
exrcito pudesse construir equipamentos melhores e mais sofisticados, e assim ter uma
certa superioridade militar. Atualmente a engenharia reversa muito usada pelas grandes
empresas para saber como seus concorrentes esto usando a tecnologia para conseguir
dinheiro.
Por exemplo, a fbrica da Samsung compra vrios iPhones 6 e os desmonta para ver
os componentes que tem dentro dele, estudar os chips e etc... Tudo isso para aumentar a
possibilidade de fazerem algo melhor na prxima verso.
O nome reversa j diz tudo. A engenharia reversa o estudo de um objeto, seja um
processador, celular, relgio, ou algum software. Esse estudo realizado quando o objeto
desmontado para suas peas, componentes e comandos possam ser analisados.
Qual a utilidade disso, Nick?
Isso feito para descobrir como ele foi fabricado, como ele poderia ser melhorado e
que outras funes ele poderia realizar.
Foi atravs da engenharia reversa, por exemplo, que a fabricante de processadores
AMD conseguiu fazer uma cpia exata do processador Intel 8080, no ano de 1975.
A empresa provavelmente comprou alguns processadores da Intel, abriu-os e os
estudou detalhadamente, conseguindo criar uma cpia perfeita atravs de tentativa e erro.
Abaixo vemos uma foto do processador Intel 8080:

Imagem: Wikipdia

A engenharia reversa est mais prxima de voc do que voc imagina.A pirataria de
CDs e DVDs utiliza a engenharia reversa para descobrir como funciona a proteo anticpia
dos discos, e assim remov-la.
Engenharia reversa no software
A engenharia reversa de software a mesma coisa que na vida real. Usa-se de
programas para conseguir o cdigo primitivo de compilao do programa, pausar a execuo
do mesmo para analisar seu comportamento no sistema, etc...
Uma cena bem comum de acontecer um software ter sido usado por muitos anos.
Durante esses anos, ele foi corrigido, adaptado e aprimorado diversas vezes. Porm, a cada
vez que o programa era aprimorado e adaptado, outros problemas apareciam, causando
efeitos na hora da execuo.
Agora o software est instvel, porm, continua sendo usado, e precisa ser
reformulado e reescrito para que funcione normalmente, junto com as tecnologias atuais.
Utilizando-se da engenharia reversa, o hacker consegue entender como o software
foi programado, com qual motivo o programador fez determinado cdigo, entre vrias
outras coisas... E assim ele pode reconstruir o programa usando o antigo como base.
Mas, como isso tudo feito em um computador?
Usando ferramentas que foram criadas especialmente para isso. Existem diversos
tipos de ferramentas para a anlise de software, cada uma com uma funo especfica. Vou
citar algumas das mais utilizadas e explicar o que elas fazem.

Disassembler: um programa que converte o cdigo de mquina (binrio) para uma


linguagem de programao de baixo nvel, como assembly, por exemplo. Quando o
programa est executando, o processador interpreta os cdigos em binrio (apenas 0 e 1), e
o disassembler se responsabiliza por transformar o binrio para uma linguagem de
entendimento humano.
Debugger: um software usado para a depurao de erros no programa. Ou seja,
tem um programa que est dando erro e voc quer saber qual o problema. Voc usa um
debugger, ele ir travar o cdigo do programa na linha em que o erro aconteceu, mostrando
a instruo em Assembly que contm o erro. So usados por analistas de software.
Decompiler: Aprendemos que o compilador transforma a linguagem de programao
em cdigo de mquina. O decompiler faz o contrrio. Linguagens que usam mquinas
virtuais (como .NET e Java) so mais fceis de descompilar, porque as mquinas virtuais
contm informaes que facilitam o processo de descompilao.

11.1 Software Cracking


Bem provvel que voc esteja lendo isso em um sistema operacional pirateado, como
o Windows. Isso s possvel porque uma equipe de crackers se dedicou a entender como
funciona o sistema de verificao de serial do Windows, para conseguir quebr-lo e fazer
com que ele possa ser distribudo gratuitamente na internet.
Como os crackers usam sempre o conhecimento para realizar aes ilcitas, eles
tambm
usam
conhecimento
de
engenharia
reversa
para
desenvolver
cracks/patchs/keygens para programas pagos, causando muito prejuzo para os autores.
Geralmente, quando voc baixa ou compra um software com um perodo de testes
(Trial) ou pago, possvel inserir um nmero serial para valid-lo, e assim poder usar at
expirar a licena. A maioria deles, esconde os seriais vlidos dentro do prprio cdigo-fonte,
facilitando o trabalho dos crackers, enquanto outros fazem a validao pela Internet,
tornando tudo mais difcil. Mas como vocs sabem, nada to seguro que no possa ser
quebrado. Na teoria, crackear um software pago simples. O cracker pode fazer de trs
formas:
1 Descompilando o software e obtendo a chave de ativao que est salva nele
mesmo. Nesse caso, o software pede para que voc insira a key de ativao, e ele entra em
uma estrutura condicional com a key que voc entrou, e verifica se a key entrada bate com a
key original. Se bater, ele deixa voc usar, se no, ele exibe uma mensagem de erro. Dessa
forma o cracker pode obter a key original com a qual o software faz a verificao,
distribuindo publicamente o serial de ativao.
2 Criando uma rotina que aceite qualquer tipo de serial entrado. Por exemplo, o
software faz a seguinte validao: Se a chave entrada for igual a essa: 123; Ento, deixe-o
usar o programa. Ento o cracker modifica essa condio, para que o programa aceite
qualquer key entrada. Ficaria assim: Se alguma chave for entrada; Ento, deixe-o usar o
programa. Logo, qualquer chave entrada vlida ou no seria aceita, e o programa
funcionaria normalmente.
3 Removendo totalmente qualquer tipo de verificao que o programa venha a
fazer, e ativando-o automaticamente. Antes do bloco de cdigo em que o programa faz a
verificao sobre a chave utilizada o cracker coloca um desvio, que envia o fluxo para depois
do cdigo, e ento a ativao feita. Ou seja, o programa executaria, mas, quando chegasse
a hora de exibir a pop-up pedindo a chave de ativao, ele pularia para a etapa depois dessa
verificao, e o valor que define se o programa est ativo ou no seria alterado, para fazer
como se ele estivesse ativo. O nome dessa tcnica patching.
Lembrando que essas tcnicas s funcionam com programas que fazem ativao por
meio de comparao de strings, comparando a key que voc submeteu com a key original,
que est contida no programa. Programas que fazem ativao online so mais complicados
de serem quebrados.

Vamos falar um pouco sobre Criptografia. Primeiro vamos desmistificar os


significados por trs desse nome lindo.

Criptografia:Essa palavra vem do grego krypts, "escondido", e grphein, "escrita,


e significa literalmente escrever de uma forma oculta. As primeiras formas de criptografia
datam de 1900 A.C, no Egito, onde um escrivo utilizou de hierglifos fora do padro para
escrever uma carta. Essa carta estava criptografada, porque a mensagem era ilegvel para
quem no tinha conhecimento da criptografia utilizada. A criptografia tambm foi muito
utilizada na primeira e segunda guerra mundial, para enviar mensagens sobre estratgias e
outras informaes confidenciais.
Atualmente, a criptografia est integrada em quase todos os sistemas virtuais que
conhecemos, tendo seu uso nas mais variadas reas da informtica. Por exemplo: Voc quer
realizar uma compra em um site, e precisa colocar suas informaes bancrias nele, mas
voc corre o risco de estar sendo monitorado por algum cracker, s esperando voc digitar
sua senha para que ele possa roubar. a que entra a criptografia. Quando voc entra com
seus dados bancrios, o servidor se responsabiliza por criptografar os dados de uma forma
que apenas ele consiga fazer o processo reverso.
Abaixo vemos a string 123 criptografada com o MD5:

202cb962ac59075b964b07152d234b70
A criptografia pode ser utilizada para proteger arquivos tambm. Um programa bem
conhecido o TrueCrypt, que criptografa todos os arquivos de uma determinada partio do
HD, e eles s podem ser utilizados se forem descriptografados. Como ns falamos no
captulo de malwares, os RansomWares usam dessa tecnologia para obter proveitos sobre a
vtima.
A unidade de nvel de segurana da criptografia o bit, e ele dado pelo tamanho
das chaves. Por exemplo, uma chave criptogrfica de 8 bits pode gerar at 256 combinaes
diferentes (28). um nmero bem pequeno de combinaes, j que existem programas que
conseguem descobrir as senhas pelo mtodo de tentativa e erro (Brute Force). J uma chave
de 128 bits tem 3,4x1038 combinaes diferentes (2128). Um nmero to grande que levariam
dcadas, talvez sculos para um computador quebr-la pelo mtodo de brute force.
O bruteforce uma tcnica em que criptografado vrias strings, e o hash originado
dessas criptografias comparado com o original, at que a comparao bata, e a criptografia
seja quebrada. No entendeu? Veja:
Temos a palavra alicate, e queremos criptograf-la. Ela ento criptografada fica
assim: Bk3j#1qa!j5Gi96vS$. Essa a nossa hash. Vamos supor que ns no sabemos que
essa hash significa alicate e queremos descobrir. Ns submetemos essa hash para um
programa que vai gerar vrios caracteres diferentes e vai criptografando o resultado.
Haver um momento em que o programa por uma questo matemtica vai gerar
a palavra alicate, ela ser criptografada. O hash gerado ser o mesmo hash que foi
submetido, e ento a criptografia ser quebrada. assim que os sites conseguem quebrar
a criptografia que voc submete eles.

Uma chave criptogrfica um valor secreto que modifica um algoritmo de


encriptao. A fechadura da porta da frente da sua casa tem uma srie de pinos. Cada um
desses pinos possui mltiplas posies possveis. Quando algum pe a chave na fechadura,
cada um dos pinos movido para uma posio especfica. Se as posies ditadas pela chave
so as que a fechadura precisa para ser aberta, ela abre, caso contrrio, no.
As criptografias atuais podem ser de dois tipos: De chave simtrica e assimtrica.
Nas criptografias de chave simtrica, a mesma chave utilizada tanto pelo emissor
quanto por quem recebe a informao. Ou seja, a mesma chave utilizada para codificao
e para a decodificao dos dados. usada nos casos em que a informao codificada e
decodificada por uma mesma pessoa, sem haver o compartilhamento da chave secreta.
Porm, quando estas operaes envolvem pessoas ou computadores diferentes,
necessrio que a chave secreta seja previamente combinada por meio de um canal de
comunicao seguro (para no comprometer a confidencialidade da chave). No
recomendado seu uso para guardar e enviar informaes muito importantes. Exemplos de
mtodos criptogrficos que usam chave simtrica so: AES, Blowfish, RC4, 3DES e IDEA.
Nas criptografias de chaveassimtrica, so utilizadas duas chaves distintas: uma
pblica, que pode ser livremente divulgada, e uma privada, que deve ser mantida em
segredo por seu dono. Quando uma informao codificada com uma das chaves, somente
a outra chave do par pode decodific-la. Qual chave usar para codificar depende da proteo
que se deseja.
A chave privada pode ser armazenada de diferentes maneiras, como um arquivo no
computador, um smartcard ou um token. Exemplos de mtodos criptogrficos que usam
chaves assimtricas so: RSA, DSA, ECC e Diffie-Hellman.
Para aproveitar as vantagens de cada um destes mtodos, o ideal o uso combinado
de ambos, onde a criptografia de chave simtrica usada para a codificao da informao e
a criptografia de chaves assimtricas utilizada para o compartilhamento da chave secreta
(neste caso, tambm chamada de chave de sesso). Este uso combinado o que utilizado
pelos navegadores Web e programas leitores de e-mails. Exemplos de uso deste mtodo
combinado so: SSL, PGP e S/MIME.
O SSL(Security Socket Layer) uma camada de segurana que permite que o cliente e
servidor possam se comunicar, visando a segurana na informao e integridade dos dados.
Uma conexo utilizando SSL sempre iniciada pelo cliente. Quando um usurio
solicita a conexo com um site seguro, o navegador web (Firefox, Internet Explorer, Opera,
Chrome, etc.) solicita o envio do Certificado Digital e verifica se:
a)O certificado enviado confivel.
b)O certificado vlido.
c)O certificado est relacionado com o site que o enviou.
Uma vez que as informaes acima tenham sido confirmadas, a chave pblica
enviada e as mensagens podem ser trocadas.

Na imagem abaixo possvel entender como o SSL funciona:

Imagem: Tecmundo

O SSL responsvel pelo S depois do HTTP em alguns sites. Por exemplo, na


pgina de login do Facebook o link https://facebook.com.
Esse S significa Secured (seguro), e quer dizer que os dados enviados pelo
formulrio dessa pgina estaro seguros, pois sero criptografados pelo SSL antes de chegar
no servidor.
Falar de criptografia a fundo bem complicado, porque exige muito conhecimento
matemtico sobre o assunto, e no bom falar sobre esse tipo de coisa em um livro para
iniciantes, isso pode confundir a cabea de vocs.
Nos vemos no prximo captulo, onde falaremos sobre segurana e anonimidade na
web, tal como as ferramentas, tcnicas e cuidados que devem ser tomados.

Quando falamos de segurana em hacking, deveremos tambm falar de


anonimidade. Mas vamos falar sobre cada item desse separadamente.
Antes de invadir um site, ou atacar qualquer outra coisa, necessrio ter certeza que
seu IP no fique nos logs, e sempre bom utilizar um IP Spoofado para isso. J expliquei no
captulo de DoS o que spoof. Trata-se de uma tcnica onde o atacante modifica o IP da
requisio, fazendo com que seus passos fiquem marcados com um IP falso.
Isso pode ser feito usando uma VPN ou proxy. As duas ferramentas tem finalidades
parecidas: Alterar o IP do cliente. A diferena a aplicao delas.Lembrando que falarei
apenas sobre Proxys WEB nesse captulo.
Primeiramente vamos entender o que Proxy e VPN.
Proxy um servidor que trabalha como um intermedirio nas conexes. Ou seja, ao
invs de voc se conectar diretamente ao servidor do Facebook, voc se conecta ao servidor
do proxy que envia os dados para o Facebook, e vice-versa. O IP que ficar registrado nos
logs quando voc acessar uma pgina o IP da proxy, e esse IP pode ser de origem
estrangeira, ou seja, voc pode acessar um site como se fosse um usurio americano.
Ao contrrio de servidores VPN, servidores proxy no dedicam seus recursos para
criptografar todo o trfego que passa por eles, e, portanto, pode aceitar conexes
simultneas de um grande nmero de usurios.
Veja o diagrama abaixo para entender o funcionamento das proxys.

Imagem: Viva o Linux

VPN (Virtual Private Network) como o prprio nome diz uma rede virtual
privada. Com ela voc pode acessar redes locais remotamente (um tanto quanto irnico,
no?), por exemplo, pode acessar a rede interna do seu trabalho direto da sua casa.
A utilizao da internet como forma de conexo entre dois computadores uma
tima soluo em termos de custo, j que barato obter acesso internet, mas no uma
boa ideia em termos de privacidade, pois a internet uma rede pblica, onde os dados que
transitam nela podem ser lidos por qualquer pessoa.
Essa questo pode ser resolvida simplesmente com o uso da criptografia, que
estudamos no ltimo captulo.
possvel entender o funcionamento de uma VPN com o diagrama abaixo.

Imagem: VPN Revista

O proxy web utilizado para alterar o seu IP de acesso em algum site, mas essa
modificao s feita no navegador. O IP de outras conexes continua normal. Isso til
porque voc pode ativar e desativar a proxy de uma hora para outra, sem precisar ficar
esperando a internet reconectar e etc, diferente do VPN, que altera o IP para toda a rede.
Isso pode fazer com que outros programas que usam internet tambm fiquem lentos, como
Torrent ou Skype, por exemplo.
Ou seja, usando um proxy, o IP que voc se conecta aos servidores do Skype
diferente do IP que voc usa para acessar algum site. J quando voc usa VPN, o IP muda
para todos os programas que se conectam internet.
H diversas maneiras de invadir uma mquina rodando algum programa de proxy. O
mtodo para cada tipo de proxy depende de sua verso e do sistema operacional no qual
roda. Mas h algumas vulnerabilidades que funcionam em qualquer plataforma, pois so
inerentes tecnologia e no implementao da tecnologia por um determinado
desenvolvedor.

Anti-Virus
Impossvel falar de segurana virtual e no falar sobre antivrus. Todos usam, dos
mais diversos tipos. Mas, voc j parou para pensar como funciona o antivrus?
Como j foi falado antes, os anti-virus atuais contam com um gigantesco banco de
dados com vrios tipos de malwares que so detectados e cadastrados l a cada atualizao.
Nesse banco de dados tem vrias strings e registros suspeitos que so feitos pelos malwares.
Por exemplo, os trojans geralmente criam uma entrada no registro em
HKLM/Software/Microsoft/Windows/CurrentVersion/, ou seja, qualquer arquivo que tenha o
cdigo para modificar essa chave j detectado como sendo um trojan (mesmo que no
seja), com exceo dos falsos-positivos.
Os falsos-positivos so programas que contm alguma parte do cdigo considerada
suspeita, e os antivrus mandam-no para quarentena para ser analisado. constatado ento
que se trata de um arquivo no malicioso, e ento uma nova lista com os malwares
atualizada, dessa vez, sem esse falso-positivo na lista.
Apesar do mtodo de reconhecimento citado acima ser o mais utilizado e efetivo na
maioria dos casos, existem outras formas de um antivrus encontrar acabar com essas

ameaas no sistema. O mtodo chamado de anliseheurstica monitora constantemente


as atividades do computador e entra em ao quando algum programa tenta modificar
configuraes do sistema ou arquivos importantes.
Pelo fato de vrus inditos surgirem todos os dias, a biblioteca pode deixar alguma
ameaa passar batida pela segurana inicial. Com a anlise heurstica, esse invasor pode ser
descoberto enquanto age silenciosamente.
Outra lgica usada para acabar com os malwares a utilizao de sandbox (caixa de
areia). Nesse caso, o antivrus simula um ambiente (como se fosse uma mquina virtual,
emulando acesso ao registro e componentes) para avaliar o comportamento de alguns
arquivos e executveis. Se a reposta for positiva, um alerta disparado e a ameaa enviada
para anlise (j que no havia sido detectada antes).
O antivrus que eu recomendo voc usar o Avira, mesmo que seja o free. Digo isso
porque por algum tempo eu utilizei crypters, e acabei usando algumas tcnicas para fazer os
meus prprios, e o Avira era o AV mais difcil de ser removido. Recomendo tambm o
Malwarebytes, que tambm bem difcil de ser removido por algum crypter. J utilizei os
dois juntos, e no ocorreu nenhum conflito.
Para ficar seguro, um antivrus apenas basta, no mximo dois. No adianta encher o
PC de antivrus, isso s vai deixar a mquina lenta, e pode at fazer com que eles no
funcionem direito, j que um entrar em conflito com o outro.
Mas a segurana no depende apenas do antivrus, voc tambm deve tomar
cuidado. Voc deve se policiar na hora de baixar algum arquivo ou entrar em algum site
suspeito. Por isso eu recomendo que voc aprenda a analisar malwares. Como eu disse na
primeira pgina do livro, escreverei uma segunda edio com os ensinamentos na prtica,
tudo explicadinho como na teoria. Mas isso coisa mais para frente, porque isso d bastante
trabalho.

Firewall
Outro software para aumentar a segurana em seu computador o Firewall. Eles so
bem teis, e super recomendado utiliz-los juntamente com um anti-virus.
Os antivrus so bons, mas eles podem no bloquear a infiltrao de malwares pela
rede. Alguns anti-virus at vm com firewall prprio, mas a maioria pago, como Avast ou
Avira.
Um firewall bem configurado pode bloquear tentativas de conexes externas,
registrar as tentativas de acesso aos servios habilitados no seu pc, bloquear a sada indevida
de dados do seu computador para algum site ou servidor (isso feito porque o malware
pode capturar seus dados e enviar para o cracker via internet), evitar que um malware j
instalado no seu PC se propague, infectando arquivos e outros computadores da rede.
O prprio Windows j vem com um firewall prprio, mas no muito bom. Eu
recomendo o uso do Comodo Firewall. Ele um timo firewall, e se for bem configurado,
pode at blindar o seu PC, de certa forma. Se um arquivo tentar modificar alguma chave no
registro, ele vai dizer. Se tentar se conectar com algum servidor, ele vai avisar tambm, e a
conexo s ser feita se voc permitir. Ele um timo software, e gratuito.
O Comodo possui um filtro anti phishing tambm, que til para no cair em pginas
fakes.

Eles j vm configurado de fbrica, mas sempre bom voc dar uma atualizada nas
configuraes para deix-lo mais ativo. As configuraes recomendadas pela Cartilha de
Segurana so: liberar todo trfego de sada do seu computador (ou seja, permitir que seu
computador acesse outros computadores e servios) e bloquear todo trfego de entrada ao
seu computador (ou seja, impedir que seu computador seja acessado por outros
computadores e servios) e liberar as conexes conforme necessrio, de acordo com os
programas usados.
Se voc no sabe ao certo como configurar seu firewall, seja ele por software ou
hardware, NO utilize o mtodo das tentativas, pois isso pode colocar seu computador em
grande risco, causando perda de dados, trfego de informaes indevidas e grandes dores
de cabea. Digo isso por experincia prpria. Quando instalei o Comodo pela primeira vez,
no sabia como configurar, e fui mexendo em vrias coisas. Ele estava bloqueando tudo e
no pedia permisso. Ento eu removi, sem voltar s configuraes padro. Resultado:
Fiquei sem internet por um bom tempo, at fazer a restaurao do sistema e voltar ao que
era antes. Prefira pedir ajuda para algum que entende um pouco mais do assunto.
J que estamos no embalo de segurana e anonimidade, no prximo captulo
falaremos um pouco sobre a deep web.

Muito se fala hoje em dia sobre Deep web. Alguns tm medo, outros entram e
acessam vrios sites, outros sequer entram e falam como se j tivessem anos de experincia.
Meu objetivo nesse captulo explicar de fato o que Deep web, que na verdade um
termo que perdeu o significado por conta de sua polmica.
O conceito original de Deep web : Contedo no indexado pelos buscadores.
Como assim, Nick?
Se voc entrar no Frum Guia do Hacker, entrar em algum tpico, copiar o contedo
dele e pesquisar isso no Google, ele vai retornar o link do tpico que voc retirou o texto.
Isso acontece porque o Frum est indexado no Google, e em outros buscadores, como
Bing, Yahoo e etc. Agora faa o teste: Entre no facebook e abra algum grupo
secreto/privado. Faa a mesma coisa, copie o contedo de algum post e cole no Google.
Nenhum resultado daquele grupo ser retornado. Isso acontece porque o Facebook
configurado para no exibir o contedo de grupos secretos. No s esse contedo, como
tambm vrios outros. por esse motivo que no se pode encontrar conversas via chat de
outras pessoas no Google.
Ento, todo o contedo desse tal grupo privado est na Deep web, apenas por no
ser indexado nas ferramentas de busca.
Estranho? Pois , isso para voc ver como as pessoas modificam o conceito de uma
coisa apenas para gerar polmica.
Redes intranet com sistemas prprios tambm esto na deep web, pois seu contedo
acessvel apenas para quem estiver na rede, e como os buscadores no esto, impossvel
de encontrarem algo.
Sabe aquela frase se no t no google, no existe? Pois , ela est errada, e a prova
disso est a.
E como os sites fazem para algo no ser indexado?
Bom, existe uma ferramenta chamada robots.txt. apenas um arquivo de texto
localizado na raiz dos sites que permite que os motores de busca saibam o que fazer com
determinado site. Veja voc mesmo, abra o link http://facebook.com/robots.txt
Note que esse arquivo de texto contm os comandos User-agent: Buscador,
seguido de vrios Disallow: Pasta. O User-agent serve para definir qual engine de busca
ser responsvel pela prxima sequncia de comandos. Ou seja o comando
User-agent: Googlebot
Disallow: /ajax/
Faz com que o Google no indexe a pasta /ajax/ em suas pesquisas.
Notem que h vrias pastas e arquivos como /feed/, /album.php, /photos.php,
/hashtag/, de vrios buscadores diferentes. Ou seja, nenhuma dessas pastas e nenhum
contedo proveniente delas ser indexado nesses buscadores. Tente fazer uma pesquisa em
algum deles por algum contedo que esteja dentro dessa pasta. Voc no vai achar, pois
est na Deep web.

Mas e a Deep que ns conhecemos, com gore, black market e outras coisas?
Esse a chamada rede TOR. O TOR uma rede de proxys interligadas umas s outras,
e faz com que todos os computadores sejam conectados entre si. Ou seja, para acessar um
site nessa rede, o pacote sai do seu PC, viaja atravs da proxy e chega at outro PC, esse
outro PC envia seu pacote para outro, e assim vai enviando at chegar no site que voc
queria, e o mesmo acontece ao contrrio. Isso faz com que a rede fique muito lenta.
TOR significa The Onion Router, que traduzindo ao p da letra seria algo como O
roteador da cebola. Mas por que ele recebe esse nome? Bom, certamente se voc j cortou
uma cebola ao meio (e chorou), deve ter notado que ela contm vrias camadas, como se
fossem folhas, uma sobrepondo a outra, at formar a cebola completa. mais ou menos isso
que acontece dentro do tor, mas espere, explicarei sobre isso melhor agora.
Na verdade no existem camadas, nunca existiram. Esse termo muito, muito
utilizado na internet, de forma errnea, principalmente pelos que no entendem de redes.
As camadas na qual eles se referem so na verdade as linhas de conexo das proxys.
Veja o desenho que montei abaixo para exemplificar algumas camadas.

Imagem: rMonteux. Edio: Nicholas Ferreira.

Como voc pode ver, quando Felipe deseja se conectar um site na rede TOR,
sua requisio passa por vrios computadores, com faixas de IP diferentes, at
chegar no site, que retorna ento o contedo para Felipe, que novamente passado
por vrios outros computadores at chegar nele. Essas que so as camadas.
Ento j sabe, quando ouvir algum falar sobre primeira camada, stima
camada, marianas web, blablabla, j sabe que tudo conversa fiada, nada disso
existe.

Existem outras redes parecidas com o TOR, como a i2p, Freenet, Closs (Closed
Shell System), e elas tambm so chamadas de camadas. So na verdade outros
algomerados de computadores interligados pela rede proxy. Algumas dessas redes
so bem complicadas de se conseguir conectar, como a rede Closs. E como so mais
difceis, obviamente h mais contedo privado e ilegal l dentro.
Na prpria .onion do TOR tem bastante coisa, como o Black market (mercado
negro, vende armas e drogas), Assassination Market (Contrate um hitman para matar
algum), Pedochan (Frum de pedofilia), Alm de vrios sites de gore (fotos e vdeos
de coisas bizarras, como um homem cozinhando um beb), e etc... O que eu disse at
aqui experincia prpria, coisas que eu mesmo vi, no estou inventando nada. H
tambm fruns e sites hackers, com contedos bem interessantes, alm de vrias
bibliotecas com GBs de livros em PDF para baixar. (Quem sabe um dia esse livro v
pra l, rs)
Existe tambm o TorMail, um sistema de envio de email annimo que utiliza
criptografia pesada para garantir a segurana e integridade dos dados. Voc tem que
usar sua conta no tormail para se cadastrar em sites no TOR (ou vai querer deixar seu
email exposto? Nunca sabemos as tcnicas descobertas que no foram divulgadas
ainda). O cadastro gratuito, e o modelo email@tormail.org.
H quem diga que o governo de alguns pases escondem informaes
confidenciais l (principalmente os EUA, com assuntos sobre rea 51, caso Roswell,
etc), mas eu no acredito muito. Seria muita ingenuidade da parte deles hospedar
contedo confidencial em uma rede com vrios hackers/crackers, dos mais diversos
pases.
Mas h bastante contedo, tanto sobre hacking quanto sobre outras coisas. J
baixei vrios livros na TorLibrary, todos em PDF. Mas voc deve tomar cuidado ao
baixar alguma coisa, no pode sair baixando tudo que tem l, por isso, mantenha seu
antivrus atualizado e seu firewall bem configurado.

No escreverei o FAQ aqui porque ficaria muito grande, ento disponibilizarei o link
para que vocs acessem. O tpico foi escrito por Void_Witch. Link do tpico abaixo.
http://forum.guiadohacker.com.br/showthread.php?t=36173
Se no funcionar, copie e cole no navegador.
Ento isso. Eu espero de corao que todos tenham entendido tudo que eu
expliquei aqui, espero que no fiquem com raiva por eu no ter ensinado nada na prtica
(farei isso no prximo livro).
Qualquer dvida sobre algum contedo, escrevam no tpico em que este livro foi
postado que eu tentarei responder assim que possvel.
Deu muito trabalho para escrever tudo de forma explicativa, formatar, inserir
imagens e deixar tudo com uma boa linguagem para que iniciantes possam entender, ento
eu peo encarecidamente que, por favor, se for copiar qualquer parte deste livro, deixe os
devidos crditos.
Se voc no gostou do livro porque acha que o contedo bem bsico, bom, sinta-se
feliz, voc j passou da fase difcil que entender o bsico. E se voc gostou, eu me sinto
feliz por ter te ajudado a iniciar nos estudos.
Apenas ler este livro ou outros do mesmo contedo no te faz ser um hacker.
Voc precisa estar estudando sempre, para que esteja em constante evoluo. Nunca deixe
para trs s porque voc no consegue. No sou muito adepto frases motivacionais, mas
sei como se sentir frustrado por no conseguir fazer algo que quer muito. Mas j pensou se
Newton ou Nikola Tesla tivessem desistido nos primeiros erros? Pois , a histria seria outra,
e talvez voc nem estaria lendo isso.
Sou ruim para finalizaes e concluses, mas vou ficando por aqui. Mais uma vez, se
voc est lendo isso, obrigado pela pacincia. Qualquer erro, desculpe-me, o primeiro
grande artigo que escrevo (72 pginas!), ento tenho um desconto, rsrs. At a prxima,
tchau e bons estudos!

FIM

BestVPN: Proxyes & VPNs


Blog Inurl: Google hacking dorks
Brutal Security: Footprint x Fingerprint
CanalTech: Packers
CM: The 10 most destructive PC viruses
ComodoBR: SSL
Crimes Cibernticos: Anlise de malware
Digitro: Linguagens de programao
Dipartimento di Informatica: Rete di computer
Exploit-db: About 0day exploits
Fergonez: Ferramentas para Engenharia reversa
Frum Guia do Hacker: "Como Crackers conseguem acesso ao seus dados" by Hackuv
Frum Guia do Hacker: "Como funciona um KL Bank feito em Delphi" by Hackuv
Frum Guia do Hacker: "Como os Ladres agem ao Clonar seu carto" by Hackuv
Frum Guia do Hacker: "FAQ" by Void_Witch
Frum Guia do Hacker: "Para roubar um caixa eletrnico, basta teclado e pendrive" by Hackuv
IANA: Service Name and Transport Protocol Port Number Registry
Infowester: Bluetooth
Kaspersky: Tunneling Protocol
Keelog: Hardware Keylogger
Kevin Mitnick: A arte de enganar
Kevin Mitnick: A arte de invadir
Mashable: From Hearthbleed to the NSA
NSForus: DDoS Attacks
Oficina da Net: Malwares
Oficina da Net: Tipos de criptografia
Olhar digital: Segurana em VPNs
OYS: Anlise de malware
OYS: Exploiting
Paradigmas de Linguagens de Programao
PCWorld: Researches about CryptoLocker
Rapid7: A guide for exploits
Rapid7: Logs
RSWebMarketingDigital: No Tech Hacking
TechTudo: Emuladores virtuais
Tecmundo: Carregador de iPhone modificado
Tecmundo: Engenharia reversa
Tecmundo: Vulnerabilidades no SSL
Viva o Linux: A arte de desconfigurar sites
Viva o Linux: Backdoor
Wikipdia: IPSec to IPv6
Wikipdia: Universal Serial Bus
Wingwit: Descompiladores
Wingwit: Networking