quinta-feira, 25 de junho de 2015

[Dica Ferramenta] - Geolocation (País e ASN - Autonomous System Numbers) com geoip-bin

Ontem precisava rapidamente fazer Geolocation de alguns milhares de IP que coletei nos honeypots, pensei em codar algo, porém numa googleada rápida achei essa tool que já vem no repositório do Ubuntu e funciona bem legal.


Basicamente a instalação é simples

$ sudo apt-get install geoip-bin

Com a ferramenta instalada, sugiro que atualizem a database de ASN e Países para ter melhores resultados

Atualizar países

$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
$ gunzip GeoIP.dat.gz
$ sudo cp GeoIP.dat /usr/share/GeoIP/

Atualizar ASN

$ wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
$ gunzip GeoIPASNum.dat.gz
$ sudo cp GeoIPASNum.dat /usr/share/GeoIP/

Feito isso, só usar a ferramenta:

$ geoiplookup 43.229.52.28
GeoIP Country Edition: HK, Hong Kong
GeoIP ASNum Edition: AS63857 HOT NET LIMITED

No caso dos testes dos honeypots, alguns dados extraídos, em breve pretendo compartilhar mais.

TO10 Países

 466847  GeoIP Country Edition: HK, Hong Kong
 133844  GeoIP Country Edition: CN, China
  14341   GeoIP Country Edition: FR, France
  10093   GeoIP Country Edition: US, United States
   5781    GeoIP Country Edition: GB, United Kingdom
   4618    GeoIP Country Edition: KR, Korea, Republic of
   3585    GeoIP Country Edition: RU, Russian Federation
   3569    GeoIP Country Edition: DE, Germany
   2899    GeoIP Country Edition: IN, India
   2321    GeoIP Country Edition: TW, Taiwan


TOP10 ASN

 465302 GeoIP ASNum Edition: AS63857 HOT NET LIMITED
  96216  GeoIP ASNum Edition: AS23650 AS Number for CHINANET jiangsu province backbone
  12120  GeoIP ASNum Edition: AS4134 Chinanet
   8376   GeoIP ASNum Edition: AS21502 NC Numericable S.A.
   6191   GeoIP ASNum Edition: AS4837 CNCGROUP China169 Backbone
   5510   GeoIP ASNum Edition: AS202109 Digital Ocean, Inc.
   4292   GeoIP ASNum Edition: AS24445 Henan Mobile Communications Co.,Ltd
   4135   GeoIP ASNum Edition: AS12876 ONLINE S.A.S.
   2711   GeoIP ASNum Edition: AS9808 Guangdong Mobile Communication Co.Ltd.
   2431   GeoIP ASNum Edition: AS9318 Hanaro Telecom Inc.

Happy Detection!

Rodrigo "Sp0oKeR" Montoro

segunda-feira, 22 de junho de 2015

Logar tentativas de acesso a diretórios protegido pelo .htaccess

Domingão a noite, estava conversando sobre coisas nerds com o Robertux e ele me perguntou se conhecia algum honeypot para logar tentativas de acesso a diretório protegidos com o .htaccess. Logicamente por motivos de segurança as senhas não são salva por padrão nos logs texto que o apache gera.

De cabeça e pesquisando rapidamente não conhecia nada, mas algo que gosto de usar bastante para simular honeypots web é o próprio apache, bem mal configurado as vezes, visto que o foco é coletar infos e não ser seguro.



Pequisando e fazendo alguns testes, consegui montar algo usando basicamente essas 2 configurações:

1-) Criar o .htaccess dentro do diretório protegido com o seguinte conteúdo:

ErrorDocument 401 /logging.php

AuthName "My Password Protected Site"
AuthUserFile /tmp/.htpasswd
AuthType Basic
Require valid-user

# Set REMOTE_USER env variable on 401 ErrorDocument
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} ^401$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},E=REMOTE_USER:%{ENV:REDIRECT_REMOTE_USER}]

No caso, o arquivo que será redirecionado em caso de erro do login estará no root e com nome logging.php.

2-) Criar o logging.php com o seguinte código

if(isset($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])):
    $fp = fopen('/tmp/htaccess.log', 'a+');
    $ip = $_SERVER['REMOTE_ADDR'];
    $password = $_SERVER['PHP_AUTH_PW'];
    $username = $_SERVER['PHP_AUTH_USER'];
    $time = date('y-m-d/H:i:s');
    $request = $_SERVER['REDIRECT_URL'];
    fwrite($fp, $time."\t".$ip."\t".$request."\t".$username."/".$password."\r\n");
    fclose($fp);
endif;

ob_start();
header("HTTP/1.1 401 Authorization Required",1);
header("Status: 401 Authorization Required",1);
echo '
401 Authorization Required

Authorization Required


This server could not verify that you are authorized to
 access the document
 requested.  Either you supplied the wrong
 credentials (e.g., bad password), or your
 browser doesn\'t understand how to supply
 the credentials required.
';
exit();
?>

No exemplo ele salvará as tentativas no /tmp/htaccess.log .


