– root@injetionsec:~#

Cabeçalho do Pacote IPv4

12.09.2015 (12:11 pm) – Filed under: Redes ::

Galera a figura acima mostra um protocolo IPv4 onde define muitos campos diferentes no cabeçalho do pacote. Estes campos contêm valores binários que os serviços IPv4 usam como referência ao enviarem pacotes através da rede.

Características básicas do IPv4:

    • Sem conexão – Nenhuma conexão é estabelecida antes do envio dos pacotes de dados.
    • Melhor Esforço (não confiável) – Nenhum cabeçalho é usado para garantir a entrega dos pacotes.
    • Independente de Meios Físicos – Opera independentemente do meio que transporta os dados.

Versão – Contém o número da versão IP (4).

Comprimento do Cabeçalho (IHL) – Especifica o tamanho do cabeçalho do pacote.

Tipo de Serviço – esse campo contém um valor binário de 8 bits que é usado para determinar a prioridade de cada pacote, roteadores que processam esses pacotes podem ser configurado para decidir qual pacote será encaminhado com base no valor desse campo

Comprimento do Pacote – fornece o tamanho total do pacote em bytes, incluindo o cabeçalho e os dados.

Identificação – usado principalmente para identificar unicamente os fragmentos de um pacote IP original.

Flag Mais Fragmentos – A flag Mais Fragmentos (MF) é um único bit no campo Flag usado com o Deslocamento de Fragmentos na fragmentação e reconstrução de pacotes. O bit da flag Mais Fragmentos é configurado, o que significa que ele não é o último fragmento de um pacote. Quando um host de destino vê um pacote chegar com MF = 1, ele examina o Deslocamento de Fragmentos para ver onde este fragmento deve ser colocado no pacote reconstruído. Quando um host de destino recebe um quadro com MF = 0 e um valor diferente de zero no Deslocamento de Fragmentos, ele designa este fragmento como a última parte do pacote reconstruído. Um pacote não fragmentado possui todas as informações de fragmentação iguais a zero (MF = 0, deslocamento de fragmentos = 0).

Flag Não Fragmentar – A flag Não Fragmentar (DF) é um único bit no campo Flag que indica que a fragmentação do pacote não é permitida. Se o bit da flag Não Fragmentar for configurado, a fragmentação do pacote NÃO será permitida. Se um roteador precisar fragmentar um pacote para permitir que ele passe para a camada de enlace de dados e o bit DF estiver definido como 1, o roteador descartará o pacote.

Deslocamento de Fragmento – Um roteador pode precisar fragmentar um pacote ao encaminhá-lo de um meio físico para outro que tenha uma MTU menor. Quando ocorre a fragmentação, o pacote IPv4 usa o campo Deslocamento de Fragmento e a flag MF no cabeçalho IP para reconstruir o pacote quando ele chega ao host de destino. O campo deslocamento de fragmento identifica a ordem na qual o fragmento do pacote deve ser colocado na reconstrução.

Tempo de Vida – O Tempo de Vida (TTL) é um valor binário de 8 bits que indica o “tempo de vida” restante do pacote. O valor TTL diminui em pelo menos um a cada vez que o pacote é processado por um roteador (ou seja, a cada salto). Quando o valor chega a zero, o roteador descarta ou abandona o pacote e ele é removido do fluxo de dados da rede. Este mecanismo evita que os pacotes que não conseguem chegar a seus destinos sejam encaminhados indefinidamente entre roteadores em um loop de roteamento. Se os loops de roteamento tivessem permissão para continuar, a rede ficaria congestionada com os pacotes de dados que nunca chegariam a seus destinos. A diminuição do valor de TTL a cada salto assegura que ele chegue a zero e que o pacote com um campo TTL expirado seja descartado.

Protocolo – O valor binário de 8 bits indica o tipo de payload de dados que o pacote está carregando. O campo Protocolo possibilita que a camada de rede passe os dados para o protocolo apropriado das camadas superiores, veja alguns exemplos de valores:
– 01 ICMP
– 06 TCP
– 17 UDP
– 2 IGMP

