NetRunner CTF Writeup
k1berВсем привет, и всех с прошедшим 2022 годом, надеюсь в этом году всё будет хорошо, но не хочу накаркать, поэтому, как говорится, некст повезёт, и сразу перейду к райтапу CTF от NetRunner.

Что у нас есть?
1) Сайт - https://cybernetrunner.ru/
2) Подсказка:

Перебираем поддомены с помощью gobuster:

Я почти всегда использую словари от SecLists.
Можно взять с гитхаба, либо установить через apt:
apt install seclists
Заходя через браузер по этим ссылкам, видим сплошную парковку:

И так, после перебора нашли кучу поддоменов на парковке, но DNS enumeration не ограничивается одним лишь брутом, так же существуют DNS записи, самые частые из них A, AAAA, MX, TXT, SOA, CNAME. Для чего каждый нужен, можно почитать по ссылке.
Просмотр DNS записей
Для просмотра DNS записей существует множество программ, самый популярный наверное dig, но я буду использовать dnsrecon.
В первую очередь обращаем внимание на db.* admin.* и в нашем случае newyear.*
db.cybernetrunner.ru
dnsrecon -d db.cybernetrunner.ru [*] std: Performing General Enumeration against: db.cybernetrunner.ru... [-] DNSSEC is not configured for db.cybernetrunner.ru [*] A db.cybernetrunner.ru 92.53.96.245 [*] AAAA db.cybernetrunner.ru 2a03:6f00:1::5c35:60f5 [*] TXT db.cybernetrunner.ru v=spf1 include:_spf.timeweb.ru ~all HAHAHAH, WRONG WAY! [*] Enumerating SRV Records [+] 0 Records Found
Видим TXT запись, в которой сказано, что мы ошиблись, идём дальше.
newyear.cybernetrunner.ru
dnsrecon -d newyear.cybernetrunner.ru [*] std: Performing General Enumeration against: newyear.cybernetrunner.ru... [-] DNSSEC is not configured for newyear.cybernetrunner.ru [*] A newyear.cybernetrunner.ru 92.53.96.245 [*] AAAA newyear.cybernetrunner.ru 2a03:6f00:1::5c35:60f5 [*] TXT newyear.cybernetrunner.ru v=spf1 include:_spf.timeweb.ru ~all Happy New Year!) [*] Enumerating SRV Records [+] 0 Records Found
И вас с прошедшим!
admin.cybernetrunner.ru
dnsrecon -d admin.cybernetrunner.ru
[*] std: Performing General Enumeration against: admin.cybernetrunner.ru...
[-] DNSSEC is not configured for admin.cybernetrunner.ru
[*] A admin.cybernetrunner.ru 92.53.96.245
[*] TXT admin.cybernetrunner.ru FLAG{MDAwMDAwMDAgIGQwIDlhIGQwIGIwIGQwIGJhIDIwIGQwIGI3IGQwIGJlIGQwIGIyIGQxIDgzIGQxICB80C7QsNC6INC30L7QstEu0XwKMDAwMDAwMTAgIDgyIDIwIGQwIGIwIGQwIGI0IGQwIGJjIGQwIGI4IGQwIGJkIGQwIGIwIDNmICAgICB8LiDQsNC00LzQuNC90LA/fA==}
[*] Enumerating SRV Records
[+] 0 Records Found
А вот и первый флаг! Но он зашифрован. Для расшифровки советую использовать CyberChef. Это аля швейцарский нож для работы с данными.
Расшифровка флага
Судя по символам == в конце флага, можно догадаться что это base64, декодируем:

Теперь этот текст выглядит как бинарный файл, в CyberChef есть возможность декодировать почти всё, включая эти значения, используем From Hexdump:

В итоге получаем текст Как зовут админа?
Отправляем этот флаг @tripinifkyl

