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

terça-feira, 2 de setembro de 2014



Network Attached Storage (NAS), Smart TVs, roteadores, equipamentos Blue-ray, entre outros estão vulneráveis a ciberataques, alerta a Kaspersky Lab.

Pesquisa experimental realizada pelo analista de segurança, David Jacoby, em sua própria casa, encontrou uma série de problemas de segurança em dois modelos de NAS de diferentes marcas, uma Smart TV, um recebedor de satélite e uma impressora conectada.

Em linha com sua política de divulgação responsável, a Kaspersky Lab não divulga os nomes dos fornecedores cujos produtos foram objeto da investigação até que um patch de segurança que acabe com as vulnerabilidades seja liberado. Mas ressalta que todos os fornecedores foram informados sobre a existência das vulnerabilidades.

As vulnerabilidades mais graves foram encontradas nos Network Attached Storage. Várias delas (foram 14 no total) permitem que um invasor execute comandos remotamente, com os mais altos privilégios administrativos.

Os dispositivos testados também tinham senhas padrão fracas, lotes de arquivos de configuração com permissões erradas e continham senhas em texto simples. Em particular, a senha do administrador padrão para um dos dispositivo continha apenas um dígito. Outro dispositivo dividiu o arquivo de configuração inteiro com senhas criptografadas para todos na rede.

Usando uma das vulnerabilidades, o pesquisador da Kaspersky Lab foi capaz de fazer o upload de um arquivo em uma área de memória inacessível para o usuário comum. Se esse arquivo fosse um malware, o dispositivo comprometido poderia se tornar uma fonte de infecção para outros dispositivos conectados nestes NAS - um PC em casa, por exemplo - e até mesmo servir como um Bot DDoS em uma botnet.

Além disso, como essa vulnerabilidade permitiu que o arquivo fosse carregado em uma parte especial do sistema de arquivos do dispositivo, a única maneira de eliminá-lo era usando a mesma vulnerabilidade. Obviamente, esta não é uma tarefa trivial, mesmo para um técnico, muito menos para os proprietários de equipamentos entretenimento doméstico semelhantes.

Man in the middle via Smart TV
Ao investigar o nível de segurança de sua própria Smart TV, o pesquisador da Kaspersky Lab descobriu que nenhuma criptografia havia sido usada na comunicação entre a TV e o servidor do fornecedor da TV. O que pode abrir o caminho para ataques. Seria possível, por exemplo, levar o usuário a transferir dinheiro para o fraudador ao tentar comprar conteúdo via TB.

Como prova de conceito, o pesquisador foi capaz de substituir um ícone da interface gráfica da Smart TV com uma imagem. Normalmente os widgets e miniaturas são baixados dos servidores do fornecedor da TV e devido à falta de conexão criptografada a informação poderia ser modificada por um terceiro.

O pesquisador também descobriu que a Smart TV é capaz de executar o código Java que, em combinação com a capacidade de interceptar a troca de tráfego entre a TV e a Internet, pode resultar em ataques maliciosos que partem de exploração.

Funções de espionagem escondidas no roteador
O roteador DSL usado para fornecer acesso à Internet sem fio para todos os outros dispositivos domésticos continha várias funções perigosas escondidas de seu dono. Segundo o pesquisador, alguma dessas funções escondidas poderia dar ao ISP (provedor de Internet) acesso remoto a qualquer dispositivo em uma rede privada.

O mais importante é que, de acordo com os resultados da pesquisa, seções da interface do roteador web chamado "Webcam", "Configuração especializada em Telefonia", "Controle de Acesso", "WAN-Sensing" e "Update" são "invisíveis" e não ajustáveis para o dono do dispositivo. Só podem ser acessadas ​​através da exploração de uma vulnerabilidade bastante genérica, que torna possível alterar entre as seções da interface (que são basicamente páginas da web, cada uma com seu endereço alfanumérico) por força bruta.

Originalmente estas funções foram implementadas para a conveniência do proprietário do dispositivo: a função de acesso remoto torna mais fácil e rápido para o provedor de internet resolver possíveis problemas técnicos no aparelho, mas a conveniência poderia se transformar em um risco se os controles caírem em mãos erradas.

"Indivíduos e empresas precisam entender os riscos de segurança em torno de dispositivos conectados. Nós também precisamos ter em mente que nossa informação não é segura apenas porque temos uma senha forte, e que há um monte de coisas que não podemos controlar. Levei menos de 20 minutos para localizar e verificar vulnerabilidades extremamente graves em um dispositivo que parece seguro e até mesmo tem referências à segurança em seu nome.", afirma David Jacoby.
"Como é que uma pesquisa semelhante acabaria se fosse realizada em uma escala muito mais ampla do que apenas a minha sala de estar", questiona.

Na opinião do pesquisador, esta é apenas uma das muitas questões que precisam ser abordadas por fornecedores de dispositivos, pela comunidade de segurança e por usuários de tais aparelhos, de forma colaborativa. Outra questão importante é o ciclo de vida dos dispositivos. "Como me foi informado em conversas com fornecedores, algumas dessas empresas não desenvolverão uma correção de segurança para os dispositivos vulneráveis que já estão ultrapassados. Geralmente, para essas empresas, o ciclo de vida desses aparelhos é de um ou dois anos, enquanto na vida real esse período é muito maior. Independentemente da forma como você olha para ela, não é uma política muito justa", alerta Jacoby.

