Итак, давайте представим, что по тем или иным причинам вы захотели заняться преступной деятельностью. И вместо обыденных, конвенциональных преступлений, направленых на извлечение прибыли типа краж, угонов или мошенничества вы предпочли более сопряженные с рисками относительно того выигрыша, что они дают роды криминальной деятельности, а именно, экстремизм или терроризм. Я заранее осуждаю, однако мы рассмотрим некоторые риски вашей потенциальной деятельности, если вдруг вы решите заняться подобной деятельностью. Итак бывшие члены ФБК (признана экстремисткой организацией на территории РФ) после их известного слива с сайта, на который они призывали регистрироваться тех, кто решил выходить на несанкционированные децентрализованные митинги (хотя непонятно, зачем это было нужно, кроме того, чтобы просто показать цифирь на сайте), объявили об открытии новых Штабов. В прошлый раз слив произошел по довольно глупой ошибке, вроде кто-то выпустил сайт в прод недокунфигурив, в итоге админка осталась торчать наружу для любого желающего. Сейчас они обещали, что точно точно ничто не сольют — и адрес почты мы удалим, и ходить через супер пупер защищенный TOR будем и вообще система защищенная от государства будет. Я не остался в стороне и решил попробовать на зуб их систему, как человек, начинающий знакомиться с инфобезом. Проверить людей уже имеющих плохую репутацию в этом смысле так сказать.
Модель рисков для преступника
Преступления по определению это деятельность которая сопряжена среди прочих рисков с рисками получить проблемы связанные с заканодательством той страны, на территории которой преступник или преступная организация совершает приступление. За соблюдением законов следит государство, а значит преступник рискует получить проблемы от государства — пожалуй, самого сильного субъекта, способного навязывать свою волю среди прочих. Здесь работает право сильного — так работает принуждение к исполнению заканодательства. Была бы воля — это самое главное.
Так вот, к чему это я? Преступник не смотря на все выше сказанное будет совершать преступление если у него есть мотив и уверенность, что он уйдет от преступления безнаказанным. В случае если вы хотите вступить в Штабы Навального и исполнять их задания, мотив скорее всего носит идеалогический характер — вы верите, что государство целеноправлено уничтожает горожан соседней страны и хотите этому воспрепятствовать, кроме этого скорее всего это накладывается на долгую историю неприязни к нашей стране, к отрицанию её достижений, скорее всего у вас сильный идеалогический компонент веры в демократию и веры в равные права, и что самое неприятное для меня, скорее всего вы хотите поражения нашей страны, к каким бы для неё дальнейшим последствиям это не привело. Если, вдруг, ваш мотив связан исключительно с извлечением материальной выгоды, то лучше сразу бросьте — даже через криптовалюту они вам не заплатят. Во первых — не такие щедрые, во вторых не надо думать, что криптовалюта это якобы средство для анонимного получения платежей так, чтобы их нельзя было отследить — это не так ровно до наоборот. Ни один блокчейн не создавался с целью гарантировать валидацию всех платежей, децентрализацию, ограниченную и независимую ни от кого эммисию таким образом, чтобы все это ещё получалось делать анонимным. По всей видимости, это принципиально несовместимые требования для любой финансовой системы. Если вы знаете об этом что-то, чего не знаю я, буду рад обсудить и узнать. Короче, журналы транзакций и Биткоина и Эфира хорошо читаются и видны желающему — это особенно удобно для анализа, если у вас есть своя копия блокчейна. Насколько я могу быть осведомлен, у спецслужб имеется хороший инструментарий для аналитики транзакций в криптовалюте, причем в режиме реального времени.
В конечном итоге, у вас имеется более чем скромный мотив, если не в плане амбиций, то в плане реалистичных перспектив так точно. Таких же сектантов как вы у нас в России осталось не много, многие уехали в Грузию, Казахстан, может быть в другие страны. Названных 15-ти тысяч Ждановым по всей стране сторонников не хватит на хоть сколь нибудь заметный митинг в крупном городе. Из потенциальных мер воздействия, которые были бы эффективными в масштабе страны у вас остались саботаж и теракты. Скорее всего, мало из вас находится на ответственных должностях, чтобы заниматься саботажем в промышленных масштабах, да и порой само государство с этим не плохо справляется, пока, хотя есть тенденции на улучшение в общем плане. Про теракты просто забудьте, вы просто не компетентны в организации и проведении терактов. Вы просто получите срок и сбежавшие оппозиционеры нести ответственность и тем более оказывать юридическую помощь вам не будут.
Напротив, беглые опозиционеры не имеют видимых рисков, Россия не вылавливает и не устраняет открытых её врагов за границей — либо у неё нет длинной руки для того, чтобы подобным заниматься, либо, скорее всего по каким то причинам она ею пока не пользоется. Но у беглых опозиционеров длинная рука есть — слабая, но хоть какая — это те самые Штабы. Штабы — это не более чем инструмент вербовки, самый дешёвый в плане цена-качество, нетрадиционный, но если есть некое количество опозиционного актива, который сам просит его завербовать, почему бы не воспользоваться. Обычно людей всё-таки вербуют индивидуально, не пользуясь каким-то общим ресурсом в качестве канала связи — в ход может идти все, что более менее защищено — чаты в Джаббере, почта, телефонные звонки(скорее, для поддержания связи), телега, личные встречи, хоть что угодно. Очевидно иметь один общеизвестный реестр завербованных агентов и по совместительству канал как Штабы, значит подставить их под угрозу, но раз на это нужен маленький штат вербовщиков и есть какой никакой, но не штучный актив, то игра стоит свечь. Главное убедить, что Штабы — это безопасный канал. Ведь все интуитивно понимают, что сам факт регистрации участником в экстремисткой организации может быть достаточным основанием для формирования состава преступления. Что может помочь завербовать такого субъекта несмотря на риск, при сравнительно малых бонусах? Нужно убедить, что вы сохраните анонимность, если захотите.
По факту после вербовки вы будете даже не пешкой. Просто очередным актером массовки, который нужен для того чтобы рассказать очередную слезливую историю о том, как диктаторский режим посадил ни вчем не повинную девченку или мальчишку. О вас быстро узнают читатели всех мировых СМИ и также быстро забудут. Лучшее что вас может ждать — это то, что вы не успеете натворить глупости и о вас никто не узнает.
Итак, с политической частью закончили, давайте приступим к технической.
Проблема первая — формы регистрации и CloudFlare
Штабы в интернете состоят из двух ресурсов. Есть ресурс в white net’е, по которому вы можете попасть по ссылкам под роликом — там просто форма регистрации. Для доступа к нему TOR не нужен. Второй — это анонимный onion ресурс(адрес которого я получил без регистраций просто списав вручную этот адрес с видеоролика на YouTube). Для доступа к нему нужен TOR. Ссылки в открытом текстовом виде я вам не дам — оно вам не надо. И мне оно не надо. Стоит ли переживать, если вы регистрируетесь по этой форме без TORа? Во-первых, если вы попытаетесь на территории РФ зайти на этот сайт штабов без VPN с использованием DNS сервера вашего интернет провайдера, вы наверняка обнаружите, что этот сайт заблокирован на территории РФ. Заодно ваш провайдер узнает, что вы попытались посетить заблокированный ресурс и вы попадете на карандаш дяде офицеру в погонах. Во вторых, TOR, вам не поможет. Все, что он может гарантировать(с некоторыми оговорками, конечно, но это то, что TOR предоставляет) — это то, что никто не узнает, с какого хоста вы это сделали, и то что трафик точно будет зашифрован до последнего relay. А дальше для шифрования от TOR сети до хоста должно быть HTTPS соединение. И оно есть. Если вы нажмете на замочек, то увидите, что сертификат для HTTPS предоставлен CloudFlare и это интересный момент.
Дело в том, что CloudFlare — это не обычный центр сертификации — это Web Application Firewall — целое решение рассчитаное для защиты DDOS атак. Кроме того он защищает от подозрительных запросов, там SQL инъекций более менее, анонимизирует хост, так что вы не знаете даже на каком хостинге он находится и так далее. То есть он защищает от части хакерских атак, хотя тут немного есть чего защищать. Если я захочу выгрузить на этот сайт в формочку тысячи фейковых заявок, я почти уверен, что знаю, что делать, чтобы обойти CloudFlare и Google reCAPCHA, которые по идее от всяких роботов должны защищать. Я попытался деанонимизировать хост при помощи скрипта CloudFail и при помощи поисковиков типа Shodan и Censys. Похоже, админы тут не накосячили с базовой конфигурацией и сервер действительно не так просто задеанонить, что затруднило проведение дальнейших тестов на проникновение — это для зарегистрировавшихся хорошая новость. Плохая заключается заключается в том, что вы не защищены от утечек регистрационных форм, даже если админы сайта действительно бережно обращаются с вашими данными, никому не разглашают их. Помните, что я говорил про сертефикаты? Дело в том, что CloudFlare для всех этих защит от атак расшифровывают весь пользовательский HTTPS трафик на своей стороне и анализируют каждый запрос. Поэтому HTTPS соединение шифруется при помощи их собственного сертификата. Только после того, как CloudFlare проанализировал ваши регистрационные формы и «защитил» сайт Навального от них, они только затем могут отправиться на непосредственно сервер с этим сайтом по соединению HTTP или HTTPS (но зашифрованному с другим сертификатом). Ниже пример, отправленной формы, которой я заполнил мусором — CloudFlare может достать её в том же виде, как вы видете в окошке справа. И никакой TOR, напомню, от подобных инцидентов не защищает.
Они даже не попытались сделать что-то типа RSA на уровне приложения. То есть, получается, помимо того, что вы верите компетентность и благонадежность навальновской команды, вы должны доверять и CloudFlare. В иной раз на это можно было бы забить болт, но когда на кону перспективы реального срока, я думаю, это важные детали.
Вы спросите, возможно ли такое, что фирма специализирующаяся на безопасности может так просто слить регистрационную форму? Мой ответ — такое уже бывало. Вы можете поискать — в 2017м году случился инцидент известный как CloudBleed — через CloudFlare утекали персональные данные, включая логины, пароли, содержимое Cookie и так далее. До того, как уязвимость была обнародована неизвестно, кто, как долго и часто её мог использовать. Однако это непреднамеренные сливы. Что насчет преднамеренных? Тут я позволю себе немного конспирологии. Мне кажется, не зря США держат у себя такого гиганта, который проксирует треть интернета и может расшифровать персональные данные на большом количестве сайтов даже ничего не взламывая. Мне кажется, CloudFlare сливает данные, включая данные, зарегестрировавшихся в Штабах кому надо. А те, кто надо имеют обширный инструментарий слежения за всеми в интернете помимо этого сервиса.
«Ну и что» — спросите вы — «они сливают их спецслужбам, а не нашим, зато мамкиным хацкерам вроде тебя неповадно будет пытаться ломать сайт». И знаете, я с вами согласен — данные сливаются тем, кому надо. И те, кто надо не будут их сливать в открытый доступ по крайней мере до тех пор, пока они думают, что актив вроде Штабов будет полезен. А до тех пор, те кто надо смогут использовать ваши персональные данные как инструмент шантажа против тех, кто эти Штабы организует.
Безопасность скрытого onion сервиса
Помимо формы регистрации, есть непосредственно сервис, где малолетние экстремисты могут получать задания от организаторов. Как там обстоят дела? Итак — на сервере установлен nginx — и тут я должен похвалить, я не знаю какой версии. Скрывать версии софта — это хорошая практика — это затрудняет в поиске эксплоитов. Само приложение написано на node.js с использованием фреймворка Next.js. Это что-то вроде фулл-стек фреймворка для React приложений со встроенным роутером. По пути /admin находится другой приложение, насколько я могу судить по экранам ошибки — это что-то на Django, и там имеется авторизация по логину и паролю (без очевидного способа брутить логины), CSRF токеном и двухфакторкой. Похоже, они учли прошлые ошибки. Кроме того, должен похвалить админов за их реакцию — после моей прогулкой с дирбустером по /admin, они походу заблокировали все урлы, которые начинаются с admin на следующий день. На сегодня, попытка перебрать адреса на сервере по словарю будет выглядеть как-то так.
Так что похоже, в дальнейшем креды доступа удастся выбить только при помощи терморектального криптоанализатора (или в простонародии паяльник в жопе), но к сожалению столь действенные методы взлома не работают удаленно.
Маленько деобусцировав и почитав код JavaScript, мне также удалось предположить, как выглядят конечные точки REST API. Вот адреса некоторых:
- /api/v1/user/{user_id}/tasks/
- /api/v1/user/{user_id}/data/
- /api/v1/user/{user_id}/stories/
Но, похоже, все они требуют токен авторизации. У меня была идея, что будет, если попробовать посовать разные ID, если у тебя есть только свой собственный токен, но регаться на этой помойке я не хочу дабы не наработать на состав преступления.
Очевидного способа задеанонить ноду onion сервиса я так же не нашел. Также попытка потыркать на предмет левых портов помимо HTTP через TOR к успехам не привела. Значит, по всей видимости, файервол настроен нормально.
Из потенциальных угроз стоит отметить использование CDN как в админке так и в основном приложении. Хорошо, что нет Referer и Origin HTTP заголовков, но я думаю — это заслуга TOR браузера. Будь это другой браузер с дефолтными настройками, просто работающие через прокси эти заголовки могли быть, но тем не менее. Хоть запросы как в onion ресурс, так и в CDN идут через выходной релей, а не непосредственно из вашего компа, при более общем наборе данных для аналитики, использование CDN скорее повышает ваши шансы на деанон, чем уменьшает. Короче, будучи немного параноиком я так скажу, что на ресурсе, который позиционирует как анонимный, использовать CDN не необходимо и, более того, не стоит.
Вместо заключения
Похоже, Волков и ко сделали кое какие выводы из предыдущих продолбов и подходят к безопасности более ответственно. Вы не подумайте — это не значит что они прям так пекутся о вашей анонимности, просто сейчас это в их интересах. Однако, я, надеюсь, смог убедить, что вы несёте не нулевые риски. Если, вдруг, вы действительно похожи на моего воображаемого оппонента, с которым я спорил на протяжении этой статьи, я советую вам как следует обдумать. На мой взгляд, оно вам не надо.