Данные об активности пользователя в Windows 10 и как их удалить

Данные об активности пользователя в Windows 10 и как их удалить

https://t.me/CyberLifes

Доброго времени прочтения, уважаемые читатели CyberLifes.

Побуждением к изысканиям, опубликованным в данной статье, стало набирающее все большую и большую популярность слово «форензика» и желание разобраться в вопросе — какие данные о цифровой жизнедеятельности рядового пользователя собирает ОС Windows 10, где их хранит и как сделать кнопку — «Удалить все» (Я бы взял частями, но мне нужно сразу (с) Остап Бендер).

А возникновению данного побуждения способствовало то, что, как оказалось, интерес к вопросу «как удалить историю», выдаваемую эпичной LastActivityView, до сих пор будоражит умы

при этом, зачастую, на форумах вопрос остается без ответа. Масла в огонь подливает то, что ванильный CCleaner в случае с LastActivityView не помогает.

Те, кому в основном интересна практическая сторона вопроса, насчет кнопки «Удалить все», могут сразу перейти к концу статьи — там предлагаю варианты решения.

А в статье — хочу поделиться результатами этих изысканий с теми, кого это заинтересует. Речь пойдет о тех данных, которые хранятся ОС Windows 10 локально и к которым можно просто и быстро получить доступ с использованием «бесплатных и общедоступных средств форензики», в том числе и утилит NirSoft. Хотя речь пойдет не о них (почему — смотреть ниже).


Целевая операционная система

В данной статье рассматривается ОС Windows 10. Другие выпуски Windows, естественно, так же грешны сбором и хранением данных, но у них ключи реестра, папки, службы и т.п. отличаются.

Причем тут форензика

В статье вопрос касается использования ее методов и средств для доступа к приватным данным пользователя. И, в связи с их распространением и доступностью, вполне вероятно — всуе, доморощенными форензиками-кулцхакерами, троянских дел мастерами и прочими любителями вычислять по IP или легкой наживы, да и просто недружелюбными любопытными, так как для скачивания, запуска и чтениях\сохранения данных, выдаваемых той же LastActivityView, Ниром Софером быть совсем необязательно.

Почему речь не про NirSoft

Во «вступлении» я не случайно дал ссылку на LastActivityView на Софт Портале. Там и впрямь только краткое описание функционала данной утилиты, зато на русском. А на офф. страничке своих утилит Нир Софер пишет многабукфф да еще и по-англицки шпрехает. Но, зато, почти для каждой его утилиты там есть описание, откуда она берет данные. Для LastActivityView в самом низу, под заголовком «How to delete the information displayed by LastActivityView».

Надо признать, что я и сам такой же Зоркий Глаз — когда-то, как и он, только через неделю заметил, что «у сарая одной стены нет». Но, правда, сия неделя была несколько раньше, чем LastActivityView стали пугать пользователей или, что вероятнее, когда они добрались до Софт Портала и сами научились ее пугаться.

Хотя утилиты NirSoft, наряду с SysInternals, ИМХО образец профессионализма для программиста и крайне удобны для администрирования. Да и для проведения расследований их и впрямь зачастую рекомендуют. ПруфПример: Хакер №229. Форензика и он далеко не единственный.

Хотя, думаю, подобное направление их использования само собой приходило в голову тем, кто так или иначе имел с ними дело.

Дабы не скачивать их в розницу — можно скачать оптом с бонусом в виде лаунчера NirSoft Launcher (при скачивании обратите внимание, что zip-файл запаролен, пароль есть на этой страничке).


Какие данные хранятся Windows

Хранится все, что связанно с доступом к файлам и папкам и их местоположением, использованием программ (в т.ч. и protable), подключением устройств хранения информации (в том числе и шифрованных файловых контейнеров).

Да, это не во всех случаях, что-то сохраняется только при определенных событиях, а что-то может быть отключено, но лучше, все же, исходить из того, что все и всегда. Что подключали, какие папки-файлы открывали, какие программы использовали.