Checksum do Cabeçalho – O campo de checksum é usado para a verificação de erros no cabeçalho do pacote.

Endereço IP de Origem – O Endereço IP de Origem contém um valor binário de 32 bits que representa o endereço do host de origem do pacote da camada 3.

Endereços IP de Destino – O Endereço IP de Destino contém um valor binário de 32 bits que representa o endereço do host de destino do pacote da camada 3.

Opções – Há uma provisão para campos adicionais no cabeçalho IPv4 para oferecer outros serviços, mas eles raramente são utilizados.

 

Referências
http://www.ietf.org/rfc/rfc0791.txt
Segurança e Prevenção Em Redes – Stephen Northcutt,Judy Novak,Donald Mclachlan
CCNA Exploration 4.0 – Módulo 2 – Capítulo 4
http://www.teleco.com.br/tutoriais/tutorialmplscam/pagina_2.asp

Algumas opções de desempenho de scanning de porta – nmap

19.08.2015 (9:55 pm) – Filed under: Redes ::

Galera abaixo algumas opções de desempenho de scanning de porta utilizado para otimizar.

-T0 a -T5 : que vai do mais lento (-T0) ate ao agressivo (-T5)

–min-rtt-timeout,–max-rtt-timeout,–initial-rtt-timeout : quantidade minima, máxima e inicial de tempo que o nmap vai esperar por uma resposta a um determinado exame de porta

–host-timeout : especifique um determinado tempo que um host demore.

–min-rate,–max-rate : ajusta a limite inferior e superior de pacotes enviado pelo nmap a cada segundo

–max-retries : especifica o numero máximo de retransmissão dos scanning a uma unica porta

–mim-hostgroup,–max-hostgroup: define o numero minimo e máxima de hosts dos quais você quer examinar as portas em paralelo

–min-parallelism,–max–parallelism : limita o numero máximo e minimo de exames que pode ser feito

–scan-delay,–max-scan-delay : faz com que o nmap espere um determinado tempo entre o envio de pacotes a quaisquer host individual

–osscan-limit : faz com que o nmap não disperdesse tempo com host que não tenham porta aberta

Comandos – Banner Grabbing

16.07.2015 (3:12 pm) – Filed under: Redes ::

Lista de códigos de status HTTP [1][2], mais informações sobre o protocolo HTTP pode ser encontrado em[3]

http

Às vezes é útil verificar requisições em servidores, para solucionar problemas se os dados de um servidor está enviando as resposta aos comandos emitidos pelo cliente, algum comandos  para enumerar banners e informações de aplicativo mais conhecido como Banner Grabbing

printf “GET / HTTP/1.0\r\n\r\n” | nc host.example.com 80
echo -e ” http: hostalvo.com GET / HTTP/1.0\n\n” | nc hostalvo.com 80 | less
curl -X GET hostalvo.com:port
curl -D- hostalvo.com:port
echo hostalvo.com | nc -l -p 80
printf “HEAD / HTTP/1.0\r\n”; |nc -n 10.1.1.2 80
/bin/echo -ne ‘HEAD / HTTP/1.0\n\n’ |nc 10.1.1.2 80
nc -n -i hostalvo.com 80 <<EOF

 

Referências:
[1] https://pt.wikipedia.org/wiki/Lista_de_c%C3%B3digos_de_status_HTTP
[2] https://support.google.com/webmasters/answer/40132?hl=pt-BR
[3] http://www.w3.org/Protocols/rfc2616/rfc2616.html
__ http://www.stearns.org/doc/nc-intro.current.html
__http://sao-paulo.pm.org/pub/protocolo-http

Wardriving in my city

04.06.2015 (7:02 pm) – Filed under: Redes ::

Galera a uns mêses atrás postei no forum eof community como fiz o wardriving na cidade, se acharem interessante  … ehheh

