Redes¶
O que são¶
O Windows guarda as redes às quais um sistema se conectou e como sua rede foi configurada.
SOFTWARE:- Perfis de rede (
NetworkList\Profiles): um por rede à qual o sistema se conectou, com seu nome (o SSID de uma rede Wi-Fi), categoria (pública, privada, domínio), tipo de conexão (cabeada, sem fio, VPN, banda larga móvel) e quando o sistema se conectou a ela pela primeira e pela última vez. - Assinaturas (
NetworkList\Signatures): o que identifica cada rede, como o endereço MAC do gateway e o sufixo DNS. - Placas de rede (
NetworkCards): os adaptadores. SYSTEM(por conjunto de controles):- Interfaces TCP/IP: endereços, servidor e concessão DHCP, servidores DNS, domínio.
- Compartilhamentos oferecidos pelo sistema (
LanmanServer\Shares). - Proxies de porta (
PortProxy): os túneis configurados pornetsh interface portproxy, que os atacantes usam para pivotar e para alcançar o RDP por outra porta. - Rotas persistentes.
- O fuso horário, que converte os horários locais dos perfis em UTC.
Melhor conclusão: o sistema se conectou a uma rede com este nome e gateway, pela primeira e pela última vez nestes horários. Ele tinha este endereço obtido deste servidor DHCP e oferecia estes compartilhamentos e túneis quando o hive foi salvo. O nome de uma rede, sozinho, não identifica onde ela estava: muitas redes se chamam "Network" ou compartilham um SSID.
Localização¶
C:\Windows\System32\config\SOFTWARE
Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{GUID}
ProfileName, Description, Category, NameType, Managed, DateCreated, DateLastConnected
Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed|Unmanaged\<signature>
ProfileGuid, DefaultGatewayMac, DnsSuffix, FirstNetwork
Microsoft\Windows NT\CurrentVersion\NetworkCards\<n> ServiceName, Description
C:\Windows\System32\config\SYSTEM (ControlSet00N\…)
Services\Tcpip\Parameters\Interfaces\{GUID} IP, DHCP, DNS, lease times
Services\LanmanServer\Shares one value per share
Services\PortProxy\v4tov4|v4tov6|v6tov4|v6tov6\tcp listen = connect
Services\Tcpip\Parameters\PersistentRoutes destination,mask,gateway,metric
Control\TimeZoneInformation
Colete os dois hives com seus logs de transação. O hive SYSTEM é necessário para converter os horários dos perfis em UTC.
Cuidados para o analista¶
- Os horários dos perfis são locais.
DateCreatedeDateLastConnectedsão gravados no horário local do sistema. FirstConnectedLocaleLastConnectedLocalos mantêm como foram encontrados.FirstConnectedUTCeLastConnectedUTCos convertem com o fuso horário do hive SYSTEM do sistema (TimeZone) e sua regra de horário de verão.- Um horário anterior a uma mudança de fuso horário, ou de um ano com outra regra de horário de verão (datas dos EUA anteriores a 2007), pode estar deslocado pela diferença.
- Sem um hive SYSTEM legível e um conjunto de controles atual válido, apenas os horários locais são fornecidos. Lacunas do horário de verão e horas repetidas ambíguas não têm um único carimbo de data/hora UTC comprovado: o UTC fica vazio e
Problemsexplica a limitação. Deslocamentos ou datas inválidos também permanecem sem conversão. - Apenas a primeira e a última. Cada perfil tem uma primeira e uma última conexão, não todas as conexões. A última gravação da chave do perfil geralmente coincide com a última conexão.
- Os nomes se repetem. O Windows nomeia redes cabeadas não gerenciadas como "Network", "Network 2" e assim por diante.
Os SSIDs de Wi-Fi não são únicos. Use
GatewayMaceDnsSuffixpara diferenciar as redes e correlacione-os com logs de DHCP e com o inventário de ativos. Um MAC de gateway não é necessariamente o BSSID de um ponto de acesso Wi-Fi e, sozinho, não estabelece a localização física. - Compartilhamentos, proxies e rotas são configuração: um compartilhamento ou um proxy de porta pode ser configurado e nunca usado. Nenhum valor tem horário próprio; a última gravação da chave indica quando qualquer um deles mudou.
- Interfaces: uma chave de interface sob um GUID sem endereços é um adaptador que não está configurado. Com DHCP, os endereços são os da última concessão. Um endereço estático remanescente de antes do DHCP não é exibido como em uso.
- Conjuntos de controles: por padrão, é lido o conjunto de controles que o Windows usou por último.
--all-control-setslê todos, o que pode revelar um compartilhamento ou um proxy que foi removido do atual.
Analisar com o Juntei¶
Usage: juntei parse-registry networks <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find SOFTWARE and SYSTEM hives
-f, --file <FILE> Parse one hive
--log1/--log2 Supply transaction logs explicitly
--no-logs Do not replay logs
Filtering:
--all-control-sets Every control set, not only the one in use
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry networks -d evidence/ -o networks.csv
juntei parse-registry networks -d evidence/ -t jsonl \
| jq 'select(.Source == "port_proxy" or .Source == "share")'
O resumo lista as redes conectadas por último (as mais recentes primeiro) e todos os compartilhamentos, proxies de porta e rotas persistentes.
Campos de saída¶
| Campo | Interpretação |
|---|---|
Host, SourcePath |
Host e o hive. |
ControlSet, IsCurrentControlSet |
Para registros do SYSTEM: o conjunto de controles e se ele é o que o Windows usou por último. |
Source |
network_profile, network_signature (uma assinatura que nenhum perfil tem), network_card, interface, share, port_proxy, route. |
ProfileName |
O nome de um perfil (o SSID de uma rede Wi-Fi); a descrição de uma assinatura. |
Category, ConnectionType |
public, private, domain; wired, wireless, vpn, mobile_broadband (caso contrário, o número). |
FirstConnectedUTC, LastConnectedUTC |
DateCreated e DateLastConnected convertidos para UTC com TimeZone. |
FirstConnectedLocal, LastConnectedLocal |
Os mesmos, como encontrados (horário local, com precisão de milissegundos). |
TimeZone |
O fuso horário usado na conversão. |
GatewayMAC, DNS-Suffix |
O endereço MAC do gateway e o sufixo DNS das assinaturas do perfil (| entre vários). |
InterfaceGUID |
O GUID de uma interface; o ServiceName de uma placa de rede. |
IP-Address, DhcpServer, LeaseObtainedUTC, LeaseExpiresUTC |
Os endereços em uso de uma interface, o servidor DHCP e a concessão. |
ShareName, SharePath |
Um compartilhamento e a pasta que ele oferece. |
ListenAddress, ListenPort, ConnectAddress, ConnectPort |
Um proxy de porta: onde ele escuta e para onde encaminha. |
Route |
Uma rota persistente como armazenada: destination,netmask,gateway,metric. |
Details |
Outros valores, como Name=Value; … (CSV) ou um objeto (JSON): a descrição de um perfil, Managed, o primeiro nome e as chaves de assinatura; o adaptador de uma interface (de NetworkCards), máscaras, gateways, servidores DNS e domínio; o tipo, o comentário e outros campos de um compartilhamento; o tipo de um proxy; as partes de uma rota. |
KeyPath, ValueName, KeyLastWrittenUTC |
A chave, o valor de um compartilhamento, proxy ou rota, e a última gravação da chave. |
DataRaw |
Bytes que não são decodificados: um horário que não é um SYSTEMTIME válido, um compartilhamento que não é uma lista de cadeias de caracteres. |
TransactionLogStatus, LogsApplied |
Contexto de recuperação do Registro. |
Problems |
Valores do tipo ou tamanho errado, datas impossíveis e nomes que não seguem o formato esperado. |
Estratégia de investigação¶
- Ordene os perfis por
LastConnectedUTCe verifique as redes próximas ao incidente: redes Wi-Fi desconhecidas, hotspots móveis, VPNs. - Use
GatewayMaceDnsSuffixpara diferenciar redes com o mesmo nome e para associar uma rede entre hosts. - Verifique todos os proxies de porta e compartilhamentos. Um proxy de porta para a porta 3389 ou 445 de um host interno, ou um compartilhamento
de uma pasta de preparação (
C:\ProgramData,C:\Users\Public), é uma pista. Correlacione com os logs de eventos (criação do processonetsh, eventos de compartilhamento 5142/5144) e com os horários das chaves. - Use os endereços e os horários de concessão das interfaces para situar o host na rede e compare-os com os logs de firewall, DHCP e proxy.
- Use
--all-control-setseparse-registry read --recover-deletedpara encontrar compartilhamentos, proxies e perfis removidos.