Побуждением к изысканиям, опубликованным в данной статье, стало набирающее все большую и большую популярность слово «форензика» и желание разобраться в вопросе — какие данные о цифровой жизнедеятельности рядового пользователя собирает ОС Windows 10, где их хранит и как сделать кнопку — «Удалить все» (Я бы взял частями, но мне нужно сразу (с) Остап Бендер).
А возникновению данного побуждения способствовало то, что, как оказалось, интерес к вопросу «как удалить историю», выдаваемую эпичной LastActivityView, до сих пор будоражит умы
при этом, зачастую, на форумах вопрос остается без ответа. Масла в огонь подливает то, что ванильный CCleaner в случае с LastActivityView не помогает.
Те, кому в основном интересна практическая сторона вопроса, насчет кнопки «Удалить все», могут сразу перейти к концу статьи — там предлагаю варианты решения.
А в статье — хочу поделиться результатами этих изысканий с теми, кого это заинтересует. Речь пойдет о тех данных, которые хранятся ОС Windows 10 локально и к которым можно просто и быстро получить доступ с использованием «бесплатных и общедоступных средств форензики», в том числе и утилит NirSoft. Хотя речь пойдет не о них (почему — смотреть ниже).
Сразу хочу оговориться — я не являюсь специалистом в области компьютерной безопасности или криминалистического анализа, не имею криминального опыта или побуждений, мамой клянусь, век воли не видать.
Целевая операционная система
В данной статье рассматривается ОС Windows 10. Другие выпуски Windows, естественно, так же грешны сбором и хранением данных, но у них ключи реестра, папки, службы и т.п. отличаются.
Содержание
Причем тут форензика
Почему речь не про NirSoft
Какие данные хранятся Windows
Зачем Windows собирает данные и чем чревато их удаление
Где эти данные хранятся?
Так как, в конце-концов, их затереть-то?
Источники
Причем тут форензика
В статье вопрос касается использования ее методов и средств для доступа к приватным данным пользователя. И, в связи с их распространением и доступностью, вполне вероятно — всуе, доморощенными форензиками-кулцхакерами, троянских дел мастерами и прочими любителями вычислять по IP или легкой наживы, да и просто недружелюбными любопытными, так как для скачивания, запуска и чтениях\сохранения данных, выдаваемых той же LastActivityView, Ниром Софером быть совсем необязательно.
Почему речь не про NirSoft
Во «вступлении» я не случайно дал ссылку на LastActivityView на Софт Портале. Там и впрямь только краткое описание функционала данной утилиты, зато на русском. А на офф. страничке своих утилит Нир Софер пишет многабукфф да еще и по-англицки шпрехает. Но, зато, почти для каждой его утилиты там есть описание, откуда она берет данные. Для LastActivityView в самом низу, под заголовком «How to delete the information displayed by LastActivityView».
Надо признать, что я и сам такой же Зоркий Глаз — когда-то, как и он, только через неделю заметил, что «у сарая одной стены нет». Но, правда, сия неделя была несколько раньше, чем LastActivityView стали пугать пользователей или, что вероятнее, когда они добрались до Софт Портала и сами научились ее пугаться.
Хотя утилиты NirSoft, наряду с SysInternals, ИМХО образец профессионализма для программиста и крайне удобны для администрирования. Да и для проведения расследований их и впрямь зачастую рекомендуют. ПруфПример: Хакер №229. Форензика и он далеко не единственный.
Хотя, думаю, подобное направление их использования само собой приходило в голову тем, кто так или иначе имел с ними дело.
Какие данные хранятся Windows
Хранится все, что связанно с доступом к файлам и папкам и их местоположением, использованием программ (в т.ч. и protable), подключением устройств хранения информации (в том числе и шифрованных файловых контейнеров).
Да, это не во всех случаях, что-то сохраняется только при определенных событиях, а что-то может быть отключено, но лучше, все же, исходить из того, что все и всегда. Что подключали, какие папки-файлы открывали, какие программы использовали.
И еще из того, что с журналами Windows — непредсказуемо, что туда будет записано. В связи хотя бы с тем, что это сильно зависит и от конкретных настроек конкретной ОС и каждой ее подсистемы, и журналы эти доступны для записи в них сообщений сторонними программами.
А причем тут «доступ» и «местоположение»? Сильно утрированный пример: номер банковской карты и ее pin-код так и останутся в файле «D:\МояСуперСекретнаяПапка\CardPin.docx», никуда в Windows не запишутся, а вот факт доступа и «говорящие» имена папки и файла, то, что был использован, например, MS Office 2007 portable, а так же дата-время как минимум последнего (иногда и каждого) доступа\запуска — зафиксируется Windows, причем размазано тонким слоем по всей системе.
Про некоторые другие данные — можете почитать ниже по тексту, под заголовком «Прочие источники утечек информации известные мне, но не попадающие под тематику статьи»
Стало быть, коль подключали, запускали, открывали что-то такое, что не хотелось бы, чтоб стало достоянием широкой общественности — не худо бы потом и следы замести.
Совершенно справедливый комментарий от Hanabishi — «Зато тема реального логгирования не затронута вообще никак… не упоминается ничего относящегося к телеметрии и Win10 в частности» — прошу прощения, толком не описал, что речь в статье идет о приватных данных, хранящихся локально, на ПК пользователей. Вопросы слежки, как и вопросы анонимности в сети, все-таки другая, отдельная тема.
Зачем Windows собирает данные и чем чревато их удаление
Большинство данных Windows собирает для удобства пользователя — например, для ускорения запуска приложений, для отображения папок в проводнике с теми настройками, которые задал пользователь, отображения списка ранее открытых файлов и т.д. и т.п. Затереть только данные, не лишившись при этом удобств — не получится.
Так же, часть данных собирается для оценки производительности и состояния компьютера и ОС (в том числе о сбоях и ошибках) IT-специалистами и специализированным ПО для решения возникающих у пользователя проблем. Без этих данных — решить проблемы, если они возникнут, будет сложно.
И все это еще один повод задуматься над вопросом, когда действительно необходимо стирать данные, а когда не стоит и может быть не надо стирать их огулом при каждом включении-выключении компа.
Совершенно справедливый комментарий от Hanabishi — «зачем чистить логи служб, если можно просто отключить эти самые службы?» Не упомянул я об этом. Можно. Как штатными средствами, так и танцами с бубном. Но это опять же означает — раз и навсегда лишиться удобняшек, которые наше все.
Что мне будет от Винды за масштабное выпиливание приватных данных, в том числе, с помощью предложенного тут решения?
Эпик фейлов случиться не должно, особенно если внимательно познакомиться с описанием каждого правила «очистки» и, если что, его отключить. Но и новой шапки, с новой буркой, тоже ждать не приходится.
- Если предполагаются какие-то «ремонтно-восстановительные» работы, то сотрется важная для этого информация. Но это касается, в основном, стирания журналов Windows
- Если отображение каких-то папок настраивали под себя, придется настраивать по новой
- Если задавали каким-либо программам режим совместимости или запуск от имени администратора, задавать придется заново
- Ввиду затирания данных, необходимых для ускорения доступа к данным, их отображения и запуска программ, следующий, после затирания, доступ\отображение\запуск, немного замедлится
- Ввиду затирания данных об открытых ранее файлах, искать их придется заново, воспользоваться пунктом меню «ранее открытые файлы» в программах не получится
- Если выбрать удаление кеша обновлений Windows, деинсталировать потом обновления штатным образом не удастся
Где эти данные хранятся?
После заявленных во вступлении «изысканий» и сверки свежеизысканного с окружающей действительностью у меня сложилось впечатление, что
Сразу хочу предупредить — это далеко не все, только самое основное и информативное (в смысле описания не все, стирается в предложенном решении гораздо больше) и не развернуто и «галопом по Eвропам». Для тех, кому данная тема действительно интересна, в конце этой главы — известные мне интересные материалы для самостоятельного изучения + ряд конкретных «заповедных мест» приведены в решениях для их зачистики.
Основные, известные мне, источники утечек информации об активности пользователя
- ShellBags — Bags, BagMRU. Там в том числе хранится и информация о доступе к папкам, включая дату-время, для сохранения и восстановления их с настройками пользователя (размер окна проводника, выбор отображения «список\эскизы» и т.п.).
- OpenSavePidlMRU. История диалогов «открыть, сохранить».
- MUICache. История запущенных ранее программ для списка кнопки «Пуск».
- Uninstall. Хранится информация для деинсталляции инсталлированных программ. Спасибо КЭП — не за что, всегда рад помочь. Удалять ее, понятное дело, нельзя (спасибо еще раз). Содержит и дату-время установки программы.
- MountedDevices. История смонтированных (в том числе и криптованных) дисков.
Служба Background Activity Moderator (BAM). Очередная нанотехнология от Microsoft — запиленная в Windows 10 начиная, если не ошибаюсь, с версии 1709 для каких-то своих внутренних нужд.
Данная служба ведет логи активности, правда, хранятся эти логи до перезагрузки компьютера (что подтвердилось проверкой), но все же не комильфо.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\UserSettings\<SID пользователя>
Особо умилили результаты такого эксперимента: запускаем любимый многими TrueCrypt (protable), монтируем файл-контейнер, запускаем из него LastActivityView.
Видим в реестре запись:
То есть, теоретически, после запуска таких портабельных утилит, надо бы или перезагружаться или затирать.
Пытаться отключить службу BAM — не стоит, словите синий экран.
История «монтирования» дисков MountPoints2 (тоже содержит записи типа «TrueCryptVolumeK»)
KEY_LOCAL_MACHINE\SYSTEM\MountedDevices
HKEY_USERS\<SID пользователя>\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
Параметр AppCompatCache ключа реестра AppCompatCache, тоже крайне интересен (хранит данные в бинарном виде).
Ключ реестра DiagnosedApplications. Почему-то нигде на форензик-форумах мне потом не встретилось упоминание (возможно, просто плохо искал) ключа реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RADAR\HeapLeakDetection\DiagnosedApplications
Служебная информация Windows для отладки утечек памяти в программах.
- Папка Prefetch каталога Windows. Ну, тут лучше Вики вряд ли скажешь. Там же есть еще и базы данных другого оптимизатора — SuperFetch (файлы, типа AgAppLaunch.db). Формат их, как я понял, народу пока не ясен, мне тоже не особо, но при просмотре в hex-редакторе пути к приложениям просматриваются.
- Файл
C:\Windows\inf\setupapi.dev.log
Инофрмация о подключениях устройств, сетевых интерфейсов и не только. - Папки проводника со списком переходов (aka Jump list). Данные хранятся по пути типа:
с:\Users\User\AppData\Roaming\Microsoft\Windows\Recent
- Папка (см. реестр — AppCompatCache)
C:\Windows\appcompat\Programs
- Папка
C:\Windows\Panther
Тут хранится информация для отката, если вы обновляли версию Windows
Журналы Windows: ну, тут без комментариев… даже совершенно справедливых.
Есть еще несколько мест в реестре и на диске, но они гораздо менее информативны и не очень интересны (см. в «решениях», ниже). И есть еще море других мест, навроде файлов "*.log" разных служб и даже не всегда Microsoft. Правда, обнадеживает то, что CCleaner на стероидах (см. ниже) затирается почти все.
Прочие источники утечек информации известные мне, но не попадающие под тематику статьи по тем или иным причинам. И тут тоже надо отметить, что почти все затирается CCleaner-ом или имеются другие свободно распространяемые утилиты.
2. Все, что связанно с историей подключением USB-девайсов. Для ее просмотра и удаления можно использовать, например, Usboblivion.
3. Все, что связанно с файловой системой. «Безвозвратное» удаление файлов и очистка свободного места (то же «безвозвратное удаление», но уже ранее удаленных файлов, оставшихся в дебрях файловой системы). В общем вопросы, связанны с тем, что удаленные файлы можно восстановить. Заодно надо упомянуть и про кэши эскизов изображений Windows, которые имеют свойство хранить эскизы даже уже удаленных изображений. CCleaner и Privazer это тоже умеют все зачищать.
4. Все, что связанно с точками восстановления («теневыми копиями»), в которых сохраняется файлы, в том числе и системный реестр с незатертыми данными. Подключиться, просмотреть и восстановить из них файлы\папки (не делая откаты системы) можно и с помощью утилит NirSoft (так же с их помощь можно и прочитать информацию из файлов реестра оттуда), но, удобнее, на мой взгляд — ShadowExplorer. Удалить точки восстановления можно с помощью CCleaner. А перед созданием точек — можно запускать «зачистку», чтоб выпилить ненужную информацию до ее сохранения.
5. Вот эта ветка реестра.
HKEY_USERS\<SID пользователя>\Software
Сюда пишут свои данные программы, в том числе portable. И они тут и остаются. И если хочется скрыть использование какой-то программы, то неплохо бы проверить эту ветку и, если что, данные удалить.
6. Все, что связанно с установкой нелицензионного ПО и что извлекается на свет Божий полицейской программой Defacto. Есть и «свободный аналог» Lpro (хотя, есть у меня не очень обоснованное предположение, что движок Defacto на ее основе или на ее идее был сделан). Но она, в отличии от Defacto, определяет только, что ПО платное, а не «нарушение авторских и смежных прав».
Выход, ИМХО — не использовать подобное. Кроме всем известного Софт Портала по этой теме могу еще предложить (если что, это не реклама, отношения к данным сайтам я не имею):
— GiveAwayOfTheDay. Каждый день раздают одну лицензионную программу (можно подписаться на рассылку).
— Бесплатные лицензии на сайте COMSS. Бесплатное (по разным акциям) лицензионное ПО и подписки. Как пример — там есть сейчас акция бесплатного VPN на год. И удобный редактор реестра из Reg Organizer, который я использовал для изысканий. И даже Acronis True Image и криптованное облачное хранилище на 2Тб и еще много чего. «Сколько?» — «Халява, сэр» (с). (можно подписаться на рассылку; не бородатых анекдотов, в смысле, а этого сайта).
Материалы по данной тематике, кроме «источников» в конце статьи
- Научная статья: Некоторые особенности судебно-экспертного исследования реестра Windows (очень рекомендую, в т.ч. и пользователям)
- Статьи на ForensicFocus (анг.)
- SANS Digital Forensics (анг.)
- Литература:
- «Внутреннее устройство Windows», Руссинович Марк, 7-е издание
- «Криминалистический анализ файловых систем», Кэрриэ Брайан
- «Криминалистическое исследование Windows», Карви Харлэн
- «Форензика — компьютерная криминалистика», Федотов Н.Н.
- На Habr, о профессиональных средствах форензики:
- Средства сбора данных в компьютерно-технической экспертизе
- Подборка бесплатных утилит компьютерной криминалистики
- Для программистов:
- Парсинг ряда форматов forensic-данных на C# можно попробовать посмотреть тут: EricZimmerman github
- Почитать о прасинге ShellBag можно тут
Так как, в конце-концов, их затереть-то?
Предлагаю на рассмотрение и критику следующий вариант: Прокачать CCleaner (что, думаю, и удобнее пользователям и правовернее, ибо исключает изобретение очередного велосипеда) и
использовать bat-файл для затирания журналов windows.
Плюс, ниже — собственное решение, в виде bat-файла, но его, все-таки, использовать даже по-моему, не целесообразно (тем более он затирает только самое основное и в основном для windows 10). Разве что -предлагаю почитать комментарии к коду.
Прокачать CCleaner + добавить ему свои правила + bat-файл для стирания журналов Windows
Для начала, надо скачивать и запустить CCEnhancer, выполнить «обновление» (по инструкции на страничке). Только непременно выбрать и нажать на данный пункт меню (закрыв CCleaner, если он запустился):
Иначе в в файле winapp2.ini окажется 100500 правил, крайне доставляющих своей актуальностью для широких масс, таких, как правила очистки для эмулятора «Заики Спектрума» (может тут кто даже вспомнит такой комп), но при этом сильно тормозящих CCleaner.
Затем надо перейти в ту папку, где установлен CCleaner. Найти там файл winapp2.ini, поздравить его с облегчением и открыть (например, в nodepad++).
[All Prefetch]
Section=Windows10
Default=False
FileKey1=%WinDir%\Prefetch|*.pf;*.db;*.fx;*.7db;*.ini;*.ebd;*.bin|RECURSE
[AppCompatFlags Layer]
Section=Windows10
Default=False
RegKey1=HKCU\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
[Explorer RunMRU]
Section=Windows10
Default=True
RegKey1=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
[OpenSaveFilesView]
Section=Windows10
Default=True
RegKey1=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\FirstFolder
RegKey2=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\FirstFolder
RegKey3=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRULegacy
RegKey4=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
[UserAssist]
Section=Windows10
Default=True
RegKey1=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
[DiagnosedApplications]
Section=Windows10
Default=False
RegKey1=HKLM\SOFTWARE\Microsoft\RADAR\HeapLeakDetection\DiagnosedApplications
[BAM]
Section=Windows10
Default=True
RegKey1=HKLM\SYSTEM\CurrentControlSet\Services\bam\UserSettings\.DEFAULT
RegKey2=HKLM\SYSTEM\ControlSet001\Services\bam\UserSettings\.DEFAULT
[MountedDevices]
Section=Windows10
Default=True
RegKey1=HKLM\SYSTEM\MountedDevices
RegKey2=HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
[Panther]
Section=Windows10
Default=True
FileKey1=%WinDir%\Panther|*.*|RECURSE
[Minidump]
Section=Windows10
Default=True
FileKey1=%WinDir%\Minidump|*.*
Сохранить файл.
2. Запускать его необходимо от имени администратора (иначе выдаст ошибку «Необходимо запустить этот скрипт от имени администратора»).
REM Last-ик ActivityView. Очистка журналов Windows
@ECHO OFF
REM Надеюсь, сохранить файл в кодировке DOS-866 не забыли
CHCP 866
COLOR A
CLS
REM ----------------------------------------------------------------------------------------
REM Проверка на наличие прав администратора
FOR /F "tokens=1,2*" %%V IN ('bcdedit') DO SET adminTest=%%V
IF (%adminTest%)==(Отказано) GOTO errNoAdmin
IF (%adminTest%)==(Access) GOTO errNoAdmin
REM ----------------------------------------------------------------------------------------
ECHO Нажимте 1 для очистки журналов или ENTER для выхода
ECHO.
SET /p doset="Выберите действие: "
ECHO.
REM ----------------------------------------------------------------------------------------
REM ----------------------------------------------------------------------------------------
REM Проверка выбора пользователя. Если не 1 - выход
IF %doset% NEQ 1 EXIT
REM ------------------------------------------------------------------------------------------
REM Очистка всех журналов Windows. Следует проводить вначале, до запуска CCleaner, чтоб в логах не осталось вызовов wevtutil
ECHO.
ECHO ОЧИСТКА ВСЕХ ЖУРНАЛОВ Windows
FOR /F "tokens=*" %%G in ('wevtutil.exe el') DO (call :do_clear "%%G")
ECHO.
ECHO Выполнено
ECHO.
REM ------------------------------------------------------------------------------------------
PAUSE
EXIT
:do_clear
ECHO Очистка журнала %1
wevtutil.exe cl %1
GOTO :eof
:errNoAdmin
COLOR 4
ECHO Необходимо запустить этот скрипт от имени администратора
ECHO.
PAUSE
На всякий случай, перед первым запуском, надо создать точку восстановления
Можно дополнительно почитать развернутое и понятное описание всех основных правил CCleaner-а и последствий их применения, тут (рус.)
Запустить bat-файл. Дождаться, пока закончит работу.
Открыть ССleaner, перейти в нем в «Очистку».
На вкладке «Приложения»
Если используете FireFox и Thunderbird, предлагаю использовать следующие правила:
При этом необходимо учесть, что для FireFox — сотрутся сохраненные пароли к сайтам (придется вводить заново, при входе на сайт). Но можно снять галочку с правила «сохраненные пароли».
Выполнить очистку.
2 вариант — Использовать bat-файл
1. Необходимо создать на компьютере текстовый файл, например с помощью nodepad++, в кодировке OEM 866 (DOS) (иначе, вместо русских букв, могут быть кракозябры). Скопировать в него текст и сохранить, переименовав файл, заменив расширение .txt на .bat
2. Внимательно ознакомится с комментариями к его коду (т.к. там описаны и отрицательные моменты, связанные с затиранием)
3. Запустить его от имени администратора (иначе выдаст ошибку «Необходимо запустить этот скрипт от имени администратора»).
4. Если каких-то ключей реестра или папок нет, скрипт должен это действие пропустить.
(это не ошибки, это не найдено и пропущено)
REM Last-ик ActivityView. Версия 1 Alpha
@ECHO OFF
REM Надеюсь, сохранить файл в кодировке DOS-866 не забыли
CHCP 866
REM Зеленый на черном - интригующе... опять же, хакеры и все такое
COLOR A
CLS
REM ----------------------------------------------------------------------------------------
REM Проверка на наличие прав администратора
FOR /F "tokens=1,2*" %%V IN ('bcdedit') DO SET adminTest=%%V
IF (%adminTest%)==(Отказано) GOTO errNoAdmin
IF (%adminTest%)==(Access) GOTO errNoAdmin
REM ----------------------------------------------------------------------------------------
REM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
REM При выборе пункта 1 ничего особо плохого произойти, для пользователя, не должно.
REM Но будут удалены сохраненные данные о размерах окон папок в проводнике и настройки их вида (список\эскизы и т.д.)
REM При выборе п.п. 2-3
REM 1. При первой перезагрузке чуть-чуть замедлится запуск Windows т.е. первый, после нее, запуск некоторых программ (в т.ч. в автозагрузке)
REM из-за удаления файлов оптимизации запуска Prefetch и SuperFetch
REM 2. Будет удалена информация о запуске программ в режиме совместимости или о запуске от имени администратора
REM но это - если пользователь такое назначал для чего-то и восстанавливается назначением этого заново
REM или найдите и уберите из скрипта удаление данных из ...AppCompatFlags\Layers
REM 3. Будет удалена накопленная до этого момента информация о производительности и ошибках
REM но, если в текущий момент с компом все нормально и его не надо "анализировать и чинить", то тоже ничего страшного
REM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
REM ----------------------------------------------------------------------------------------
REM Меню выбора пользователя
ECHO.
ECHO Не обязательно!
ECHO но желательно закрыть все программы и данный файл, если он открыт в текстовом редакторе, а после завершения - перезагрузиться
ECHO.
ECHO.
REM Часть информации останется, и будет таки отображаться в утилитах NirSoft
ECHO 1 - Очистка основных логов в реестре
REM Удалить все, что удалось найти.
REM (почти вся информация из утилит NirSoft пропадет)
REM При этом:
REM 1. Немного замедлится следующая загрузка ПК и первый, после нее, запуск некоторых программ (из-за удаления Perfect и SuperFetch)
REM 2. Удалятся сведения о ранее возникших ошибках (Minidump)
REM 3. В меню "Пуск" очистится список ранее запущенных программ
REM 4. Будет очищен список тех программ, для которых пользователь задал "запускать в режиме совместимости или от имени администратора".
REM (надо будет задавать для них совместимость заново)
ECHO 2 - Очистка всех логов в реестре, файлов Perfect и Minidump
REM См. п.2 + сотрутся ранее записанные данные журналов Windows
ECHO 3 - Очистка всех логов, файлов Perfect и журналов Windows
ECHO или нажмите ENTER для выхода
ECHO.
SET /p doset="Выберите действие: "
ECHO.
REM ----------------------------------------------------------------------------------------
REM ----------------------------------------------------------------------------------------
REM Проверка выбора пользователя. Если не 1 и не 2 и не 3 - выход
IF %doset% NEQ 1 (
IF %doset% NEQ 2 (
IF %doset% NEQ 3 EXIT
)
)
REM ----------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM Очистка всех журналов Windows, если пользователь выбрал в меню 3. Проводим вначале, чтоб в логах не осталось вызовов wevtutil
REM утилиты NirSoft - LastActivityView
IF %doset% EQU 3 (
ECHO.
ECHO ОЧИСТКА ВСЕХ ЖУРНАЛОВ Windows
FOR /F "tokens=*" %%G in ('wevtutil.exe el') DO (call :do_clear "%%G")
ECHO.
ECHO Выполнено
ECHO.
)
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM ShellBag. История запуска приложений и доступа к папкам, связанная с "оболочкой"
REM утилиты NirSoft - LastActivityView, ExecutedProgramsList, ShellBagsView
ECHO.
ECHO ОЧИСТКА ИСТОРИИ ShellBag - реестр
REG DELETE "HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache" /va /f
REG DELETE "HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU" /f
REG DELETE "HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags" /f
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU" /f
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags" /f
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM Explorer. История запуска приложений связанная с "Проводником"
ECHO.
ECHO ОЧИСТКА ИСТОРИИ Explorer - реестр
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" /va /f
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM ComDlg32. История диалогов "открыть\сохранить" и "последних мест посещений"
REM утилиты NirSoft - LastActivityView
ECHO.
ECHO ОЧИСТКА ИСТОРИИ OpenSave и LastVisited - реестр
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\FirstFolder" /va /f
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU" /va /f
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRULegacy" /va /f
REM (утилиты NirSoft - OpenSaveFilesView)
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU" /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU"
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM если пользователь выбрал в меню не 1 т.е. 2 или 3
IF %doset% NEQ 1 (
REM UserAssist. Очистка списока запущенных программ в меню "Пуск"
REM утилиты NirSoft - UserAssistView
ECHO.
ECHO ОЧИСТКА ИСТОРИИ UserAssist - реестр
REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist" /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist"
ECHO.
)
REM ------------------------------------------------------------------------------------------
REM AppCompatCache
ECHO.
ECHO ОЧИСТКА ИСТОРИИ AppCompatCache - реестр
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache" /va /f
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\AppCompatCache" /va /f
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM DiagnosedApplications. Диагностика утечек памяти в приложении ОС Windows
ECHO.
ECHO ОЧИСТКА ИСТОРИИ DiagnosedApplications - реестр
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RADAR\HeapLeakDetection\DiagnosedApplications" /f
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RADAR\HeapLeakDetection\DiagnosedApplications"
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM Получение SID - идентификатор безопасности текущего пользователя
FOR /F "tokens=2" %%i IN ('whoami /user /fo table /nh') DO SET usersid=%%i
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM Search. История поиска
ECHO.
ECHO ОЧИСТКА ИСТОРИИ Search - реестр
REG DELETE "HKEY_USERS\%usersid%\Software\Microsoft\Windows\CurrentVersion\Search\RecentApps" /f
REG ADD "HKEY_USERS\%usersid%\Software\Microsoft\Windows\CurrentVersion\Search\RecentApps"
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM BAM.
REM По идее, при перезагрузке затрется само.
REM Но можно сделать отдельный bat и запускать, например, после работы с portable-приложениями
ECHO.
ECHO ОЧИСТКА ИСТОРИИ службы Background Activity Moderator - реестр
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\UserSettings\%usersid%" /va /f
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\bam\UserSettings\%usersid%" /va /f
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM AppCompatFlags
ECHO.
ECHO ОЧИСТКА ИСТОРИИ AppCompatFlags - реестр
REM утилиты NirSoft - ExecutedProgramsList
REG DELETE "HKEY_USERS\%usersid%\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store" /va /f
REM если пользователь выбрал в меню не 1 т.е. 2 или 3
IF %doset% NEQ 1 (
REM Список программ, для которых задан "режим совместимости" или "запускать от имен администратора"
REM утилиты NirSoft - AppCompatibilityView
REG DELETE "HKEY_USERS\%usersid%\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /va /f
)
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM История "монтирования" дисков в т.ч. и TrueCrypt
ECHO.
ECHO ОЧИСТКА ИСТОРИИ MountedDevices - реестр
ECHO.
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" /va /f
REG DELETE "HKEY_USERS\%usersid%\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2" /f
REG ADD "HKEY_USERS\%usersid%\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2"
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
REM Очистка списков быстрого перехода
ECHO.
REM утилиты NirSoft - JumpListsView, RecentFilesView
ECHO ОЧИСТКА ИСТОРИИ Recent - файловая система
DEL /f /q %APPDATA%\Microsoft\Windows\Recent\*.*
DEL /f /q %APPDATA%\Microsoft\Windows\Recent\CustomDestinations\*.*
DEL /f /q %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\*.*
ECHO Выполнено
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
ECHO.
ECHO ОЧИСТКА ИСТОРИИ Panther - файловая система
DEL /f /q %systemroot%\Panther\*.*
ECHO Выполнено
ECHO.
REM ------------------------------------------------------------------------------------------
REM ------------------------------------------------------------------------------------------
ECHO.
ECHO ОЧИСТКА ИСТОРИИ AppCompat - файловая система
DEL /f /q %systemroot%\appcompat\Programs\*.txt
DEL /f /q %systemroot%\appcompat\Programs\*.xml
DEL /f /q %systemroot%\appcompat\Programs\Install\*.txt
DEL /f /q %systemroot%\appcompat\Programs\Install\*.xml
ECHO Выполнено
ECHO.
REM ----
REM ------------------------------------------------------------------------------------------
IF %doset% NEQ 1 (
ECHO.
REM Prefetch. Удаление файлов, оптимизирующих запуск приложений. Windows в следующий раз загрузится медленнее
REM утилиты NirSoft - LastActivityView, ExecutedProgramsList
ECHO ОЧИСТКА ИСТОРИИ Prefetch - файловая система
DEL /f /q %systemroot%\Prefetch\*.pf
DEL /f /q %systemroot%\Prefetch\*.ini
DEL /f /q %systemroot%\Prefetch\*.7db
DEL /f /q %systemroot%\Prefetch\*.ebd
DEL /f /q %systemroot%\Prefetch\*.bin
REM SuperFetch. Удаление баз оптимизации SuperFetch
DEL /f /q %systemroot%\Prefetch\*.db
REM Trace. Удаление файлов трассировки
DEL /f /q %systemroot%\Prefetch\ReadyBoot\*.fx
ECHO Выполнено
ECHO.
ECHO.
ECHO ОЧИСТКА ИСТОРИИ Minidump - файловая система
REM Удаление дампов ошибок
REM утилиты NirSoft - LastActivityView
DEL /f /q %systemroot%\Minidump\*.*
ECHO Выполнено
)
ECHO.
REM ------------------------------------------------------------------------------------------
PAUSE
EXIT
:do_clear
ECHO Очистка журнала %1
wevtutil.exe cl %1
GOTO :eof
:errNoAdmin
COLOR 4
ECHO Необходимо запустить этот скрипт от имени администратора
ECHO.
PAUSE
Финал
После использования первого или второго варианта можно запустить утилиты NirSoft, для того, чтоб посмотреть, достигли ли мы желаемого эффекта.
Профит… Теперь, главное, покормить собак и ничего не трогать. А то она опять начнет оперу писать…
Возможные сценарии использования решений bat и CCleaner
- Использовать по отдельности. Тем более, что затирать журналы имеет смысл уж совсем в «приватных случаях»
- Сделать единый bat-файл, который сначала затирает журналы, а вместо всего остального — вызывает CCleaner, то есть, после стирания журналов, поставить вызов: «C:\Program Files\CCleaner\CCleaner64.exe» /AUTOS
- Поставить этот bat-файл в автозагрузку (что, вероятно, заодно решит проблему с запуском CCleaner на Windows 10)
- Поставить bat-файл на момент завершения работы Windows, что правильнее в смысле «заметания следов». Через редактор групповых политик gpedit.msc — «Конфигурация компьютера» — «Конфигурация Windows» — «Сценарии (запуск/завершение)» — параметр «Завершение работы».
Источники
- Утилита Procmon из состава SysinternalsSuite имени Марка Руссиновича, c которой нередко все тайное — становится явным… В том числе и куда обращаются утилиты NirSoft. Его блог на тему использования утилит (рус.).
- Статьи Windows registry and forensics: часть 1 и часть 2. (анг.)
- Статьи блога Компьютерная криминалистика (форензика) сайта CodeBy. Цикл статей Forensics Windows Registry (рус.).
- Статья Очистка журналов Windows (анл.).
- Статья Cоздание собственных правил CCleaner (анг.).
Кстати, а почему Forensic resistance 1?
Сие станет понятно, если дело когда-нибудь дойдет до 2.
Комментарии (12)
namikiri
24.09.2018 07:49Очень понравился стиль изложения, выглядит свежо, живо и молодёжно, как в старых журналах «Хакер». Приятно почитать, идёт в пику повальному «суръёзному» формату повествований Хабрахабра. Суть статьи не менее интересна, большое спасибо автору.
Однако, я бы всё же предпочёл официальный сайт Нира Софера всяким эти вашим софтпорталам. Нельзя доверять никому кроме разработчика, да и тут следует быть осторожным. То, что на сайте по-ангельски гутарят, должно не отталкивать, а мотивировать к изучению языка. Именно благодаря английской документациии и необходимости её понимать я «пролетел» незаметно сквозь все пары инъяза в институте на «автоматах».Dark_wave Автор
24.09.2018 12:44+1Спасибо, приятно)
Насчет Нира Софера — угу… Утилиты SysInternals мне тоже гораздо больше доверия внушают, чем многие инновации, так как Марк Руссинович все же у самых истоков разработки Винды стоял) Да и описания к ним. Как пример к sDelete (принцип работы программы) фактически исчерпывающая инфа о возможностях и ограничениях безвозвратного удаления)
olgerdovich
24.09.2018 10:03Я бы все же посоветовал автору избавляться от манеры описывать порядок действий с использованием множественного числа первого лица (отрываем/редактируем/подходим-покупаем). Хотя это довольно распространено на компьютерных ресурсах средней руки и на всяких рынках, меня это жутко бесит, будто обращаются с дебилами.
Уважайте читателя, обращайтесь к читателю напрямую, а не сопровождайте его за ручку на каждом шаге как воспитательница детского сада.Dark_wave Автор
24.09.2018 10:42Спасибо) Поправил. Угу, в коде подобное убрал, а дальше что-то расслабился… Дело вкуса, конечно, но и впрямь, попробуй я такое написать в хелпе к чему-нибудь на фирме… не поймут, или поймут, но не правильно — «А теперь мы остаемся без премии».
scruff
24.09.2018 11:53+2А меня всегда бесит этакий официоз в документации, — «Для того чтобы сделать то-то, необходимо то-то». Вот тут как раз пробегает мысля о об общении с недоразвитыми. В статье автора как раз все коротко и ясно — «взяли — сделали». Документация должна быть короткой, понятной и приводить к желаемому эффекту, больше у нее предназначений нет! Она не должна быть похожей на раздутый дипломный проект студента.
smilyfox
24.09.2018 13:06Извините за оффтоп: "… средней руки… " давно уже не слышал этого фразеологизма вплоть до 13 сентября и вот опять :)
Hanabishi
24.09.2018 10:39+1Странная статья. Главная странность, что описанные вещи есть давно, еще в ХР это все вроде уже было. То есть в статье не упоминается ничего относящегося к телеметрии и Win10 в частности.
Потом, зачем чистить логи служб, если можно просто отключить эти самые службы? Например папка Prefetch будет всегда пуста, если просто отключить службу Superfetch.
Про Recents вообще смешно, история последних открытых файлов и папок отключается в настройках проводника.
Зато тема реального логгирования не затронута вообще никак. Вангую 99.9% людей не знает о том, что можно зайти в «Панель управления > Администрирование > Управление компьютером > Служебные программы > Производительность > Группы сборщиков данных», полазить там и узнать о системах логгирования много нового.
з.ы. Я бы наверное и сам написал статью о том, как максимально зачистить винду и отключить максимум возможного логгирования. Только тему винды на хабре не любят, у меня похожая статья в песочнице провисела с пол года, да так и подохла. При чем содержала информацию, которой в интернете вообще больше нигде не было, ладно хоть её прямо из песочницы успела перепечатать парочка левых сайтов )
Dark_wave Автор
24.09.2018 11:59-1Благодарствую) Что ж, надо отдать должно, по делу. Насчет телеметрии и слежки — статья несколько не об этом, но да, ни в названии, ни во вступлении однозначно на это не указывается. Внес комментарий в соответствующий раздел, как и о выключении служб и прочего функционала, спасибо.
Насчет самой статьи — тоже есть такое. В «новой редакции» несколько расширил, хотя не сказать, что сильно-то углубил. Но хоть «канва» какая-никакая: что за данные -> где хранятся (теперь со ссылками на углубленные материалы) -> чем чревато их удаление -> как удалить.
Dark_wave Автор
24.09.2018 12:19-1«Главная странность, что описанные вещи есть давно, еще в ХР это все вроде уже было.»
Вот тут несколько спорный момент) Собственно и LastActivityView тогда была тоже, а вот поди ж ты. Но, статья рассчитана больше на пользователей, и «сводная» инфа для тех, кто этим раньше просто не озадачивался, чтоб не шарить в поисках.
Мне, в этом плане, форумы «форензиков» Рашен Эдишен — неиллюзорно доставили.
Ну, пользователи — понятно… у них своих дел в реале хватает, им это все не надо, и вообще их надо любить и беречь их нервную систему.
А эти — вроде ж должны быть спецами или хоть учиться, причем, вроде не школьники-то, вполне по-взрослому все. Ан нет. Гуру… гуры… гурии, как их там, по-русски, стало быть, на полном серьезе излагают материал о реестре, причем таким заговорщицким тоном, что складывается впечатление, шо это до них никогда не форезенковалось, не форензикуется и даже не собирается форезенковаться впредь. Адепты с трепетом и восторгом внемлют и выражают восторги, хотя половина обсуждаемых там вопросов отпадает сама, после простого поиска по реестру, а с прочтением материалов даже в инете, не говоря уж про хоть одну специализированную книжку, отпадает и вторая половина.
Но ведь нет, чего-то обсуждают, проводят вебинары. Их что, поголовно в гугле забанили, админ или Frojan.ShellBag права на regedit выпилил или в самообразовании еще до хоткеев Ctrl+F не дошли?
Не-не, безусловно есть и специалисты и статьи и познавательные и даже уникальные, но, нередко, именно так.
OldGrumbler
26.09.2018 05:34Это всё полумеры. На самом деле, если нужно полностью убрать любые следы активности в одном, отдельно взятом компе, то можно _ДО_ активности сделать образ системного диска акронисом или чем-то подобным, произвести эту активность, а затем развернуть образ на место. Для совсем уже параноиков — переписать свободное место нулями или мусором.
В идеале — заранее начисто установить систему с минимальным набором софта, свернуть ее в образ и держать его в сухом прохладном месте вдали от детей )))
Полмню, лет… цать назад принесли на поковырять некий диск с каталогами з/ч. Оный диск бесплатно позволял поставить только один из 5 вариантов — и где-то в недрах винды прятал свою метку «здесь был вася №...» ))). За пол-дня все 5 вариантов были получены и собраны в более удобную оболочку — именно путем разворачивания образа «чистой» системы.
SemaIVVV
Респектую. Пару мест указал, о которых я не знал.
Dark_wave Автор
Спасибо