=)

Posts de Wireshark

02.04.2015 (4:58 pm) – Filed under: Redes ::

wireshark_logo09ui0o

Galera estou lançando uma série de post estilo um mini-curso sobre Wireshark no EOF Community, tentarei postar de semana em semana ; segue os links:

Wireshark ~ Part 1 (23-03-2015)
Wireshark ~ Part 2 (02-04-2015)

Limpando cache arp cache no linux

17.01.2015 (4:58 pm) – Filed under: Linux,Redes ::

Address Resolution Protocol (ARP) é uma das formas eficazes para pesquisar o endereço de hardware de um host (Ethernet), ás vezes o cache arp errado poderá dar muitas dores de cabeça,você pode limpar todo o cache arp da seguinte forma no linux

Como ver o cache arp atual
root@debian:~# arp -avn
0032131

Limpando a cache arp em modo verbose
root@debian:~# ip -s -s neigh flush all
003219y1

Entrada atual do arp
root@debian:~# arp -avn
00321we8yy1

Pode excluir determinadas entradas arp
root@debian:~# arp -d 192.168.x.135
00321qw8yy1

T+ galera =)

Port forwarding com rinetd

23.12.2014 (1:30 pm) – Filed under: Redes ::

Como podemos fazer encaminhamento de porta com rinetd em distros baseada em debian, o rinetd permite encaminhar as portas de um sistema para outro, isso e útil se você mover seus sites para um novo servidor com um endereço IP diferente é você modificou seus registros DNS podemos usar o rinetd , caso ainda usam os registros de DNS antigos pode redirecioná-los para o novo servidor.

1o – instale o rinetd
apt-get install rinetd

2o – o arquivo de configuração do rinetd é /etc/rinetd.conf suponhamos que queiramos encaminhar o tráfego HTTP de 192.168.40.130 para 192.168.40.131 na porta 80 iremos add a seguinte linha

(…)
#
# bindadress bindport connectaddress connectport
192.168.40.130 80  192.168.40.131 80
# logging information
logfile /var/log/rinetd.log
# uncomment the following line if you want web-server style logfile format
# logcommon

3o – Restartamos o rinetd:
/etc/init.d/rinetd restart

4o – Executamos o netstat para ver se o rinetd esta rodando o server que configuramos
netstat -tap

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:7337 *:* LISTEN 1273/postgres
tcp 0 0 192.168.40.130:www *:* LISTEN 2485/rinetd
tcp 0 0 *:nessus *:* LISTEN 1330/nessusd

Caso você queira escutar todos os endereços IP que são configuradas no sistema onde está instalado, podemos usar 0.0.0.0 como o BindAddress da seguinte forma

(…)
#
# bindadress bindport connectaddress connectport
0.0.0.0 80  192.168.40.131 80
# logging information
logfile /var/log/rinetd.log
# uncomment the following line if you want web-server style logfile format
# logcommon

O arquivo /var/log/rinetd.log registra todos os logs definidos por tabulação simples da seguinte forma :

‣ Data e hora
‣ Endereço do cliente
‣ Host que esta na escuta
‣ Porta de escuta
‣ Transmitido host
‣ Transmitido porta
‣ Bytes recebidos pelo cliente
‣ Bytes enviados para o cliente
‣ Resultado de mensagem

Ate o próximo tópico galera =)

TCP Dump

04.11.2014 (6:18 pm) – Filed under: Redes ::

galera o tcpdump é a ferramenta de análise de rede,ter uma sólida compreensão desta aplicação e de estrema importância para qualquer um que deseja uma compreensão completa de TCP / IP . Muitos preferem usar ferramentas de análise de nível superior, como Wireshark, Microsoft Network Monitor e etc.A compreensão profunda destes protocolos permite solucionar problemas em um nível muito alto com domínio dos protocolos,ao usar uma ferramenta que exibe o tráfego de rede de forma mais natural com análise, vamos ver algumas opções como:

