28 de maio de 2017

WEBINAR ao vivo sobre Carreira em Segurança da Informação



Eu, da mesma forma que a maioria dos profissionais de segurança da informação, não comecei minha carreira diretamente nessa área. Sei também o quanto foi difícil conseguir a migração de uma área para a outra, e quão poucas informações conseguia obter sobre esse processo naquela época.

Hoje em dia ainda temos certa dificuldade em conseguir orientação e informações sobre como realizar essa migração de uma área para a outra, quais as possibilidades que existem na carreira de um profissional de SI, quais as áreas de atuação, como ganhar experiência e muitas outras dúvidas que sei que aqueles que ainda não atuam na área, ou são inciantes, tem. Até mesmo profissionais experientes podem ter suas dúvidas sobre a atuação na área de SI, gerando dificuldades em planejar o futuro de sua carreira e os passos para crescer cada vez mais.

O objetivo desse webinar, é esclarecer o máximo possível esse assunto, tirando dúvidas, respondendo perguntas e falando um pouco sobre a carreira nessa área cada vez mais valorizada em todo o mundo.

Só para saber, hoje, dia 28 de maio de 2017, realizei algumas buscas por vagas no site "Indeed", em três diferentes países, buscando por profissionais com algumas certificações. Vejam os resultados abaixo:

CISSP: Canada = 619 vagas / Austrália = 121 vagas / EUA = 11.800 vagas
CEH = Canada = 49 vagas / Austrália = 12 vagas / EUA = 2.519 vagas
CISM: Canada =  283 vagas / Austrália = 68 vagas / EUA = 3.674 vagas
ISO 27001: Canada =  69 vagas / Austrália = 30 vagas / EUA = 1.078 vagas
OSCP: Canada =  36 vagas / Austrália = 9 vagas / EUA = 553 vagas
OSCE: Canada =  36 vagas / Austrália = 15 vagas / EUA = 212 vagas
GPEN: Canada = 20 vagas / Austrália = 6 vagas / EUA = 480 vagas

Portanto, até mesmo para aqueles profissionais que planejam sair do Brasil, para consolidar sua carreira com uma experiência internacional, é muito bom saber que tem muita vaga por aí. Obviamente que os números acima representam apenas uma pequena porcentagem daquilo que realmente existe.

Então, se quiser algumas dicas sobre como atuar na área de Segurança da Informação, planejar sua carreira, ou migrar de uma área para outra, inscreva-se nesse webinar!

6 de maio de 2017

WEBINAR ao vivo sobre certificações na área de Segurança

 Inscreva-se já!

Sabemos que as certificações são valiosas e um grande diferencial para os profissionais de segurança da informação. No entanto, falta pouca informação sobre qual o cainho das pedras para conquistá-las e quais são as mais importantes dependendo da área em que você pretende atuar. É pensando nisso que agendamos esse webinar ao vivo no dia 17/05/2017 às 23h, para explicar a importância delas no mercado, quais tem maior visibilidade dependendo da área e o nível de dificuldade de algumas delas.

Luiz Vieira será o apresentador desse webinar e explicará para você qual a importância dessas certificações no mercado, tanto para profissionais experientes, que ainda tem dúvidas sobre qual certificação é mais importante, quanto para aqueles que ainda desejam atuar na área de segurança da informação!

Inscreva-se já, através desse link, pois são poucas as vagas disponíveis!

12 de abril de 2017

CrackMapExec - um canivete suíço para pentest em redes Windows com Active Directory

CrackMapExec, ou simplesmente CME, é uma ferramenta focada para uso de pentesters em ambientes Windows/Active Directory. Com esse foco em mente, muitas das funcionalidades dessa ferramenta possuem características "stealth", para burlar proteções como IDS, IPS, antivírus e outros sistemas de detecção de ameaças em endpoints.

Essa ferramenta foi desenvolvida para ter diversas funcionalidades existentes baseadas em outras ferramentas, como psexec, Mimikatz e etc. No entanto, ela tem diversos pontos positivos se comparada a essas outras ferramentas, por exemplo:

  • Puramente em Python;
  • Uso de threads;
  • Uso apenas de chamadas de API do Windows para descoberta de sessões, usuários, dump de hashs SAM e etc;
  • Não é feito upload de nenhum binário para extração de credenciais, injeção de shellcode e etc.

Essa ferramenta ainda conta com uma base de dados que armazena e correlaciona credenciais que tenham sido extraídas das máquinas comprometidas.

Para instalá-la, é importante satisfazer algumas poucas dependências em seu sistema operacional, instalando os seguintes pacotes:

#apt-get install -y libssl-dev libffi-dev python-dev build-essential
E para baixar e o instalar a versão mais recente da ferramenta, basta executar os seguintes comandos, para baixar do github e fazer a instalação:
#~ git clone https://github.com/byt3bl33d3r/CrackMapExec
#- cd CrackMapExec && git submodule init && git submodule update --recursive
#~ python setup.py install
Para ter uma noção dos módulo que a aplicação tem, basta executar o seguinte comando:
#crackmapexec -L
Nesse link você consegue acesso ao repositório do GitHub, e de quebra lá também pode acessar a wiki, onde há todos os comandos e formas de usar a ferramenta e seus módulos, incluindo diferentes formas de executar comandos no Windows através do CrackMapExec.

É uma ferramenta que realmente vale a pena entender seu funcionamento, para facilitar o processo de pós exploração, movimentação lateral e escalada de privilégios em sistemas Windows com grandes redes utilizando o Active Directory.

23 de janeiro de 2017

Teste de Invasão em Redes e Aplicações WEB

Descrição:
Esse treinamento é a união de dois treinamentos em um só: Teste de Invasão em Redes e Teste de Invasão em Aplicações WEB. A ideia surgiu da necessidade de criar um curso mais completo, unificado, e que fosse possível dar prosseguimento sem quebrar o ritmo.

O treinamento completo terá 60h de duração, totalmente prático, com execução de técnicas básicas à avançadas, chegando a criação de um exploit do zero, para exploração remota de um servidor para execução de um shellcode escolhido.

O aluno terá à sua disposição máquinas virtuais locais e na nuvem para execução dos exercícios, ao vivo, seguindo a tela compartilhada do instrutor, durante a aula.

Instrutor:
O instrutor do curso possui anos de experiência em testes de invasão, tanto em redes, quanto aplicações web, redes wireless e review code. E é uma oportunidade de aprender com quem convive com as necessidades e situações reais do mercado atual, com clientes de grande porte como multinacionais de diversas áreas (Petróleo e Gás, Telecomunicações, Transportes, Operadoras de Cartão de Crédito, Bancos, Instituições Militares e Órgãos Públicos).

Quem deve participar:
  • Profissionais de TI, que tenham interesse na área de segurança;
  • Profissionais de segurança que tenham interesse em teste de invasão (pentesters, peritos forenses e etc);
  • Desenvolvedores que queiram aprender como funcionam as vulnerabilidades e como mitigá-las.


Pré-requisitos:
  • Conhecimento básico de Windows
  • Conhecimento básico de Linux
  • Criação de máquinas virtuais com VirtualBox ou VMWare


Material:
  • Slides em pdf
  • Apostila
  • Vídeo de todas as aulas gravadas ao longo do treinamento
  • Máquinas Virtuais específicas


Carga horária: 60h
Início: 17 de Abril de 2017 (nova data)
Horário: segundas e terças-feiras, das 22h às 24h
Investimento: R$ 1.490,00

Inscrição: Quem tiver interesse no curso, por favor, acesse o link http://bit.ly/ZkbwEE e faça sua inscrição no curso "Teste de Invasão em Redes e Aplicações WEB". Para pagamentos via PagSeguro, Paypal ou BCash, após preencher o formulário, aguarde o e-mail com o link de cobrança.

Observação 1: para pagamentos via depósito em conta, com 5% de desconto, entre em contato com luizwt at gmail.com.

Observação 2: desconto de 10% para ex-alunos via Paypal ou BCash, ou 20% via depósito em conta.

Ementa completa:
  • Introdução à Segurança da Informação
  • Introdução ao Teste de Invasão e Ética Hacker
  • Escrita de Relatório
  • Google Hacking
  • Varreduras ativas, passivas e furtivas de rede
  • Enumeração de informações e serviços
  • Definindo vetores de ataque
  • Ignorando Proteções
  • Técnicas de Força Bruta
  • Elevação de Privilégios Locais
  • Testando o sistema
  • Técnicas de Sniffing
  • Ataques a Servidores WEB
  • Ataques a Redes Sem Fio
  • Fuzzing & Exploits de Buffer Overflow
  • Apagando Rastros
  • Metasploit Framework
  • WarGames
  • Ciclo de Desenvolvimento de Software Seguro
  • OWASP
  • Arquiteturas e tecnologias de Aplicações WEB
  • Cifras Simétricas
  • Cifras Assimétricas
  • Funções de hash criptográficas
  • Assinaturas Digitais
  • Certificados Digitais
  • Protocolos SSL e TLS
  • Protocolos HTTP e HTTPS
  • Requisição HTTP
  • Autenticação HTTP
  • Esquemas de Codificação
  • Codificação de URL
  • Codificação HTML
  • Ferramentas Básicas para pentest WEB
  • Navegadores WEB
  • Proxies de interceptação
  • Web spiders
  • Fuzzers
  • Levantamento dos métodos suportados
  • Mapeamento
  • Identificação dos pontos de entrada de informação
  • Exploração de Controles Client-Side
  • Detecção de hosts virtuais
  • Descoberta de arquivos e diretórios
  • Cópia das páginas e recursos da aplicação
  • Identificação dos pontos de entrada de informação
  • Descoberta de vulnerabilidades e exploração
  • Evasão de restrições em campos HTML
  • Evasão de validação de Javascript
  • Exploração de campo oculto
  • Teste de Mecanismos de Autenticação
  • Tecnologias de autenticação empregadas em aplicações web
  • Descoberta de vulnerabilidade e exploração
  • Uso de informações obtidas nas fases de reconhecimento e mapeamento
  • Usuário e senha padronizados
  • Enumeração de identificadores de usuários
  • Mecanismo vulnerável de recuperação de senhas
  • Funcionalidade "Lembrar usuário"
  • Transporte inseguro de credenciais de acesso
  • Mecanismo vulnerável de troca de senhas
  • Autenticação com múltiplos fatores
  • Avaliação dos aspectos de autenticação
  • Arquivos contendo credenciais de acesso
  • Pistas no código
  • Teste de Gerenciamento de Sessões
  • Descoberta de vulnerabilidades e exploração
  • Identificares de sessão previsíveis
  • Domínio de identificadores com baixa cardinalidade
  • Transmissão em claro de identificadores de sessão
  • Manipulação de identificador de sessão por meio de scripts
  • Atributos de cookies
  • Sequestro de sessão
  • Session Fixation
  • Encerramento vulnerável de sessão
  • Sessões simultâneas de um mesmo usuário
  • Cross-site request Forgery
  • Clickjacking
  • OWASP Top 10 
  • Resumo de cada Vulnerabilidade
  • Explorações e Desafios práticos de cada vulnerabilidade do OWASP Top 10
  • Defesa

9 de dezembro de 2016

BadUSB: comprometendo máquinas Windows através da porta USB

Algum tempo atrás, uma nova ameaça foi descoberta, chamada de BadUSB, que veio na forma de hardware... especificamente na forma de USB.

Para aqueles não familiarizados com estes dispositivos o nome diz tudo: BadUSB, porque estes USBs não são utilizados como armazenamento, mas se passam por outro dispositivo, como: teclados, mouses... que executarão um código pré-programados pelo atacante. E este falsa USB quando conectado a um computador pode executar comandos no terminal, instalar um backdoor para acesso posterior desse computador, roubar credenciais e muitos mais.

Tudo isso é porque os USBs falsos quando conectados a uma máquina executam outro firmware que não é a memória USB normal, comportando-se como qualquer outro tipo de dispositivo e é capaz de executar qualquer tipo ação na máquina à qual ele está conectado sem que o usuário em questão perceba algo.

Existem vários dispositivos no mercado com estas características, mas o mais adequado para o que estou falando é o RubberDucky, um dispositivo criado pela Hak5.

O RubberDucky funciona como um teclado e executa o que temos armazenados no seu micro SD só de conectarmos ele a outro dispositivo.

O preço deste USB é de US $ 44,99 mais custos de transporte, que são mais de 39.50 $ (para o Rio de Janeiro). Um dispositivo um pouco caro...

Então, o que você diria se pudesse obter o mesmo por cerca de metade do preço do RubberDucky? Sim, podemos criar nosso próprio Rubber Ducky pela metade do preço, tudo graças ao Teensy que funciona com Arduino .

Para montar precisamo: uma placa Teensy, ter um Arduino instalado e um cabo USB.

Muitos dizem que tudo é mais fácil comRubberDucky porque a sintaxe para programar o USB é mais simples, mais fácil e mais rápido do que a programação com Arduino. Isso é verdade, mas hoje há uma ferramenta muito boa para isso, Brutal, uma ferramenta desenvolvida pelo grupo ScreetSec (criadores de Thefatrat ou LALIN) e foi lançado há pouquíssimo tempo. Esta ferramenta possui vários módulos que nos fornecem código escritos para Arduino com várias funções, que nos fornecem um monte de coisas ao usar nosso Teensy como um BadUSB.

A ferramenta tem os seguintes módulos:
  • Gerar um payload que execute uma conexão reversa TCP através de PowerShell
  • Baixa e executa um backdoor
  • Obtém as credenciais graças ao Mimikatz
  • Gera payloads para dar uma zoada no alvo
  • Gera payloads para administração do Windows
  • Executa diversos outros ataques contra o Windows

Instalação e execução da ferramenta:
  • Instalar os pacotes de PaensyLib na biblioteca do Arduíno.
  • git clone https://github.com/Screetsec/Brutal.git
  • cd Brutal
  • chmod +x Brutal.sh
  • ./Brutal.sh

PoC do Brutal:


9 de novembro de 2016

Auto_EAP e EAPMD5PASS: boas ferramentas para burlar NACs

Quem já fez ou faz o curso de Pentest Avançado comigo, sabe que abordamos a fase de bypass de controles de acesso à redes, inclusive aquelas que utilizam NAC. 

Muitas soluções para bloqueio de acesso à redes e autenticação, utilizam o protocolo EAP (Extensible Authentication Protocol) para redes wireless, através de diversas implementações, como WPA, WPA2 e IEEE 802.11. Para entender melhor esse protocolo, indico a leitura da RFC 5247, que é a atualização das obsoletas RFCs 2284 e 3748.

O grande problema aqui, é que algumas soluções (se não a maioria), ainda utiliza a definição do EAP como designado na RFC 3748, que é o EAP MD5-challenge, cujo algoritmo é fraco e a metodologia de autenticação é falha, permitindo que através da captura de pacotes de rede, com o MD5-challenge, o atacante consiga, utilizando uma boa wordlist, prever a senha de autenticação ao gerar o mesmo hash a partir do challenge enviado + palavra de uma wordlist que deve ser igual ao hash capturado no pacote de rede.

O que é mais interessante, é que isso pode ser feito até mesmo sem estar autenticado, pois o dispositivo obtém um acesso limitado na rede para poder se comunicar com o servidor RADIUS para troca de pacotes na tentativa de obtenção da autenticação. Nesse período, é possível capturar pacotes com os hashs necessários para descoberta da senha de autenticação.

É importante, no entanto, atentar para diferentes cenários, pois em redes wireless isso é muito mais tranquilo, já que os pacotes trafegam em broadcast, mas em redes cabeadas você precisa de duas placas de rede em modo bridge para se conectar ao switch com uma delas e na outra, um dispositivo que seja autenticado na rede mas que se utilize de criptografia fraca ou nenhuma, como impressoras e VoIP phones.

Para facilitar nossas vidas, existem algumas ferramentas que podem nos auxiliar nesse processo. Duas delas merecem destaque em minha opinião, EAPMD5pass e Auto_EAP.

O EAPMD5pass é um programa (precisa ser compilado) que permite, após a captura de pacotes utilizando tcpdump ou wireshark, por exemplo, tentar quebrar a senha dos pacotes enviados com o hash md5 do challenge + senha. Esse programa foi criado por um profissional conhecido e respeitado da área de segurança, chamado Johnny Long, e pode ser baixado a partir de seu site.

Já a segunda ferramenta, baseada em Python, Auto_EAP, se utiliza da biblioteca wpaspy para realizar ataques contra a autenticação de redes wireless, através de um daemon chamado wpa_daemon, para evitar o lock out de contas ativas. Para usar essa ferramenta, execute primeiro o script RunMeFirst.py. E o único problema que vejo nessa ferramenta, ainda é sua falta de suporte à wordlists para quebra de senha e o fato de não ser multi thread. Para quem sabe um pouco de Python, nada muito difícil de resolver, ou então esperar uma nova versão.

É isso pessoal, divirtam-se!

28 de outubro de 2016

Novo ataque contra Windows: AtomBombing

Foi descoberta há alguns dias uma falha de implementação no Windows que permite um ataque remoto que possibilita realizar man-in-the-middle contra browsers, tirar screenshot da tela do alvo, e acessar senhas armazenadas no browser.

É interessante dar uma lida na explicação da Microsoft em seu blog sobre o que são e como funcionam as Atom tables, que possibilitam essa exploração: 
https://msdn.microsoft.com/en-us/library/windows/desktop/ms649053(v=vs.85).aspx

AtomBombing afeta todas as versões do Windows. E foi testada em particular contra o Windows 10, sendo totalmente eficaz.

Entretanto, uma grande questão que surgiu, foi: esse problema não pode ser corrigido por um patch, já que não depende de uma brecha ou falha no código, e sim sobre como esse sistema operacional foi desenhado e implementado.

O mecanismo do Windows que o AtomBombing explora é chamado Atom tables. Essas tabelas são fornecidas pelo sistema operacional para permitir que aplicativos armazenem e acessem dados. Estas Atom tables também podem ser usadas para compartilhar dados entre aplicações.


O que foi descoberto é que um código malicioso pode escrever em uma Atom table e forçar um programa legítimo a recuperar o código malicioso da mesma. E assim, o programa legítimo, agora contendo o código malicioso, pode ser manipulado para executar esse código.

Esse outro link explica bem como isso ocorre e como pode ser feito: 
https://breakingmalware.com/injection-techniques/atombombing-brand-new-code-injection-for-windows/

Obviamente que tudo isso depende de realiza um code injection, mas uma simples engenharia social já possibilitaria realiza isso, pois esse código malicioso só conseguiria escrever nas Atom tables localmente. Para uma PoC, segue o link para um código que consegue fazer isso e injetar um shellcode a ser executado por um aplicativo válido e reconhecido: 
https://github.com/BreakingMalwareResearch/atom-bombing

Divirtam-se!