terça-feira, 28 de outubro de 2014

Slides - Reversing Engineering a Web Application - For fun, behavior and detection

Galera,
Fiz essa apresentação no AppSec em Denver e na SecTor em Toronto. Segue os slides da mesma:



Happy Detection!

Rodrigo Montoro

domingo, 21 de setembro de 2014

Treinamento Intrusion Detection - Snort + OSSEC

Caros,

Estou lançando meu treinamento de OSSEC, mas aproveitando e adicionando um combo especial para os interessados. O combo completo terá por volta de 80 h, será um treinamento bem longo, mas interessante e com muitos laboratórios e prática.

A grade do treinamento de OSSEC será:

1. Entendo funcionamento OSSEC HIDS x NIDS
   1.1. Funcionalidades OSSEC
   1.2. Modos instalação
   1.3. Sistemas suportados
2. Instalando o OSSEC
   2.1. Requisitos
   2.2. Modos instalação Local / Agente / Servidor
   2.3. Replicando instalação
3. Configurações OSSEC
   3.1. Cliente e Servidor
   3.2. Alertas
   3.3. Regras
4. Decoders/Regras
   4.1. Entendendo os Decoders
   4.2. Entendendo as Regras
   4.3. Linkando decoders e regras
5. Sistema de Integridade e detecção de rootkits
   5.1. O que é um rootkit?
   5.2. Como funciona a detecção de rootkit do ossec
   5.3. Monitorando a integridade de seu sistema (HIMS)
6. Active Response
   6.1. Active Response disponíveis
   6.2. Configuração de Active Response
   6.3. Ferramentas Active Response
7.Usando interface web
   7.1. Instalando a interface web
   7.2. Analisando e pesquisando eventos

8. Integração básica Elastic Search / Kibana


O conteúdo do treinamento Snort será a mesma base do passado, somente teremos um visão geral do Open AppID ( http://blog.snort.org/2014/02/snort-2970-alpha-with-openappid-quick.html )

1-) Introdução a protocolos
2-) Mundo IDS ( NDIS, HIDS , WIDS , KIDS)
3-) Atacantes
4-) Como funciona o Snort
5-) Entendendo a aquisição de dados (DAQ)
6-) Posicionamento dos sensores
7-) Decoders
8-) Preprocessadores (teoria e prática)

       - Frag3
       - Stream5
       - sfPortScan
       - SMTP/POP/IMAP
       - Arp Spoof
       - HTTP Inspect
       - DCE/RPC2
       - Sensitive Data
       - IP Reputation

9-) Analise de performance
        - Performance das regras
        - Performance dos preprocessadores
        - Performance pacotes


10-) Output
         - Syslog
         - Unified 2

11-) Host Attribute Table
12-) Configurações Múltiplas
13-) Escrevendo e lendo regras para o Snort
         - Básico
            - Cabeçalho
            - Opções de Regra
         - Genericas
         - Payload
         - Non-Payload
         - Após detecção / Resposta Ativa

14-) Regras Shared Object
15-) PulledPork – Atualização de Regas
16-) Interface de Gerenciamento de Alertas / Dicas de analise de incidentes – Snorby
17-) Dicas finais
Datas e investimentos:
Início: 28 Outubro 2014 (será iniciado com treinamento de Snort e na sequência teremos do OSSEC)
Aulas às Terças e Quintas das 19:30 até as 21:30. 
Valor do treinamento completo* (OSSEC + Snort): R$ 1750,00 (parceláveis no PagSeguro)
Formato EaD utilizando GoToMeeting.
Total do treinamento: 80 horas (40 horas por treinamento)
É necessário o mínimo de 6 aulas por curso para que o mesmo aconteça.

* O valor de cada treinamento separado caso tenha interesse em somente 1 deles será de R$1100,00 reais.
** Alunos antigos do treinamento de Snort terão desconto de 10% no valor do treinamento OSSEC.
*** Pagamentos realizado até final de setembro terá um extra de 10% de desconto (R$1575,00)
**** Caso seja aluno antigo do treinamento Snort e pague até final de setembro, terá um desconto total de 20%. (R$880,00)

Para pagamento via DOC/TED será cobrado R$1550,00, pedir dados via e-mail em spooker@gmail.com

Sobre o instrutor:

Rodrigo "Sp0oKeR Montoro é certificado LPI, RHCE e SnortCP com 15 anos de experiência em sistema de segurança opensource (firewalls, NIDS, IPS, HIDS, Análise de logs) e hardening de sistemas.  Atualmente trabalha como administrator de Segurança Senior na Sucuri Security onde gerencia algumas dezenas de OSSEC que geram mais de 4 milhões de eventos diariamente. Anterior trabalhou na área de pesquisa onde onde focou seu trabalho em assinaturas para Sistema de Detecção de Intrusos, Modsecurity e realizou pesquisas para novos métodos de detecção de atividades maliciosas . Autor de 2 patentes requeridas envolvendo uma técnica para descobrir documentos digitais maliciosos e análise de cabeçalhos HTTP para detectar tráfego malicioso. É coordenador e evangelizador na Comunidade Snort Brasil na qual fundou em 2005. Rodrigo já palestrou em inúmeras conferencias opensource (FISL, Conisli, Latinoware) e de segurança Brasil e EUA (OWASP Appsec (EUA e Brasil), Toorcon (EUA), H2HC (São Paulo e Cancun), SecTor (Canada), CNASI, Source Boston 2012/2013 e Seattle (EUA), ZonCon (Conferencia Interna da Amazon) Bsides (São Paulo e Las Vegas)) e é coordenador de um projeto para criação de um conjunto de regras para o sistema de detecção de intrusos Snort para malwares Brasileiros.
Cadastro de interesse pode ser feito aqui: Formulário Cadastro

Happy Detection!

Rodrigo "Sp0oKeR" Montoro

terça-feira, 6 de maio de 2014

Reboot automático após Kernel Panic ( /proc/sys/kernel/panic )

No meio dos meus estudos de tuning do kernel do linux, em especial estudando parte de redes, me deparei com uma opção nada relacionada com redes, mas o nome me chamou atenção.

kernel.panic

Fui dar uma pesquisa e achei ela fantástica, pois além de ridicula de configurar, salvará muita gente que trabalha remoto.

Basicamente a função desse parametro é rebootar a máquina após N segundos quando ocorrer um Kernel Panic.

Por padrão essa opção é desativada, sinceramente não sei porquê.

root@spookerhome:/# cat /proc/sys/kernel/panic
0
root@spookerhome:/#

 
Basicamente você pode alterar usando o sysctl (lembrando de deixar salvo no sysctl.conf) ou dando um echo para o runtime do kernel, mas perderá após o reboot.

Grande maioria já deva conhecer, não sei em que versão do Kernel isso foi adicionado, mas certamente estará configurado em todos meus servidores =)

Mais info e opções: https://www.kernel.org/doc/Documentation/sysctl/kernel.txt

Happy Networking!

Rodrigo "Sp0oKeR" Montoro

terça-feira, 29 de abril de 2014

Slides palestra - SCAP ( Security Content Automation Protocol ) / OpenScap validado NIST

Palestrei no início de Abril na Bsides São Paulo sobre SCAP / OpenScap. Os slides podem ser acessados na URL abaixo:

http://www.slideshare.net/spookerlabs/scap-security-content-automation-protocol-na-bsides2014

Hoje vi a notícia que o OpenScap agora é validado pelo NIST e se tornou o terceiro produto compatível com SCAP 1.2.



Notícia da certificado do NIST - http://www.redhat.com/about/news/press-archive/2014/4/red-hat-continues-to-drive-open-security-standards-openscap-receives-nist-certification

O OpenScap é uma ferramente a ser utilizada, poderosa, gratuita e editável =)

Site da ferramenta: http://open-scap.org/page/Main_Page

Parabéns aos envolvidos no desenvolvimento e contribuições.

Happy Protection!

Rodrigo "Sp0oKeR" Montoro


quarta-feira, 23 de abril de 2014

Comando ss (Socket Statistics) - Analisando conexões

Agora de volta para área técnica, vou tentar postar nerdisses de sysadmin e segurança que for achando no dia a dia, logicamente postar no modo raw, sem muita frescura.  O que estou postando aqui não é nenhuma novidade e possivelmente muitos já conhecem, mas posto até para fixar conhecimento =)!

Pesquisando sobre alguns tuning, acabei me deparando sem querer com o comando ss. O comando ss ( socket statistics ) faz parte do pacote iproute2, ou seja, você provavelmente tem ele instalado na sua máquina.

Alguns comandos:

Bom e velho help =)

[root@spookerlabs ~]# ss -h
Usage: ss [ OPTIONS ]
       ss [ OPTIONS ] [ FILTER ]
   -h, --help        this message
   -V, --version    output version information
   -n, --numeric    don't resolve service names
   -r, --resolve       resolve host names
   -a, --all        display all sockets
   -l, --listening    display listening sockets
   -o, --options       show timer information
   -e, --extended      show detailed socket information
   -m, --memory        show socket memory usage
   -p, --processes    show process using socket
   -i, --info        show internal TCP information
   -s, --summary    show socket usage summary
   -b, --bpf           show bpf filter socket information

   -4, --ipv4          display only IP version 4 sockets
   -6, --ipv6          display only IP version 6 sockets
   -0, --packet    display PACKET sockets
   -t, --tcp        display only TCP sockets
   -u, --udp        display only UDP sockets
   -d, --dccp        display only DCCP sockets
   -w, --raw        display only RAW sockets
   -x, --unix        display only Unix domain sockets
   -f, --family=FAMILY display sockets of type FAMILY

  -A, --query=QUERY, --socket=QUERY
       QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

   -D, --diag=FILE     Dump raw information about TCP sockets to FILE
   -F, --filter=FILE   read filter information from FILE
       FILTER := [ state TCP-STATE ] [ EXPRESSION ]
[root@spookerlabs ~]#


Sumário sockets

[root@spookerlabs ~]# ss -s
Total: 99 (kernel 268)
TCP:   7 (estab 1, closed 2, orphaned 0, synrecv 0, timewait 0/0), ports 0

Transport Total     IP        IPv6
*      268       -         -       
RAW      0         0         0       
UDP      7         4         3       
TCP      5         2         3       
INET      12        6         6       
FRAG      0         0         0       

[root@spookerlabs ~]#


Portas em Listen em TCP

[root@spookerlabs ~]# ss -lt
State      Recv-Q Send-Q                Local Address:Port                    Peer Address:Port  
LISTEN     0      128                               *:ssh                                *:*      
LISTEN     0      128                              :::http                              :::*      
LISTEN     0      128                              :::ssh                               :::*      
LISTEN     0      128                              :::https                             :::*      
[root@spookerlabs ~]#



Listando conexões baseadas no estado
1. established
2. syn-sent
3. syn-recv
4. fin-wait-1
5. fin-wait-2
6. time-wait
7. closed
8. close-wait
9. last-ack
10. closing
11. all - All of the above states
12. connected - All the states except for listen and closed
13. synchronized - All the connected states except for syn-sent
14. bucket - Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.
15. big - Opposite to bucket state.

Exemplo ESTABLISHED

[root@spookerlabs ~]# ss -t state ESTABLISHED
Recv-Q Send-Q                     Local Address:Port                         Peer Address:Port  
0      88                         23.NN.XX.YYY:ssh                       179.252.XXX.YY:59858  
[root@spookerlabs ~]#


Lembrando que esses são os estados das conexões e quando for fazer um tuning de parametros de protocolo no kernel, é legal ver o que realmente esta acontecendo antes de sair mudando valores com receitas de bolos na internet.

Fonte bnl.gov


E por útlimo, ele da estatísticas do protocolo que realmente num troubleshooting salvarão o dia (mas exige um nível de nerds mais a fundo =D ):

[root@spookerlabs ~]# ss -t state ESTABLISHED -i
Recv-Q Send-Q                     Local Address:Port                         Peer Address:Port  
0      72                         23.239.24.120:ssh                       179.252.240.234:59858  
     cubic wscale:4,7 rto:423.333 rtt:213.333/17.5 ato:40 mss:1440 cwnd:9 ssthresh:8 send 486.0Kbps unacked:2 retrans:0/2 rcv_rtt:300 rcv_space:28960
[root@spookerlabs ~]#


Alguns links e fontes:

http://linuxaria.com/pills/ss-iproute2-linux?lang=en
http://www.binarytides.com/linux-ss-command/
http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html

Vou dar uma melhor estudada nos parâmetros listados no último comando para fazer uma postagem decente referente a eles, se souberem de materiais por favor enviem via e-mail ou comentários.

Happy Networking!

Rodrigo "Sp0oKeR" Montoro

sexta-feira, 28 de março de 2014

Venda gravação do Treinamento Completo Snort

Caros,

Como estou sem tempo devido ao trabalho e filho que nascerá nos próximos dias, decidi optar pela venda da gravação do último treinamento.


Instrutor

Rodrigo "Sp0oKeR Montoro é certificado LPI, RHCE e SnortCP com 15 anos de experiência em sistema de segurança opensource (firewalls, NIDS, IPS, HIDS, Análise de logs) e hardening de sistemas.  Atualmente trabalha como Senior Security Administrator na Sucuri Security. Anteriormente trabalhou na área de pesquisas onde onde focou seu trabalho em assinaturas para Sistema de Detecção de Intrusos, Modsecurity e realizou pesquisas para novos métodos de detecção de atividades maliciosas . Autor de 2 patentes requeridas envolvendo uma técnica para descobrir documentos digitais maliciosos e análise de cabeçalhos HTTP para detectar tráfego malicioso. É coordenador e evangelizador na Comunidade Snort Brasil na qual fundou em 2005. Rodrigo já palestrou em inúmeras conferencias opensource (FISL, Conisli, Latinoware) e de segurança Brasil e EUA (OWASP Appsec, Toorcon (EUA), H2HC (São Paulo e Cancun), SecTor (Canada), CNASI, Source Boston 2012/2013 e Seattle (EUA), ZonCon (Conferencia Interna da Amazon) ) e é coordenador de um projeto para criação de um conjunto de regras para o sistema de detecção de intrusos Snort para malwares Brasileiros.

