Você está na página 1de 9

rotinas forenses com debian 24/09/2015

analise de trafego em redes TCP/IP com tcpdump

rfcs: 768, 791, 792, 793, 1918, 2460, 6890 e todas as atualizacoes

ver: tshark, wireshark, mtr, ping, netcat, iptraf, packit etc.

simulador de redes core -> # aptget install corenetwork

protcolo ip utilizado para transportar outros protocolos

protocolo importantes para analise: tcp, udp, icmp

somente tcp e udp utilizam portas

protocolos IP: /etc/protocols

tpc e udp sao utilizados para transportar protocolos [usuario/aplicacao]


http, smtp, pop3, ftp, msn, ssh, telnet, irc ....

Flags TCP:
Syn (synchronize): inicia conex�es.
Fin (finish): finaliza conex�es.
Psh (push): envia dados. [possui payload]
Ack (acknowledgment): confirma��o de que � conhecido o n�mero de sequ�ncia do
pr�ximo segmento a ser enviado
pelo lado oposto.
Rst (reset): �n�o entendi�.

icmp -> protocolo de controle das atividades de rede

nota: nao se bloqueia icmp em redes

controlar quantidade m�xima de echo requests permitidos


# iptables -A FORWARD -p icmp --icmp-type 8 -m limit --limit 10/s -j ACCEPT
# iptables -A FORWARD -p icmp --icmp-type 8 -j DROP

modelo osi [camadas]

7 dados aplicacao Usu�rio, http, ftp, smtp, pop3, chat etc


-> IPS, IDS e proxies
6 dados apresentacao SSL, convers�o de padr�es, des/compress�o
5 dados sessao Sess�o de aplica��es
4 segmentos transporte tcp, udp
-> IPS, IDS, filtros
3 pacotes rede IP e protocolos IP (exceto TCP e UDP) / roteador
[pacotes ou datagramas] -> IPS, IDS, filtros e proxies
2 pacotes enlace Ethernet, ATM, PPP, frame relay / switch,
bridge [quadros ou frames] -> IPS (scrubbers)
1 bits fisica Hub, switch, bridge, cabos, placa de rede,
ondas wireless etc

ex:
tcpdump -nSt host www.eriberto.pro.br
tcpdump -nStA host www.eriberto.pro.br
tcpdump -nSt port 81
tcpdump -nSt host hamurabi.acc.umu.se
tcpdump -nSt port 54 or icmp

nota: utilize a opcao -A para ver o payload


-----------------------------------------------------------------------------------
-------------------------------

ipv6
trabalha com enderecos de 128bits -> 16 bytes -> maximo: 2^128
rfc 1883, 2460
metade do endereco -> identificacao da rede
outra metade -> numeracao dos hosts
cidr -> continua -> sem quebra de octetos -> sem mascara de rede
cidr comum -> /8, /16, /24, /32, /40, /48, /56, /64 e /128
cird provedor -> /32 -> sao 65.536 /48 e 16.777.216 /56
cidr usuario -> /48, /56, evitar: /64
redes dentro de casa -> /48 = 65.536 e /56 = 256
/64 -> apenas uma rede [nao utilizar]

prefixo -> identifica a rede


neighbor discovery -> camada 3 do osi [arp extinto]
mtu path discovery -> framentacao de pacotes so na origem
criptografia ipsec -> opcional -> camada 3 do osi
nat e dhcp -> nao utilizar
zeroconf -> nativo baseado no endereco mac
zeros -> devem ser suprimidos a esquerda, sem gerar ambiguidade
placa de rede -> podem tem varios enderecos ips
cabecalhos de extensao -> implementado

enderecos especiais
loopback -> 0000:0000:0000:0000:0000:0000:0000:0001 -> ::1
sem ipv6 -> 0000:0000:0000:0000:0000:0000:0000:0000 -> ::
documentacao -> 2001:db8::/32
ips privados -> fc00::/7
multicast -> ff00::/8
link local -> fe80::/10

