
Offensive Lua.
Offensive Lua — это обширный набор скриптов для наступательной безопасности и red team, написанных на Lua с использованием FFI (Foreign Function Interface). Эти скрипты используют мощь и гибкость LuaJIT на Microsoft Windows для выполнения продвинутых операций по тестированию на проникновение и red teaming.
Lua — исключительный выбор для написания скриптов пост-эксплуатации и наступательной безопасности благодаря ряду стратегических преимуществ:
Интерпретатор OffensiveLuaEmbedded.exe предоставляет расширенные возможности отладки и выполнения, необходимые для red team-операций и разработки инструментов наступательной безопасности. Эти функции позволяют операторам анализировать поведение скриптов, оптимизировать производительность, устранять неполадки во враждебных средах и разрабатывать техники обхода защит:
Зачем нужна расширенная отладка?
Offensive LuaJIT Debugger
Usage: OffensiveLuaEmbedded.exe [options] <script.lua> [args...]
Options:
--interactive, -i Enable interactive debugging mode.
--dump-bytecode, -d Create .lbin bytecode file with hexdump.
--trace, -t Trace every executed line.
--count, -c Track instruction samples.
--memory, -m Print memory summary after execution.
--vm, -v Instrument VM with timing and diagnostics.
--version Show version information.
--help, -h Show this help message.
Например, чтобы прочитать все учетные данные из текущего контекста выполнения в Microsoft Password Vault, выполните:
.\OffensiveLuaEmbedded.exe vaultdump.lua
Это демонстрирует мощь Offensive Lua — одной командой можно выгрузить хранилище учетных данных Windows и извлечь сохраненные пароли, токены и данные аутентификации. Скрипт использует Windows API через FFI для доступа к Password Vault, который приложения используют для безопасного хранения учетных данных пользователей.
Пример проекта Visual Studio 2022, который можно использовать для встраивания LuaJIT в бинарный файл с целью запуска скриптов. Вам потребуется обновить git-подмодули, чтобы получить последнюю ветку LuaJIT.
Важно: прочитайте комментарии по всему исходному коду, чтобы понять нюансы встраивания и избежать типичных ошибок. Комментарии содержат важные детали реализации и лучшие практики для успешного встраивания LuaJIT.
Вы можете узнать больше о Hacker House и Offensive Lua на нашем сайте:
Эти файлы доступны под лицензией BSD с 3 пунктами (3-clause BSD license).
| Filename | Description |
|---|
| bin2hex.lua | Преобразовать бинарный файл в hex для binrun.lua |
| binrun.lua | Записывает hex-код EXE в случайное место и выполняет его |
| bindshell.lua | Привязать shell к TCP-порту 5000 |
| ComputerDefaultsUACBypass.lua | Обход ограничений UAC через ms-settings |
| console.lua | Пример консольного приложения |
| downloadexec.lua | Загрузка и выполнение через HTTP |
| downloadexec_UACbypass.lua | Загрузка, обход UAC и выполнение через HTTP |
| efspotato.lua | Незавершённый efspotato |
| eventcode.lua | Пример обработчика событий Windows |
| filewrite.lua | Записать файл |
| howami.lua | Всегда whoami.exe, никогда howami.lua |
| keyboard_capture.lua | Перехват ввода с клавиатуры и нажатий клавиш |
| listprocess.lua | Список запущенных процессов |
| memorysearch.lua | Ищет пароли в памяти |
| memorysearch_stringdump.lua | Извлечение строк из памяти процесса |
| messagebox.lua | Пример MessageBox |
| microphone_capture.lua | Захват аудио с микрофона |
| OffensiveLuaEmbedded.exe | Встроенный интерпретатор LuaJIT с функциями отладки |
| regread.lua | Чтение из реестра |
| regwrite.lua | Запись в реестр |
| regwritedel.lua | Запись и удаление в реестре |
| rickroll.lua | Открыть браузер по URL |
| runcmd.lua | Выполнить команду через popen |
| runcmd2.lua | Выполнить команду через os.execute |
| runswhide.lua | Выполнить команду через CreateProcess с SW_HIDE |
| screenshot.lua | Захват скриншота рабочего стола |
| screenshot_withhiddenwindows.lua | Захват скриншота, включая скрытые окна |
| uac_bypass_bluetooth_win10.lua | Обход UAC через Bluetooth в Windows 10 |
| vaultdump.lua | Дамп диспетчера учетных данных Windows и хранилища паролей |
| webcam_picture_directshow.lua | Захват изображения с веб-камеры через DirectShow |
| webcam_picture_simple.lua | Захват изображения с веб-камеры простым методом |
| webcam_video_directshow.lua | Запись видео с веб-камеры через DirectShow |
| webcam_video_simple.lua | Запись видео с веб-камеры простым методом |