Como permanecer seguro em um mundo de dispositivos conectados
  • 1 - Torne a vida do hacker mais difícil: todos os seus dispositivos devem estar atualizados com todos os últimos updates de segurança e firmware. Isso minimizará o risco de explorar vulnerabilidades conhecidas.
  • 2 - Certifique-se de que o nome de usuário e a senha padrão esteja alterada - esta é a primeira coisa que um criminoso tentará mudar ao tentar comprometer o seu dispositivo.
  • 3 - A maioria dos roteadores e switches em casa tem a opção de configurar sua própria rede para cada dispositivo e também a possibilidade de restringir o acesso ao aparelho - com a ajuda de vários DMZs diferentes (um segmento de rede separado para sistemas com um maior risco de comprometimento)/ VLANs (um mecanismo para alcançar a separação lógica entre as diferentes redes lógicas na mesma rede física). Por exemplo, se você tem uma TV, você pode querer restringir o acesso a esta TV e só permitir um recurso específico dentro de sua rede. Não há muita razão para a sua impressora estar conectada ao seu televisor.

O texto completo do estudo "Internet das coisas: Como eu hackeei Minha Casa' está disponível em Securelist.com.
Referência: IDG NOW

sexta-feira, 11 de abril de 2014

Muitas pessoas que estão começando os estudos em pentest se fazem esta mesma pergunta, “Como eu ataco se eu estiver fora da rede?”. Esta pergunta é bem comum, porque a maioria dos cursos, treinamentos, vídeo aulas e tutoriais mostra em redes simples ou simulações simples com máquinas virtuais. O que acaba acontecendo é que os aspirantes a pentester acabam aprendendo apenas a lançar alguns ataques prontos de dentro da rede através de uma receita de bolo. Antes de começar vamos deixar uma coisa bem clara aqui, se você pretende ter sucesso vai ter que “pensar fora da caixa”, isso quer dizer, tentar coisas fora do comum, e para isso você vai ter que estudar e na maioria das vezes criar sua própria solução, já que não vão ter tutoriais prontos para você sempre que precisar.

Agora sim, vamos ao exemplo. Imagine que estamos por algum motivo qualquer tentando descobrir as credenciais de uma pessoa específica. A pessoa está em sua casa, com rede cabeada, então tecnicamente não temos como estar fisicamente na mesma rede que ela, precisamos pegar essas credenciais de fora da rede. Usarei o simulador de redes GNS3 para demonstrar. Caso não conheça ou deseja instalar esta ferramenta dê uma olhada nos outros posts que temos aqui no site.


Em nossa simulação temos a seguinte organização:


- Backtrack: Nossa máquina atacante
- R2: Roteador do local que estamos que nos conecta com a internet
- R1: Roteador da vítima que conecta a rede dela a internet
- SW1: Switch simples para ligar as duas maquina da rede (GNS3 não tem automático um roteador com diversas portas, como os convencionais)
- WIN7: Máquina na rede da vítima rodando Windows 7 instalado nos padrões mais comuns
- WINXP: Máquina na rede da vítima rodando Windows XP (sim, ainda tem por ai) instalado nos padrões mais comuns

Algumas informações a mais que vão ser importantes. Estas configurações já configurei nos roteadores. Com algumas buscas no Google você consegue estas configurações:

- A máquina Backtrack consegue acessar a internet fictícia entre os roteadores, é possível chegar ao roteador R1, mas a rede interna está inacessível
- As máquinas WIN7 e WINXP podem acessar a internet fictícia do GNS3, chegando ao roteador R2
- As máquinas WIN7 e WINXP podem acessar diretamente a máquina Backtrack
- A máquina Backtrack tem IP fixo na rede externa 
O roteador R2 está configurado para encaminhar certos pacotes em uma determinada porta específica para a máquina Backtrack

Estas informações acima são os requisitos mínimos para realizar um ataque e fora da rede, conhecido como "Attack over WAN”, ou “Attack over internet”.

Para você fazer isso em um ambiente real, você vai precisar configurar seu roteador para encaminhar pacotes para determinadas portas (port-forwarding) ou alugar um servidor de alguma empresa, amazon por exemplo. Como fazer isso você pode dar uma pesquisada no Google que encontrará facilmente.

OBS: Alguns roteadores (genericos/vagabundos) de algumas operadoras de internet do Brasil vem sem essa opção ou desativada/bloqueada por padrão.

Tendo tudo pronto e configurado vamos ao ataque. O modo mais simples que podemos atacar é gerando uma página falsa com o SET (Social Engineering Toolkit). Sim, exatamente o mesmo ataque utilizado no post mais visto do site “Hackear Facebook com o SET”, atendendo a diversos pedidos e dúvidas.

E vamos lá! Abra o SET pelo menu ou acesse o diretório e execute o SET. No menu principal vamos escolher a opção "1) Social-Engineering Attacks":


No segundo menu vamos escolher a opção “2) Website Attack Vectors”:


Como nosso objetivo é roubar as credenciais vamos usar a opção “3) Cedential Harvester Attack Method”:


