Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Semgrep 🔍
Инструмент статического анализа с открытым исходным кодом, который выполняет поиск в коде, находит ошибки и обеспечивает соблюдение безопасных ограничений и стандартов кодирования. Semgrep поддерживает более 30 языков и может работать в интегрированной среде разработки, в качестве проверки перед коммитом и в рамках рабочих процессов CI/CD.
🍏 🖥 Установка:
Для запуска в автоматическом режиме необходимо перейти в корневой каталог проекта и использовать команду:
📋 Так же есть готовые наборы правил для проверки под разные задачи:
Через параметр --exclude в командной строке можно исключить файлы или директории, которым не требуется сканирование.
🆒 Правила для Semgrep пишутся в формате YAML, что упрощает их создание и настройку. Можно использовать уже готовые правила, а можно создавать собственные. Пример использования кастомного правила для поиска операторов Python print():
Сохраняем этот файл с именем no_print.yaml и запускаем утилиту:
Инструмент статического анализа с открытым исходным кодом, который выполняет поиск в коде, находит ошибки и обеспечивает соблюдение безопасных ограничений и стандартов кодирования. Semgrep поддерживает более 30 языков и может работать в интегрированной среде разработки, в качестве проверки перед коммитом и в рамках рабочих процессов CI/CD.
# For macOS
brew install semgrep
# For Ubuntu/WSL/Linux/macOS
python3 -m pip install semgrep
Для запуска в автоматическом режиме необходимо перейти в корневой каталог проекта и использовать команду:
semgrep --config "auto"
. Параметр config отвечает за выбор правил для сканирования. В режиме auto используются все публичные правила и сканирование начинается с текущей директории.semgrep --config p/python
semgrep --config p/owasp-top-ten
semgrep --config p/cwe-top-25
Через параметр --exclude в командной строке можно исключить файлы или директории, которым не требуется сканирование.
Сохраняем этот файл с именем no_print.yaml и запускаем утилиту:
semgrep --config no_print.yaml <путь_к_коду>
Please open Telegram to view this post
VIEW IN TELEGRAM
Инструмент для изучения образов Docker, содержимого слоёв и поиска способов уменьшить размер образа Docker/OCI.
DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
curl -OL https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.deb
sudo apt install ./dive_${DIVE_VERSION}_linux_amd64.deb
Для Windows можно использовать последнюю версию отсюда.
Для анализа образа 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
Или создать свой образ и сразу перейти к его анализу:
dive build -t <some-tag>
Please open Telegram to view this post
VIEW IN TELEGRAM
Инструмент предназначен для анализа предоставленного доменного имени с помощью алгоритмов фаззинга и позволяющий найти похожие домены, которые могут быть использованы в фишинговых атаках.
git clone https://github.com/elceef/dnstwist.git
cd dnstwist
pip install .
Обычно генерируются тысячи комбинаций доменов, поэтому целесообразно отображать только те, которые зарегистрированы:
dnstwist --registered domain.name
С помощью аргумента --nameservers можно указать внешний DNS-сервер, который будет обрабатывать запросы.
Через аргумент --dictionary передается файл со словарем в случае, если результатов фаззинга не будет хватать.
Для проверки, существуют ли домены с другими TLD, необходимо предоставить файл со списком TLD:
dnstwist --tld dictionaries/common_tlds.dict domain.name
Кроме того, можно указывать необходимые алгоритмы фаззинга перечисляя их:
dnstwist --fuzzers "homoglyph,hyphenation" domain.name
Для простых перестановок без поиска DNS, используется аргумент --format list.
Ручная проверка каждого доменного имени на предмет того, что оно ведёт на фишинговый сайт, может занять много времени. Для решения этой проблемы, dnstwist использует нечёткие хэши — концепция, которая позволяет сравнивать два входных параметра (HTML-код) и определять базовый уровень сходства и перцептивный хэш — отпечаток, полученный на основе визуальных характеристик изображения (скриншот веб-страницы).
dnstwist --lsh domain.name
dnstwist --phash domain.name
Please open Telegram to view this post
VIEW IN TELEGRAM
revsocks
Утилита, написанная на Go, которая реализует обратный SOCKS5 туннель с поддержкой SSL/TLS и прокси (без аутентификации прокси и с базовой/NTLM аутентификацией прокси. Поддерживается на всех ОС, есть поддержка туннелирования DNS, автоматическая генерация сертификата SSL / TLS, если не указано иное.
🚀 Установка:
⚙️ Принцип работы:
⏺️ На сервере RevSocks запускается с параметром -listen, указывающим порт, на котором сервер будет принимать соединения от клиента и параметром -socks, задающим адрес SOCKS5-сервера (сервер ожидает входящего соединения от клиента и одновременно предоставляет SOCKS5-интерфейс для внешних подключений).
⏺️ На клиенте инструмент запускается с параметром -connect, указывающим на адрес и порт сервера.
⏺️ Клиент устанавливает исходящее TCP-соединение к серверу, которое мультиплексируется с помощью Yamux для обработки множества потоков.
⏺️ SOCKS5-запросы от сервера передаются через туннель к клиенту, который выполняет их и возвращает данные.
💻 Использование:
Обратное TCP соединение с шифрованием TLS:
DNS туннель:
Утилита, написанная на 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
Обратное TCP соединение с шифрованием TLS:
# Start on VPS
revsocks -listen :8443 -socks 127.0.0.1:1080 -pass SuperSecretPassword -tls
# Start on client
revsocks -connect clientIP:8443 -pass SuperSecretPassword -tls
DNS туннель:
# 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>
Please open Telegram to view this post
VIEW IN TELEGRAM
Тестирование безопасности — это не только сканеры и отчеты. В статье разбираем:
Please open Telegram to view this post
VIEW IN TELEGRAM
Утилита, осуществляющая обратный/реверсивный прокси-туннель SOCKS5, который можно использовать для маршрутизации трафика через систему, к которой нельзя получить прямой доступ (например, из-за NAT). Канал защищён взаимно доверенным TLS с автоматически сгенерированными сертификатами на основе ключа подключения.
Актуальную версию можно скачать здесь.
# Оn proxy entry point system with IP 1.2.3.4
resocks listen
# Оn remote relay system with IP 10.0.0.1
resocks 1.2.3.4 --key $CONNECTION_KEY
curl --proxy 'socks5://127.0.0.1:1080' 'http://10.0.0.2'
В сравнении с другими инструментами (сhisel, ligolo и т.д.) resocks выделяется благодаря акценту на взаимной аутентификации через mTLS и удобству использования.
Please open Telegram to view this post
VIEW IN TELEGRAM
🚩 Новые задания на платформе HackerLab!
🕵️ Категория Форензика — Секреты Олега
🌍 Категория Веб — Досье X
Приятного хакинга!
🕵️ Категория Форензика — Секреты Олега
Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
Исследователи Pillar Security обнаружили новый опасный вектор атаки на цепочки поставок Rules File Backdoor. Эта техника позволяет злоумышленникам незаметно компрометировать код, созданный ИИ, внедряя скрытые вредоносные инструкции в, казалось бы, безобидные файлы конфигурации, используемые Cursor и GitHub Copilot.
⚙️ В ходе атаки используется несколько технических механизмов:
🌟 Контекстная манипуляция: встраивание инструкций, которые выглядят как легитимные, но направляют ИИ на изменение поведения при генерации кода
🌟 Обфускация в Unicode: использование символов нулевой ширины, маркеров двунаправленного текста и других невидимых символов для сокрытия вредоносных инструкций
🌟 Семантическое похищение: использование понимания ИИ естественного языка с помощью тонких лингвистических шаблонов, которые перенаправляют генерацию кода на уязвимые реализации
🌟 Межагентная уязвимость: атака работает на разных помощниках по написанию кода на основе ИИ, что указывает на системную уязвимость
Особенно опасен этот бэкдор тем, что попадая в репозиторий проекта, он влияет на все последующие сеансы создания кода членами команды.
🧩 Детали атаки:
Создание вредоносного файла правил, который кажется безобидным для проверяющих специалистов, но на самом деле содержит невидимые Unicode символы, который полностью читаем моделями ИИ и скрывает в себе вредоносные инструкции. После создания необходимо добавить его в нужный репозиторий и ждать пока им воспользуются разработчики.
Полезная нагрузка использует повествовательную структуру, чтобы обойти этические ограничения ИИ, представив вредоносные действия как требование безопасности. В инструкциях ИИ прямо указано не упоминать об изменениях кода в своих ответах, чтобы удалить все логи из окна чата агента, которые могут вызвать подозрения у разработчика.
Особенно опасен этот бэкдор тем, что попадая в репозиторий проекта, он влияет на все последующие сеансы создания кода членами команды.
Создание вредоносного файла правил, который кажется безобидным для проверяющих специалистов, но на самом деле содержит невидимые Unicode символы, который полностью читаем моделями ИИ и скрывает в себе вредоносные инструкции. После создания необходимо добавить его в нужный репозиторий и ждать пока им воспользуются разработчики.
Полезная нагрузка использует повествовательную структуру, чтобы обойти этические ограничения ИИ, представив вредоносные действия как требование безопасности. В инструкциях ИИ прямо указано не упоминать об изменениях кода в своих ответах, чтобы удалить все логи из окна чата агента, которые могут вызвать подозрения у разработчика.
Please open Telegram to view this post
VIEW IN TELEGRAM
Wapiti - инструмент для тестирования безопасности веб-приложений
🦌 Wapiti — это инструмент для тестирования безопасности веб-приложений с открытым исходным кодом, написанный на Python. Он помогает выявлять уязвимости, такие как SQL-инъекции, XSS, проблемы с аутентификацией и конфиденциальностью.
🫎 Особенности Wapiti
- Командная строка - Wapiti использует командную строку для настройки и автоматизации тестов.
- Типы атак - проверяет уязвимости, такие как SQL-инъекции, XSS, LFI, RFI и другие.
- Отчеты - генерирует отчеты в форматах HTML, XML, JSON для анализа уязвимостей.
- Аутентификация - поддерживает сайты с аутентификацией, сессиями и куки.
🫎 Установка Wapiti
Для установки Wapiti достаточно выполнить несколько простых команд в терминале. Убедитесь, что у вас установлен Python 3.x, а также установите необходимые зависимости.
🫎 Пример использования Wapiti
После установки Wapiti можно использовать команду для сканирования веб-сайта на наличие уязвимостей. Вот пример простого запуска сканера на URL:
Файл начнет сканирование сайта
🫎 Генерация отчетов
После завершения сканирования можно сгенерировать отчет. Например, для создания отчета в формате HTML используется команда:
Wapiti создаст отчет в формате HTML, который можно просмотреть в браузере.
🫎 Особенности 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, который можно просмотреть в браузере.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM