NETWORKING: Ainda se lembra do modelo de referência OSI?

Quem gosta ou estudou redes de computadores, certamente que já ouviu falar no modelo OSI (Open Systems Interconnection). Este modelo de referência da ISO (International Organization for Standardization) é um modelo conceptual, que nos ajuda a perceber como os sistemas comunicam. Vamos lá recordar…

Apesar de, na prática, não ser usado (pois é um modelo conceptual), este é um modelo importante, pois define um conjunto de camadas e funções para a comunicação, em rede, de sistemas abertos.

CAMADAS DO MODELO OSI

  • Aplicação(Application)
  • Apresentação(Presentation)
  • Sessão(Session)
  • Transporte(Transport)
  • Rede(Network)
  • Dados(Data Link)
  • Física(Physical)

Explicação de cada uma das camadas

Camada Física

  • Define as características do meio físico de transmissão da rede, conectores, interfaces, codificação ou modulação de sinais.
  • É nesta camada que é definida a forma e a representação lógica da informação sendo que os bits com valor lógico 0 ou 1 são convertidos em sinais elétricos ou óticos;
  • Camada de ligação de dados
    • Esta camada tem por objetivo controlar o acesso ao meio físico de comunicação. É também nesta camada que é feito a numeração das frames (quadros ou tramas), o controlo de erros da camada física e o controlo de fluxo de informação.
    • Esta camada subdivide-se em duas subcamadas: a subcamada superior de controlo de acesso ao meio (LLC – Logical Link Control), que define e controla quando uma estação de rede pode começar a transmitir informação e a subcamada inferior de controlo das ligações lógicas (MAC – Medium Access Control) que faz o controlo de fluxo, controlo de erros e também o controlo de sequência;
  • Camada de rede
    • É nesta camada que é definida a interligação entre dispositivos de rede.
    • A camada de rede assegura questões como o endereçamento lógico e é responsável por funções de encaminhamento (routing) de pacotes na rede (do sistema de origem para o de destino) que pode ser suportado por diversos protocolos; É também feito o controlo de congestão.
  • Camada de transporte
    • A comunicação fim-a-fim, entre terminais, é realizada pela camada de transporte. Através do protocolo TCP (Transmission Control Protocol), é possível garantir um canal de comunicação fiável.
    • Esta camada disponibiliza também mecanismos de gestão de fluxo e deteção de erros em comunicações fim-a-fim. É nesta camada que é realizada a segmentação de dados e sequenciação;
  • Camada de Sessão
    • Esta camada é responsável pelo controlo (estabelece, faz a gestão e termina) e sincronização do diálogo/sessões entre aplicações.
  • Camada de Apresentação
    • A camada de apresentação assegura a compatibilidade entre camadas de aplicação de sistemas e sintaxes de dados diferentes.
    • Nesta camada são executados alguns processos como, por exemplo, a cifra ou transcodificação de dados;
  • Camada de Aplicação
    • Por fim a camada de aplicação fornece serviços às aplicações do utilizador.

Cada camada do Modelo OSI comunica com as camadas adjacentes por meio de interfaces bem definidas, permitindo a interoperabilidade entre dispositivos de diferentes fabricantes e a modularidade no design de sistemas de rede.

Modelo OSI – Protocolos por camada

A seguinte imagem mostra em que camada funciona um determinado protocolo. Por exemplo, quando falamos ao nível de TCP/UDP estamos mais especificamente a falar da camada de transporte.

Modelo OSI – Protocolos

A seguinte imagem mostra em que camada funciona um determinado protocolo. Por exemplo, quando falamos ao nível de TCP/UDP estamos mais especificamente a falar da camada de transporte.

Referências:

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Fonte: pplware

HACKING: Root Me, Active Directory -GPO

O desafio envolve analisar o arquivo .pcap com vários protocolos.

Neste desafio específico, precisamos analisar o protocolo SMB e encontrar o sinalizador que falta.

Pré-requisitos:

  • Conhecimento de uma ferramenta de análise de captura de rede.
  • Conhecimento da política de grupo.
  • Conhecimento de Python

Você pode encontrar o desafio no link abaixo:

https://www.root-me.org/en/Challenges/Forensic/Active-Directory-GPO

Declaração

Durante uma auditoria de segurança, foi registrado o tráfego de rede durante a sequência de inicialização de uma estação de trabalho conectada a um Active Directory. Analise esta captura e encontre a senha do administrador.

Primeiro vamos baixar o arquivo ch12.pcap do desafio e abri-lo no Wireshark.

Agora, antes de nos aprofundarmos na captura de pacotes, vamos dar uma visão de alto nível dos diferentes protocolos. Para fazer isso, navegue até Estatísticas → Hierarquia de protocolo.

E você verá a janela abaixo, mostrando diferentes protocolos.

Vamos dar uma olhada nos diferentes protocolos e imediatamente o SMB2 chamou minha atenção na lista.

O que é PME

A Wikipédia afirma:

Em redes de computadores , Server Message Block ( SMB ), cuja versão também era conhecida como Common Internet File System ( CIFS /sɪfs/ ), [1] [2] é um protocolo de comunicação [3] para fornecer acesso compartilhado a arquivos , impressoras e portas seriais entre nós em uma rede. Ele também fornece um mecanismo autenticado de comunicação entre processos .

Vamos filtrar os dados com o protocolo SMB2. Para fazer isso, basta digitar smb2 na barra de filtros e veremos apenas o tráfego usando o protocolo SMB2.

Depois de filtrarmos pelo protocolo SMB2, vamos dar uma olhada mais de perto.

  1. Existem 2 índices de fluxo numerados 14 e 24.
  2. O índice de fluxo 14 está tentando configurar a sessão e depois termina
  3. O índice de fluxo 24 contém mais dados em comparação com 14

Vamos seguir o índice de fluxo 24, para isso clique com o botão direito — -> Seguir fluxo TCP.

E podemos ver todas as solicitações e respostas em vermelho e azul, respectivamente.

Percorrendo o fluxo, encontramos um arquivo xml em texto não criptografado:

<?xml versão=”1.0" codificação=”utf-8"?>
<Grupos clsid=”{3125E937-EB16–4b4c-9934–544FC6D24D26}”><Usuário clsid=”{DF5F1855–51E5–4d24–8B1A-D9BDE98BA1D1}” nome=”Helpdesk” imagem=”2" alterado=”2015– 05–06 05:50:08 "UID =" {43F9FF29-C120–48B6–8333–9402C927BE09} ”> <Propriedades Action =” u ”newName =” ”FullName =” ”Descrição” ”" CPassword = ”PSMSCOUXQUME =” +w” changeLogon=”1" noChange=”0" neverExpires=”0" acctDisabled=”0" userName=”Helpdesk”/></User><User clsid=”{DF5F1855–51E5–4d24–8B1A-D9BDE98BA1D1} ”nome=”Administrador” imagem=”2" alterado=”2015–05–05 14:19:53" uid=”{5E34317F-8726–4F7C-BF8B-91B2E52FB3F7}” userContext=”0" removePolicy=”0" ><Properties action=”U” newName=”” fullName=”Admin Local” description=”” cpassword=”LjFWQMzS3GWDeav7+0Q0oSoOM43VwD30YZDVaItj8e0" changeLogon=”0" noChange=”0" neverExpires=”1" acctDisabled=”0" subAuthority =”” nome_do_usuário=”Administrador”/></Usuário>
</Grupos>

Se olharmos os dados acima, podemos ver:

nome=”Administrador”

cpassword=”LjFWQMzS3GWDeav7+0Q0oSoOM43VwD30YZDVaItj8e0″

Como você pode ver, temos a senha do Administrador, mas ela está criptografada. Agora, para completar o desafio, temos que quebrar a senha.

Descriptografando senha

Encontre a chave AES

Para descriptografar a senha criptografada AES, precisamos da chave que foi usada para criptografar a senha.

Para encontrar a chave que a MS está usando para criptografar senhas, vamos começar pesquisando a chave no Google. Depois de pesquisar por alguns minutos, encontrei a chave em:

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be

Todas as senhas são criptografadas usando uma chave derivada do Advanced Encryption Standard (AES).

A chave AES de 32 bytes é a seguinte:

4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8 
 f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b

Agora temos a chave que foi usada para criptografar a senha e o próximo passo é encontrar uma maneira de descriptografar a senha AES.