-n : os nomes não são resolvidos
-X : exibe o conteudo tanto em hex quanto em ASCII
-S : muda a sequencia dos numeros absolutos ao inves de relativos

E importante observar que o tcpdump só da os primeiros 96 bytes de dados de um pacote por padrão, se você quiser olhar mais pacotes ira te que adicionar a flag “-s” e o numero de bytes que desejar,usar o numero zero significa que ira receber todos os bytes,alguns dicas:

-i : ouça todas as interfaces para ver se esta avendo algum trfego
-n : não resolve nomes do hosts
-nn : não resolve nomes e portas dos hosts
-X : ver o pacote do conteudo tanto em ASCII ou Hexadecimal
-XX : mostra o cabeçalho de ethernet
-V,-vv,-vvv : aumenta a quantidade de informações de pacotes
-c : obtem um numero x de pacotes especificado por você
-s : define o tamanho de captura de bytes, usando -s0 ira capturar todos os pacotes
-S : imprime um numero de sequencias absolutas
-e : obtem o cabeçalho de ethernet também
-q : ver menos informações do protocolo
-E : ver o trafego do IPSEC, fornecendo assim uma chave de criptografia

* vejamos uma comunicação basica : tcpdump -NS
* comunicação basica mas detalhada : tcpdump -nnvvS
* ver mais coisas no trafego : tcpdump -nnvvXS
* visualizar um pacote maior,aumentando assim o valor : tcpdump -nnvvXS 1512

>>> Sintaxe comum

Algumas expressões que permitem varios tipos de trafegos que você pode procurar,existem 3 tipos de expressões principais type, dir, e proto.
As opções host, net, e port. indicando por dir, podendo ter src, dst, src e dst, src e dst vamos ver algumas abaixo:

* host : ver o trafego com base em um endereço ip ou nome do host e claro se você não estiver usando a
opção “-n” , veja o exemplo abaixo:

# tcpdump host 10.0.0.1

* src,dst : encontra o trafego de apenas uma fonte destino ou de algum destino

# tcpdump src 10.0.0.1
# tcpdump dst 10.0.0.2

* net : captura a entrada da rede usando a notação CIDR

# tcpdump net 10.0.0.1/24

* proto : funciona para TCP,ICMP,UDP note que você não tem que digitar o proto

# tcpdump tcp

* port : funciona em uma determinda porta para analisar o trafego

# tcpdump port 3305

* src port, dst port : filtro baseado na fonte ou na porta destino

# tcpdump src port 1025
# tcpdump dst port 389

* src/dst,port,protocol : combinando todos os três

# tcpdump src port 1025 e tcp
# tcpdump udp e src port 53

Podemos usar também a filtragem de porta por entervalo, em vez de declarar individualmente

* Range de Porta : podemos ver o trafego de qualquer porta em um intervalo

# tcpdump portrange 21-53

* Filtros de pacotes : ver os pacotes de um determinado tamanho, com o seguinte simbolos

# tcpdump > 32
# tcpdump <= 128

Podemos enviar o arquivo capturado em um arquivo usando a opção -w de depois lê-lo de volta usando a opção -r, esta e uma excelente maneira de capturar o tráfegos cru para depois ser usado em algum outro programa.O tráfego capturado desta forma é armazenado em um formato do tcpdump,isso significa que ele pode ser lido em por todos os tipos de ferramentas, como Wireshark,Snort e etc

Abaixo vamos capturar o tráfego da porta 80 para um arquivo

# tcpdump -s 1514 port 80 -w capture_file

Caso queira você pode ler o tráfego de volta assim:

# tcpdump -r capture_file

 

Bem galera tem mais um monte de sintaxe que você pode usar mas vou ficar por aqui,até o próximo tópico

Protocolo IPSEC o que é ?

14.10.2014 (6:24 pm) – Filed under: Redes ::

