Всем привет.
Одной из сильнейших сторон PowerShell является наличие возможности получение удалённых действий при возникновении ситуации отклика в процессе происшествия. Предоставляемая самыми последними версиями PowerShell инфраструктура значительно снижает необходимые сетевые настройки и предлагает значительную безопасность.
В какой-то мере в инструкциях по forensics стороной обходится крайне полезный для локальных и удалённых расследований командлет PowerShell - Get-DNSClientCache.
Кэш клиента DNS, или иначе DNS преобразователь (resolver) является локальной базой данных, сопровождаемой самой операционной системой. Он содержит свидетельчтва последних посещений на веб сайты и прочие местоположения в Интернете. Проще говоря, кэш DNS Клиента это просто некая запись последних запросов DNS, которые ускоряют доступ к уже определённым IP- адресам вебсайтов. Имейте в виду, что очистка истории вашего веб браузера для сокрытия вашей активности не включает кэш преобразователя DNS самих oперационных систем. Многие программы очистки будут очищать этот кэш, однако пользователи могут его пропускать, а он может служить важным свидетельством недавней активности. Кто про такое помнит?
Сам DNS (сервис доменных имён), предоставляет некую трансляцию из дружественных пользователю имён, таких как microsoft.com, google.com и python-forensic.org в IP- адреса, по которым они располагаются. Всякий раз когда вы вводите в своём браузере нечто подобное www.amazon.com, осуществляется поиск DNS для трансляции читаемого человеком адреса в некий IP адрес, по которому можно выполнить доступ.
Запуск процесса Get-DNSClientCache после очистки (ipconfig /flushdns) имеющегося кэша приводит к следующим результатам (альтернатива просмотра ipconfig /displaydns):
PS C:\WINDOWS\system32> Get-DnsClientCache | Select-Object -Property Entry
Пусто! Естественно, CmdLet ничего не возвращает, поскольку DNS кэш пустой.