Снова привет хабру! Сегодня я отшлифовал сразу 3 главы - 7, 8, и 9 главу. Они уже лежат на гитхабе здесь будет отрывок из 7 главы. Из 8 главы отрывок будет завтра, а соответственно отрывок из 9 будет после завтра. Я выбрал самый первый кусок главы и чуть-чуть больше:
Глава 7. Разработка эксплойтов
Теперь мы знаем, как находить уязвимости, пришло время активно эксплуатировать наши находки.
Эксплойт — это фрагмент кода, используемый для запуска уязвимости.
Обычно эксплойты разрабатываются либо на Python для удалённых эксплойтов, либо на C для локальных эксплойтов.
Освоение обоих языков сложно, а наличие 2 совершенно разных языков препятствует переиспользованию кода.
А что, если бы у нас был один язык, достаточно низкоуровневый, но при этом предоставляющий высокоуровневые абстракции, исключительно быстрый, легко кросс-компилируемый, и всё это будучи безопасным по памяти, хорошо переиспользуемым и крайне надёжным?
Вы поняли! Rust — идеальный язык для разработки эксплойтов.
Написав эксплойт на Rust, мы можем использовать его как бинарник, встроить в более крупный эксплуатационный инструментарий или встроить в RAT. Всего этого очень трудно достичь, когда эксплойты пишутся на Python или C. В Rust это просто вопрос создания крейта.
7.1 Где искать эксплойты
В главе 5 мы видели, где искать известные уязвимости: на www.cvedetails.com, а в главе 6 — как находить собственные уязвимости.
Затем у вас есть 2 возможности:
Вы можете найти публичный эксплойт для этой уязвимости и переписать его на Rust.
Вы можете написать собственный эксплойт с нуля.
Я слышу ваш вопрос: «Где я могу найти публичные эксплойты»?
Два главных источника публичных эксплойтов:
GitHub
Просто введите CVE-ID в строку поиска, и вуаля :)
Еще раз повторяю: это отрывок из перевода книги, если бы здесь был код то учтите код я не трогаю (пока что нет необходимости).

