Всё тот же инструмент для удаленного подключения к машинам Windows, но теперь с поддержкой искусственного интеллекта!
📎Установка: Кроме основных библиотек для работы инструмента так же потребуется langchainrb >= 0.18.0, ollama-ai >= 1.3.0, anthropic >= 0.3.2, mistral-ai >= 1.2.0, ruby-openai >= 7.3.1.
💥Использование: С помощью параметров --llm* можно взаимодействовать с языковыми моделями упрощая создание команд и предоставляя интеллектуальные предложения на основе ваших входных данных: 🌟llm LLM_NAME - имя LLM; 🌟llm-model LLM_MODEL_NAME - модель LLM; 🌟llm-url LLM_URL - URL - адрес службы LLM (используется Ollama и AzureOpenAI); 🌟llm-api-key LLM_API_KEY - ключ API LLM; 🌟llm-history - включить сохранение сгенерированных команд LLM в истории; 🌟llm-debug - включить ведение журнала LLM.
# Ollama, specifying an LLM model setting the URL of the listener containing the Ollama service evil-winrm-ai -u Administrator -p 'MySuperSecr3tPass123!' -i 192.168.1.1 --llm ollama --llm-url 'http://192.168.1.2:11434' --llm-model llama3.1:latest
# OpenAI, specifying an LLM model and enabling the LLM commands history evil-winrm-ai -u Administrator -p 'MySuperSecr3tPass123!' -i 192.168.1.1 --llm openai --llm-api-key 'x' --llm-history --llm-model gpt-4o
# Gemini, just using it enabling debug mode evil-winrm-ai -u Administrator -p 'MySuperSecr3tPass123!' -i 192.168.1.1 --llm gemini --llm-api-key 'x' --llm-debug
# Mistral-AI, specifying an LLM model evil-winrm-ai -u Administrator -p 'MySuperSecr3tPass123!' -i 192.168.1.1 --llm mistral-ai --llm-api-key 'x' --llm-model open-mistral-7b
После входа в оболочку Evil-WinRM с включённой функцией ИИ необходимо использовать префикс ai: для запроса у ИИ предложений по командам. Например, ai:enumerate local users
📣Хакеры любят SQL-инъекции — это один из самых старых, но всё ещё опасных методов атак. Всего пара лишних кавычек может открыть доступ к миллионам записей. Подробнее в карточках.
🔴Разобраться в SQL-инъекциях можно на курсе «SQL-Injection Master». Запись до 30 марта. Регистрация здесь.
Инструмент статического анализа с открытым исходным кодом, который выполняет поиск в коде, находит ошибки и обеспечивает соблюдение безопасных ограничений и стандартов кодирования. Semgrep поддерживает более 30 языков и может работать в интегрированной среде разработки, в качестве проверки перед коммитом и в рамках рабочих процессов CI/CD.
🍏🖥Установка:
# For macOS brew install semgrep
# For Ubuntu/WSL/Linux/macOS python3 -m pip install semgrep
Для запуска в автоматическом режиме необходимо перейти в корневой каталог проекта и использовать команду: semgrep --config "auto". Параметр config отвечает за выбор правил для сканирования. В режиме auto используются все публичные правила и сканирование начинается с текущей директории.
📋 Так же есть готовые наборы правил для проверки под разные задачи:
Через параметр --exclude в командной строке можно исключить файлы или директории, которым не требуется сканирование.
🆒 Правила для Semgrep пишутся в формате YAML, что упрощает их создание и настройку. Можно использовать уже готовые правила, а можно создавать собственные. Пример использования кастомного правила для поиска операторов Python print():
Сохраняем этот файл с именем no_print.yaml и запускаем утилиту:
Для Windows можно использовать последнюю версию отсюда.
☄️ Основные возможности: ⏺️ Демонстрация содержимого изображения Docker в разбивке по слоям; ⏺️ Возможность видеть изменения в каждом слое; ⏺️ Оценка эффективного распределения места в образе; ⏺️ Быстрые циклы сборки / анализа засчёт возможности проведения сканирования при сборке образа.
🧐Использование: Для анализа образа Docker необходимо запустить инструмент и указать tag/id/digest:
dive <your-image-tag>
Также можно запустить инструмент непосредственно с помощью команды docker:
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive" dive <your-image-tag>
# for example dive nginx:latest
Или создать свой образ и сразу перейти к его анализу:
Инструмент предназначен для анализа предоставленного доменного имени с помощью алгоритмов фаззинга и позволяющий найти похожие домены, которые могут быть использованы в фишинговых атаках.
💻 Последнюю версию можно установить клонировав репозиторий:
git clone https://github.com/elceef/dnstwist.git cd dnstwist pip install .
😮Использование:
Обычно генерируются тысячи комбинаций доменов, поэтому целесообразно отображать только те, которые зарегистрированы:
dnstwist --registered domain.name
С помощью аргумента --nameservers можно указать внешний DNS-сервер, который будет обрабатывать запросы.
Через аргумент --dictionary передается файл со словарем в случае, если результатов фаззинга не будет хватать.
Для проверки, существуют ли домены с другими TLD, необходимо предоставить файл со списком TLD:
Для простых перестановок без поиска DNS, используется аргумент --format list.
🚨Обнаружение фишинга: Ручная проверка каждого доменного имени на предмет того, что оно ведёт на фишинговый сайт, может занять много времени. Для решения этой проблемы, dnstwist использует нечёткие хэши — концепция, которая позволяет сравнивать два входных параметра (HTML-код) и определять базовый уровень сходства и перцептивный хэш — отпечаток, полученный на основе визуальных характеристик изображения (скриншот веб-страницы).
Утилита, написанная на Go, которая реализует обратный SOCKS5 туннель с поддержкой SSL/TLS и прокси (без аутентификации прокси и с базовой/NTLM аутентификацией прокси. Поддерживается на всех ОС, есть поддержка туннелирования DNS, автоматическая генерация сертификата SSL / TLS, если не указано иное.
🚀Установка:
# Build for Linux git clone https://github.com/kost/revsocks export GOPATH=~/go go get github.com/hashicorp/yamux go get github.com/armon/go-socks5 go get github.com/kost/go-ntlmssp go build go build -ldflags="-s -w" && upx --brute revsocks
⚙️Принцип работы: ⏺️На сервере RevSocks запускается с параметром-listen, указывающим порт, на котором сервер будет принимать соединения от клиента и параметром -socks, задающим адрес SOCKS5-сервера (сервер ожидает входящего соединения от клиента и одновременно предоставляет SOCKS5-интерфейс для внешних подключений). ⏺️На клиенте инструмент запускается с параметром -connect, указывающим на адрес и порт сервера. ⏺️Клиент устанавливает исходящее TCP-соединение к серверу, которое мультиплексируется с помощью Yamux для обработки множества потоков. ⏺️SOCKS5-запросы от сервера передаются через туннель к клиенту, который выполняет их и возвращает данные.
💻Использование: Обратное TCP соединение с шифрованием TLS:
# Start on the DNS server revsocks -dns example.com -dnslisten :53 -socks 127.0.0.1:1080 -pass <pass> # Start on the target revsocks -dns example.com -pass <pass>
🖥6 способов защиты кода, о которых должен знать каждый разработчик
Тестирование безопасности — это не только сканеры и отчеты. В статье разбираем: 🔸 Тестирование на проникновение (пентест) прямо в процессе разработки 🔸 Как DAST и SAST находят разные классы уязвимостей 🔸 Фаззинг API - почему это must have для современных приложений 🔸 IAST — "золотая середина" между статикой и динамикой 🔸 Как APSM помогает поддерживать безопасность на постоянной основе
Утилита, осуществляющая обратный/реверсивный прокси-туннель SOCKS5, который можно использовать для маршрутизации трафика через систему, к которой нельзя получить прямой доступ (например, из-за NAT). Канал защищён взаимно доверенным TLS с автоматически сгенерированными сертификатами на основе ключа подключения.
1⃣ Запускаем листенер в системе, которая служит точкой входа в туннель SOCKS5 (атакующая машина):
# Оn proxy entry point system with IP 1.2.3.4 resocks listen
2⃣ В устройстве находящемся за NAT (скомпрометированное устройство) запускаем утилиту и передаем ключ:
# Оn remote relay system with IP 10.0.0.1 resocks 1.2.3.4 --key $CONNECTION_KEY
3⃣ Теперь необходимо настроить использование локального сервера SOCKS5, там где запущен листенер и передать IP цели, доступ к которой требуется получить:
В сравнении с другими инструментами (сhisel, ligolo и т.д.) resocks выделяется благодаря акценту на взаимной аутентификации через mTLS и удобству использования.
Исследователи Pillar Security обнаружили новый опасный вектор атаки на цепочки поставок Rules File Backdoor. Эта техника позволяет злоумышленникам незаметно компрометировать код, созданный ИИ, внедряя скрытые вредоносные инструкции в, казалось бы, безобидные файлы конфигурации, используемые Cursor и GitHub Copilot.
⚙️В ходе атаки используется несколько технических механизмов: 🌟Контекстная манипуляция: встраивание инструкций, которые выглядят как легитимные, но направляют ИИ на изменение поведения при генерации кода 🌟Обфускация в Unicode: использование символов нулевой ширины, маркеров двунаправленного текста и других невидимых символов для сокрытия вредоносных инструкций 🌟Семантическое похищение: использование понимания ИИ естественного языка с помощью тонких лингвистических шаблонов, которые перенаправляют генерацию кода на уязвимые реализации 🌟Межагентная уязвимость: атака работает на разных помощниках по написанию кода на основе ИИ, что указывает на системную уязвимость
Особенно опасен этот бэкдор тем, что попадая в репозиторий проекта, он влияет на все последующие сеансы создания кода членами команды.
🧩Детали атаки: Создание вредоносного файла правил, который кажется безобидным для проверяющих специалистов, но на самом деле содержит невидимые Unicode символы, который полностью читаем моделями ИИ и скрывает в себе вредоносные инструкции. После создания необходимо добавить его в нужный репозиторий и ждать пока им воспользуются разработчики.
Полезная нагрузка использует повествовательную структуру, чтобы обойти этические ограничения ИИ, представив вредоносные действия как требование безопасности. В инструкциях ИИ прямо указано не упоминать об изменениях кода в своих ответах, чтобы удалить все логи из окна чата агента, которые могут вызвать подозрения у разработчика.
Wapiti - инструмент для тестирования безопасности веб-приложений
🦌Wapiti — это инструмент для тестирования безопасности веб-приложений с открытым исходным кодом, написанный на Python. Он помогает выявлять уязвимости, такие как SQL-инъекции, XSS, проблемы с аутентификацией и конфиденциальностью.
🫎Особенности Wapiti - Командная строка - Wapiti использует командную строку для настройки и автоматизации тестов. - Типы атак - проверяет уязвимости, такие как SQL-инъекции, XSS, LFI, RFI и другие. - Отчеты - генерирует отчеты в форматах HTML, XML, JSON для анализа уязвимостей. - Аутентификация - поддерживает сайты с аутентификацией, сессиями и куки.
🫎Установка Wapiti Для установки Wapiti достаточно выполнить несколько простых команд в терминале. Убедитесь, что у вас установлен Python 3.x, а также установите необходимые зависимости.
pip install wapiti3
🫎Пример использования Wapiti После установки Wapiti можно использовать команду для сканирования веб-сайта на наличие уязвимостей. Вот пример простого запуска сканера на URL:
wapiti http://example.com
Файл начнет сканирование сайта http://example.com на уязвимости, проверяя формы, ссылки и параметры URL.
🫎Генерация отчетов После завершения сканирования можно сгенерировать отчет. Например, для создания отчета в формате HTML используется команда:
wapiti -u http://example.com -o report.html
Wapiti создаст отчет в формате HTML, который можно просмотреть в браузере.
🟢Как взламывают роутеры, Bluetooth и даже оперативку? Разбираем в карточках.
🔴На курсе «Устройства для тестирования на проникновение» разбираем аппаратные атаки, о которых не пишут в мануалах. Стартуем 21 апреля. Регистрация здесь.