IPSEC : caracteriza como uma segurança, pela qual opera na camada de rede introduzindo no cabeçalho de pacote IP números de protocolos adicionais possibilitando criptografar qualquer protocolo de camada superior, como TCP e UDP oferecendo flexibilidade para conexões TCP/IP criptografados.Uma das desvantagens do IPSEC é exigir suporte do sistema operacional, através do Kernel, pois alguns kernels não oferecem manipulação direta dos cabeçalhos IP,pode ser usado como transporte e túnel.

woodhdoifpng

O protocolo IPSEC, possibilita à implementação de um tunelamento na camada de rede (IP) como ja falamos, isso oferecendo uma forma de autenticação no nível de rede,possibilita a transmissão e integridade de dados com criptografia utilizando chaves de 128 bits. Neste caso, implementando um grau de segurança nas informações que circulam pela rede,alguns elementos principais fazem parte do protocolo IPSEC na proteção da comunicação de rede, como:

 * (AH) cabeçalho de autenticação: autentica e verifica a integridade dos dados. Este processo de autenticação impede a recepção sem autorização em computadores evitando tipos de falsificação e alterações das informações nas rotas de comunicações. Ele não criptografa os dados, no entanto, sua principal característica é verificar a integridade no momento necessário.
 * (ESP) Carga de empacotamento: Possibilita um a forma de transporte segura, afim de evitar a interceptação, leitura e cópia dos dados que circulam por terceiros, ainda tem a missão de verificar a integridade
dos dados.

MODO TRANSPORTE:  apenas o segmento da camada de transporte é processado, autenticado e criptografado, pela qual o cabeçalho IPSEC é colocado logo após o cabeçalho IP. Neste caso, o campo do cabeçalho IP é modificado indicando que o cabeçalho IPSEC segue o cabeçalho normal do IP. O IPSEC possui no seu cabeçalho informações de segurança, como o identificador SA,número de sequência novo de parâmetros de verificação de carga,vemos abaixo a arquitetura do protocolo IPsec.

woodhdE0RIJWEng

No modo túnel, o pacote IP é autenticado ou criptografado, sendo que todo o pacote IP com o cabeçalho é encapsulado utilizando um novo corpo de um pacote IP com cabeçalho de IP totalmente novo. Isto torna-se necessário quando um túnel é finalizado em um local diferente do seu destino final ou quando as conexões TCP agregadas são tratadas como fluxo codificado único, evitando que terceiros desvendem qual parte está enviando ou recebendo e a quantidade de pacotes que trafegam na rede.

w78YWEng

O gerenciamento de chaves do protocolo IPSEC pode ser automático ou manual e isto depende do número de sites conectados.Atualmente, o protocolo IPSEC oferece uma das melhores oportunidades de implementação de segurança envolvendo proteção de tráfego sobre rede IP,pela qual consolida segurança as VPNs, bem como possibilita projetos de segurança em qualquer ambiente que as informações estejam expostas.

É isso ai galera =)

Mais consultas com whois

23.09.2014 (9:42 pm) – Filed under: Redes ::

O whois alem de apenas consultar servidores se você quiser obter informações de um determinado IP associado podemos fazer da seguinte forma:

whois -i [atributo][valor]

Vamos procurar informações sobre todos os endereços mantidos pelo Yahoo vejamos o comando:

whois -i mnt-by YAHOO-MNT

Caso queira filtrar os endereços IP a partir de uma consulta,podemos usar o grep é também com o wak da seguinte forma

whois -i mnt-by YAHOO-MNT | grep inetnum
whois –i mnt-by YAHOO-MNT | grep inetnum | awk –F\: ‘{ print $2 }’

Podemos usar outros atributos para fazer consultas inversas :

-i admin-c [NIC-handle ou pessoa]
-i person [NIC-handle ou pessoa]
-i nsserver [dominio,endereço,prefixo ou endereço unico]
-i sub-dom [dominio]
-i upd-to [email]

Caso queira pode consultar as paginas do manual do linux man whois para saber sobre mais comando e etc

=)