Descriptografando a senha AES

Como não estou muito familiarizado com criptografia, decidi usar o código python fornecido em https://github.com/MartinIngesen/gpocrack/blob/master/gpocrack.py

Infelizmente, o código fornecido não funcionou para mim e depois de olhar mais de perto e fazer algumas alterações, finalmente funcionou.

!pip install pycrypto
from Crypto.Cipher import AES
import base64
cpassword="LjFWQMzS3GWDeav7+0Q0oSoOM43VwD30YZDVaItj8e0="
decoded_password = base64.b64decode(cpassword)
key = b'\x4e\x99\x06\xe8\xfc\xb6\x6c\xc9\xfa\xf4\x93\x10\x62\x0f\xfe\xe8\xf4\x96\xe8\x06\xcc\x05\x79\x90\x20\x9b\x09\xa4\x33\xb6\x6c\x1b'
decryption_suite = AES.new(key, AES.MODE_CBC, '\x00'*16)
plain_text = decryption_suite.decrypt(decoded_password)
print("Password is: {}".format(plain_text.strip()))
password_list = (plain_text.decode().split('\x00')) # removing null bytes
password = ''.join(str(i) for i in password) # list to string
print(password)

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Referências

  1. https://github.com/MartinIngesen/gpocrack/blob/master/gpocrack.py
  2. https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be
  3. Wikipedia > Tagged CryptographyGpoGroup PolicyRoot Me

Fonte: digitalitskills

WINDOWS: Sem acesso à internet ao se conectar à VPN

Ao configurar a VPN (Virtual Private Network), em alguns casos você pode perder acesso de navegação à internet. Te mostraremos aqui como resolver este problema.  Utilizaremos como exemplo de configuração o tipo de VPN PPTP (Point-to-Point Tunneling Protocol). Inicialmente, precisamos efetuar uma validação para entender o que está acontecendo em nosso ambiente.

Cenário:

Resolução

1. Abra o Connections de rede. Para fazer isso, use um dos seguintes métodos:

  • Deslize o dedo da borda direita da tela ou aponte para o canto inferior direito da tela e clique em Pesquisar. Em seguida, digite ncpa.cpl e clique no ícone Ncpa.cpl .
  • Pressione Win+R para abrir a janela Executar , digite ncpa.cpl e clique em OK.

2.  Identifique qual a rede local e qual sua rede VPN que você está configurando. Você precisa ter em mãos os IP’s e gatway das redes que está trabalhando.

3. Dê um duplo clique na conexão VPN e em seguida clique na opção “Propriedades” na janela que se abrirá.

4. Desmarque a opção “Protocolo IP Versão 6 (TCP/IPv6)”, selecione “Protocolo IP Versão 4 (TCP/IPv4)” e clique em Propriedades.

5. Na janela que se abrir clique em avançado

6. Desmarque a opção “Utilizar gateway padrão em uma rede remota”. Em seguida, clique em “OK”, salve e feche todas as janelas.

Podemos ver que agora estamos navegando normalmente à internet. Porém perdemos acesso às redes da VPN, mas não se assuste, vamos arrumar nos próximos passos.

7. Agora vamos precisar definir algumas rotas para que o computador consiga encontrar as redes do Site que estamos nos conectando via VPN. Abra o CMD no modo de Administrador. Digite o comando  route print para que possamos verificar quais as rotas existentes no nosso computador.  Marcarei de vermelho e negrito as informações que nos importam neste momento. Veja a saída gerada em nosso ambiente:

C:\Windows\system32>route print

===========================================================================
Lista de interfaces
 16...c8 4b d6 01 2e 25 ......Realtek PCIe GbE Family Controller
  9...........................Wintun Userspace Tunnel
 47...........................VPN
  6...00 ff 16 4f 66 e7 ......TAP-Windows Adapter V9
 14...00 d7 6d 95 ce 88 ......Microsoft Wi-Fi Direct Virtual Adapter
  4...02 d7 6d 95 ce 87 ......Microsoft Wi-Fi Direct Virtual Adapter #2
 11...00 d7 6d 95 ce 87 ......Intel(R) Wi-Fi 6 AX201 160MHz
  8...00 d7 6d 95 ce 8b ......Bluetooth Device (Personal Area Network)
  1...........................Software Loopback Interface 1