Neste submenu você pode optar por qualquer uma das opções. A opção 1 você vai usar um modelo pronto que o SET já tem, a opção 2 você vai digitar o endereço do site e o SET tentará clonar, e a opção 3 você vai importar um modelo pronto de algum site que você já tenha feito anteriormente. Para este exemplo vamos usar a opção 1 porque eu esqueci de configurar uma interface de rede para acessar a internet real :) :


Este IP que ele pede pra informar é o IP da máquina atacante, mas você não pode colocar o IP interno (192.168.0.1 por exemplo), porque a máquina de fora não pode acessar este IP, você tem que colocar o IP externo do seu roteador e assim que chegar nele ele irá encaminhar para sua máquina interna como vimos anteriormente. Neste caso vou informar o IP externo do meu roteador, no caso 50.0.0.2:


A próxima informação que ele pede é que site desejamos usar para o ataque. Neste exemplo vou utilizar o Facebook: 


Com isso o SET irá gerar a página com seu IP, algo como http://50.0.0.2:4444 (As vezes a porta nem é necessário). Agora com esse IP você encaminha para a vítima. Aqui entra a real Engenharia Social. Você pode mandar o link “em claro” mesmo ou usar alguma técnica para ocultar o link real, isso vai de você. Também vai de você encaminhar isso para a vítima, senha por um email falso do tipo “Alguém está tentando acessar sua conta, clique aqui para trocar sua senha”, enviar diretamente, ou algum outro modo de redirecionamento.

Assim que a vítima clicar no link ou digitar o endereço no navegador ela vai ver, neste caso, a página do Facebook normalmente, a única diferença vai estar na URL que não é do Facebook, mas usuários normais dificilmente notam isso.


No momento que a vítima digitar suas credenciais e clicar em login, ela será redirecionada para o Facebook original para não levantar suspeitas e o SET irá capturar essas informações.


Pronto! Agora você tem as credenciais que precisava. Muito cuidado com o que você faz com isso, conhecimento não é crime, o uso que você da para ele sim.

Não se esqueçam! Hoje é sexta feira e vai sair um vídeo demo disso, então fique ligado no facebook da Brutal Security e no Post que vai ser atualizado aqui o vídeo.

EDIT: Vídeo no ar!! Confira:



Uma pequena nota, o Facebook falso bugou porque a máquina não estava conectada a internet real para baixar as imagens do Facebook. Também não redirecionou pelo mesmo motivo. Mas mesmo assim pode-se ver no vídeo que a técnica funciona em redes diferentes, desde que a máquina atacante esteja alcançável pelas vítimas.

quinta-feira, 3 de abril de 2014

Atenção! Este post é uma continuação direta do post "GNS3: Ferramenta open source para simulação de redes complexas". É recomendado a leitura antes de iniciar neste post.

E ai galera!

Segue a segunda parte do tutorial de como configurar e criar um lab complexo para testes com o GNS3 e VirtualBox. Nesta parte vamos ver a configuração necessária para que a rede toda funcione.

Não cobrirei a parte de instalação aqui por ser bem simples, basicamente como qualquer outro software. Caso tenha problemas na instalação você pode seguir o vídeo oficial de instalação.

Você pode notar que na instalação é solicitado a localização de uma imagem para configurar, isto será o maior problema que você irá enfrentar, as imagens dos dispositivos de rede da Cisco são proprietárias, então você precisa ser aluno de um curso de certificação da cisco, ter acesso ao portal da Cisco por ter um dispositivo ou conseguir na internet de outra forma.

Já com as imagens em sua máquina abra o programa e faça aquele passo dois do vídeo de instalação, a localização da imagem. O terceiro passo faremos um pouco mais a frente, pode deixar o Idle PC em branco.

As imagens são arquivos no formato .bin ou .image com tamanhos bem pequenos, não maior que alguns KB.

No meu caso, eu consegui a imagem da versão do roteador c7200, mas a configuração é basicamente a mesma para qualquer roteador, então não faz muita diferença nesse ponto se você tiver uma imagem diferente, desde que seja a imagem de um roteador. Existem imagens para os roteadores Cisco modificadas para que o GNS3 reconheça como switch ou algum outro dispositivo de rede.

Vamos então iniciar nossas configurações básicas. Primeiro de tudo precisamos setar o valor do Idle PC, caso não seja feito isso, o roteador irá usar todo o processamento da máquina host. Para isso, arraste um roteador para a tela e aperte no play na barra superior para iniciar o roteador, depois disso clique com o botão direito no roteador e vá na opção Idle PC. 


O GNS3 irá calcular o valor do Idle PC, assim que ele concluir aperte Apply e OK. 

A próxima coisa que precisamos configurar é as máquinas virtuais. Para isso você precisa usar o VirtualBox. Instale as maquinas virtuais com 2 interfaces de rede, configuradas como rede interna e com o cabo desconectado. Na hora de linkar as vm's com o roteador você verá o motivo de criar duas.

Para habilitar uma segunda interface abra seu VirtualBox vá no menu Arquivo > Preferencias. 


Agora vá na opção Rede e na aba “Redes Exclusivas de Hospedeiro” aperte no botão + e uma nova interface de rede será adicionada.


Confira se suas vm’s estão configuradas com 2 interfaces de rede em modo host-only com a opção “Cabo conectado” desmarcada. 


