quarta-feira, 25 de março de 2015

Iptables – Bloqueando por String




As vezes precisamos bloquear um site que tem inumeros ip’s , e que esses ip’s podem mudar com o passar do tempo por que a empresa tem um range enorme. A opção mais sensata seria usar um proxy para fazer o serviço. Mas peguei um caso especifico que  o meu cliente tinha programas que conectavam em webservices e os mesmos programas não sabiam lidar com proxy, simplesmente davam todos os erros possiveis mas não estabeleciam conexão com o webservice, e não havia nenhum suporte para resolver isso do desenvolvedor dos softwares. A solução que encontrei foi o bloqueio no iptables por string. Dessa forma ele vai ler a string referente a url bloqueando o site no firewall. Segue abaixo um exemplo de como fazer isso, considerando que eth1 é a placa da sua rede interna:

Bloqueando um site:
iptables -I FORWARD -i eth0 -m string --algo bm --string 'youtube.com' -j DROP

Liberando para um ip especifico:

 iptables -A FORWARD -i eth0 -s 192.168.1.100 -m string --algo bm --string 'youtube.com' -j ACCEPT


sexta-feira, 30 de janeiro de 2015

Sistema de arquivo de partições HD no Linux


Introdução

Todos os arquivos no linux estão dispostos hierarquicamente em forma de árvore, sendo a raiz o diretório “/” e todas as partições e dispositivos montados em nosso computador também fazem parte dessa árvore. Sabemos que cada partição tem um tipo e também um possível sistema de arquivos, que pode ser um dos mais diversos, como EXT3, EXT4, FAT32, etc. Esses dias precisei descobrir o sistema de arquivos de uma partição, e por algum motivo não lembrava um modo de fazer isso. Depois de alguns minutos, lembrei do comando mount e resolvi o problema. Porém, mesmo assim fiz uma pesquisa para descobrir outros modos.
Nesse post iremos aprender quatro maneiras de se obter o tipo de e o sistema de arquivos de uma partição.

Solução 1

O comando mount nos mostra o sistema de arquivos em cada partição, além de outras informações:
 
# mount
...
...
/dev/sdb1 on /media/XISTO type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=ascii,shortname=mixed,showexec,utf8,errors=remount-ro,uhelper=udisks)
/dev/sda6 on /home/daemonio/usb type ext4 (rw,relatime,seclabel,data=ordered)

Solução 2

Em [1], vemos que o comando df com a opção -T também pode ser utilizado:
 
$ df -T
Filesystem     Type     1K-blocks     Used Available Use% Mounted on
...
...
/dev/sdb1      vfat        994832   694500    300332  70% /media/pendrive
/dev/sda6      ext4      38448276  2002272  34492904   6% /home/daemonio/usb
A coluna Type foi acrescentada pela opção -T.

Solução 3

Ainda em [1], temos também o comando file para solucionar essa tarefa:
 
[root@daemonio tmp]# file -s /dev/sda3
/dev/sda3: Linux rev 1.0 ext4 filesystem data, ...

Solução 4

Para desenferrujar nosso lado hacking, vamos encontrar o tipo de uma partição primária usando o padrão DOS de partição. O primeiro setor do disco contém a MBR, que nada mais é que um conjunto de informações que inclui a tabela de partições e o código inicial do gerenciador de boot do sistema operacional. Nos últimos 64 bytes da MBR, temos a tabela de partições:
 
# dd if=/dev/sda count=1 | xxd
 
0000000: eb63 908e d88e d0bc 007c 89e6 0657 8ec0  .c.......|...W..
0000010: fbfc bf00 06b9 0001 f3a5 ea1f 0600 0052  ...............R
0000020: 52b4 41bb aa55 31c9 30f6 f9cd 1372 1381  R.A..U1.0....r..
0000030: fb55 aa75 0dd1 e973 0966 c706 8d06 b442  .U.u...s.f.....B
...
...
00001b0: 0000 0000 0000 0000 7480 07c8 0000 0020  ........t...... 
00001c0: 2100 06fe ffff 0008 0000 0040 9002 00fe  !..........@....
00001d0: ffff 83fe ffff 0048 9002 0000 6a18 80fe  .......H....j...
00001e0: ffff 83fe ffff 0048 fa1a 0080 a903 00fe  .......H........
00001f0: ffff 05fe ffff 00c8 a31e b022 9f06 55aa  ..........."..U.
 