И еще из того, что с журналами Windows — непредсказуемо, что туда будет записано. В связи хотя бы с тем, что это сильно зависит и от конкретных настроек конкретной ОС и каждой ее подсистемы, и журналы эти доступны для записи в них сообщений сторонними программами.

А причем тут «доступ» и «местоположение»? Сильно утрированный пример: номер банковской карты и ее pin-код так и останутся в файле «D:\МояСуперСекретнаяПапка\CardPin.docx», никуда в Windows не запишутся, а вот факт доступа и «говорящие» имена папки и файла, то, что был использован, например, MS Office 2007 portable, а так же дата-время как минимум последнего (иногда и каждого) доступа\запуска — зафиксируется Windows, причем размазано тонким слоем по всей системе.

Про некоторые другие данные — можете почитать ниже по тексту, под заголовком «Прочие источники утечек информации известные мне, но не попадающие под тематику статьи»

Стало быть, коль подключали, запускали, открывали что-то такое, что не хотелось бы, чтоб стало достоянием широкой общественности — не худо бы потом и следы замести.

Совершенно справедливый комментарий от Hanabishi — «Зато тема реального логгирования не затронута вообще никак… не упоминается ничего относящегося к телеметрии и Win10 в частности» — прошу прощения, толком не описал, что речь в статье идет о приватных данных, хранящихся локально, на ПК пользователей. Вопросы слежки, как и вопросы анонимности в сети, все-таки другая, отдельная тема.

Зачем Windows собирает данные и чем чревато их удаление

Большинство данных Windows собирает для удобства пользователя — например, для ускорения запуска приложений, для отображения папок в проводнике с теми настройками, которые задал пользователь, отображения списка ранее открытых файлов и т.д. и т.п. Затереть только данные, не лишившись при этом удобств — не получится.

Так же, часть данных собирается для оценки производительности и состояния компьютера и ОС (в том числе о сбоях и ошибках) IT-специалистами и специализированным ПО для решения возникающих у пользователя проблем. Без этих данных — решить проблемы, если они возникнут, будет сложно.

И все это еще один повод задуматься над вопросом, когда действительно необходимо стирать данные, а когда не стоит и может быть не надо стирать их огулом при каждом включении-выключении компа.

Совершенно справедливый комментарий от Hanabishi — «зачем чистить логи служб, если можно просто отключить эти самые службы?» Не упомянул я об этом. Можно. Как штатными средствами, так и танцами с бубном. Но это опять же означает — раз и навсегда лишиться удобняшек, которые наше все.

Что мне будет от Винды за масштабное выпиливание приватных данных, в том числе, с помощью предложенного тут решения?

Эпик фейлов случиться не должно, особенно если внимательно познакомиться с описанием каждого правила «очистки» и, если что, его отключить. Но и новой шапки, с новой буркой, тоже ждать не приходится.

  • Если предполагаются какие-то «ремонтно-восстановительные» работы, то сотрется важная для этого информация. Но это касается, в основном, стирания журналов Windows
  • Если отображение каких-то папок настраивали под себя, придется настраивать по новой
  • Если задавали каким-либо программам режим совместимости или запуск от имени администратора, задавать придется заново
  • Ввиду затирания данных, необходимых для ускорения доступа к данным, их отображения и запуска программ, следующий, после затирания, доступ\отображение\запуск, немного замедлится
  • Ввиду затирания данных об открытых ранее файлах, искать их придется заново, воспользоваться пунктом меню «ранее открытые файлы» в программах не получится
  • Если выбрать удаление кеша обновлений Windows, деинсталировать потом обновления штатным образом не удастся


Где эти данные хранятся?

После заявленных во вступлении «изысканий» и сверки свежеизысканного с окружающей действительностью у меня сложилось впечатление, что кроме IBM-286 уже успели еще что-то изобрести основные «заповедные места» не поменялись еще со времен XP, разве что местоположение и формат некоторых изменились. И кое-что добавилось, но, вроде бы, немного. Посему поэтому уверен, что Америк не открою, тем более специалистам, но может быть кого-то заинтересует эта подборка, в связи с подъемом интереса к вопросам анонимности и безопасности.

Сразу хочу предупредить — это далеко не все, только самое основное и информативное (в смысле описания не все, стирается в предложенном решении гораздо больше) и не развернуто и «галопом по Eвропам». Для тех, кому данная тема действительно интересна, в конце этой главы — известные мне интересные материалы для самостоятельного изучения + ряд конкретных «заповедных мест» приведены в решениях для их зачистики.

Основные, известные мне, источники утечек информации об активности пользователя

  • Реестр WindowsShellBags — 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»)

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-ом или имеются другие свободно распространяемые утилиты.

Перечень таковых

Так как, в конце-концов, их затереть-то?


Предлагаю на рассмотрение и критику следующий вариант: Прокачать 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=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|*.*

Сохранить файл.

Созадние bat-файла для очистки всех журналов Windows:1. Нужно создать на компьютере текстовый файл, например с помощью nodepad++, в кодировке OEM 866 (DOS) (иначе, вместо русских букв, могут быть кракозябры). Скопировать в него текст и сохранить. Переименовать файл, заменив расширение .txt на .bat

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, перейти в нем в «Очистку».

Выбрать следующие правилаНа вкладке «Windows»

На вкладке «Приложения»

Если используете FireFox и Thunderbird, предлагаю использовать следующие правила:

При этом необходимо учесть, что для FireFox — сотрутся сохраненные пароли к сайтам (придется вводить заново, при входе на сайт). Но можно снять галочку с правила «сохраненные пароли».

Выполнить очистку.

2 вариант — Использовать bat-файл

Инструкция Это альфа-версия и, теоретически, может что-то таки сломать, так что используем на свой страх и риск. Первый раз, перед запуском, сделав точку восстановления системы.

1. Необходимо создать на компьютере текстовый файл, например с помощью nodepad++, в кодировке OEM 866 (DOS) (иначе, вместо русских букв, могут быть кракозябры). Скопировать в него текст и сохранить, переименовав файл, заменив расширение .txt на .bat

2. Внимательно ознакомится с комментариями к его коду (т.к. там описаны и отрицательные моменты, связанные с затиранием)

3. Запустить его от имени администратора (иначе выдаст ошибку «Необходимо запустить этот скрипт от имени администратора»).

4. Если каких-то ключей реестра или папок нет, скрипт должен это действие пропустить.

https://pastebin.com/i39AW79P


Профит… Теперь, главное, покормить собак и ничего не трогать. А то она опять начнет оперу писать…

Возможные сценарии использования решений bat и CCleaner

  1. Использовать по отдельности. Тем более, что затирать журналы имеет смысл уж совсем в «приватных случаях»
  2. Сделать единый bat-файл, который сначала затирает журналы, а вместо всего остального — вызывает CCleaner, то есть, после стирания журналов, поставить вызов: «C:\Program Files\CCleaner\CCleaner64.exe» /AUTOS
  3. Поставить этот bat-файл в автозагрузку (что, вероятно, заодно решит проблему с запуском CCleaner на Windows 10)
  4. Поставить bat-файл на момент завершения работы Windows, что правильнее в смысле «заметания следов». Через редактор групповых политик gpedit.msc — «Конфигурация компьютера» — «Конфигурация Windows» — «Сценарии (запуск/завершение)» — параметр «Завершение работы».


Источники

  1. Утилита Procmon из состава SysinternalsSuite имени Марка Руссиновича, c которой нередко все тайное — становится явным… В том числе и куда обращаются утилиты NirSoft. Его блог на тему использования утилит (рус.).
  2. Статьи Windows registry and forensics: часть 1 и часть 2. (анг.)
  3. Статьи блога Компьютерная криминалистика (форензика) сайта CodeBy. Цикл статей Forensics Windows Registry (рус.).
  4. Статья Очистка журналов Windows (анл.).
  5. Статья Cоздание собственных правил CCleaner (анг.).


Report Page