Assim que tiver as maquinas virtuais devidamente instaladas e configuradas voltamos para o GNS3 para fazer a conexão. Para configurar a conexão com VirtualBox vá no menu edit > preferences > VirtualBox. A princípio nada tem de ser configurado na primeira aba, apenas pressione ‘Test Settings” e uma mensagem verde irá aparecer dizendo que está tudo certo, se você receber esta mensagem passe para a segunda aba.


Aqui iremos cadastrar as vm’s no GNS3. Escolha uma vm na opção "VM List”, de um nome a ela na opção “Identifier Name” e pressione “Save”. 


Agora sua vm vai aparecer na lista de equipamentos que podem ser utilizados.

A próxima coisa que precisamos fazer é configurar a interface de rede do roteador. Para isso, clique com o botão direito no roteador e clique na opção “Configure”. Clique no node que irá aparecer na lista (no meu caso R1), e vá até a aba “Slots”. Cada slot será uma interface de rede que pode ser utilizada, neste caso usarei apenas 1 no slot 0. Escolha sempre a opção que tem as letras “FE”, isso quer dizer Fast Ethernet.


Agora que temos nossa configuração básica vamos criar a rede e testar para ver se está tudo  funcionando. Arraste uma máquina virtual para a tela e clique no botão “Add a link” e faça a conexão entre o roteador e a vm. Pode-se ver que a interface 0 da vm está indisponível para conectar, por isso precisamos de uma segunda.

Assim que estiver com tudo conectado pode apertar no play novamente para iniciar a vm. O GNS3 inicia a vm no VirtualBox normalmente, mas ainda está sem rede, precisamos configurar o roteador para gerar a rede e enviar IP’s validos para as vm’s. Para configurar o roteador clique com o boato direito em cima dele e vá na opção “Console”.


No console digite os seguintes comandos para configurar o roteador:
# conf t
# interface fastEthernet 0/0
# ip address 192.168.0.1 255.255.255.0
# no shutdown
# exit
# ip dhcp pool <nome_da_rede>
# network 192.168.0.0 /24
# default-router 192.168.0.1
Assim que terminar as configurações use o comando abaixo para salvar suas configurações (para não ter que configurar a cada vez que abrir o GNS3):

# copy run start

Salve sua topologia e reinicie a vm ou desabilite/habilite o adaptador de rede e a rede já estará funcionando.


Pronto! Tudo configurado e funcionando, agora é com você montar e testar suas configurações de rede.

Amanhã (Sexta-feira 04/04) adicionarei aqui o vídeo de tudo isso que foi postado aqui caso alguém tenha alguma dúvida. Recomendo que acompanhe o perfil no Facebook da Brutal Security para ficar sabendo exatamente quando o post vai ser atualizado.

Semana que vem iniciarei uma série de posts usando o GNS3 e o VirtualBox para montar, configurar e testar alguns ataques nas redes que mostrei no primeiro post.

EDIT: Veja abaixo um vídeo de demonstração da configuração do GNS3.

Não se esqueça de curtir, compartilhar, dar um gostei e se inscrever no canal ;)


sexta-feira, 28 de março de 2014

Hoje vamos ver uma ferramenta que já está por ai a muito tempo, mas conheci a pouco, o GNS3. Esta ferramenta serve basicamente para simular redes complexas, e obviamente, eu estava procurando algum modo de simular uma rede virtualmente, sem ter de comprar máquinas e equipamentos de rede. O que eu realmente precisava era um modo de melhorar a infra do meu lab de pentest, aquele que postei aqui a muito tempo atrás. Esta configuração que criei com as vm’s do virtualbox ajudou bastante no desenvolvimento dos meus conhecimentos de pentest, mas ela apresenta um problema.

Se você lembra, ou for olhar no outro post, vai ver que todas as vm’s estão configuradas na mesma rede, e a máquina que vai disparar os ataques está na mesma rede também, o que não se parece muito com uma rede real já que temos alguns detalhes a mais como os roteadores, switchs e possivelmente um firewall. Nesta configuração antiga tínhamos contato direto com a maquina alvo, sem nenhum obstáculo. O que o GNS3 vai fazer é trazer esses obstáculos.

Software

O GNS3 é um software open source (GNU GPL) que simula redes virtuais complexas bem próximas das redes reais, tudo isso sem precisar ter um hardware de rede dedicado como por exemplo roteadores e switchs.

GNS3 provê uma interface gráfica intuitiva para organizar e configurar as redes virtuais, pode ser usado computadores convencionais, e tem suporte a diferentes plataformas como Windows, Linux e Mac OS X.

Para poder disponibilizar simulações completas e precisas, o GNS3 usa os seguintes emuladores para emular os mais diversos sistemas operacionais presentes em redes reais:

Dynamips, o conhecido emulador de IOS da Cisco.
VirtualBox, roda os mais diversos sistemas operacionais para desktops e servidores.
QEMU, um emulador open source que pode rodar Cisco ASA, PIX e IPS.

GNS3 é uma excelente alternativa ou ferramenta complementar para engenheiros de rede, administradores e pessoas estudando as certificações Cisco CCNA, CCNP e CCIE, e também Juniper JNCIA, JNCIS e JNCIE. (E para nós do pentest também)

Também pode ser usada para experimentar novas soluções ou testar configurações que precisam ser aplicadas em redes reais.

Outras ferramentas também estão inclusas no GNS3, como conexão da rede virtual com uma rede real ou capturar pacotes usando o Wireshark. E para finalizar, um obrigado ao pessoal do VirtualBox que graças a eles, administradores e engenheiros podem usar o GNS3 para criar labs e testar qualquer coisa em uma rede.

Traduzido e adaptado da Wikipedia

Para mais informações acesse o site do GNS3

Uso

Usaremos o GNS3 aqui para as mais diversas funções entre elas, testar ataques em ambientes próximos da realidade, testar performance de equipamentos de rede, testar firewall, testar ataques  de fora da rede e muito mais.

As duas primeiras coisas que irei testar são um ataque com exploit de fora da rede, como o “Hackear Facebook com o SET" (Sugiro ler os comentários também), e ataques internos e externos a uma rede corporativa.

Para o primeiro ataque usaremos uma organização simples, bem similar a uma rede doméstica, com 2 máquinas com sistemas Windows, sendo um XP e um 7. Não gosto de usar Windows XP em meus labs e testes, ainda mais agora que perdeu o suporte, mas a quantidade de pessoas que infelizmente ainda usam é monstruosa. Este lab será similar ao abaixo: 


Veremos mais adiante como configurar tudo isso, vamos nos focar agora na organização. Temos aqui as 2 vm’s do VirtualBox, um switch e um roteador. Em casa as pessoas normalmente tem apenas um roteador disponibilizado pela operadora que já vem com algumas portas de rede para ligar algumas máquinas e provavelmente também disponibilizando Wireless. 

Estou usando 2 equipamentos para diminuir a configuração, seria um pouco mais complicado configurar e utilizar um desses “tudo em um”. Outro ponto que diferencia nossa rede virtual de uma rede convencional real é o roteador. Estou usando um roteador Cisco c7200, que com algumas pesquisas pode ver que não é nada parecido com o roteador que sua operadora deu a você. :)

Se você ainda não sabe, o firmware do roteador que é disponibilizado pela sua operadora normalmente é ultrapassado e vulnerável, nem perto de um desses da Cisco, tentarei adaptar um firmware mulambo desses no lugar do Cisco.

Configurarei minha máquina atacante fora desta rede, será colocado um roteador ligado ao R1 que simulará a internet, e atrás desse roteador minha máquina atacante.

As máquinas Windows desta rede serão instaladas bem como sabemos que as pessoas normalmente instalam, tudo no default, com softwares comuns e com sistemas de segurança desabilitados.

E o segundo lab, o da rede corporativa, vamos utilizar um modelo similar ao seguinte:



Aqui as coisas começam a ficar interessantes, teremos em torno de 8 vm’s rodando ao mesmo tempo. Vai ser necessário uma máquina relativamente boa para aguentar tudo isso ao mesmo tempo, o recomendado seria algo em torno de 16GB de RAM, processador intel i7 e 1TB de HD, mas estou rodando com 8GB de RAM, processador intel i5 e 500GB de HD e até o momento está rodando tudo bem.

Dica: Coloque o minimo possível de recurso em cada vm para que seja suficiente para ligar e funcionar, por exemplo, os clientes Linux podem rodar com 256MB de RAM sem problemas.

Então vamos lá, nessa rede temos a máquina externa como na anterior, que vai ser a vm que iremos disparar os ataques, mas em alguns casos podemos testar com uma interna também. Teremos o roteador que não está aparecendo na imagem e logo após ele o firewall. Nessa máquina de firewall será configurado um firewall funcional em Linux, na verdade, todos os servidores serão Linux. 

Seguindo em frente teremos a máquina DMZ que terá diversos serviços como por exemplo, DNS, email, FTP e servidor Web. 

A máquina Audit serve para questões de auditoria da rede e servidor de logs.

A máquina Storage como o nome sugere será um fileserver e backup.

O servidor Datacenter terá também diversos serviços como por exemplo LDAP, SMB, DHCP, MySQL e outros.


E por fim, as máquinas dos funcionários de nossa empresa, tendo pelo menos uma vm Linux e uma vm Windows.


Criarei um post e possivelmente um vídeo com a configuração do roteador e das vms, aguarde!

Separei em diversos posts porque iria ficar muuuuuito grande para um só.

quinta-feira, 11 de julho de 2013

Estou praticando a alguns dias minhas habilidades de segurança em geral no projeto Hacking-Lab da OWASP. Já postei aqui sobre esse projeto, ele está cada vez maior, com mais desafios e cada vez com mais empresas olhando. Recomendo a todos que criem uma conta, estudem pelos links disponibilizados nos próprios desafios e tente resolver os desafios. Já houve casos de contratação por empresas gigantescas através dos resultados no site.

Hoje resolvi o desafio de XSS na categoria OWASP Top 10, e tive que aprender algumas coisinhas para que tudo funcionasse, veja aqui algumas dicas (sim, não vou entregar tudo se não entrego a resposta do desafio :D ) que tive que aprender para resolver o desafio: 

Vamos pular a parte de baixar e configurar todo o lab, se vire com isso :)

O objetivo do desafio é que eu consiga postar nos comentários de um site específico deles um código malicioso que capture e envie para um site meu os cookies de todos os usuários autenticados que abrirem a página de comentários.