ipv6-------------------------------------------------------------------------
cabecalho 1a linha
00 a 03 -> versao
04 a 11 -> classe de trafego
12 a 31 -> etiqueta de fluxo

cabecalho 2a linha
00 a 15 -> tamanho do payload
16 a 23 -> proximo cabecalho
24 a 31 -> hop limit

cabecalho 3a linha
endereco de origem

cabecalho 3a linha
endereco de destino

totalizando 40 bytes
-----------------------------------------------------------------------------
ipv4-------------------------------------------------------------------------
cabecalho 1a linha
00 a 03 -> versao
04 a 07 -> IHL
08 a 15 -> Tos
16 a 31 -> tamanho total do pacote

cabecalho 2a linha
00 a 15 -> identificacao do pacote
16 a 31 -> flags -> fragment offset

cabecalho 3a linha
00 a 07 -> TTL
08 a 15 -> protocolo ip
16 a 31 -> checksum do cabecalho

cabecalho 4a linha
endereco de origem

cabecalho 5a linha
endereco de destino

ate aqui 20 bytes

cabecalho 6a linha
opcoes e complemento [0 a 40 bytes]
-----------------------------------------------------------------------------

extintos: IHL, identicacao do pacote, flags, frament offset, checksum do cabecalho

Tos -> classe de trafego


tamanho total do pacote -> tamanho do payload
TTL -> hop limit
protocolo ip -> proximo cabecalho
opcoes de complemento -> proximo cabecalho

-----------------------------------------------------------------------------------
-------------------------------

firewall
Firewall � todo o esfor�o f�sico e l�gico necess�rio para manter a seguran�a em uma
rede de computadores;
Atualmente, n�o � poss�vel e nem seguro compor um firewall com uma �nica m�quina;
Firewall � um sistema integrado de defesa, que pode estar concentrado ou espalhado
dentro de uma rede.

tipos
Filtro de pacotes -> analise: cabe�alhos dos pacotes; -> Ipchains,
Iptables, Hogwash, Snort, Squid;
Filtro de estados -> analise: estados das conex�es; -> Iptables,
Hogwash;
Gateway de circuito -> analise: tr�fego passante (posicionado inline); -> Ipchains,
Iptables Squid <- todos in-line, Hogwash;
Gateway de aplica��o -> analise: conte�do total ou parcial dos pacotes. ->
Hogwash, Snort, Squid, L7Filter.
roteador -> roteamento de rede � feito com base no endere�o IP e, portanto, ocorre
na camada 3 do modelo OSI;
bridge -> estabelece uma simples conex�o entre dois ou mais grupos de m�quinas,
baseando-se somente no endere�o MAC.
Portanto, ocorre na camada 2 do modelo OSI;
bridge -> n�o altera o cabe�alho do pacote e, geralmente, interliga elementos
pertencentes � mesma rede l�gica.
-----------------------------------------------------------------------------------
-------------------------------

controle de trafego em redes

