Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.


Você não está conectado. Conecte-se ou registre-se

[tutorial] detectando invasão pelo log do apache

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

entao galera existem inumeros tipos de detectores de intrusão (ids e ips), sistemas de segurança como firewall e waf, honeypots e muitos outros, com isso é possivel detectar uma tentativa de invasão durante o proprio ataque, boa parte desses sistemas de segurança são programas então é necessario esta rodando eles no servidor e em muitos casos usamos apenas webhosts que são bem limitado as vezes apenas com acesso a um cpanel, porem muitos webhost permite acesso ao log do apache e com isso seria possivel a gente detectar algumas tentativas mesmo pelo log, o log do apache no sistema linux na maior parte das vezes fica no diretorio /var/log/apache2 e la dentro por padrão tem os arquivos access.log e error.log (o apache permite customizar os logs entao pode ter um arquivo log para cada dominio virtual ou ate um arquivo log para cada evento especifico), o arquivo access.log armazena todos os acessos exibindo por padrao nesse formato

Código:
IP [DATA HORA] "CABEÇALHO"  ..  "AGENTE"

ou seja apenas com isso a gente ja pode identificar o atacante a hora e o dia do ataque, o tipo de ataque e a pagina que esta sendo atacada o navegador ou ate mesmo programa que esta sendo usado no ataque, para esse exemplo vou usar um servidor local no caso um ubuntu (que esta com o IP 192.168.1.2) e o atacante vai ser um xubuntu (192.168.1.1), acabai de limpar o log access.log entao se eu olhar ele nao vai ter nada

Código:
sudo cat /var/log/apache2/access.log



porem quando eu acesso a pagina pelo proprio ubuntu e depois disso analiso o log teve duas requisição sendo uma a propria pagina a outra a imagem que esta na pagina (/img.jpg)

Código:
192.168.1.2 - - [07/Aug/2016:13:02:07 -0300] "GET / HTTP/1.1" 200 519 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:41.0) Gecko/20100101 Firefox/41.0"
192.168.1.2 - - [07/Aug/2016:13:02:07 -0300] "GET /img.jpg HTTP/1.1" 304 166 "http://192.168.1.2/" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:41.0) Gecko/20100101 Firefox/41.0"



se a gente perceber o IP gerado foi o do proprio servidor ja que eu acessei pelo ubuntu se a gente acessar a pagina pelo xubuntu



o log gerado vai ser o IP do xubuntu que é 192.168.1.1

Código:
192.168.1.1 - - [07/Aug/2016:13:26:51 -0300] "GET / HTTP/1.1" 200 519 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:48.0) Gecko/20100101 Firefox/48.0"
192.168.1.1 - - [07/Aug/2016:13:26:52 -0300] "GET /img.jpg HTTP/1.1" 200 84199 "http://192.168.1.2/" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:48.0) Gecko/20100101 Firefox/48.0"



alem do IP podemos perceber no user-agent de quem conecto no servidor foi um linux e ainda usando o firefox inclusive a versao do firefox é a 48 (no caso tambem apareceu ubuntu e nao xubuntu isso por que o xubuntu é o sistema ubuntu embora com ambiente grafico xfce e nao o unity)

Código:
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:48.0) Gecko/20100101 Firefox/48.0"

voce poderia usar isso como base para descobrir uma pessoa que esteja atacando o site e esteja mascarando o IP por um proxy ou VPN porem esteja com um navegador especifico ou uma versao antiga do mesmo, outra forma interessante é colocar um cookie especifico no navegador do atancante assim voce poderia identificar ele mesmo mudando de IP (claro que esses meios são facilmente burlados kkkk), se abrir uma pagina especifica naquele servidor tambem é armazenado pelo log o acesso naquela pagina

Código:
http://192.168.1.2/login/index.php



olhando no log podemos ver que vai armazenar a pagina que acessamos

Código:
192.168.1.1 - - [07/Aug/2016:14:21:14 -0300] "GET /login/index.php HTTP/1.1" ...

entao como é uma pagina de login vamos tentar um ataque de força bruta, veja uma coisa pelo brute force a gente descobriu o usuario e senha admin:123456 (normalmente isso nao deveria acontecer por isso sempre recomendo senhas fortes que nao exista em nenhum wordlist, fica a dica)



se a gente der uma olhada no log depois do brute force vamos ver que ele armazeno toda requisição naquela pagina ou seja toda tentativa de logar que o programa fez nela



se a gente reparar no log o proprio programa se entrego no user-agent sendo que apareceu o nome do programa que eu usei para o ataque no caso o hydra (nem sempre é possivel descobrir o nome do programa ja que é possivel mudar o user-agent)

Código:
"Mozilla/5.0 (Hydra)"

se a gente reparar na quantidade de requisição em um certo tempo vamos perceber que é um ataque ja que seria dificil uma unica pessoa acessar a mesma pagina umas 300x em um unico segundo (ataques de DoS entao nem se fala aquilo dali lota igual bebado em dia de festa)

Código:
192.168.1.1 - - [07/Aug/2016:15:24:02 -0300] "GET /login/index.php
192.168.1.1 - - [07/Aug/2016:15:24:02 -0300] "GET /login/index.php
192.168.1.1 - - [07/Aug/2016:15:24:02 -0300] "GET /login/index.php
192.168.1.1 - - [07/Aug/2016:15:24:02 -0300] "GET /login/index.php
192.168.1.1 - - [07/Aug/2016:15:24:02 -0300] "GET /login/index.php
192.168.1.1 - - [07/Aug/2016:15:24:02 -0300] "GET /login/index.php
...

podemos usar o log para checar se alguem esta tentado algum ataque especifico em alguma pagina como por exemplo sqli, lfi, xss ou algum outro tipo bastando apenas conhecer o padrao, exemplo uma checagem de sqli

Código:
http://192.168.1.2/info?id=315'



no log aquela checagem ficaria %27 no final

Código:
GET /info.php?id=315%27



para facilitar podemos filtrar com grep e procurar um padrao especifico como por exemplo o %27 para ver se alguem esta testando vulnarabiudades no servidor ou melhor ainda criar um script ou programa com base no log bloquear pelo iptables aquele determinado IP automaticamente

Código:
sudo cat /var/log/apache2/access.log | grep "%27"



bom galera os logs são importantes para detectar tentivas de invasão em um servidor porem eles nao se limita apenas a isso voce pode usar os logs para saber qual pagina esta sendo mais acessada ou para alguma estatistica, outra coisa importante que mesmo com armazenamento de log nada impede do invasor obter acesso ao servidor e modificar os logs no caso uma boa pratica para prevenir a modificação do log é fazer um backup dele em certo tempo e usar um usuario limitado para o apache

by kõdo no kami

Ver perfil do usuário https://eofclub.in/forum

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum