HackBattle 2.0: как атаковали ICO школьной столовой

06.06.2018

В мае прошлого года на Positive Hack Days VII впервые прошел конкурс HackBattle. Наш стенд привлек большое внимание аудитории. Тогда в соревновании приняло участие почти 100 специалистов по информационной безопасности, а посмотреть финал в большом зале пришло так много зрителей, что невозможно было протолкнуться к сцене (подробнее — в прошлогоднем отчете). Воодушевленные таким интересом со стороны профессионального сообщества, мы решили провести HackBattle 2.0 на PHDays 8. Рассказываем, как прошло соревнование в этом году, а также публикуем задачи из конкурса, чтобы вы попробовали их решить.

Формат и правила конкурса

Соревнования проходили на протяжении всего PHDays. В первый день были отборочные испытания: мы выбирали двух самых сильных, храбрых, отважных кандидатов, которые решили больше всех заданий за наименьшее время. Во второй день на главной сцене форума состоялся финал: хакеры должны были атаковать одну и ту же цель. Победа доставалась тому, кто первым сумеет пробиться и повысить привилегии на целевой системе. Финал в режиме реального времени комментировали эксперты по информационной безопасности, а самые яркие моменты демонстрировались на большом экране.

Отбор

Как и год назад, на отборочном этапе мы предложили участникам решить на скорость задачи формата CTF. На решение 10 задач отводилось 35 минут. За каждую задачу начислялось определенное количество баллов в зависимости от сложности. Участвовать в отборе можно было только один раз.

В этот раз мы учли пожелания участников первого HackBattle и предоставили возможность работать не только на заранее подготовленных рабочих станциях, но и на своих ноутбуках.

Отдельный стол с блэкджеком и патч-кордами для тех, кто пришел с ноутбуками

Отдельный стол с блэкджеком и патч-кордами для тех, кто пришел с ноутбуками

Участники отборочного испытания

Участники отборочного испытания

Определить людей, которые выйдут в финал и смогут под прессингом зрительского внимания достойно справиться с решением задачи, было непросто. До конца отборочных соревнований было абсолютно неясно, кто станет финалистом, — борьба была очень острой. Разница между лидерами скорборда была всего в 50–100 баллов, а в случаях, когда счет был равный, — всего в несколько секунд! И только в шесть часов вечера, закрыв отборочные соревнования, мы смогли определить финалистов: ими стали Владислав «W3bPwn3r» Лазарев и Артур «inviz@penis» Хашаев.

Турнирная таблица

Турнирная таблица

Задачи, решенные финалистом W3bPwn3r

Задачи, решенные финалистом W3bPwn3r

Задачи, решенные финалистом inviz@penis

Задачи, решенные финалистом inviz@penis

Финал

Шестнадцатого мая ровно в 14:00 на главной сцене в конгресс-зале состоялся финал HackBattle 2.0. Как и год назад, все происходящее на мониторах хакеров стримилось на большой экран и комментировалось специалистами Positive Technologies. Для удобства зрителей монитор каждого из финалистов отдельно дублировался на экраны телевизоров, стоящих по бокам главной сцены.

Битва сильнейших

Битва сильнейших

В качестве финального испытания мы предложили участникам атаковать одну и ту же цель: в этом году жертвой хакеров стал сервер, на котором проводилось ICO школьной столовой.

Сайт ICO школьной столовой

Сайт ICO школьной столовой

По легенде хакеры должны до начала presale-этапа ICO успеть подменить кошелек, размещенный на главной странице cайта, любым другим (скачать задачу можно в конце статьи). Отметим, что задача состояла из нескольких этапов и могла быть решена различными способами.

За последние полгода эксперты Positive Technologies провели множество пентестов ICO и в каждом проекте обнаружили уязвимости различной степени опасности. Информация о компрометации ICO все чаще появляется в СМИ. Очевидно, что в данной сфере вопрос информационной безопасности пока явно не приоритетный. Мы решили посвятить финал этой теме, чтобы привлечь внимание к безопасности криптовалютных сервисов.

Поединок продолжался 20 минут (полную версию финала, как и другие видеоматериалы конференции, можно посмотреть на сайте PHDays — phdays.com/ru/broadcast/). Победу в напряженной схватке одержал Владислав «W3bPwn3r» Лазарев, который первым справился с заданием.

Победитель — Владислав Лазарев

Победитель — Владислав Лазарев

После конкурса мы побеседовали финалистами и узнали об их впечатлениях.