tc do pacote iproute -> controle de trafego [apt-get install iproute

classes -> tuneis por onde passa todo trafego

disciplinas -> algoritimos que controlom o trafego, associadas aos adaptadores de


rede

iptraft -> medir velocidade do trafego em cada interface

mrtg -> gera graficos de utilizacao do link


-----------------------------------------------------------------------------------
-------------------------------

medidas iniciais [quando micro esta ligado]


pendrive ou hd externo com espaco maior que memoria ram da maquina
logar como root e montar dispositivo /mnt
dump de memoria [ferramente lime]
usuario logados -> # w > /mntt/w
historico de comandos -> # history > /mnt/history
situacao da memoria -> # free -m > /mnt/free
tempo de vida da maquina -> # uptime > /mnt/uptime
processos ativos -> # ps aux > /mnt/ps
processos ocultos -> # unhide [proc/sys/brute] > /mnt/unhide.
[proc/sys/brute]
portas abertas -> # netstat -tunap > /mnt/netstat
portas tcp/udp ocultas -> # unhide-tcp > /mnt/unhide.tcp
pacotes instalados -> # rpm -qa > /mnt/pacotes
data e hora -> # date > /mnt/date
utilizacao de discos -> # df -hT > /mnt/df
dispositivos montados -> # mount > /mnt/mount
particionamento -> # fdisk ou gdisk -l > /mnt/fdisk ou gdisk
versao do kernel -> # uname -a > /mnt/uname
dados de rede -> # ifconfig > /mnt/ifconfig
rotas de rede -> # route -n > /mnt/route
modulos carregados -> # lsmod > /mnt/lsmod
stat situacao dos arquivos e diretorios
strings + grep garimpar arquivos
find # find /forense/ mtime -d [arquivos criados]
fls # fls -Fdro 63 arquivo.img [recuperar arquivos]
icat # icat -o 63 arquivo.img 75 > teste.jpg [recuperar
arquivos]
magicrescue recuperar arquivos em midias formatadas
foremost recuperar arquivos em midias formatadas
hexdump conteudo hexadecimal
hexedit conteudo hexadecimal
mcview arquivo ascii
gwenview programa: abrir imagem
gimp programa: abrir imagem
metacam verificar dados exif de imagens
exif verificar dados exif de imagens
file propriedades de arquivos
okular [kde] conteudos
evince [gnome] conteudos
sxiv visualizar figuras

dois hashes diferentes [sha2] da memoria e arquivos gerados


desmontar /mnt
em outro micro verificar se dados foram gravados no disco externo
desligar o micro sem gravar dados no disco [puxe o cabo de energia]

adicionar um hd para criar imagem


inicializar o micro com live ou pendrive forense
atencao: este nao pode utilizar swap ou montar midias automaticamente no micro
periciado
montar particao do hd adicional
criar imagem de todo hd comprometido
criar dois hashes da imagem [sha2]
sempre montar iagem com opcao read-only
arquivos swap sao extencao da memoria, nao sao montados

analise:
logs
memoria
swap
/tmpl /var/tmp, /home ....
procurar rootkists e backdoors
verifique se sistema esta atualizado]
verifique senhas e arquivos na imagem da memoria

busca:
arquivos relevantes utilizando palavras-chave
propriedades de arquivos
arquivos criptografados
imagens cmo esteganografia

ferramentas
sleuthkit
chkrootkit procurar rootkits
rkhunter procurar rootkits
clamscan procurar worms

particoes gpt

discos -> pratos -> trilhas -> setores -> 512 bytes

bios -> basic input output sustem

mbr -> master boot record -> um setor [512 bytes]


area para gestores de boot [446 bytes]
tabela que controla ate 4 particoes primarias de disco [16 x 4 = 64 bytes] + 2
bytes
limita o disco a 2.2 terabytes

particao estendida -> permite o uso de particoes logicas -> so controla a primeira
logica -> cada particao logica possui seu controle e se encadeia com a proxima
logica ->
quando se perde uma particao logica -> perde-se as outras tambem -> nao utilize
particoes logicas

efi ->
uefi -> unified extensible firmware interface

os loader -> efi -> firmware -> hardware

gpt -> guid partition table -> tabela de particoes [substituta da mbr] -> 128 bits
[16 bytes] para
identificar um dispositivo de forma unica no mundo [mas pode haver colisao de guid]
-> trabalha com lba ->
limita o disco a 9.4 zettabytes

lembre-se: byte -> kilobyte -> megabyte -> gigabyte -> terabyte -> pentabyte ->
exabyte -> zettabyte

gpt -> ocupa 34 setores -> estrutura -> mais 34 setores -> backup no final do disco

gpt -> 32 setores realizam o controle de particoes -> permite 128 particoes de
disco
gpt -> utilza conceito de protective mbr -> contra erros de sistemas
gpt -> alguns sistema criam mbr hibrido [0xEE] -> fora do padrao]

esquema gpt primaria -> lba 0 -> protective mbr -> lba 1 -> cabecalho primario gpt
-> lba 2 -> entrada 1 a 4 ->
lba 3 -> entrada 5 a 128
esquema gpt -> lba 34 .. lba -34 -> particao 1 -> particao 2 -> particoes
remanecentes