3-) Lembre-se de mudar o AllowOverride das configurações do diretório root de None para All, visto que ele vem como None por motivos de segurança

        Options Indexes FollowSymLinks
        AllowOverride all
        Require all granted
O resultado no /tmp/htaccess.log (fiz um update no script acima que salva o IP source também) será:

15-06-22/14:32:20    127.0.0.1    /honey/    admin/123
15-06-22/14:32:20    127.0.0.1    /honey/    admin/lalala
15-06-22/14:32:20    127.0.0.1    /honey/    admin/1234546
15-06-22/14:32:20    127.0.0.1    /honey/    admin/abc
15-06-22/14:32:20    127.0.0.1    /honey/    admin/test
15-06-22/14:32:20    127.0.0.1    /honey/    admin/root
15-06-22/14:32:20    127.0.0.1    /honey/    admin/teste
15-06-22/14:32:20    127.0.0.1    /honey/    admin/admin


Usei de referência essa link - http://serverfault.com/questions/460765/log-invalid-login-attempts-htpasswd

Lembrando que isso é pra função de honeypot, código pode (ou não) conter falhas, simplesmente fiz algo funcional.

Alguém conhece algo melhor ? Sugestões ? Subirei depois isso em algum node pra ver se consigo infos legais e logicamente compartilhar.

Happy Detection!

Sp0oKeR Labs

sexta-feira, 19 de junho de 2015

Estamos de volta! Segundo semestre de muita informação para compartilhar =)

Amigo(as),

Depois de 2 anos com tentativas de mudanças de área, acertos e erros, muito aprendizado, um período sabático de 2 meses para refletir um pouco o que quero pra mim e muito pouco blogpost nesse período, estamos de volta!



Ando meio afastado do blog, bem como não colocando conteúdos de testes. Como estou voltando a área de origem (pesquisas e muita detecção de intrusos) no qual testarei e pesquisarei muito muito mais. Pretendo compartilhar quase que diariamente meus testes, vídeos, pesquisas/idéias, leituras e falhas =).

Entre os assuntos que estou com uma pilha de idéias e testes já iniciados são (só um resumo de tudo que vou blogar quase que diariamente e em "pedacinhos"):

- MHN / Honeypot no geral

   A idéia é compartilhar dados dos meus sensores de testes, dar dicas, linhas de comandos para extração, configurações. Entre uma lista de nomes podemos citar:
  • Kippo
  • Honeyd
  • Dionaea
  • Wordpot
  • Shockpot
  • ElasticHoney
  • Outros diversos projetos existentes.

A URL do MHN http://threatstream.github.io/mhn/ caso queira conhecer essa tool.

- Threat Intel

   O mundo de inteligência em ameaças é algo totalmente dinâmico, porém lendo e acompanhando textos, existe muita informação na verdade e pouco inteligência muitas vezes. A idéia é compartilhar testes, resultados, papers e ajudar ao uso de feeds públicos (e quem sabe pagos se alguém fornecer as infos).  Um projeto bem interessante que fará parte dessa parte de pesquisa será o MLSec Project, liderado pelo Alex Pinto.


- OpenSoc

Esse projeto me chamou muito atenção no que li e assisti vídeos, porém a minha meta agora é fazer algo prático e ver se é viável para pequenas estruturas, nada gigante. Será uma escola esses testes e vou compartilhando problemas, acertos e pedindo ajuda.

Site do projeto: http://opensoc.github.io/ 

- Host Security / Hardening / Configuration Security

Registro windows (sim, vou investir um tempo tentando entender esse mundo maluco), melhores práticas (e realidades hehehe) de configurações, guias disponíveis e uso de ferramentas como OpenScap.

Além disso diversos outros assunto, logicamente sempre vinculados com Detecção de Intrusos no geral

- Malwares Nacionais

Muitas novidades por vir em Julho.

- Sistemas Detecção de Intrusos (Snort, Suricata, OSSEC, ModSecurity, IoC, Análise de logs)

- Network Security Monitoring (NSM - Security Onion)

Além dos assunto nerds, também postarei por 2 coisas do meu interesse, logicamente em menor escala que os outros assuntos (ou não né, quem me conhece sabe que esporte atualmente é meu rivotril + ritalina + cachaça:

- Esportes (Triathlon, XTerra, Aventuras)

- Startup / Produtos (algo que não domino mas acho extremamente interessante)

Retorno ao Triathlon e pesquisas nesse segundo semestre 2015 promete!

Set nerds mode level extreme! Segue ai pessoal que semana que vem já começo =)!

Vamos que vamos!

Happy Detection.

quarta-feira, 17 de junho de 2015

Gravação do Webcast sobre Treinamento Snort

Caros,

Fiz um webcast explicando sobre o treinamento Snort que ministrarei em parceria com o Treinamento Linux em Julho (início 13 de Julho com aulas de segunda a quinta noturna).

Segue abaixo o vídeo:




Caso tenham interesse, entrem em contato http://www.treinamentolinux.com.br/contato-2/ 

Precisando de mais dúvidas ou informações técnicas podem entrar em contato pelos comentários ou meu e-mail também spooker /at/ gmail.com

Happy Snorting!

Rodrigo Montoro