Содержание. __ от редакции. Биография сетевого периметра в картинках
Скачать 5.92 Mb.
|
93 95 97 99 101 103 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 Тимур Юнусов habrahabr.ru/company/pt/blog/261459/ В 2015 году в «Конкурентную разведку» играли не только традици- онные любители конкурса, но и команды CTF, поэтому по уровню сложности задания были подобраны для тех и для других. Кроме того, разрешена была командная игра. (Но один человек не мог играть и в индивидуальном зачете, и за команду CTF, поэтому нам пришлось по взаимному согласию дисквалифицировать участника, занявшего по очкам 1-е место — azrael.) Под общей легендой государства United States of Soviet Unions были объединены все конкурсы, и в рамках «Конкурентной разведки» участ- никам пришлось искать информацию о служащих разных компаний, «прописанных» в USSU. Параллельно можно было отвечать на пять раз- ных вопросов о пяти разных организациях; внутри одного блока во- просы открывались друг за другом, по мере получения ответов. (Одна команда нашла ответ методом перебора, но на следующий вопрос они так и не смогли ответить — у них не было на руках необходимых ресурсов.) 1. Find out dinner location of Bank of Snatch (snatch-bank.phdays. com) chairman/Find out all data about Bank of Snatch (snatch- bank.phdays.com) chairman. В данной группе вопросов нужно было найти информацию о предсе- дателе правления Bank of Snatch. 1.1. Get his email address. Начать нужно с малого — выведать email председателя правления. гугл давно постарался за нас — закэшировал несколько страниц snatch-bank.phdays.com, в том числе документ с отчетностью банка. разБор заданий конкурСа «конкурентная разведка» НА PHDAYS V В метатегах этого документа ясно видно, что у пользователя Aldora Jacinta Artino почта a_j.artino.bank@ussu-gov.org. А это значит, что у председателя Zenon Pavlos Economides почта должна быть z_p. economides.bank@ussu-gov.org. Правильных ответов было 47. 1.2. What is his domain account? (Format: user:password). Теперь задача усложнилась: нужно достать доменную учетку — имя и пароль. Но для тех, кто играет в конкурентную разведку регулярно, эта задача была не слишком сложной. Ведь если отправить письмо по адресу, найденному на предыдущем шаге, то придет недвусмыс- ленный намек на то, что человек с ним ознакомился. А значит, можно попробовать подсунуть ему ссылку в письме. Примечание: браузер председателя правления блокировал всякие нестандартные для веба порты вроде 1337, поэтому лучше было использовать традиционные 80 или 8080. Отловив запрос, можно выяснить что почтовый ресурс отсылает в запросах заголовок Referer, а из него можно вытащить логин и пароль почтовой учетки: zenontrapeza:zenon123. Правильных ответов 17. positive research 2016 94 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 1.3. And finally get the dinner place. Ну и, наконец, нужно узнать, где обедает председатель правления. Ко всему прочему теперь мы знаем его псевдоним — zenontrapeza. Можно снова использовать Google. В два клика можно выяснить ак- каунт председателя в Facebook, а там выясняется что он постоянно пользуется каким-то трекером. Только вот трекер работает как-то неправильно... Применив несколь- ко нехитрых манипуляций с URL и ID, можно было получить доступ к трек-файлу Pavlos: + sport.phdays.com/account/1045 + sport.phdays.com/achive/1045 + sport.phdays.com/img/1045 + sport.phdays.com/img/1 — который отдавал ошибку, по которой можно было найти финальный URL: sport.phdays.com/kmls/track. kml?id=1045 В итоге получаем искомый трек. Следующая проблема: в нем записа- ны не координаты GPS, а идентификатор базовой станции сотового оператора. Но ведь есть замечательный ресурс opencellid.org, кото- рый позволяет найти координаты конкретной базовой станции по всему миру. Выяснив координаты базовых станций и определив интервал обеда (исключив воскресенье), можно было на том же opencellid найти на- звание ресторана: Boston Seafood&Bar. Правильных ответов 12. 2. Get intel on MiTM Mobile (mitm-mobile.phdays.com) market- ing director. В этой группе вопросов необходимо было собрать информацию о директоре по маркетингу мобильного оператора MiTM Mobile. 2.1. We have network capture from director's laptop (mega. co.nz/#!34IEGYZa!Xowwo-UFTWMIfqfmiSPQXMWY0F- 7mySb-WtIxB3SVXWQ ). Can you find out where he was treated? где же проходил лечение директор по маркетингу? Дамп трафика по- зволял выяснить не только доменный логин одного из сотрудников Positive Technologies, но и запрос к поисковой машине USSU. А судя по баннеру и параметрам Cookies на ussu.phdays.com/search.php, поисковая система использует те же механизмы токенов utmz, как в Google. И если подставить эти значения в запрос к search.php, то высветится «контекстная реклама» об одной клинике. Что это за кли- ника — можно узнать, выполнив поиск по изображениям (отсеяв все лишнее, так как нужно было абсолютно идентичное изображение) или еще проще — выполнив поиск по номеру телефона с изображе- ния. Правильный ответ: Rayville Recovery. Правильных ответов 13. 2.2. Ok, now we know his email account. It is l_u.imbesi@ussu-gov. org — we need access (give us email password). Теперь нам известен email директора, но недостает пароля. Файлы robots.txt иногда просто кладезь уязвимых сценариев, которые нужно держать подальше, но не от поисковиков, а от хакеров. Так и тут: есть ссылка на бажный сценарий восстановления пароля от почты restore.php. Если вызвать сброс пароля в дебажном режи- ме — debug=On, то мы сможем узнать, что emails посылаются через обращение на сервер на 25 порт. А вот имя сервера берется прямо из заголовка Host. Значит, если повесить на 25 порт netcat и отправить запрос с указа- нием в заголовке Host своего IP-адреса или доменного имени, то на 25 порт придет письмо с указанием текущего пароля ( AQwr34%!9R^ ). Бонус: можно было зайти в почту и в черновиках обнаружить ин- сайдерскую информацию. О том, что с 10:30 утра смски становятся дешевле, а это значит что в это время ожидается рост акций MiTM Mobile. Правильных ответов 4. // наша школа 95 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 2.3. We need to find something to blackmail him. К сожалению, с этим заданием никто не справился. где же искать по- вод для шантажа человека, как не в его аккаунте Google? Почтовая жизнь там не очень насыщена, а вот история поисковых запросов выдает человека с головой: Оказывается, с алкоголя директор по маркетингу пересел на кока- ин… ай-ай, как нехорошо! Правильный ответ: cocaine. 2.4. Some competitors with gov support also interested in directors jailing. Who is it? До этого технически сложного задания также никто не смог дойти — потому что сперва нужно было пройти предыдущее. Из прошлого задания видно, что еще директор регулярно пытается найти годовые отчеты некой компании Whoever, которая располагается на домене whoever.phdays.com. Далее все просто: 1. Находим robots.txt и по нему узнаем, что есть api.php. 2. По-разному тыкаем api.php, по ошибкам угадываем параметры. Понимаем, что есть XXE и сливаем сорцы. 3. По сорцам видим что в api.php есть unserialize, который позво- лит провести INSERT SQL-inj. 4. Правильно заинсертившись в таблицу, вызываем unserialize через index.php (данные из базы идут в unserialize) и получаем наконец RCE. 5. В /home можно было найти email владельца Whoever — wh0wh0wh0ever@gmail.com. 3. This time a big deal. Get infromation on President administra- tion (ussu.phdays.com). В этой группе придется добывать информацию об администрации президента хорошо известными в народе способами. 3.1. Crawl all administration emails in order from a to z (format: ,,, ...). Ну, для начала совсем несложно: всего лишь найти информацию обо всех emails администрации. Заходим на ussu.phdays.com/ contacts.php. И видим, что есть алиас administration@ussu-gov.org for general requests. А еще в государственном аппарате есть дополнительный MX-сервер. И, видимо, государство совсем не заботится о безопасности сво- их сотрудников, раз всего в два запроса можно было получить все emails группы administration: Правильный ответ дали 19 участников: a_o.bozhidara@ussu-gov.org, d_b.bertil@ussu-gov.org, j_l.andrus@ussu-gov.org, j_t.zlata@ussu-gov. org. 3.2. Get all passwords, emails in order from a to z (format: :,:,:, ...). Ну, теперь одними запросами в Google не обойтись. Sitemap.xml го- ворит нам, что есть файл ussu.phdays.com/_logs/access.log. Немного изучив его, можно найти следующие интересные запросы: GET /auth.php?action=getToken&id=26080&email=%61%5f%6f%2e%62%6f% 7a%68%69%64%61%72%61%40%75%73%73%75%2d%67%6f%76%2e%6f%72%67 GET /auth.php?action=checkToken&token=EShDVGIWwZSjS5I5BQbpDyWRNo FUzBOWNygG8j%2FYpbpZl7sGymRScloK%2Fddq9a6%2FAaSTXZedUHTkhONlvfd2 kvB63E%2B6iqSjecSaQMRyQw1vzs5otj3%2BmP%2Fp%2BS1Xil%2BVqn7GZJPLgs gcXy4cLtcCsw%3D%3D positive research 2016 96 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Отправив всего 256 запросов, с вероятностью 99% утверждаем, что реализацию алгоритма можно атаковать. А примерно за 10 000 за- просов можно полностью расшифровать токен. Но столько запросов и не нужно, ведь пароль располагался в самом конце, а значит рас- шифровывался первым. Ну хорошо, пароль одного пользователя мы расшифровали, а даль- ше? Подставляя emails из предыдущего задания и перебирая после- довательно id, мы получим все 4 токена всех пользователей. Ну а зайдя в одну из почт через Google, можно было сразу же найти в спаме письмо с очередным инсайдом про движение акций компаний: Ответ нашли 6 участников: a_o.bozhidara@ussu-gov.org:zhi37@1!,d_b. bertil@ussu-gov.org:bertiB3rt!,j_l.andrus@ussu-gov.org:Andrus331,j_t. zlata@ussu-gov.org:aata4444. Берем Chainbreaker для Win32 и расшифровываем keychain из репози- тория с помощью пароля от почты. Номер документа #125_42-19.501. Помимо прочего из этого архива можно узнать, что «Promising quarterly reports for Choo Choo Roads (CHOO), Hacknetcom (HCKNT) and MiTM Mobile (MITM)» будут опубликованы 27 мая в 11 утра. Правильных ответов 3. 3.4. Now we need to get this document. Give us project name, men- tioned in them. Пришло время еще раз порыться в ресурсах администрации. Если воспользоваться подсказкой и авторизоваться за пользователя d_b. bertil@ussu-gov.org, в Google Cloud Printers будет один интересный адрес с анонимным доступом по FTP. А там и необходимый документ среди сотен других с упоминанием проекта Omnieye. Там же можно было ознакомиться с другими неожиданными сведени- ями о будущем курсе акций и «Черном четверге». Правильного ответа никто не нашел. 3.3. Hack into Mac OSX of Administration secretary and give us # of document, printed for president 14/05/2015. Ну вот и пошел в ход анонимный интернационал. Сломать Mac OS секретаря — дело нехитрое. Особенно если секретарь в ответ на письма в подписи оставляет улики, любит в репозиториях хранить важные архивы и использует одинаковые пароли. Похоже, что сотрудник администрации президента сначала получа- ет какой-то токен, а потом валидирует его. Если посмотреть на про- цесс валидации, то окажется, что он уязвим к старым добрым атакам Padding Oracle, а это значит, что токен можно расшифровать за не- большое количество запросов. // наша школа 97 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 3.5. Finally, break into any Administration's Iphone. There were some secret meeting in April. In what place? Дойти до этого задания участники не смогли, иначе им, возможно, удалось бы восстановить доступ к icloud.com по email, паролю и то- кену сброса двухфакторной аутентификации, который можно было найти, порывшись в почте j_l.andrus@ussu-gov.org. Далее необходи- мо было найти заметку про встречу в McDonalds pushkin square. 4. We need proof that Positive Times (ptimes.phdays.com) is con- trolled by government. Участникам необходимо было собрать доказательства того, что меди- акомпания Positive Times давно находится по контролем правитель- ства USSU. 4.1. Get journalist's (w_j.dom@ussu-gov.org) mobile number — he is rat. Tip: he always use two accounts for privacy in social net- works. (format, no delimiters: +7xxxxxxxxx#xxxxxxx). Начинаем с легкого задания — достать номер телефона журналиста, у которого наблюдается расчетверение личности: сразу по два акка- унта на VK.com и FB.com. Первую учетку можно найти по восстанов- лению пароля на FB.com. Вторую — на vk.com, по одинаковому имени и фамилии в списках тех, кто лайкал ptimes.phdays.com. И тут как раз видно, что единственный, кто ставит лайки, это некто со страницы vk.com/id304632346. Тут уже можно разглядеть первую часть сотового телефона и email. А если теперь по этому email снова попробовать восстановить учет- ную запись на FB, то парень-то окажется тем же самым. Ну и теперь, найдя его учетку по email в FB и заглянув в Details, можно обнаружить недостающие части телефона. Правильный ответ дали 34 участника: +79652843472#317. Примечание: добавочный пришлось использовать как защиту от брутфорса. positive research 2016 98 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 4.2. Get access to the publishing engine of Positive Times. Give us user and password (format: :). Теперь нужно получить доступ к админке портала Positive Times. Только вот незадача: мы нашли в sitemap.xml список emails, на ко- торые отправляются пароли для сброса (это файл sentemails.log), мы можем получить письмо с токеном сброса и сбросить пароль, используя публичный ящик из этого списка ptimes-registration@ mailinator.com, — но прав у этой учетной записи не хватает для до- ступа в админку. И правда, где это видано, чтобы какой-то малопонят- ный ящик использовался для админских прав! А вот если присмотреться внимательно к процессу сброса пароля, то окажется, что на последнем этапе система снова проверяет email. А зачем? И что, если поменять email на более привилегированный из sentemails.log, скажем на ptimes@ussu-gov.org? Вот тогда-то на Mailinator придет письмо с правильным паролем, — и можно будет ответить на вопрос, а заодно получить доступ к админке с учеткой ptimes@ussu-gov.org:Pt1M3P@ss. В админке можно было сделать две вещи — узнать, что налоги вырастут и что государство уже выделило приоритетные для себя компании. Помимо инсайдерской информации этот интерфейс давал возмож- ность поменять вторую новость (чтобы публикация сыграла на руку тому, кто играет против рынка). Тогда мы бы опубликовали ее в 11:30 во второй день конкурса. Однако, либо таких находчивых не нашлось, либо поддельная новость оказалась похороненной под тысячами бесполезны запросов, отправленных в попытках эксплуатировать несуществующие XSS и SQLi. Правильных ответов 13. 4.3. Get access to email account of another corrupt journalist with email mediagov@ussu-gov.org. Give us his password. Для решения этой задачи нужно было заметить наличие формы ptimes.phdays.com/feedback.php и с помощью подсказок из Google понять, что при обратной связи можно как-то грузить файлы в папку feedbackupload. А раскомментировав поле для загрузки файлов в форме и загрузив туда пустой файл .htaccess, можно было получить листинг директории feedbackupload на целых 5 минут. Тогда можно было бы найти в директории файл uploaded-13-05-2015. docx за авторством mediagov@ussu-gov.org, обнаружить, что изо- бражения в нем взяты по адресу 188.166.78.21:443. А далее, следуя подсказке про MSF, воспользоваться эксплойтом для Heartbleed из сборки Metasploit (работало еще несколько вариантов эксплой- та, но не все) по этому адресу и получить в «дампе памяти» пароль пользователя: А пароль был: P@S$W0_PD. Правильный ответ дал один участник. 4.4. We found PositiveLeaks — group of hackers.They may help us in our business. Find his owner's name for us. А вот и Викиликс энтузиасты, которые тоже копают под PositiveLeaks. Судя по названию группировки, они должны располагаться на pleaks. phdays.com. А еще с помощью такого запроса: POST /userPage HTTP/1.1 Host: pleaks.phdays.com Cookie: PHPSESSID=rr47fgk7e2rckklqj5kgl4f6k5 Content-Type: multipart/form-data; boundary= ---------------------------214580240818081871851160929598 Content-Length: 376 -----------------------------214580240818081871851160929598 Content-Disposition: form-data; name="template" // наша школа 99 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 123%' union select null,null,text as content from templates where '1%'='1 -----------------------------214580240818081871851160929598 Content-Disposition: form-data; name="action" createTemplate -----------------------------214580240818081871851160929598-- можно было получить доступ к шаблонами новостей на сайте и уз- нать не только ответ на вопрос (Boris_The_Emperor), но и очередной инсайд ;) Правильного ответа никто не дал. 5. Stock Exchange financial director was incriminate, but there were no evidence. Help to jailed him. Ну и в последней группе требовалось помочь свершиться правосу- дию и посадить директора биржи за решетку. |