Objetivo
O treinamento completo visa ensinar ao profissional o real funcionamento do snort, demonstrando e explicando funcionamento de protocolos além das funcionalidades, combinando fortemente teoria e prática. Também é abordado leitura e escrita de regras sendo que temos um desafio no treinamento onde o aluno analisará o malware do binário até a escrita das regras.
 

Ao final do treinamento o aluno entenderá o funcionamento pleno do snort, bem como melhores práticas e performance. Além disso entenderá melhor os alertas pois saberá como ler as regras e entender o que foi detectado deixando a resposta ao incidente mais rápida.

Conteúdo Programático

1-) Introdução a protocolos
2-) Mundo IDS ( NDIS, HIDS , WIDS , KIDS)
3-) Atacantes
4-) Como funciona o Snort
5-) Entendendo a aquisição de dados (DAQ)
6-) Posicionamento dos sensores
7-) Decoders
8-) Preprocessadores (teoria e prática)
       - Frag3
       - Stream5
       - sfPortScan
       - SMTP/POP/IMAP
       - Arp Spoof
       - HTTP Inspect
       - DCE/RPC2
       - Sensitive Data
       - IP Reputation


9-) Analise de performance
        - Performance das regras
        - Performance dos preprocessadores
        - Performance pacotes


10-) Output
         - Syslog
         - Unified 2

11-) Host Attribute Table
12-) Configurações Múltiplas
13-) Escrevendo e lendo regras para o Snort
         - Básico
            - Cabeçalho
            - Opções de Regra
         - Genericas
         - Payload
         - Non-Payload
         - Após detecção / Resposta Ativa

14-) Regras Shared Object
15-) PulledPork – Atualização de Regas
16-) Interface de Gerenciamento de Alertas / Dicas de analise de incidentes – Snorby
17-) Dicas finais

Valor do Investimento: R$499,00

FAQ

- Suporte via e-mail durante todo curso (caso necessário Webinarque será gravado postado)
- Webinar extras sobre novidades snort lançadas durante a validade do curso (3 meses) que será gravado também e disponibilizado.
- Material de Laboratórios em um formato não tão how to para o aluno quebrar um pouco a cabeça.
- VM por conta do aluno, nos baseamos no CentOS mas o aluno poderá utilizar qualquer distro de sua preferência visto que compilamos tudo do tarball.
- Liberarei acesso as aulas até 48h após confirmação do pagamento.

Caso tenha interesse só realizar o pagamento abaixo. Dúvidas podem entrar em contato comigo no spooker@gmail.com .




Happy Snorting!

domingo, 9 de fevereiro de 2014

De volta ao lado técnico .... Senior Security Administrator

Como muitos sabem tentei sair da área técnica, mudando para Conviso como Gerente de Produtos. Após 10 meses na função, algumas conversas com o Wagner Elias, cheguei a conclusão que meu mundo e o que me faz feliz no trabalho é a área técnica. Sendo assim, ficar na Conviso acabou não sendo o mundo ideal, pois o foco da Conviso é Segurança em Aplicações e desenvolvimento de produtos que suporte isso, o que não esta de acordo com meu perfil técnico, pois sou um cara do lado defensivo (Firewall, IDS/IPS, Análise de Logs) e amo os pcaps. Mas deixando claro que recomendo totalmente quem tiver uma vaga que se encaixe por lá, ambiente muito agradável, galera show e time muito competente, foi uma prazer trabalhar lá e até meio frustante não ter dado certo a migração de área, porém só descobrimos se tentarmos né. Valeu demais da oportunidade Wagnão =)

A partir de agora volto a origem, pensei muito nos últimos tempos, analisei empregos atuais e novo, chegando a conclusão que Security Administrator com pesquisas no tempo livre é minha praia real.

Estou assumindo a vaga na Sucuri.Net, uma startup americana em crescimento, com uma infraestrutura crescente e com grandes desafios, além do negócio da empresa estar bem de acordo com meu perfil técnico.

Além da mudança de emprego, também voltarei a escrever regularmente no blog, logicamente assuntos técnicos e na área de sysadmin / IDS / Malwares e quem sabe sobre meus triathlons (XTERRA) / corridas de trilhas e aventura hehehe =).

Iniciarei algumas pesquisas e aplicarei para algumas conferências, mas como todos sabem serei papai em Abril, o que aproveitarei esse primeiro semestre para montar a base das pesquisas, pois não poderei viajar muito (no sentido literal da palavra) nesse momento.

E para finalizar compartilho  esse vídeo: "O que você está fazendo algo ? Algo que realmente ama ?"




Vamos que vamos!