As últimas linhas da saída representam a tabela de partições. Como nesse modelo só podemos ter 4 partições primárias, o início de cada uma delas foi marcado por um negrito. Esse número em negrito é a flag indicando se a partição é de boot (valor 0x80) ou não (valor 0x00).
Por [2] e [3], vemos que o tipo da partição se encontra no quinto byte (em itálico) desde o início do negrito. Usando esse byte como índice na tabela de tipos [2], encontramos o tipo de cada partição no nosso disco:
 
+---------+--------------------+
| Número  |  Tipo da Partição  |
+---------+--------------------+
|  0x05   |      Estendida     |
+---------+--------------------+
|  0x06   |        FAT16       |
+---------+--------------------+
|  0x82   |     Linux Swap     |
+---------+--------------------+
|  0x83   |        Linux       |
+---------+--------------------+

No meu caso, eu tenho duas partições primárias no formato Linux, uma FAT16 e outra estendida. Aqui, não irei mostrar como obter o tipo das partições lógicas, ou seja, aquelas contidas na partição estendida. Para mais detalhes veja [2] e [3].
Bem, essa solução foi para mostrar que conhecendo detalhes internos das coisas, podemos obter informações muito interessantes. Esses pequenos hackings são muito úteis na área de forense digital, como podemos ver em [2].

 

Conclusão


Existem vários programas e métodos para se descobrir o tipo de uma partição e o sistema de arquivos dela. Hoje vimos como utilizar os comandos mount, df e file para resolver esse problema. Aprendemos também a ler diretamente a MBR para se obter o tipo de uma partição.

Referências


Retirado do Blog do Autor: -


[1] Linux how to determine the file system type by NIXCRAFT (Acessado em: Novembro/2012)
http://www.cyberciti.biz/faq/linux-how-to-determine-find-out-file-system-type/
[2] Partição by wikipedia (Acessado em: Novembro/2012)
http://pt.wikipedia.org/wiki/Parti%C3%A7%C3%A3o
[3] PC-Based Partitions by Priscilla Oppenheimer (Acessado em: Novembro/2012)
http://www.priscilla.com/Courses/ComputerForensics/pdfslides/01-PC_Partitions.pdf


quarta-feira, 10 de dezembro de 2014

Descubra quem e quando uma pessoa acessou seu computador



Se o computador que você usa é compartilhado com outras pessoas, as vezes, saber quem e quando uma pessoa acessou este PC, pode ajudar bastante. Se você sempre sonhou em saber essas informações mas nunca soube como, continue lendo esse post!
Em versões profissionais do Windows, você pode habilitar um monitoramento de login. Assim é fácil saber quem acessou determinada máquina e quando. Com essa ferramenta habilitada é possível ver os acessos tanto do login local como do login feito pela rede. Além de mostrar quando determinada pessoa acessou o computador, o evento também mostra quando ela se desconectou. Vamos aprender!

Habilitando a Política de Auditoria

A Política de Auditoria é o nome da função presente no Windows que possibilita sabermos quem e quando uma pessoa entrou num PC. Para habilitar pressione a tecla “Windows” no seu teclado. Depois digite “gpedit.msc“.
gpedit.msc
Agora você deverá clicar nele ou simplesmente apertar a tecla “Enter“. Vamos começar a navegação: Configuração do Computador > Configuração do Windows > Configurações de Segurança > Políticas Locais > Política de Auditoria.
politica-de-autoria
Agora volte a sua atenção para a janela da direita. Você deve clicar duas vezes na política com o nome: Auditoria de Eventos de Logon. Depois disso, irá abrir uma nova janela.
politica-de-autoria-2
Você terá duas opções: monitorar as pessoas que acessaram com êxito o computador e as que falharam. Depois de escolher as opções basta apertar o botão “OK“.

Visualizando os Acessos

Depois dessa configuração ativada, o Windows irá registrar todos os eventos de início de seção, ou seja, o nome de usuário e horário de acesso ao Windows. Para visualizar esse evento, basta abrir o visualizador de eventos. Novamente aperte a tecla “Windows” e digite “Visualizador de Eventos” e pressione “Enter” para abrir.
visualizador-de-eventos-windows8

Agora navegue: Logs do Windows > Segurança. Você verá diversos eventos da autoria. Procure na aba “Identificação do Evento” pelo número “4624“. Esse número representa os logins bem sucedidos. Para obter mais informações como nome de usuário e horários, basta clicar duas vezes sobre o evento.
visualizador-de-eventos-auditoria-acessos-1
Só lembrando que quando o log estiver cheio, você poderá filtrar as informações e procurar apenas os eventos com ID 4624. Agora você sempre saberá quem acessou o computador, qual horário e quanto tempo ficou conectado!
Abraço a todos!

Autor: Felipe Falcão. site : http://www.guiadopc.com.br/author/felipefalcao