Почему для тулинга в кибербезопасности я все чаще выбираю Rust: пишем асинхронный скане...
Почему для тулинга в кибербезопасности я все чаще выбираю 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.