Мережі¶
Що це таке¶
Windows запам'ятовує мережі, до яких приєднувалася система, і те, як було налаштовано її мережу.
SOFTWARE:- Мережеві профілі (
NetworkList\Profiles): по одному на кожну мережу, до якої підключалася система, з її назвою (SSID мережі Wi-Fi), категорією (загальнодоступна, приватна, доменна), типом підключення (дротове, бездротове, VPN, мобільний широкосмуговий доступ) і часом першого та останнього підключення до неї. - Підписи (
NetworkList\Signatures): те, що ідентифікує кожну мережу, як-от MAC-адреса шлюзу та DNS-суфікс. - Мережеві карти (
NetworkCards): адаптери. SYSTEM(для кожного набору керування):- Інтерфейси TCP/IP: адреси, DHCP-сервер і оренда, DNS-сервери, домен.
- Спільні ресурси, які надає система (
LanmanServer\Shares). - Проксі портів (
PortProxy): тунелі, які налаштовуєnetsh interface portproxyі які зловмисники використовують для півотингу та для доступу до RDP через інший порт. - Постійні маршрути.
- Часовий пояс, за яким місцевий час профілів перетворюється на UTC.
Найобґрунтованіший висновок: система підключалася до мережі з цією назвою та шлюзом, уперше та востаннє — у цей час. Вона мала цю адресу від цього DHCP-сервера і надавала ці спільні ресурси та тунелі на момент збереження куща. Сама лише назва мережі не визначає, де вона була: багато мереж називаються "Network" або мають однаковий SSID.
Розташування¶
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
Зберіть обидва кущі разом із їхніми журналами транзакцій. Кущ SYSTEM потрібен, щоб перетворити час профілів на UTC.
Застереження для аналітика¶
- Час профілів місцевий.
DateCreatedіDateLastConnectedзаписуються в місцевому часі системи. FirstConnectedLocalіLastConnectedLocalзберігають їх у тому вигляді, як їх знайдено.FirstConnectedUTCіLastConnectedUTCперетворюють їх із часовим поясом куща SYSTEM системи (TimeZone) і його правилом переходу на літній час.- Час, записаний до зміни часового поясу, або з року з іншим правилом переходу на літній час (дати в США до 2007 року), може відрізнятися на цю різницю.
- Без придатного для читання куща SYSTEM і дійсного поточного набору керування наводиться лише місцевий час. Пропуски через літній час і неоднозначні повторювані години не мають єдиної доведеної позначки часу UTC: UTC залишається порожнім, а
Problemsпояснює обмеження. Недійсні зміщення або дати також залишаються неперетвореними. - Лише перше та останнє. Кожен профіль має одне перше та одне останнє підключення, а не кожне підключення. Останній запис ключа профілю зазвичай збігається з останнім підключенням.
- Назви повторюються. Windows називає некеровані дротові мережі "Network", "Network 2" тощо.
SSID Wi-Fi не унікальні. Використовуйте
GatewayMacіDnsSuffix, щоб розрізняти мережі, і зіставляйте їх із журналами DHCP та інвентаризацією активів. MAC шлюзу не обов'язково є BSSID точки доступу Wi-Fi і сам по собі не встановлює фізичного розташування. - Спільні ресурси, проксі та маршрути — це конфігурація: спільний ресурс або проксі порту можна налаштувати і ніколи не використати. Жодне значення не має власного часу; останній запис ключа — це час, коли змінилося будь-яке з них.
- Інтерфейси: ключ інтерфейсу під GUID без адрес — це адаптер, який не налаштовано. З DHCP адреси належать останній оренді. Статична адреса, що залишилася з часів до DHCP, не показується як така, що використовується.
- Набори керування: за замовчуванням читається набір керування, який Windows використовувала востаннє.
--all-control-setsчитає кожен із них, що може показати спільний ресурс або проксі, вилучені з поточного.
Аналіз за допомогою 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")'
Зведення перелічує мережі, до яких підключалися останніми (спершу найновіші), а також кожен спільний ресурс, проксі порту і постійний маршрут.
Поля виводу¶
| Поле | Інтерпретація |
|---|---|
Host, SourcePath |
Хост і кущ. |
ControlSet, IsCurrentControlSet |
Для записів SYSTEM: набір керування та чи є він тим, який Windows використовувала востаннє. |
Source |
network_profile, network_signature (підпис, якого немає в жодному профілі), network_card, interface, share, port_proxy, route. |
ProfileName |
Назва профілю (SSID мережі Wi-Fi); опис підпису. |
Category, ConnectionType |
public, private, domain; wired, wireless, vpn, mobile_broadband (інакше — число). |
FirstConnectedUTC, LastConnectedUTC |
DateCreated і DateLastConnected, перетворені на UTC з TimeZone. |
FirstConnectedLocal, LastConnectedLocal |
Те саме у знайденому вигляді (місцевий час, з точністю до мілісекунди). |
TimeZone |
Часовий пояс, використаний для перетворення. |
GatewayMAC, DNS-Suffix |
MAC-адреса шлюзу та DNS-суфікс підписів профілю (| між кількома значеннями). |
InterfaceGUID |
GUID інтерфейсу; ServiceName мережевої карти. |
IP-Address, DhcpServer, LeaseObtainedUTC, LeaseExpiresUTC |
Адреси інтерфейсу, що використовуються, DHCP-сервер і оренда. |
ShareName, SharePath |
Спільний ресурс і папка, яку він надає. |
ListenAddress, ListenPort, ConnectAddress, ConnectPort |
Проксі порту: що він прослуховує і куди переспрямовує. |
Route |
Постійний маршрут у збереженому вигляді: destination,netmask,gateway,metric. |
Details |
Інші значення у вигляді Name=Value; … (CSV) або об'єкта (JSON): опис профілю, Managed, перша назва та ключі підписів; адаптер інтерфейсу (з NetworkCards), маски, шлюзи, DNS-сервери та домен; тип, примітка та інші поля спільного ресурсу; вид проксі; частини маршруту. |
KeyPath, ValueName, KeyLastWrittenUTC |
Ключ, значення для спільного ресурсу, проксі або маршруту, і останній запис ключа. |
DataRaw |
Байти, які не декодуються: час, що не є дійсним SYSTEMTIME, спільний ресурс, що не є списком рядків. |
TransactionLogStatus, LogsApplied |
Контекст відновлення реєстру. |
Problems |
Значення неправильного типу або розміру, неможливі дати та назви, що не відповідають своїй формі. |
Стратегія розслідування¶
- Відсортуйте профілі за
LastConnectedUTCі перевірте мережі навколо інциденту: невідомі мережі Wi-Fi, мобільні точки доступу, VPN. - Використовуйте
GatewayMacіDnsSuffix, щоб розрізняти мережі з однаковою назвою і зіставляти мережу між хостами. - Перевірте кожен проксі порту та спільний ресурс. Проксі порту на 3389 або 445 внутрішнього хоста чи спільний ресурс
проміжної папки (
C:\ProgramData,C:\Users\Public) — це зачіпка. Зіставляйте з журналами подій (створення процесуnetsh, події спільних ресурсів 5142/5144) і часом ключів. - Використовуйте адреси інтерфейсів і час оренди, щоб визначити місце хоста в мережі, і зіставляйте їх із журналами брандмауера, DHCP і проксі.
- Використовуйте
--all-control-setsіparse-registry read --recover-deletedдля вилучених спільних ресурсів, проксі та профілів.