===========================================================================
Tabela de rotas IPv4
===========================================================================
Rotas ativas:
Endereço de rede          Máscara   Ender. gateway       Interface   Custo
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.107     40
        127.0.0.0        255.0.0.0      No vínculo         127.0.0.1    331
        127.0.0.1  255.255.255.255      No vínculo         127.0.0.1    331
  127.255.255.255  255.255.255.255      No vínculo         127.0.0.1    331
      192.168.0.0    255.255.255.0      No vínculo     192.168.0.107    296
    192.168.0.107  255.255.255.255      No vínculo     192.168.0.107    296
    192.168.0.255  255.255.255.255      No vínculo     192.168.0.107    296
     192.168.10.0    255.255.255.0      192.168.10.1    192.168.10.148   26
    192.168.10.148  255.255.255.255      No vínculo     192.168.10.148  281
   201.22.108.200  255.255.255.255      192.168.0.1    192.168.0.107     41
        224.0.0.0        240.0.0.0      No vínculo         127.0.0.1    331
        224.0.0.0        240.0.0.0      No vínculo     192.168.0.107    296
        224.0.0.0        240.0.0.0      No vínculo     192.168.10.148   281
  255.255.255.255  255.255.255.255      No vínculo         127.0.0.1    331
  255.255.255.255  255.255.255.255      No vínculo     192.168.0.107    296
  255.255.255.255  255.255.255.255      No vínculo     192.168.10.148   281
===========================================================================
Rotas persistentes:
  Nenhuma


Tabela de rotas IPv6
===========================================================================
Rotas ativas:
 Se destino de rede de métrica      Gateway
  1    331 ::2/128                  No vínculo
  1    331 fe00::/8                 No vínculo
===========================================================================
Rotas persistentes:
Nenhuma

Podemos ver que não temos rotas persistentes criadas, e é exatamente o que faremos pois com a configuração que fizemos anteriormente, desativando o gateway da rede VPN como rota padrão, estamos acessando todos os endereços pelo gateway do nosso roteador interno.  O Resultado que temos é que não conseguimos comunicação:

C:\Windows\system32>ping 192.168.20.10
Disparando 192.168.20.10 com 32 bytes de dados:
Esgotado o tempo limite do pedido.

Podemos ver que sem a rota, não conseguimos chegar às redes 20, 30 e 40 pois nosso PC está  procurando o endereço na Internet e utilizando como rota padrão o roteador da operadora 192.168.0.1. Para criar uma rota, utilizaremos o seguinte comando:

route add 192.168.20.0 mask 255.255.255.0 192.168.10.1 -p

Explicando a sintaxe:

  • Adicionar uma rota: route add
  • Rede onde queremos chegar: 192.168.20.0
  • Máscara de rede de onde queremos chegar:  mask 255.255.255.0
  • IP do Gateway padrão para esta rota: 192.168.10.1
  • Quando usado com o comando ADD, torna uma rota persistente nas inicializações do sistema. Por padrão, as rotas não são preservadas quando o sistema é reiniciado. Ignorado para todos os outros comandos, que sempre afetam as rotas persistentes apropriadas. O comando significa persistente, ou seja, é o que vai tornar essa rota fixa, mesmo que o PC seja reiniciado essa rota será mantida: -p

Caso você execute o CMD sem privilégios administrativos terá  um erro, informando que você não possui direitos de administrador.

C:\Windows\system32>route add 192.168.20.0 mask 255.255.255.0 192.168.10.1 -p
A operação solicitada requer elevação.

Vamos executar o comando então para as 3 rotas:

Microsoft Windows [versão 10.0.19044.2251]
(c) Microsoft Corporation. Todos os direitos reservados.

C:\Windows\system32>route add 192.168.20.0 mask 255.255.255.0 192.168.9.1 -p
 OK!

C:\Windows\system32>route add 192.168.30.0 mask 255.255.255.0 192.168.9.1 -p
 OK!

C:\Windows\system32>route add 192.168.40.0 mask 255.255.255.0 192.168.9.1 -p
 OK!

Podemos ver que  a saída das 3 rotas adicionadas foi “OK!”. Então já devemos conseguir chegar nas redes mencionadas. Antes de olhar se há comunicação, vamos olhar novamente como estão as rotas após essa configuração:

C:\Windows\system32>route print
===========================================================================
Lista de interfaces
 16...c8 4b d6 01 2e 25 ......Realtek PCIe GbE Family Controller
  9...........................Wintun Userspace Tunnel
 47...........................VPN
  6...00 ff 16 4f 66 e7 ......TAP-Windows Adapter V9
 14...00 d7 6d 95 ce 88 ......Microsoft Wi-Fi Direct Virtual Adapter
  4...02 d7 6d 95 ce 87 ......Microsoft Wi-Fi Direct Virtual Adapter #2
 11...00 d7 6d 95 ce 87 ......Intel(R) Wi-Fi 6 AX201 160MHz
  8...00 d7 6d 95 ce 8b ......Bluetooth Device (Personal Area Network)
  1...........................Software Loopback Interface 1
===========================================================================
Tabela de rotas IPv4
===========================================================================
Rotas ativas:
Endereço de rede          Máscara   Ender. gateway       Interface   Custo
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.107     40
     192.168.30.0    255.255.255.0      192.168.10.1    192.168.10.148   26
        127.0.0.0        255.0.0.0      No vínculo         127.0.0.1    331
        127.0.0.1  255.255.255.255      No vínculo         127.0.0.1    331
  127.255.255.255  255.255.255.255      No vínculo         127.0.0.1    331
      192.168.0.0    255.255.255.0      No vínculo     192.168.0.107    296
    192.168.0.107  255.255.255.255      No vínculo     192.168.0.107    296
    192.168.0.255  255.255.255.255      No vínculo     192.168.0.107    296
     192.168.10.0    255.255.255.0      192.168.10.1  192.168.10.148     26
   192.168.10.148  255.255.255.255      No vínculo    192.168.10.148    281
     192.168.20.0    255.255.255.0      192.168.10.1  192.168.10.148     26
     192.168.40.0    255.255.255.0      192.168.10.1  192.168.10.148     26
   201.22.108.200  255.255.255.255      192.168.10.1   192.168.0.107     41
        224.0.0.0        240.0.0.0      No vínculo         127.0.0.1    331
        224.0.0.0        240.0.0.0      No vínculo     192.168.0.107    296
        224.0.0.0        240.0.0.0      No vínculo    192.168.10.148    281
  255.255.255.255  255.255.255.255      No vínculo         127.0.0.1    331
  255.255.255.255  255.255.255.255      No vínculo     192.168.0.107    296
  255.255.255.255  255.255.255.255      No vínculo    192.168.10.148    281
===========================================================================
Rotas persistentes:
  Endereço de rede         Máscara  Ender. gateway    Custo
     192.168.20.0    255.255.255.0      192.168.10.1       1
     192.168.30.0    255.255.255.0      192.168.10.1       1
     192.168.40.0    255.255.255.0      192.168.10.1       1
===========================================================================
Tabela de rotas IPv6
===========================================================================
Rotas ativas:
 Se destino de rede de métrica      Gateway
  1    331 ::2/128                  No vínculo
  1    331 fe00::/8                 No vínculo
===========================================================================
Rotas persistentes:
  Nenhuma

Podemos ver as 3 rotas que criamos, agora vamos efetuar testes de comunicação. Utilizaremos o PING:

Rede 20

C:\Windows\system32>ping -t 192.168.20.1

Disparando 192.168.20.1 com 32 bytes de dados:
Resposta de 192.168.20.1: bytes=32 tempo=18ms TTL=63

Rede 30

C:\Windows\system32>ping -t 192.168.30.1

Disparando 192.168.30.1 com 32 bytes de dados:
Resposta de 192.168.30.1: bytes=32 tempo=18ms TTL=63

Rede 40

C:\Windows\system32>ping -t 192.168.40.1

Disparando 192.168.40.1 com 32 bytes de dados:
Resposta de 192.168.40.1: bytes=32 tempo=18ms TTL=63

Depois de executar todos os passos acima, você deve ser capaz de configurar seu PC com Windows para se comunicar às redes internas no Datacenter que se conectou pela VPN, os dispositivos de sua rede local e também à internet.

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Fonte: jbitcore