Фарм мерча от Positive Technologies на PHD11
Фарм мерча от Positive Technologies на PHD11
C 18 по 19 мая 2022 года проходил всем известный международный форум по практической безопасности Positive Hack Days. На мероприятии как всегда были представлены различные вендоры из сферы IT, каждый из которых раздавал свои именные товары. Самыми интересными на мой взгляд были Positive Technologies.
И так, для получения мерча, вендором было предложено успешно пройти квиз (набрать 10 очков из 10 или 100% правильных ответов) по различным темам, а именно:
- Анализ защищенности web приложений
- Безопасность мобильных приложений
- Вопросы от SOC
- Пентест
- АСУТП
- Linux
Реализация самого квиза - это телеграмм бот @PHD_QuizBot, который имеет имя phd_quiz_bot
.
Немного потыкав самого бота и поняв логику его работы, а также, внимательно посмотрев на имя бота понимаем что буква Q очень сильно похожа на букву O.
Сразу же появилась идея создать копию данного бота используя атаку тайпсквоттинг. Тайпсквоттинг - это вид атак социальной инженерии,
нацеленный на пользователей интернета, допустивших опечатку при вводе веб-адреса в браузере и не использующих поисковую систему.
(в данном случае мы подменим букву Q на букву O).
Итак, приступим:
- Через @BotFather создадим своего бота @PHD_OuizBot с именем
phd_quiz_bot
.
Оригинальный бот:
Созданный нами ложный бот:
- Начинаем проходить квиз у оригинального бота, для того, чтобы вытащить по 10 вопросов в каждой категории (одну из категорий придется решить на 10/10, чтобы получить валидный ответ от бота на получение мерча).
Пример вопроса:
Пример валидного ответа от бота:
- После того, как мы всё прорешали, у нас получился список из 60 вопросов и 6 ответов от бота по каждой категории. Переходим к кодингу.
- Реализовывать ложного бота будем через python и библиотеку
telebot
:
|
|
Для того, чтобы узнать chat_id
нужно написать этому боту @getmyid_bot.
Ответ будет выглядеть так:
|
|
Теперь пропишем каждый вопрос и ответ на него:
|
|
Также пропишем валидный ответ от бота по каждой категории (незабываем про markdown разметку):
|
|
Пропишем функцию ответа бота при нажатии на кнопки:
|
|
Не стоит забывать про ответ бота при нажатии на другие кнопки:
|
|
Как итог мы имеем аналогичного бота с “правильно решенными” вопросами:
P.S. автор честно прорешал 3 категории на 10 баллов (правда с разных аккаунтов) и получил только 3 приза.