terça-feira, 20 de janeiro de 2015

Videos: 2012 Red Hat Summit: Achieving top network performance

Hoje assisti esse vídeo sobre performance e alguns testes que fazem na Redhat e achei bem interessante compartilhar.



Na palestra ele comenta de testes de tuning de kernel, uso do netperf, Numa, lspci para usar o slot correto com o hardware, ferramentas como dropwatch, básico do sar para ver onde está possível gargalo além da rede, cstates / power management.

Vale a pena investir os 50 min da palestra.

Abs!

Rodrigo "Sp0oKeR" Montoro 

quinta-feira, 8 de janeiro de 2015

Vídeos: Behavior Based Security with Repsheet: Aaron Bedra @nginxconf 2014

Prometi que assisterei várias horas de palestras, vídeos da área TI/Segurança por mês e compartilharei o que assistir aqui.  Postarei links do que assistir, algumas vezes resumos ou simples comandos que achar interessante.

Hoje pela manhã assisti esse vídeo da NGINX conference (quero ir nela em 2015, ano passado foi a primeira) bem interessante falando sobre Behavior para detectar usuários maliciosos. Peguei alguns insights interessante que tentarei usar para o meu mundo, visto que na Sucuri atendemos múltiplos clientes e não tenho como ser tão especifico como ele no site do Groupon.


O projeto pode ser acessado aqui:  https://github.com/repsheet/

Esse ano postarei bastante, acompanhem o blog =)

Happy Detection!

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