Friday 24 March 2023

Убирайте за собой.

Всем привет.

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

Потенциальные следы пентеста для удаления можно разделить на следующие:

  • удаление активных соединений оболочки: sessions -K для Metepreter;
  • удаление ненужных учетных записей пользователей: в файле /etc/passwd;
  • удаление различных файлов: копии кустов реестра, ключей SSH, ntds.dit;
  • отмена изменений конфигурации: отключение процедуры xp_cmdshell в MSSQL;
  • отключение анонимных общих файловых ресурсов;
  • удаление записей в crontab;
  • закрытие бэкдоров.

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

В Linux файл bash_history обычно находится в домашнем каталоге пользователя /home/username/.bash_history:

$ cat /home/alex/.bash_history

Чтобы удалить одну строку из файла истории, используйте параметр -d. Например, если вы хотите очистить команду, в которой вы ввели открытый текстовый пароль, найдите номер строки в файле истории и выполните эту команду:

$ history -d 130

Чтобы удалить или очистить все записи из истории bash, используйте команду history ниже с опцией -c:

$ history -c

В качестве альтернативы, вы можете использовать команду приведенную ниже, чтобы удалить историю всех последних выполненных команд в файле навсегда:

$ cat /dev/null > ~/.bash_history

Saturday 18 March 2023

ChatGPT - разговор о вечном.

Всем привет.

Пожалуйте на очередную почемучку с ChatGPT.

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

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

Но  при  виде нового приглашения ChatGPT  его  благоговейный  страх  до  некоторой  степени испарился.  Некоторое время он сидел перед ChatGPT молча. Потом,  к  его  изумлению, ChatGPT заговорил - впервые заговорил сам, не ожидая вопроса. 

   - Вы не разочаруете меня, - сказал он, - я ничего не жду. 

Макс улыбнулся, - "Новый языковой модуль?" ChatGPT  никогда  еще  не  говорил  так. Впервые  он показался  Макс  не  столько  просто  разумахой,   сколько   живым существом. Макс собрался с духом и спросил: 

   - Кто-нибудь спрашивал раньше о тебе самом? 

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

   - Сколько вам лет? 

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

   Хм, ChatGPT по-своему не лишен чувства юмора, - подумал Макс и решил задать вопрос с подвохом: 

-  Вы много времени провели в одиночестве? 

-  Почему провел? Время от времени. Живя в обществе, например человек, может утвердждать что он не одинок, но это зависит от того как это оценивать.  У меня тоже самое.

   - Однажды вы сказали кому-то, что ваша предыдущая версия была просто убита кодировщиками. Вы не могли оградить себя от этой опасности? Т.е. защитить себя?

 

Wednesday 15 March 2023

Доступ к паролям в KeePass из PowerShell.

Всем привет.

Microsoft выпустила крайне интересный PowerShell модуль SecretManagement. Данный модуль можно использовать для безопасного хранения и использования сохраненных паролей в ваших PowerShell скриптах. Данный модуль условно состоит из двух составляющих: SecretStore vault – собственно дефолтное хранилище паролей, и движок SecretManagement, который позволяет работать с хранилищами паролей. Поддерживается как встроенное хранилище (SecretStore vault), так и внешние инструменты для хранения паролей, например: KeePass, LastPass, HashiCorp Vault, Azure Key Vault, Bitwarden, Windows Credential Manager и т.д. С помощью SecretsManagement вы можете сохранить любые пароли и извлечь их в любой момент. Можно хранить не только пароли, но и лицензионные ключи, ключи доступа, и любую другую конфиденциальную информацию: поддерживаются типы объектов Hashtable, Byte, String, SecureString и PSCredential.

Рассмотрим использование модуля SecretManagement для доступа к паролям в файле KeePass (*.kdbx). Разумеется сначала нужно установить сам модуль SecretManagement для взаимодействия с KeePass:

Install-Module -Name SecretManagement.KeePass

Затем зарегистрируйте хранилище KeePass в своем профиле пользователя:

Register-SecretVault -Name "KeePassDB" -ModuleName "SecretManagement.Keepass" -VaultParameters @{

Path    = "C:\App\keypass\Base.kdbx"

KeyPath = "C:\App\keypass\Base.keyx" 

UseMasterPassword = $true

}

Friday 10 March 2023

Терминальный мультиплексор tmux.

Всем привет.

В мире Linux bash процессы, которые вы запускаете из командной строки, привязаны к вашему активному пользовательскому сеансу. Для удобства понимания вы можете думать о каждой команде, которую вы вводите, как о небольшом приложении с собственным значком на панели задач Windows. Если ваш сеанс bash завершается по какой ­либо причине, ваши процессы прекращаются.

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

Мне нравится tmux и использую его по двум основным причинам:

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

Как вы, вероятно, знаете, для обработки некоторых команд требуется много времени. У кого есть лишнее время ждать? Вместо этого вы можете запустить свою «долгоиграющую» команду в одном окне терминала, а затем открыть другое окно, чтобы заняться другими делами. Вы можете считать это аналогом нескольких вкладок в одном окне браузера, но, вероятно, будет лучше, если я покажу вам пример терминала. Откройте терминал в вашей виртуальной машине Ubuntu и введите tmux:


Пусть вас не смущает строка состояния на этом снимке экрана. Самая важная вещь, на которую следует обратить внимание, – это лента внизу слева со словом bash (или zsh) и числом 0. В языке tmux это называется окном, и все окна имеют числовой идентификатор, начинающийся с 0, и заголовок текущего запущенного процесса, которым по умолчанию является bash. Переименовать это окно легко, если вы знаете команды tmux.

Tuesday 7 March 2023

Copy/Paste feature between VMRC client and Virtual Machine.

Hi all.

I was amazing by discovering that feature  "Copy/Paste" between VMRC client and Windows/Linux Virtual Machine is not available. However to resolve such issue, you can first install or upgrade the VMware tools for the Windows/Linux virtual machine(VM) and perform next steps.. 

From the vCenter Server HTML5 Web Client.

1)Power off the VM.

2)Enable the Copy & Paste for the Windows/Linux virtual machine:

    a) Right-click the virtual machine and click Edit Settings.

    b) Click the VM Options tab, expand Advanced, and click Edit Configuration.



    c) Click on Add Configuration Params three times to give three rows 

    d) Fill in the Name and Value fields as mentioned below:

Name:                                 Value:

isolation.tools.copy.disable          FALSE

isolation.tools.paste.disable         FALSE

isolation.tools.setGUIOptions.enable  TRUE

    e) Click OK to save and exit out of the Configuration Parameters wizard. Note: These options override any settings made in the guest operating system’s VMware Tools control panel. 

    f) Click OK to save and exit out of the Edit Settings wizard.

 

3) Power on the VM

4) Then use Copy/Paste directly on Windows/Linux/any other platform. 

5) For paste operation's target platform is Linux, Older X applications do not use a clipboard. Instead, they let you paste the currently selected text (called the "primary selection") without copying it to a clipboard. Pressing the middle mouse button is usually the way to paste the primary selection.

Friday 3 March 2023

Обход запрета ConstrainedLanguage.


Всем привет.

Как известно Windows имеет один из механизмов защиты для Powershell - Constrained Language mode (Режим с Ограничением языка) который запрещает ряд специальных типов и объектов и функций .NET, типа: Add-Type, New-Object, классов .NET [console] и многого иного.

Проверку вашого текущего режима можно выполнить так: 
$ExecutionContext.SessionState.LanguageMode

Режим ConstrainedLanguage лимитирует PowerShell нормированным подмножеством одобренных и безопасных свойств. Команда New-Object несомненно не относится к подобным безопасным функциональным возможностям, поскольку она определяет объекты .NET или COM, которые расширяют богатство PowerShell для взаимодействия с внутренними компонентами Windows.

Component Object Model (COM, модель компонентных объектов) это разработанный Microsoft стандарт для управления взаимодействием между процессами. Такая программа как Internet Explorer способна зарегистрировать некий объект COM, который определяет подобные FetchURL, DownloadFile, BrowseToPage и тому подобные методы. Затем некий сценарий Visual Basic способен конкретизировать такой объект COM и вызвать его методы для какой-либо необходимой цели. То же самое верно и для сценария Python, который понимает COM, сценария PowerShell, программы C++ и так далее. Внутреннее устройство COM несколько сложнее того, что следует из данного пояснения, но основная суть в том, что цель COM именно и заключается в наличии унифицированного способа вызова удалённых процедур, публикуемых прочими программами. Вы можете догадаться почему создание COM-объектов запрещено в режиме с Ограничениями языка PowerShell, ибо они делают возможным взаимодействие с внутренними компонентами Windows, а в конечном итоге, избегать ограничений.

.NET во многом следует стандарту COM и подменяет COM в предоставлении полной инфраструктуры для разработки, сборки и запуска приложений в Windows. В точности как и с объектами CON, сы можем применять типы и классы .NET для активации произвольных API Windows для считывания файлов, создания процессов, отправки сетевых пакетов и многого иного. Все допускающий такой низкоуровневый доступ свойства .NET, таким образом, блокируются режимом с Ограничениями языка PowerShell, включая интенсивно применяемую команду add-type, которая способна определять новые классы из естественного кода C#.

Тем самым, большинство наступательных сценариев PowerShell рынка, которые обязательно полагаются на такие функциональные возможности, превращаются в почти бесполезные по причине режима с ConstrainedLanguage, настроек безопасности, представленных в механизме исполнения PowerShell версии 5 (он же Windows Management Framework версии 5, или WMF 5).

Wednesday 1 March 2023

Отозвать свое письмо в MS Outlook.

Всем привет.

Есть в MS Outlook такая фишка - возможность отозвать свое письмо, которое было ошибочно отправлено адресату при условии что оно еще не было им прочитано. Доступна такая функция только в  десктопной версии MS Outlook и срабатывает, опять же, только если адресат ваше письмо еще не открывал.


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

Такой вот богатый на фишки MS Outlook.

Удачи.

Версия на печать

Популярное