«Прежде всего хочу отметить высокий уровень организации инфраструктуры и качество самих заданий. Приятно удивило такое внимание большого количества людей, хотя и выполнять, казалось бы, привычные действия, когда толпа смотрит в твой монитор, оказалось заметно сложнее. Было бы веселее, если бы отборочный этап проходил в таком же формате, как и финал», — рассказал Владислав Лазарев.

«HackBattle — это определенно то самое событие, которое позволило встряхнуться во время конференции, — заметил Артур Хашаев. — Из неожиданностей: в финальном туре интернет заработал не сразу, пришлось потратить некоторое время на импорт сертификата из прокси. При этом сайт ICO школьной столовой был сделан на славу. Хочу особо отметить работу комментаторов, которые сделали этот баттл по-настоящему динамичным и не дали зрителям заскучать».

Технические нюансы организации стрима, работы скорборда и синхронизации его с рабочими станциями, предоставляемыми организаторами, изложены в блоге Анатолия Иванова.

Задачи с конкурса

Все задачи, кроме десятой, являются виртуальными машинами в формате OVA. Десятая задача — бинарный файл для Unix. Все виртуальные машины имеют статические адреса из подсети 172.30.0.0/24, шлюз 172.30.0.1, DNS 8.8.8.8. Для переконфигурирования указаны доступы к виртуальным машинам.

1. WhiteHub (150) NotSoEvil corp has developed a clone application with blackjack and Brian Crépes. Can you find the sensitive information there?
https://static.ptsecurity.com/phdays/2018/hackbattle/1.ova
phd:ckjyktnbnyfpfgfl
http://172.30.0.15/

2. Rates (350) Our rate changer is rocket science, can you make it through to the secret info?
https://static.ptsecurity.com/phdays/2018/hackbattle/2.ova
phd:cfvsqkexibqgfhfljrc
http://172.30.0.16/

3. Mine is bigger (150) Bet you can't beat me! Prove different.
Unix user would know what is going on here:
https://static.ptsecurity.com/phdays/2018/hackbattle/3.ova
phd:vjzgeirfnsxtndpfgfl
http://172.30.0.17

4. PHP Power (100) Are you good enough at source code analysis?
https://static.ptsecurity.com/phdays/2018/hackbattle/4.ova
phd:zboegjlheuelheue
http://172.30.0.18/

5. Too Smart (450) This NES games search engine seems to have some vulnerabilities. Unfortunately they claim to have bought a new age firewall, can you make it through and get the private game.
https://static.ptsecurity.com/phdays/2018/hackbattle/5.ova
ssh: task:13372018
http://172.30.0.13/

6. The Meme's Mystery - ez part (100) Find out what this meme is hiding.
Note that this tasks has two flags. Send the second flag to The Meme's Mystery (hard part)
The Meme's Mystery - ez part (350)
The meme's intelligence has increased, but the flag still seems to be reachable
Note that this is the second flag of the task
https://static.ptsecurity.com/phdays/2018/hackbattle/6.ova
ssh: task:13372018
http://172.30.0.12/

7. JWT strikes back (50) In memorial of old JWT bugs, the task we solve...
https://static.ptsecurity.com/phdays/2018/hackbattle/7.ova
ssh: task:13372018
http://172.30.0.11:5000/

8. Robots Strike Back (100) Robots are back, defeat them again and save the princess, mighty warrior!
https://static.ptsecurity.com/phdays/2018/hackbattle/8.ova
dev;V3ryHardP@ssw0rd12345
http://172.30.0.20

9. Ticket to ride (250) We have developed a nice website to get you some comfortable tickets, is it secure enough?
https://static.ptsecurity.com/phdays/2018/hackbattle/9.ova
dev;V3ryHardP@ssw0rd12345
http://172.30.0.19/

10. Trace Me (50) This program prints flag, go get it. Oops, nearly forgot to say that it is ouputed to stdout. Hope you are still able to get it
https://static.ptsecurity.com/phdays/2018/hackbattle/10

Final https://static.ptsecurity.com/phdays/2018/hackbattle/Final.ova
dev;V3ryHardP@ssw0rd12345
IP-address 172.30.0.21
In hosts file add strings:
172.30.0.21 stolovaya-ico.ru
172.30.0.21 www.stolovaya-ico.ru
172.30.0.21 blog.stolovaya-ico.ru
172.30.0.21 www.blog.stolovaya-ico.ru
Entry point: stolovaya-ico.ru

Авторы: Дмитрий Галеча, Анатолий Иванов, Александр Морозов, Positive Technologies.