Antes de mais nada eu precisava descobrir algum lugar que fosse vulnerável a XSS, nas dicas do site tinha que eu deveria comprar uns sinos para vacas personalizados (sim o site é um e-commerce disso) para poder ver a área de comentários. Após colocar alguns sinos no carrinho finalizei a compra (com um cartão e usuários fictícios) tive acesso a área de comentários. Fiz então o que qualquer um faria, testar se o campo era vulnerável, colocando um código javascript no comentário e obtive a resposta de que o comentário só poderia conter letras, números, pontos e vírgulas, então meu código não iria funcionar. O código que eu usei foi o seguinte:

< script>alert("teste XSS")</ script>

Como não posso usar nenhum símbolo o que eu posso fazer? Depois de pensar muuuuito eu lembrei de uma das minhas aulas da Clavis onde demos uma leve passada por uma tool chamada Burp Suite, que uma de suas funções é manipular os GETS, POSTS e tudo mais de uma aplicação web, com isso quem sabe eu poderia manipular depois desse teste meu input e assim explorar o XSS.

Depois de muito procurar na distro disponibilizada pelo hacking-lab percebi que eles não tinham o Burp Suite disponível para uso e então fui em busca do download pelos repositórios que também não tinham. Apos algumas buscas no Google consegui baixar mas não consegui usar, parece que não tem java essa vm...

Depois de perder um bom tempo dando voltas achando um modo de fazer aquilo funcionar decidi dar uma olhada nas tools que eles tinham disponíveis, e eis que encontro um tal de OWASP ZAP. Novamente fui para as buscas e manuais para aprender como usar e configurar essa tool e vi que não é muito difícil, no próprio site da tool tem tudo explicadinho.


Após tudo configurado e funcionando vamos ao site alvo. O OWASP ZAP é bem similar ao Burp Suite no que eu sei usar então não foi uma adaptação muito difícil.

O Firefox da VM tem um plug-in já configurado com o proxy do ZAP, só ativar e iniciar a interceptação no proxy, clicando nas duas setas verdes na barra de ferramentas, sendo uma delas para interceptar as requisições e a outra para as respostas do servidor.



Agora com tudo pronto vamos a exploração. Coloco qualquer coisa no campo de comentário e assim que eu clicar em adicionar (Add) eu já vou ter um resultado no ZAP.



Repare que no final da terceira linha eu tenho um parâmetro chamado comment=teste, vamos alterá-lo para nosso código malicioso de teste e ver o que acontece:


E ai está! Consegui burlar o filtro e injetar meu código que vai rodar para todos os usuários que visualizarem a página com os comentários. Agora para o desafio, só precisamos alterar o comando para o comando que manda o cookie, mas isso eu deixo para vocês para completarem o desafio.

Bons estudos!

segunda-feira, 8 de julho de 2013

Procurando algumas aplicações vulneráveis para testar seus conhecimentos? De uma olhada no infográfico abaixo:


O site amanhardikar.com criou este esquema para você conhecer, testar e organizar seu lab de pentest. Para mais informações sobre download das vm's e aplicações disponíveis acesse o site.

sábado, 25 de maio de 2013


O PentesterLab é um modo simples e focado para aprender os ataques básicos usados hoje em dia. São vários sistemas vulneráveis em discos virtuais, com muitos exercícios para testar e aprender como funciona nas vulnerabilidades.
A única coisa que você precisa fazer é baixar a imagem, escolher que tipo de vulnerabilidade que você quer aprender. Você precisa de algum programa para rodar a vm, como por exemplo o VmWare ou o Virtual Box, não é necessário acesso a internet.

O que você pode aprender
  • Conceitos básico de aplicações Web
  • Conceitos de HTTP
  • Detecção das principais vulnerabilidades web:
    • Cross-Site Scripting
    • SQL injections
    • Directory traversal
    • Command injection
    • Code injection
    • XML attacks
    • LDAP attacks
    • File upload
  • Conceitos de fingerprinting
Requisitos
  • Um software de virtualização
  • Conhecimentos básicos de HTTP
  • Conhecimentos básicos de PHP

Para informações de Download acesse o site PentesterLab.com

quarta-feira, 15 de maio de 2013

Olá pessoal!

Estava dando uma volta por alguns sites de Infosec pelo mundo e encontrei um link em um deles muito interessante. Todos os iniciantes na área se perguntam "Por onde começar?", "O quê estudar?", "Onde conseguir uma plataforma para testar isso?", entre outras perguntas comuns. E aqui vai a resposta: existem por ai muitos sites com plataformas e aplicações vulneráveis para que seus usuários testem e aprendam com as falhas, e justamente para isso que eu fiz esse post, para mostrar alguns sites com vários desafios para ajudar no aprendizado.


illSecure

Estou ainda testando ele porque descobri a pouco tempo, mas o site conta com bastantes desafios interessantes e boa parte deles podem ser encontrados em aplicações e sites por ai. Basta se cadastrar no site para ter acesso a artigos, tutoriais e os vulns para praticar.

Site: illsecure.com


Security Override


Este eu vi pouca coisa, mas o que vi gostei. Acredito que este vá um pouco mais além do que o anterior, pois notei que tem video tutoriais sobre boa parte dos desafios e falhas, tem algumas distros para download no fórum, tanto vulns quanto com ferramentas para pentest.

Site: securityoverride.org


Hacking-Lab


Acredito que o mais completo site de desafios e estudos sobre infosec, pelo menos o melhor que eu conheço. Esse posso falar bem por que já usei muito, pratiquei muitos desafios e completei alguns dos desafios. O interessante desse site é que eles tem uma distro vul própria, e nessa distro tem uma vpn para os servidores deles com paginas vuls hospedadas lá. Super recomendo!