esquema gpt secundario -> lba -33 -> entrada 1 a 4 -> lba -2 -> entrada 5 a 128 ->
lab -1 -> cabecalho secundario gpt

macOS -> suporta gpt -> bootavel se o hardware conter o firware uefi
windows -> somente versoes 64 bits -> bootavel se o hardware conter o firware uefi
linux -> utilizar grub2

ferramentas gpt
-> sfdisk -> cfdisk -> ver pacote util-linux
-> parted, gparted e o instalador do debian
-> fdisk -> somente -> # aptget install gnu-fdisk
-> gdisk -> debian wheezy

podemos converter gpt para mbr ou inverso [ajustes manuais: fstab, grub]
remover mbr -> wipe no primeiro setor do disco
remover gpt -> wipe nos primeiros e utimos 34 setores
-----------------------------------------------------------------------------------
-------------------------------

IDS (Intrusion Detection System): detecta e registra a��es maliciosas e tr�fego


an�malo nas redes de computadores.
Os IDS s�o passivos. Os HIDS atuam em hosts. [snort]

IPS (Intrusion Prevention System): detecta, registra e trata a��es maliciosas e


tr�fego an�malo nas redes de computadores.
Os IPS s�o ativos. Alguns s�o reativos (desaconselh�vel). Atuam inline na topologia
como roteador [snort in-line] ou bridge [hogwash].

hlbr -> http://hlbr.sf.net


(Hogwash Light BR) � um IPS livre que colhe dados diretamente na camada 2 do modelo
OSI (camada de enlace)

hogwash -> http://hogwash.sourceforge.net


scrubber [camada 2] -> nao altera cabecalho dos pacotes [bridge] -> sem endereco ip
[invisivel] -> configurar placas de rede
com 127.0.0.0 ou remover tcp do kernel -> interliga grupos de maquinas -> pode esta
entre o rotador wan e filtro de pacotes
-> nao reseta ou finaliza conexoes -> descarta pacotes maliciosos
-----------------------------------------------------------------------------------
-------------------------------

inotify -> monitor de eventos de filesystem

recuperao de arquivos

cilindros -> linhas verticais das trilhas


inodes -> blocos da area de controle
patterns -> padroes que identificam arquivos [ex: jpg inicia com 0xFFD8FF]
zerofill -> # dcffldd if=/dev/zero of=/dev/sda
secure-delete -> # aptget install secure-delete

dump de memoria
lime -> linux
dumpit -> windows
osxpmem -> os x
-----------------------------------------------------------------------------------
-------------------------------

raid
Redundant Array of Independent Drives [agrupamento redundante de discos
independentes]

raid0 [strip] -> divide cada arquivo entre blocos em v�rios discos. Velocidade sem
garantia de integridade. [2 ou mais discos]

raid1 [mirror] -> replica as informa��es, em tempo real, entre v�rios discos. [2 ou
mais discos]

raid5 [strip com paridade] -> identico ao raid0, mas ha um controle de paridade
distribuida pelos diversos discos. caso haja a
perda de um disco, os dados podem ser recuperados. [3 ou mais discos] -> dificil
implementa��o e menor performance que o raid1+0

raid1+0 [raid10) -> mirror + strip [4 ou mais discos]

raid0+1 -> similar ao 1+0 mas com menor desempenho

raid1 -> espelha um disco inteiro ou particoes, manipulando blocos de filesystem


[nao e um backup]

mdadm -> criar raid [# aptget insttall mdadm]

drdb -> distributed replicated block device [replica��o distriibuida em


dispositivos de blocos] -> aptget install drbd8utils

-----------------------------------------------------------------------------------
-------------------------------
rfcs http://www.rfceditor.org
tcpdump Pocket Reference Guide:
http://www.sans.org/securityresources/tcpip.pdf
bridges no debian: http://bit.ly/bridge_debian

Você também pode gostar