14:50

Эта запись будет особенно интересна Bats.

В 2019 году я узнал о конкурсе Flare-on - глобальный конкурс для IT-специалистов, технические головоломки, в каждой из которых нужно найти правильный ключ. Участникам даётся 6 недель, чтобы решить 11-12 конкурсных задач. www.cyberdefenders.org/labs/?type=ctf - здесь задания прошлых лет с возможностью самопроверки.

Строго говоря, таких ежегодных конкурсов несколько десятков, у каждого есть своя специфика, мне приглянулся именно Flare-on - не самые простые конкурсные задания, хорошо известен в определенных кругах, и ориентирован для одиночных специалистов. Тем, кто выполнил все задания, на домашний адрес высылается памятный приз. До конца доходят 2-3 % участников, из России это 10-15 человек по статистике. В других подобных ежегодных конкурсах принимать участие пока не планирую.

В этом году снова принимал участие в этом конкурсе, заработал ещё одну медаль, приз шел два месяца, сегодня бросили в почтовый ящик. Как я рад.
Пару заданий мой древний комп не мог запустить, пришлось арендовать современный выделенный сервер на время проведения игры.

О заданиях. В прошлом году было мало сложных заданий, в этом году организаторы исправились и предложили больше интересных сложных задач. Некоторые задачи были ориентированы на практическую работу с современными вредоносами.
Страничка офсайта 2020 года со статистикой, заданиями и официальными решениями:
www.fireeye.com/blog/threat-research/2020/10/fl...
Неофициальные решения задач можно посмотреть здесь: explained.re/

Самые интересные задания этого года:
(указываю только тематику, для полного описания задания, пожалуйста, обратитесь к solutions первоисточника, там расписано всё очень подробно)

2 - восстановить повреждённый PE-исполняемый файл для Windows

3 - весёлая игра в Ниме (nim-lang.org/). Было интересно разобраться, как работает его среда исполнения.

5 - Приложение .NET для умных часов Tizen, которое использует показания шагомера и GPS, чтобы определить, заслуживаете ли вы видеть флаг. Официальный эмулятор на моей машине постоянно давал сбой, поэтому мне пришлось решить эту проблему с помощью статического анализа.

6 - обфрусцированный скрипт AutoIt

7 - дамп сетевого трафика. Эксплуатация древней настоящей уязвимости IIS-сервера. Как вариант, можно было установить конкретную версию IIS-сервера и посмотреть результат, но я разобрался вручную.

8 - задание для Windows 10 с подсистемой WSL! Клиент-серверное приложение, Windows GUI клиент, на той же машине запускается ELF, игра в крестики-нолики. Для выигрыша нужно было пропатчить ELF.

9 - Объекты COM и драйвер ядра с недокументированными функциями. Задание использовало настоящий подписанный руткит capcom.sys. Рекомендую заинтересованным прочитать об этой истории:
xakep.ru/2016/09/27/street-fighter-v-anti-cheat...
Суть в том, официальный разработчик игр (имеет право подписывать Windows-драйвера) выпустил драйвер, который может выполнить любой shell-код с административными привилегиями. На момент лета 2020 цифровая подпись этого драйвера так и не была отозвана, я спокойно запускал этот драйвер.

10 - LIKE!
Это задание придумало лицо с садистскими наклонностями.
linux-задание в виде куклы-матрёшки, процесс запускал подпроцесс, который запускал подпроцесс, которые трассировали (ptrace) своих родителей. Средства отладки не работали (отлаживать процесс может только одна программа!). Мне пришлось изрядно помучиться, использовать LD_PRELOAD ко всем внешним вызовам и постоянно делать дампы памяти процесса.
ptrace: man7.org/linux/man-pages/man2/ptrace.2.html

11. Дамп реестра с машины, заражённым Gozi V3 malware. Здесь можно прочитать про этот многофункциональный троян-бот: news.sophos.com/en-us/2019/12/24/gozi-v3-tracke...
Множественное шифрование и обфрускация, многомодульная система, которая может управляться снаружи, и по запросу выполнять вредоносные команды на ПК-жертвы. Разбирался две недели. Исходники первой версии трояна (описание на русском):
github.com/gbrindisi/malware/tree/master/window...
xss.is/threads/41884/

Моя личная домашняя коллекция:



В этом году хочу третий приз!
Жаль, что об этом конкурсе я узнал не сразу.

Комментарии
06.01.2021 в 20:01

Bats
Trotil, спасибище :heart:

И поздравляю с победой, очень круто.
06.01.2021 в 20:20

Холодно. Пью.
Trotil, блин нихрена ты умный чувак! Поздравляю с успехом! Мне кажется, очень круто, что ты это можешь. :)
08.01.2021 в 17:05

Мне кажется, очень круто, что ты это можешь.

Спасибо!
Зато я в сетях ничего не шарю и разобраться в этом мне так и не удалось! ))) так что можно поспорить, кто умный

Bats, ты спасибами не отделаешься ))) Я помню, что ты интересовался подобной тематикой, так что самое время начать, а я могу помогать рекомендациями...

Вот удобный современный ресурс, на котором собраны задачи с подобных конкурсов за несколько лет: www.cyberdefenders.org/labs/
Для решения первых задач не нужны слишком глубокие знания.


Кстати, вот есть ещё один ресурс: reverseveryday.com/challenges
Задачи удобно разбиты по платформам. Я там летом оттуда тоже все задачи решил, когда был карантин.

Я могу посоветовать для начала взять абстрактную задачу VNeko по ссылке выше. Это задание средней сложности, прелесть в том, задание сделано на самодостаточном тьюринг-полном языке и кроме документации к этому языку никаких дополнительных знаний не нужно, не нужно изучать большие профессиональные инструменты с множеством опций.
nekovm.org/doc/begin/
То есть нужно по документации допетрить, что в точности делает эта небольшая программа (возможно, переписать на листочке алгоритм по шагам), понять, как происходит проверка ключа, а затем придумать ключ, который будет проходить эту проверку.

Если будет совсем сложно, очень простая задача - Flare-on 2019, 1 задача.
09.01.2021 в 11:47

Moving on. Never stopping. Always changing.
Trotil, я в этом ничего не понимаю (уже и мой ребенок меня давно обогнал в программировании, а я ушла совсем в другую область), но от души поздравляю и желаю новых побед! :yes:
09.01.2021 в 13:12

Bats
Trotil, ааа, круто, и я опять скажу спасибо. И займусь)

Я тут сейчас списался в подготовку на сдачу сертификата, так что сперва вот это, а потом займусь.
Интересно и клёво.

Кстати, если тебе интересно, можно поискать vulnerabilities за деньги:
hackerone.com/zenly/?type=team
10.01.2021 в 04:32

> vulnerabilities
традиционный перевод термина в профессиональной русскоязычной литературе - уязвимость.

> можно поискать vulnerabilities за деньги:
ну хоть там предлагают 1000$ за критические баги, не факт, что они там вообще есть.
И чтобы выйти на какой-то ощутимый уровень заработка, необходимо пару лет постоянной практики, если не больше.
10.01.2021 в 11:44

Bats
Trotil, да, про уязвимость спасибо. Я мало читаю русскую литературу, так что надо напрягаться, чтобы сказать то, что хочу, на русском.

Про поиск уязвимостей - да, согласен, это скорей такой азартный процесс и заодно тренировка.