Site: hacking-lab.com

Indiferente de qual e quantos escolha, acesse, cadastre-se e teste seus conhecimentos em um ambiente controlado e super funcional. e divirta-se :)

terça-feira, 14 de maio de 2013

Olá pessoal!

Venho trazer para vocês um projeto que me tirou o sono e que me ocupou 1 semana. Eu tenho 3 PCS aqui a disposição no meu lab. Com isso em mente eu preparei uma infra muito interessante para todos que quiserem aprender pentest. Com um lab desse, só não aprende quem não quer. Vamos a ele:

Existem 3 modos de montar seu próprio lab, adaptei esses modos de milhares de textos na net e montei meu próprio, então não digam que copiei >.<

Antes de começar, só mais uma coisa. Muitos podem diser “Ah mas se você tem um lab com 3 pcs pra que vms? Vms não é a mesma coisa que um pc real”. E sim, uma maquina virtual tem coisas que não serão encontradas em uma maquina de verdade e vice-versa, mas se bem configurada pode se chegar muuuito perto de uma maquina real, sem falar que com vms podemos ter varias rodando em 1 pc. Procurem ai entao como configurar rede em vms, modos de compatibilidade, coerência e Seamless.

E vamos logo ao ponto…


Infraestrutura Necessária

Primeiro de tudo você precisa definir qual vai ser o SO host das vms.Veja um SO que se adapte melhor a você e suas necessidades. Eu por exemplo no inicio usava um macbook pro como atacante e vitima. Mac OS X é muito estável, e muito bom, mas por causa do gerenciamento de memória do Parallels (programa de vms do mac) não conseguia manter mais de 3 vms abertas ao mesmo tempo xD. Passei para o linux então. Tive muitos problemas com compatibilidade nesse ponto, o que melhor me adaptei foi um host com backbox (sim, para vitima) ou com ubuntu, usando VirtualBox para gerenciar minhas VM’s. Mas se você preferir usar windows também vai se dar bem, windows consegue gerenciar bem, mas para evitar problemas com tela azul, preste muita atenção em como você vai configurar a memória de cada vm, aconselho também usar o VMWare.


Modo 1


Caso use o modo 1 não vai precisar de 3 máquinas muito potentes, já que vai estar tudo distribuido. Aconselho a usar essa e comprar pcs mais ou menos, quem sabe depois de brincar com vms você deseja criar um cluster para quebrar senhas? Já tem um bom inicio


Modo 2


Nesse modo usaremos 2 PC’s, um deles não precisa ser muito bom, o suficiente para rodar sua distro de pentest preferida, e o outro necessita ser um pouco melhor, já que vai hostear varias vms, possivelmente algumas em paralelo. No momento que escrevo isso estou usando essa infra, com um Atom, 4GB ram e 250GB de HD para o Backbox e um i5, 8GB de ram e 500GH de HD rodando ubuntu como host para minhas vms.


Modo 3


Nesse modo usaremos apenas um PC. Então obviamente ele vai ter que ser bem bom para aguentar tudo isso junto… Ai vai de você escolher o PC ideal para suas brincadeiras, mas, nada impede de você pegar um meio fraco e ir usando uma vm por vez, o máximo que pode acontecer é atrasar seu estudo xD. Uma solução inteligente aqui é usar sua distro de pentest preferida como host e atacante ao mesmo tempo, e ir usando na vm suas vitimas.


Modo 1


Nesse primeiro modo vamos usar todo o potencial do nosso (meu no caso) lab. Com 3 PCS o que eu poderia fazer? Posso usar 2 pcs com distros para pentest para ataques simultâneos, não deixa de ser uma boa idéia, para testar estabilidade de sistemas e rede, mas isso pode ser usado mais para frente. Podemos também dividir nossas vms em 2 partes (metade em cada PC vitima), por exemplo, separar S.O’s windows em 1 e Linux’s em outra. Ou use como preferir…


Modo 2

Na minha opinião, a melhor infra daqui. Usando 2 pcs, como citado acima um atom com 2gb de ram e 250 de hd para meu backbox como atacante e um i5 com 8gb de ram e 500gb de hd como vitima com minhas vms e ubuntu como host. Acredito que essa configuração aguenta bastante antes das telas azuis…

DICA: nunca use o host como vitima também, se você usa windows como host e quer exploitar windows, instale uma cópia na vm, vai evitar dores de cabeça futuras…


Modo 3

O modo mais complicado, eu pelo menos gosto de fazer varios testes em paralelo, para agilizar o processo, no momento, não estou me preocupando com o tamanho do ruido que causo na rede, deixo isso mais para a frente. Então precisa-se de um PC rasoavelmente bom para uma coisa dessas, de preferência com o atacante sendo o host, para poupar 1 vm. A dica para usar esse modo é pesquisar na net qual é o minimo de memória que cada um dos sistemas precisa para funcionar bem, como por exemplo o debian squeeze consegue rodar perfeitamente com 384 mb de ram. Outra dica, complementando essa primeira é: no linux, SEMPRE use os terminais de texto (tty 1 ao 7 ou 8 dependendo da distro). Não gaste memória com coisas gráficas inúteis. Pode ser dificil no inicio, mas isso vai trazer muito conhecimento para você.

Ok, já sabemos um modo bom de organizar nosso lab, mas e agora, que vm eu instalo nele?

Vamos lá! Andei essa semana estudando vms e distros diferentes para um melhor aprendizado e cheguei a seguinte conclusão:


Você vai precisar de:

  • Windows server 2003 e 2008
  • Windows 7 (pode usar o XP também, mas já esta meio defasado, mas para inicio pode ser bom)
  • Linux Debian (ou qualquer distro semelhante)
  • Red Hat (ou qualquer distro semelhante, CentOS, fedora, etc)
  • Linux Infecsious Disease
  • Linux Metasploitable
  • Linux Nebula (exploit-exercises.com)
  • Linux Hacking-Lab.com Live CD

Existem outras vms vuls para brincar, mas gostei dessas, apresentam um bom nível de desafio, sendo crescente em cada uma.

Não coloquei links para down de nenhuma delas por que vai variar o seu programa de vms, mas com uma pequena busca na net você encontra todas essas (e apanha um pouco já na configuração e instalação delas )


Método de Estudo

Então, temos um monte de vms e agora? Como eu comentei antes, não precisa seguir isso 100%, veja quais são suas prioridades e adapte a um plano de estudo que fique bom para você.

Bom, na minha opinião, deve-se já ter um pré conhecimento em redes, exploits, distros de pentest, um pouco de programação também é bom e por ai vai. Quanto mais você souber mais fácil vai ser lidar com todos esses brinquedinhos novos…

Então, seguindo uma ordem lógica de estudo e dificuldade vamos iniciar pelo mais fácil.


Windows

Pode iniciar conhecendo suas vms windows (xp, 7, server), procure conhecer como o sistema funciona, sistema de registro, arquivos de senhas, arquivos de boot, como burlar senhas e barreiras que podem te atrasar e etc. Para inicio não instale antivirus e desabilite o firewall, conforme for melhorando seus conhecimentos vá aumentando a dificuldade.


Linux hacking-lab.com

Seu próximo passo pode ser esse. Na verdade, se você baixar esse Live CD você não está baixando uma distro vul, está baixando uma distro com algumas tools, cheia de limitações e muitos desafios prontos (para mais informações visite o site hacking-lab.com). Recomendo você baixar essa, cadastrar-se no site e resolver o máximo de desafios que conseguir, tem muita coisa de excelente qualidade lá. Aqui no fórum tem muita coisa que pode ajudar você nesse estágio, fica a dica.


Linux Metasploitable

Agora chega de tutos, videos e ambientes preparados para você, vamos cair de cara numa distro linux cheia de bugs e ferramentas desatualizadas. Com o conhecimento que você já tem você pode se aventurar por aqui. Tente primeiramente conhecer todos os recursos instalados aqui, depois tente exploitar todos e por ultimo tente atualizar e exploitar novamente. Terminando esse estágio você já vai estar muito acima da grande maioria…


Linux infecsious Disease

Agora vamos para uma distro completamente desconhecida (até para mim), novamente vamos ter que descobrir o que tem nessa vm e descobrir como exploitar e seguir todo o processo novamente. Mas dessa vez já estaremos trabalhando com algo mais sério, se pesquisar um pouco vai ver que ela foi desenvolvida em cima de uma distro para pentest (BT 2)…


Linux exploit-exercises.com Nebula


Agora chegamos a um divisor de águas. Essa vm está cheia de bugs e falhas também, mas estão relativamente bem camufladas, você deve estudar bastante os conteúdos da LPIC lvl 1 e 2 para se dar bem aqui. Olha só, se eu chegar nesse nível tenho grandes chances de prestar e passar na LPIC 1 e 2 (e quem sabe 3 também o.0)

Mais informações sobre esse nível no site do desenvolvedor do desafio…

Dica: evite em todas, mas aqui especialmente, será um teste de conhecimentos, então tente estudar e entender o que está causando a falha e não pegar a resposta na net. Fazendo isso só estará enganando a si mesmo.


Linux Debian e Red Hat

Chegamos ao ultimo estágio, parabéns! Agora temos duas distros normais, sem “nenhuma” falha preparada para você. Com o conhecimento que você já tem você pode montar aqui o ambiente que quiser para continuar seus testes… Pode ir gradativamente melhorando a segurança deles e tentando invadir.


Concluindo

Opa chegamos ao final (até que em fim xD) desse texto. Se você resolveu boa parte de todos esses desafios, seguindo as regras de cada um, pode se considerar bom. Nesse ponto, se você já não fez isso pode voltar para o windows e tentar deixa-lo o mais “ininvasivo” possivel (acho que acabei de inventar uma palavra xD).

Qualquer coisa que tiverem de duvidas sobre algum dos desafios ou configs, testes ou qualquer outra coisa pode postar aqui, esse post vai ficar aqui para isso ^^

Agora não tem desculpa para não aprender pentest =D

P.S.: levei 3 horas para escrever isso e uma semana para por tudo funcionando então pelo menos leia tudo >.<

E era isso por em quanto, todos (ou quase todos) os desafios e vms foram testados e aprovados por mim (grande coisa xD)

Espero que gostem, bom trabalho (pra mim) e bons estudos a todos.
Subscribe to RSS Feed Follow me on Twitter!