Недолго думая посмотрел поддомен tripinifkyl.*, который так же припаркован, значит он существует. Смотрим DNS записи:
dnsrecon -d tripinifkyl.cybernetrunner.ru
[*] std: Performing General Enumeration against: tripinifkyl.cybernetrunner.ru...
[-] DNSSEC is not configured for tripinifkyl.cybernetrunner.ru
[*] A tripinifkyl.cybernetrunner.ru 92.53.96.245
[*] AAAA tripinifkyl.cybernetrunner.ru 2a03:6f00:1::5c35:60f5
[*] TXT tripinifkyl.cybernetrunner.ru v=spf1 include:_spf.timeweb.ru ~all FLAG{ZDAgYTIgZDEgODMgZDEgODIgMjAgZDAgYmQgZDAgYjUgZDEgODIgMjAgZDAgYjAgZDAgYjQgZDAgYmMgZDAgYjggZDAgYmQgZDAgYjA=}
[*] Enumerating SRV Records
[+] 0 Records Found
Находим второй флаг, который так же зашифрован, отправляем в CyberChef:

Теперь это похоже на шестнадцатеричную байтовую строку. Декодируем используя From Hex:

Получаем текст Тут нет админа
Несложно догадаться, если тут нет админа, значит он где то в другом месте.
Как оказалось @tripinifkyl является админом только телеграмм канала, но не сайта. Админом сайта является @szybnev.
Перебор поддоменов с этим ником не дал никаких результатов, поэтому я полез в дискорд искать других членов команды NetRunner, в надежде что то найти, но безуспешно.
После провального перебора я еще раз пересматривал все флаги, пытаясь найти какую то подсказку, но подсказкой оказался сам флаг Тут нет админа. Вчитываясь несколько раз в этот текст, у меня пришла идея начать перебирать варианты с этой фразой и вот что получилось...

Продолжая долгий нудный перебор вариантов, находим последний флаг на tutnetadmin.*
dnsrecon -d tutnetadmin.cybernetrunner.ru
[*] std: Performing General Enumeration against: tutnetadmin.cybernetrunner.ru...
[-] DNSSEC is not configured for tutnetadmin.cybernetrunner.ru
[*] A tutnetadmin.cybernetrunner.ru 92.53.96.245
[*] AAAA tutnetadmin.cybernetrunner.ru 2a03:6f00:1::5c35:60f5
[*] TXT tutnetadmin.cybernetrunner.ru v=spf1 include:_spf.timeweb.ru ~all FLAG{Lvr2O6pj7IiThQgNeF8xkMWO8w6WGLoPdSe7VqUCvspkaMgNDTefRW4KVu1L2mX9Hvk5vcB3UjzsafW3I9aweG7XdKlmrwMkeMPMKwSkTFDoru6jyAxGLoUTN2sxrhYeU6C1xQ66DNUnqFQXNDBfD45
GkCi2pByeZJTJXqwl1vpYnOTzpBtybT2Ba0Qqwak627XTkI0NIChcsmJ96d2JUWe7T9auLF5z2yTLJuFenRXehLQ5hWn6JtPSY4sZOIInTSUtbTljwcb7UZY3b94wPucMU38eOU7LOX44AkZwfDdsr6N48agAQOXrZLlp3ZTnpAAGQko7iqLzztcQwqhOgjHV0xbCdyRnB6syfXQuILN4plIUZSn38qZYNQz2cWZiK6
czEeddgpCSQMGR0eX5ao4fs3GLiUj3ciOQtS6nhXqY74qJHOkNJMWmcZph9Qu0RF8DNZ}
[*] Enumerating SRV Records
[+] 0 Records Found
Декодируем флаг. В этот раз использовался не base64, а base62 и та же шестнадцатеричная байтовая строка

Вот он, последний флаг!
Congratulations! You found the flag, text me tg @szybnev. We can chat about information security and have coffee)
Конечно у меня нету возможности попить кофейка с админом, поэтому выдали денежный приз, что тоже очень приятно, как и само участие в этом CTF.
А на этом мой writeup заканчивается, спасибо каждому, кто осилил прочитать до конца. Еще раз поздравляю с прошедшим Новым годом и желаю всем вам получать больше знаний и находить больше уязвимостей :)