Чаще всего во время работ по анализу защищённости пробив периметра происходит через выполнение произвольного кода на сервере заказчика. Далее перед пентестером возникает задача по пивотингу: нужно превратить скомпрометированную машину в промежуточный узел связи для доступа к другим ресурсам внутри атакуемой сети.
Обычно для этого используют Neo-reGeorg или suo5. Этих инструментов вполне хватает для большинства задач, однако не всегда всё идёт по плану.
Так, на одном из проектов наши специалисты столкнулись с такой проблемой: линуксовые коллекторы инструмента Bloodhound не могли собрать дамп. Можно было бы использовать SharpHound, однако он не умеет делать DNS over TCP. А значит, необходимо проксировать UDP-трафик — но этого не умеет ни один из упомянутых инструментов.
В другой раз нам пришлось разбираться с проблемой уже конкретно в ashx/aspx-шаблонах утилиты Neo-reGeorg: файлы большого размера просто повреждались и роняли туннель. В ходе написания фикса стало понятно, что проблема скорее архитектурная, и небольшим патчем тут не обойтись.
Наш эксперт Алексей Аланов нашел способы улучшить и расширить функционал Neo-reGeorg, однако кодовая база уже сильно расходилась с оригиналом. Так был создан Roger.
Новый инструмент включает полную поддержку SOCKS5 по RFC 1928, может сжимать промежуточный трафик, имеет менеджер коннектов и прочие плюшки. Начать пользоваться достаточно просто, особенно если вы до этого пробовали Neo-reGeorg.
Генерируем пейлоад:
./roger-go generate -k 'testK3y123!'
Далее забрасываем его на сервер и подключаемся клиентом Roger’а:
./roger-go -k 'testK3y123!' -u <roger url>
Утилита Roger имеет много опций, которые могут быть использованы для поднятия стабильного и быстрого туннеля в различных ситуациях. Пользуйтесь и добавляйте в избранное. Больше обновлений впереди!
