🛠 GeoIP‑lookup Checker
Салют,
Хочу поделиться. с тобой небольшой утилитой, которая позволяет быстро смотреть геолокацию IP‑адресов и доменов, а также обогащать HTTP‑трафик в Burp Suite интегрировав как плагин.
Решил начать писать эту тулу, что бы упростить взаимодействия с внешними источниками и объединить в последствии несколько парно подтягивающихся инструментов типа autoswagger (рассматривали вот тут).
Вот репа, сама тула работает поверх curl и jq, использует бесплатный API ip-api.com и может переключаться на провайдера ipapi‑co. С кайфом буду рад если похейтишь и поможешь улучшить продукт реальными реквестами.
Как работает?
Где это может пригодиться?
В грядущем релизе будет
Установка через GHCR
Установка из GitHub Release:
Cценарии
Структура проекта
Сноска
• GeoIP — это определение географической информации (страна, город, ASN, провайдер и т.д.) по IP‑адресу
• Lookup — это запрос к внешнему сервису по какому‑то идентификатору (IP, домену) с получением структурированного ответа
#appsec #devsecops #specialty #toolchain #techsolution #paper
Салют,
Хочу поделиться. с тобой небольшой утилитой, которая позволяет быстро смотреть геолокацию IP‑адресов и доменов, а также обогащать HTTP‑трафик в Burp Suite интегрировав как плагин.
Решил начать писать эту тулу, что бы упростить взаимодействия с внешними источниками и объединить в последствии несколько парно подтягивающихся инструментов типа autoswagger (рассматривали вот тут).
Вот репа, сама тула работает поверх curl и jq, использует бесплатный API ip-api.com и может переключаться на провайдера ipapi‑co. С кайфом буду рад если похейтишь и поможешь улучшить продукт реальными реквестами.
Как работает?
• GeoIP lookup (pretty) по IP или домену
• JSON‑режим выдаёт “сырой” JSON, чтобы его удобно было обрабатывать пайплайнами, например jq , yq , любыми скриптами или SIEM
• Читает список целей из файла и последовательно обрабатывает их с небольшим задержками, чтобы не выбивать лимиты API
• Запускает geoip http и пробует разные методы (GET, HEAD, OPTIONS, POST, PUT, PATCH, DELETE, TRACE) по указанному IP или хосту, показывая статус, заголовки и время ответа
• Ответы сохраняются в ~/.cache/geoip-tool в виде JSON‑файлов. Ключ формируется из цели и языке, а TTL (время жизни) задаётся в geoip_core.sh через CACHE_TTL_SEC , что уменьшает риск выбить rate‑limit
• В Burp можно добавить расширение, которое создаёт вкладку GeoIP для каждого HTTP‑запроса. Расширение берёт host из запроса, вызывает локальную команду geoip json <ip> и показывает prettified JSON во вкладке — удобно при анализе трафика и корреляции IP.
• ip-api отдаёт в ответах заголовки X-Rl (сколько запросов осталось) и X-Ttl (через сколько секунд лимиты обновятся). В geoip-tool они парсятся и выводятся в stderr
Где это может пригодиться?
• Быстрая проверка в терминале
• Обогащение логов и событий SIEM (например индекс в Elastic/ Splunk)
• Анализ HTTP‑поведения сервисов (какие методы разрешены, какие коды приходят, какие заголовки и редиректы)
В грядущем релизе будет
• Полный ответ в файле и таргентинг в nmap, обратно
• Рекурсивно пробегаться по страницам таргета
• Пробивание всех портов (не только 80/ 443)
• Если сервис ip-геолокации отдаёт заголовок Retry-After при ответе Too many requests (429), то можно сделать паузу на это время и потом снова продолжить
• Реверслукап по IP и доменному имени, с помощью сервиса, типа security trails
• Возможность подсунуть swagger и по нему дергать ручку
Установка через GHCR
$ docker run –rm ghcr.io/geminishkv/geoip-tool:v0.1.6 –help
$ docker run –rm ghcr.io/geminishkv/geoip-tool:v0.1.6 lookup 8.8.8.8
$ docker run –rm -e GEOIP_PROVIDER=ipapi-co ghcr.io/geminishkv/geoip-tool:v0.1.6 json 1.1.1.1
Установка из GitHub Release:
curl -L https://github.com/geminishkv/geoip-tool/archive/refs/tags/v0.1.6.tar.gz -o geoip-tool-v0.1.6.tar.gz
tar xzf geoip-tool-v0.1.6.tar.gz
cd geoip-tool-0.1.6
sudo make install
Cценарии
$ geoip json 1.1.1.1 | jq ‘.’ # JSON‑выгрузка
$ geoip http example.com –https –follow
$ geoip http example.com –auto –aggressive
$ geoip http example.com –methods GET,HEAD,OPTIONS,TRACE
Структура проекта
• bin/geoip — launcher
• lib/geoip_core.sh — ядро: HTTP‑клиент, кэш, выбор провайдера
• lib/geoip_lookup.sh — логика pretty/ JSON/ batch lookup
• lib/geoip_http.sh — HTTP‑чекап, перебор методов, таймауты, заголовки
• examples/burp-extension/GeoIpTab.py — интеграция с Burp
• Dockerfile — образ для GHCR
Сноска
• GeoIP — это определение географической информации (страна, город, ASN, провайдер и т.д.) по IP‑адресу
• Lookup — это запрос к внешнему сервису по какому‑то идентификатору (IP, домену) с получением структурированного ответа
#appsec #devsecops #specialty #toolchain #techsolution #paper
🔥3
Салюты,
Напоминаю про премию, о которой рассказывал вот тут.
Почитай новости коллег из АФТ и буду рад видеть твои работы на ревью 🙏
#appsec #devsecops #specialty #toolchain #vulnmanagement #toolchain #compliance #gost #techsolution #pmicases
Напоминаю про премию, о которой рассказывал вот тут.
Почитай новости коллег из АФТ и буду рад видеть твои работы на ревью 🙏
#appsec #devsecops #specialty #toolchain #vulnmanagement #toolchain #compliance #gost #techsolution #pmicases
🔥4
🛠 Hydra для таргетинга целей
Салют,
Сегодня посмотрим с тобой на инструмент, который всегда будет под рукой и ты можешь потыкать с ним сервисы на защищенность кред для веб‑приложений, API и инфраструктуры как в простом формате, так и более узконаправленно (псы: но ты можешь использовать xhydra для мини интерфейса ).
Поддержка протоколов
• Веб‑приложения: HTTP/ HTTPS Basic/ Digest auth, формы логина (http-post-form, https-post-form)
• Инфраструктура: SSH, FTP, RDP, SMB, VNC, Telnet, SNMP, Redis, RDP
• Сервисы: SMTP, POP3, IMAP, LDAP
• Базы данных: MySQL, PostgreSQL, Oracle
Структура команд
Особенности
Пример
Итого: удобен именно как низкоуровневый перебор с оберткой скриптами и Makefile. Hydra позволяет быстро находить слабые пароли на SSH, RDP, веб‑логинах, БД и других сервисах, используя wordlists и сценарии атак. Особенно важно, инструмент требуется хорошее понимание протоколов и механик HTTP‑форм и тд, иначе можно получить ложные результаты.
#appsec #toolchain #dast #secrets
Салют,
Сегодня посмотрим с тобой на инструмент, который всегда будет под рукой и ты можешь потыкать с ним сервисы на защищенность кред для веб‑приложений, API и инфраструктуры как в простом формате, так и более узконаправленно (
THC Hydra - это инструмент для brute форса, по сути это перебор кред к сервисам. Тип лицензии: GNU Affero General Public License (AGPL). Применяется для аудита безопасности, проверки надежности паролей, тестирования систем аутентификации. Может, при желании, привести к DoS в зависимости от твоих "мощей".
Поддержка протоколов
• Веб‑приложения: HTTP/ HTTPS Basic/ Digest auth, формы логина (http-post-form, https-post-form)
• Инфраструктура: SSH, FTP, RDP, SMB, VNC, Telnet, SNMP, Redis, RDP
• Сервисы: SMTP, POP3, IMAP, LDAP
• Базы данных: MySQL, PostgreSQL, Oracle
Структура команд
hydra [опции] -l ЛОГИН | -L файл_логинов \
-p ПАРОЛЬ | -P файл_паролей \
-t ПОТОКИ ... \
ПРОТОКОЛ://ХОСТ[:ПОРТ][/ПУТЬ]
# SSH to user
$ hydra -l root -P /usr/share/wordlists/rockyou.txt -t 6 ssh://192.168.1.123
# FTP
$ hydra -L users.txt -P passwords.txt ftp://10.0.0.5
# RDP
$ hydra -l admin -P /path/to/rdp_pass.txt -V rdp://192.168.1.50
# HTTP Basic auth с модулями http-get/ http-head
hydra -L users.txt -P passwords.txt -s 8080 http-get://target.local/protected
# CSRF
hydra -L users.txt -P passwords.txt target.com \
http-post-form "/login:username=^USER^&password=^PASS^&submit=Login:F=Invalid credentials"
Особенности
• Параллельные потоки и есть возможность ими управлять, что решает большое количество проблем
• Работа через proxy (SOCKS, HTTP)
• Поддержка SSL/ TLS
• Настраиваемые таймауты, задержки, стратегия перебора (вертикально по паролю, горизонтально по логинам)
• Гибкая настройка задержек, таймаутов, форматов HTTP‑форм, заголовков и т.п.
• Отдельный инструмент pw-inspector для фильтрации и генерации словарей, включая переиспользование
Пример
# Проксирование и обход rate лимитов
hydra -L users.txt -P passwords.txt \ # -L и -P - словари
-s 443 -S \ # порт 443 с SSL/ TLS (HTTPS)
-e ns \ # пробовать пустой пароль и пароль по логину
-W 3 -f \ # задержка 3 секунды между новыми соединениями и -f остановиться после первой удачи
-V \ # подробный вывод
-o found.txt \ # вывод данных
-x -I \ # специальный режим перебора и игнорировать предупреждения
-u \ # по всем пользователям для одного пароля, затем для другого
http-post-form "https://target.com/login:username=^USER^&password=^PASS^:F=Login failed"
Итого: удобен именно как низкоуровневый перебор с оберткой скриптами и Makefile. Hydra позволяет быстро находить слабые пароли на SSH, RDP, веб‑логинах, БД и других сервисах, используя wordlists и сценарии атак. Особенно важно, инструмент требуется хорошее понимание протоколов и механик HTTP‑форм и тд, иначе можно получить ложные результаты.
#appsec #toolchain #dast #secrets
🔥5
Коллеги, напоминаю, что скоро новый поток в МФТИ по курсу ИБ, вовлекайтесь, буду рад вас видеть 🙃
#course #appsec #devsecops #specialty
#course #appsec #devsecops #specialty
🔥4
🛠 FRIDA must for Mobile AST
Салют,
Сегодня посмотрим с тобой на тулу, которая становится крайне полезной для тестирования мобильных клиентов с первых шагов. Рекомендую сразу смотреть в ее сторону, потому что она поможет тебе правильно выстраивать понимание анализа защищенности мобильного приложения.
Помогает
• перехватывать и модифицировать вызовы функций хуками
• изменять аргументы и выводы результатов
• воздействовать на память процесса в рантайме
• обходить клиентские проверки (root/ jailbreak detect, SSL pinning, лицензирование)
• делать живой динамический анализ без исходников и перекомпиляции
Команды
Пример
QA auto
Итого:
#toolchain #sast #appsec #reco #dast #mast
Салют,
Сегодня посмотрим с тобой на тулу, которая становится крайне полезной для тестирования мобильных клиентов с первых шагов. Рекомендую сразу смотреть в ее сторону, потому что она поможет тебе правильно выстраивать понимание анализа защищенности мобильного приложения.
Frida — это динамический инструмент для перехвата вызовов в процессах и последующего инжектирования. Работает в связке клиент (CLI/ Python/ Node.js) и рантайм внутри процесса целевого приложения. Также используют Frida Gadget как встроенную библиотеку.
Помогает
• перехватывать и модифицировать вызовы функций хуками
• изменять аргументы и выводы результатов
• воздействовать на память процесса в рантайме
• обходить клиентские проверки (root/ jailbreak detect, SSL pinning, лицензирование)
• делать живой динамический анализ без исходников и перекомпиляции
Команды
$ frida-ps -U # процессы на USB‑устройстве
$ frida-ps -ai # приложения с иконками (mobile)
$ frida-trace -U -i "com.example.app.auth.LoginManager.validateCredentials" com.example.app # android трассировка без написания JS
$ frida-trace -i "SSL_*" -f /usr/bin/curl # трассировка всех функций SSL_* в нативном бинарнике
$ frida-trace -i "fopen" -p <PID> # трассировка всеx вызовов fopen в текущем процессе
Пример
$ frida -U -f -n com.example.app -l script.js # загрузить JS‑скрипт attach по имени пакета через USB
Java.perform(function () {
var LoginManager = Java.use("com.example.app.auth.LoginManager");
// Перехватываем метод validateCredentials(String user, String pass)
LoginManager.validateCredentials.implementation = function (user, pass) {
console.log("[*] validateCredentials called");
console.log(" user:", user);
console.log(" pass:", pass);
// Можно менять параметры
// user = "test@example.com";
// pass = "P@ssw0rd!";
var result = this.validateCredentials(user, pass);
console.log(" result:", result);
return result;
};
});
QA auto
import frida, sys
JS_CODE = """
Java.perform(function () {
var Cls = Java.use("com.example.app.auth.LoginManager");
Cls.validateCredentials.implementation = function (user, pass) {
send("validateCredentials: " + user + " / " + pass);
return this.validateCredentials(user, pass);
};
});
"""
def on_message(message, data):
print("[*] Message:", message)
device = frida.get_usb_device()
pid = device.spawn(["com.example.app"])
session = device.attach(pid)
script = session.create_script(JS_CODE)
script.on("message", on_message)
script.load()
device.resume(pid)
sys.stdin.read()
Итого:
• Позволяет динамически наблюдать и изменять поведение приложений без исходников и перекомпиляции
• Идеален для AppSec‑задач на уровне mobile/desktop‑клиентов, крипто‑логики, протоколов, анти‑фрод и анти‑тампер механизмов
• Требует аккуратности и понимания внутренних API и платформенных особенностей
• Практически незаменим в pentest’ах мобильных приложений, когда нужно обходить защиты и «заглядывать внутрь» рантайма
#toolchain #sast #appsec #reco #dast #mast
🔥5
🛠 WSO2 MI/ APIM с точки зрения AppSec
Салют,
Что то душновато было на прошлой неделе,
Надеюсь у меня одного так было, ну и мемасики были полезны для тебя, иногда же надо мозг расплавить 🙃
Часто в практике и при исследовании кейсов по интеграциям я смотрю в сторону WSO2, еще со времен РБ, поэтому сейчас хочу рассказать почему это решение имеет преимущество. WSO2 воспринимается всегда как очередной ESB и API‑шлюз, но для безопасной архитектуры это классный слой между внешним и внутренним сегментом сети.
Фича для AppSec в том, что бы Security‑политики были как конфигурация, а не код. Пароли, сертификаты, правила подписи/ шифрования и аутентификации оформляются как политики и артефакты MI/ APIM, версионируются и проходят code‑review как часть инфраструктурного кода. AppSec Toolchain сканирует как API‑слой, так и интеграционные сервисы в MI. То есть логи MI/ APIM идут в SIEM, где можно строить корреляцию между уязвимостями и реальным трафиком. Zero‑trust‑подход на интеграционном уровне.
Ключевые фичи
Типовой контур, который дает защиту всего потока API‑вызовов через общие политики
Итого
Сноска
#appsec #pmicases #devsecops #techsolution #reco #toolchain
Салют,
Что то душновато было на прошлой неделе,
Надеюсь у меня одного так было, ну и мемасики были полезны для тебя, иногда же надо мозг расплавить 🙃
Часто в практике и при исследовании кейсов по интеграциям я смотрю в сторону WSO2, еще со времен РБ, поэтому сейчас хочу рассказать почему это решение имеет преимущество. WSO2 воспринимается всегда как очередной ESB и API‑шлюз, но для безопасной архитектуры это классный слой между внешним и внутренним сегментом сети.
Micro Integrator отвечает за интеграцию и обмен данными (можно навесить аутентификацию, авторизацию, WS‑Security, шифрование, логирование и трансформацию трафика до того, как он попадёт в бизнес‑сервисы), а API Manager за публикацию и защиту, управление доступом, трафиком и разработчиками ( по факту граница для всех HTTP/ REST/ gRPC API с OAuth2/ OIDC, JWT, rate‑limit и тд).
Фича для AppSec в том, что бы Security‑политики были как конфигурация, а не код. Пароли, сертификаты, правила подписи/ шифрования и аутентификации оформляются как политики и артефакты MI/ APIM, версионируются и проходят code‑review как часть инфраструктурного кода. AppSec Toolchain сканирует как API‑слой, так и интеграционные сервисы в MI. То есть логи MI/ APIM идут в SIEM, где можно строить корреляцию между уязвимостями и реальным трафиком. Zero‑trust‑подход на интеграционном уровне.
Ключевые фичи
• Аутентификация и авторизация на уровне интеграции — можно проверять username, token, роли и права до обращения к backend, в том числе через WS‑Security
• Шифрование и подпись SOAP/ WS сообщений, до 16 типовых сценариев WS‑Security (sign, encrypt, username token, X.509 и их комбинации)
• Шифрование и управление секретами через keystore/ truststore — защита SSL/ mutual TLS, ключей и паролей, отказ от дефолтных хранилищ
• Валидация и санитайзинг данных: проверка XSD/ JSON‑схем, фильтрация полей, вырезание чувствительных данных до логирования
• Централизация интеграционных политик
Типовой контур, который дает защиту всего потока API‑вызовов через общие политики
• Клиенты/ партнёры стучатся через WSO2 APIM
• APIM аутентифицирует запрос в зависимости от политики, валидирует токены, применяет throttling, IP‑фильтры, CORS и др.
• Запрос идёт в микросервис, либо в WSO2 MI, где выполняются интеграционные потоки: маршрутизация, обогащение, трансформация, вызовы систем
• На уровне MI включаются WS‑Security, подпись и шифрование сообщений, дополнительная аутентификация/ авторизация, проверка схем и валидация полезной нагрузки
• Все события уходят в логи, а метрики и ошибки — в аналитику APIM и платформенный мониторинг
Итого
• WSO2 как способ собрать безопасность и интеграцию в единый управляемый слой
• Единый периметр для API и интеграций
• Меньше уязвимостей в приложениях
• Команды фокусируются на бизнес‑логике, а типовые задачи интеграции и безопасности решаются готовыми фичами WSO2 MI/ APIM; новые интеграции добавляются конфигурацией, а не кастомным кодом
• Из коробки есть трейсинг вызовов, метрики, логирование и аналитика по API
• WSO2 заточен под сценарии, когда есть и облако, и on‑prem, и микросервисы, и старые SOAP‑системы
Сноска
• ESB (Enterprise Service Bus) - интеграционная шина, то есть централизованный программный слой, который подключает разнородные приложения и сервисы, беря на себя маршрутизацию, трансформацию и безопасность сообщений между ними.
• API‑шлюз (API Gateway) - единая точка входа для API‑клиентов, обратный прокси перед набором backend, который принимает запросы, маршрутизирует их к сервисам, агрегирует ответы и одновременно реализует политики безопасности (аутентификация, авторизация, rate limiting, мониторинг)
#appsec #pmicases #devsecops #techsolution #reco #toolchain
🔥5