Почему для тулинга в кибербезопасности я все чаще выбираю Rust: пишем асинхронный сканер за 30 минут 🦀💻
Python - отличный язык для быстрых скриптов, но когда дело доходит до высокой нагрузки, сотен параллельных сетевых запросов и работы без возни с виртуальными окружениями на целевой системе, на сцену выходит Rust.
Сегодня за полчаса собрал легковесный инструмент для поиска скрытых ручек и эндпоинтов, протестировав его на боевом стенде Parrot Security OS и полигоне OWASP Juice Shop.
Почему связка Rust + Tokio + Reqwest отрабатывает эффективнее:
1. Автономный бинарник. На выходе получаем один скомпилированный файл без внешних зависимостей. Его можно закинуть на любой сервер, и он сразу готов к работе.
2. Честная асинхронность. Рантайм Tokio обрабатывает сотни параллельных соединений в неблокирующем режиме без просадки по оперативной памяти.
3. Надежность из коробки. Строгий компилятор и модель владения отсекают утечки памяти и гонки данных еще до первого запуска.
Результат работы прототипа на локальном полигоне:
[+] НАЙДЕНО: http://127.0.0.1:3000/metrics (Код: 200 OK)
[+] НАЙДЕНО: http://127.0.0.1:3000/#score-board (Код: 200 OK)
[+] НАЙДЕНО: http://127.0.0.1:3000/assets/public (Код: 200 OK)
[+] НАЙДЕНО: http://127.0.0.1:3000/ftp (Код: 200 OK)
Утилита моментально зацепила открытый листинг директории /ftp (классическая точка входа для атак типа Path Traversal и поиска забытых бэкапов) и метрики Prometheus, через которые в реальных проектах нередко утекают внутренние конфигурации.
В следующей итерации планирую прикрутить поддержку внешних словарей из SecLists, ограничение пула соединений через семафоры и экспорт трафика в Burp Suite.
Просмотры: 7