Rms программа

Remote Manipulator System — решение для удаленного управления компьютерами

Rms программа

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

Что же такое программа для удаленного администрирования? Как следует из названия, в первую очередь это инструмент, позволяющий получить полный доступ к удаленному ПК на расстоянии. Программа перенаправляет на Ваш компьютер картинку с удаленного экрана и транслирует нажатия клавиш клавиатуры и перемещение курсора мыши с Вашего ПК на удаленный.

Это базовая функциональность практически для всех решений в области удаленного администрирования. Но очень часто этого оказывается мало, требуются дополнительные функции. Именно наличие различного дополнительной функциональности и отличает друг от друга софт этой категории.

В данном обзоре мы рассмотрим отечественную разработку компании «TektonIT» — продукт «Remote Manipulator System».

Remote Manipulator System состоит из двух частей. Серверная часть (RMan-Server) устанавливается на компьютеры пользователей, к которым нужно получить доступ. Клиентская часть (RMan-Viewer) устанавливается на компьютер администратора, с которого будет осуществляться удаленное управление.
Viewer – Server

Скачать дистрибутив можно с официального сайта компании производителя rmansys.ru, размер дистрибутива около 10 МБ. Программа совместима с Windows 7.

Установка Remote Manipulator System

Подробно рассмотрим процесс установки серверной и клиентской части. Для программ удаленного администрирования установка — это важнейшая часть функциональности.

Для работы программы нужно установить два модуля. Модуль RMan-Viewer на компьютер администратора и модуль RMan-Server на компьютеры пользователей. Доступно несколько способов установки серверной части.

Первый способ — ручная установка сервера из MSI-дистрибутива. В процессе установки программа автоматически интегрируется в стандартный брандмауэр, чтобы не было проблем с доступом к серверу из внешней сети.

Затем появится окно настроек программы, где необходимо задать пароль для доступа к данному компьютеру через клиентскую программу RMan-Viewer.

Можно задать и другие дополнительные параметры безопасности, установить IP-фильтр, настроить доступ к определенным режимам соединения.

Второй способ — удаленная установка серверной части непосредственно с рабочего места администратора.

К слову, доступно несколько видов удаленной установки — это установка с помощью встроенной специализированной утилиты и автоматизированная удаленная установка в домене через групповые политики безопасности Active Directory. Последний вариант особенно удобен для организаций с крупным парком ПК.

Для начала, нужно установить RMan-Viewer — клиентский модуль, позволяющий осуществлять контроль над серверными модулями.
Главное окно RMan-Viewer

В список соединений нужно добавить новое соединение, указав в его настройках IP-адрес или имя удаленного компьютера.
Новое соединение

Для массового добавления RMan-Server-ов в список соединений можно воспользоваться встроенным поиском.
Поиск RMan-Server-ов

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

В этом окне нужно указать MSI дистрибутив RMan-Server, который требуется установить. Также, указав путь к дистрибутиву, запускаем MSI-конфигуратор, с помощью которого можно легко предварительно настроить дистрибутив устанавливаемого сервера, например, задать пароль доступа.
MSI-конфигуратор

С помощью встроенной утилиты удаленной установки можно не только инсталлировать Remote Manipulator на удаленный компьютер, но и деинсталлировать его, запускать и останавливать.

Функциональность

Программа предоставляет весьма широкий выбор режимов соединения.

  • Удаленное управление компьютером.
  • Удаленное наблюдение.
  • Файловый менеджер.
  • Удаленный диспетчер задач.
  • Удаленный диспетчер устройств.
  • Удаленный реестр.
  • Терминал — доступ к командной строке (аналог системной утилиты «Командная строка»).
  • Управление питанием.
  • Удаленный запуск программ.
  • Текстовый чат.
  • Подключение к удаленной web-камере и микрофону.
  • Отправка простого текстового сообщения.
  • Соединение по протоколу RDP.
  • Запись рабочего стола сервера по расписанию.

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

Остановимся на рассмотрении некоторых режимов подробнее.

Удаленное наблюдение и управление

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

Субъективно продукт показал достаточно высокую скорость работы в локальной сети — разработчики не преувеличили, приведя в описании продукта фразу «Скорость работы на таком уровне, что Вы не почувствуете разницу между локальным и удаленным компьютером».
Удаленный рабочий стол

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

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

Также, непосредственно в окне с удаленным экраном, можно открыть панель расширенной настройки. 
 

Дополнительные параметры

Файловый менеджер

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

Интерфейс этого модуля напоминает известный файловый менеджер «Total Commander», поэтому большинству опытных пользователей разобраться с данным модулем не составит труда. Доступны все распространенные файловые операции. Файлы можно копировать, перемещать, удалять, переименовывать.

Файловый менеджер полностью поддерживает операции перетаскивания «Drag&Drop», совместим с системным проводником. Есть удобная система закладок для быстрого перехода по наиболее часто используемым директориям.

Многим будет полезна функция т. н. докачки файлов.

Удаленная веб-камера

Этот модуль появился в продукте недавно и практически не имеет аналогов среди программ для удаленного доступа.

Этот режим позволяет подключаться к устройствам видео захвата (веб-камера, микрофон, TV-тюнер и т. д.). Т. о.

Remote Manipulator позволяет наблюдать не только за тем, что происходит на экране удаленного компьютера, но и за тем, что происходит возле него.
Удаленная веб-камера

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

Во время сеанса подключения к веб-камере на удаленном компьютере отображается баннер, оповещающий пользователя о том, что за ним ведется видеонаблюдение. Всё-таки Remote Manipulator это софт для администрирования, а не для шпионажа.

Диспетчер задач

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

Текстовый чат и отправка простого текстового сообщения

Не забыты в программе и средства коммуникации с удаленными пользователями.

Многопользовательский чат с возможностью расширенного форматирования текста и отправкой вложений.
Текстовый чат

И отправка простого текстового сообщения.
Простое сообщение

Инвентаризация

Режим «Удаленный диспетчер устройств» реализует функциональность, позволяющую производить полную перепись программного и аппаратного обеспечения парка машин. Информация группируется в удобные HTML- или XML-отчеты.
Диспетчер устройств

Удаленный редактор реестра

Довольно новый режим, хотя давно имеется у некоторых аналогов. Незаменим, когда нужно поправить что-то в удаленном системном реестре, но не хочется отвлекать пользователя.
Удаленный редактор реестра

Интерфейс очень похож на системный Regedit, поэтому разобраться в этом модуле можно мгновенно. К слову, редакторы параметров тоже сделаны на должном уровне.

Удобной особенностью является наличие функции импорта/экспорта ключей и параметров в стандартный файл .REG.

Другие режимы

Режим «Запись экрана» позволяет следить за действиями пользователя полностью автономно от RMan-Viewer. Т. е.

администратор, с помощью удобного пользовательского интерфейса, может задать расписание, которое, если перевести на человеческий язык, выглядит так — «Делать снимок каждые 2 минуты, по рабочим дням с 8 утра до 5 вечера».

В любой момент администратор может загрузить с сервера файл, в котором хранятся снимки экрана за какой-то конкретный день и посмотреть, с помощью специального плеера, что происходило на экране удаленного компьютера, к примеру, в 16:00. Имеется возможность защиты файлов с записями от удаления на сервере.

Итак, кому может понадобиться это? В первую очередь, администраторам и руководителям, так как это дает возможность контролировать работу самих пользователей, просмотрев дневной отчет с кадрами раз в 1 минуту, можно получить точную картину того, что происходило на экране удаленного компьютера на протяжении всего рабочего дня. Таким образом, можно серьезно оптимизировать работу сотрудников, даже когда администратора нет на рабочем месте.

Режим «Терминал» позволяет получить полноценный доступ к командной строке удаленной системы. Ввод команд и запуск программ в окне «Терминал» производится точно так же, как в командной строке системной утилиты «cmd». Кстати, в отличие от некоторых других программ, в RMan данный режим полностью совместим с кириллицей.

Есть встроенный RDP-клиент. RDP — утилита для управления рабочим столом удаленного компьютера. Используется стандартный протокол удаленного рабочего стола, разработанный компанией «Microsoft».

Режим «Управление питанием» позволяет выключать и перезагружать удаленный компьютер, завершать и блокировать сеанс текущего пользователя удаленно.

Безопасность

По заверению разработчиков, Remote Manipulator System спроектирован с учетом современных стандартов и требований безопасности на всех уровнях. Все данные, передаваемые по сети, шифруются, эту функцию нельзя отключить.

Для аутентификации клиента используется алгоритм шифрования открытым ключом RSA с длиной ключа 2048 бит. Передаваемые данные шифруются надежным AES алгоритмом с 256-битным ключом. Есть возможность настраивать алгоритмы шифрования и длину ключа.

Все криптографические функции реализованы в сертифицированных системных библиотеках «Microsoft».

RMan поддерживает две системы авторизации: защита паролем и защита на базе Active Directory. Настройки RMan-Server хранятся в системном реестре Windows, доступ к ним ограничен всем, кроме пользователей с правами администратора. Так же есть возможность поставить пароль на доступ к настройкам сервера даже для администраторов.

Имеется довольно гибкая система разграничения сетевого доступа к серверу: привязка к одному конкретному сетевому интерфейсу, запрет доступа по IP-адресу или диапазону IP-адресов, защита от подбора пароля и DoS-атак.
IP-фильтр

Работа через NAT и в сложной топологии сети

Функция «Обратное соединение» (callback) позволяет серверу выступать инициатором сетевого соединения. Благодаря этому механизму можно осуществлять соединение даже с сервером, который находится за сетевым экраном или же если не известен его IP-адрес.
Обратное соединение

Функция «Соединение через…» дает возможность соединяться через цепочку RMan-Server-ов (выстраивать т. н. каскадное соединение), в случае, если нет маршрутизируемого доступа в нужную подсеть напрямую.
Каскадное соединение

Некоторая дополнительная функциональность

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

  • Повсеместная интеграция с технологией «Drag&Drop» (перетащи и брось). Файлы и папки можно перетаскивать привычным для Windows способом — непосредственно на окно с удаленным рабочим столом и наоборот.
  • Поддержка мультимониторных систем.
  • Трансляция звука с удаленной машины на локальную.
  • Можно включить блокировку экрана и клавиатуры удаленного компьютера во время сеанса администрирования.
  • Полная поддержка графической оболочки «Aero». При соединении оболочка не отключается, хотя имеется настройка, позволяющая её отключить.
  • Возможность прикреплять файлы к сообщениям в текстовом чате.
  • «Интеллектуальная докачка» файлов через файловый менеджер.
  • «Wake-On-LAN» — удаленное включение компьютера.
  • Карта сети. Список соединений можно просматривать в виде карты топологии сети.
  • Защита настроек RMan-Server-а паролем.
  • Система журналирования событий на сервере.

Итоги

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

Источник: https://www.ixbt.com/soft/remote-manipulator.shtml

Разрешите вас отадминить?

Rms программа

Главным врагом хакеров (не будем спорить об изначальном значении этого слова — сейчас мы будем этим термином обозначать тех, кто занимается созданием/распространением вредоносных программ) являются антивирусы, которые с той или иной степенью успешности обнаруживают их поделки и удаляют.

Одним из способов предотвращения обнаружения незаконной деятельности и используемых для этого утилит является попытка «заставить» легальное ПО служить своим целям.

Например, зачем что-то скачивать из интернета самому, рискуя попасть в немилость у фаервола или эвристика (не говоря о сигнатурах), если можно запустить wget с параметрами? Зачем городить свою отправку корреспонденции, если есть blat? Зачем долго и упорно делать утилиту удаленной слежки за компьютером, когда есть бесплатные программы удаленного администрирования? В последнее время наибольшую популярность у разношерстной хакерской братии снискала программа Remote Manipulator System (RMS) производства отечественной компании TektonIT. Причин этому несколько, но перейти к их перечислению достаточно сложно — что-бы не восприняли как рекламу, просто перечислим основные функции: 1. Возможность скрытой установки и работы; 2. Связь через сервер, а не к IP напрямую; 3. Возможность управления большим парком компьютеров; 4. ПО легально, имеет ЭЦП; 5. Файлы самой программы детектируются небольшим количеством антивирусов — ничего даже криптовать не нужно (5-20 в зависимости от версии); 6. Простота использования на уровне средних классов школы. Если кратко, то технологическая суть работы такова: 1. На компьютер «жертвы» в скрытом режиме устанавливаются файлы RMS, причем иногда даже с помощью официального инсталлера, хотя чаще «вручную» — скрипт кладет файлы в нужную папку и запускает их «тихую» регистрацию или регистрирует их сам; 2. Хозяину на почту приходит ID и пароль; 3. В ботнете +1. Реализуется это в виде SFX-архива с bat-файлом, который все сделает или в виде NSIS-инсталлера. В помощь начинающим есть много статей с красивыми скриншотами, где подробно описывается, как создавать такой архив… батник и сами файлы к статье, естественно, приложены. Для особо одаренных снимаются даже видео-мануалы (в большом количестве) и делаются «билдеры» — красивое окошечко, куда надо ввести свои данные (куда пароль и ID отправлять) — и все сделается само. В сознании некоторых интеллектуалов настолько прочно закрепилось, что RMS это хакерская утилита, что они даже… в общем смотрите сами: А с другой стороны баррикад тоже не все спокойно — нервные админы и пользователи штурмуют саппорт вопросами «доколе?!» — то один антивирус что-то удалит, то другой, то пользователи подозревают админа. Саппорт разводит руками, предлагает писать напрямую антивирусам, дескать, чем больше напишут, тем скорее удалят ложное срабатывание. Потом выпускают новую версию — там детектов нет, но через некоторое время снова появляются и все возвращается на круги своя. Но есть еще и третья сторона баррикад, которую обычно никто не замечает и вообще не считает стороной, ведь у стены вообще две стороны, как принято считать, но тут не все так просто, есть еще антивирусы, которые держат круговую оборону: нужно защищать пользователей от злобных хакеров, нужно общаться с менеджерами/юристами из TektonIT и отмахиваться от админов, вопрошающих про неудобства, дескать наша контора платит за антивирус не для того, чтобы он легальное ПО сносил под корень. На текущий момент антивирусная наука дошла до следующих высот: 1. Именем детекта в меру фантазии пытаются донести информацию о том, что это такое (встречаются следующие составные части имен: RemoteAdmin, RMS, Riskware, RemoteUtilities, not-a-virus… и т.д, и даже по три штуки таких вот подсказки некоторые умудряются в имя детекта всунуть); 2. Алерты на подобное ПО отличаются более мягкой цвето-звуковой гаммой, дабы не выводить пользователя из состояния душевного равновесия; 3. Детектирование подобного класса ПО можно целиком отключить в настройках антивируса; 4. И еще — это сугубо «национальная» проблема — дальше СНГ обычно это не распространяется. Программа русская, билдеры на русском, распространяется спамом и социальной инженерией, поэтому большинство зарубежных антивирусных компаний попросту не в курсе, что тут у нас такое творится. Конечно, в их вирлабы файлы поступают (с того же самого virustotal), но им, судя по всему, плохо видна ситуация в нашем регионе, а вот российские антивирусы и некоторые зарубежные (у кого большой штат в нашей стране) в меру своих сил стараются попортить крови вирусмейкерам. Вот как обстоят дела с билдером с NSIS: В этом билдере даже вводить ничего не нужно — на почту отсылки нет, ID+pass генерируются на этапе сборки и сохраняются в файл. Данная поделка для уменьшения количества сигнатурных детектов использует достаточно популярный способ — создание архива под паролем: все файлы RMS находятся в запароленном архиве, а при установке в параметрах командной строки архиватору (он на борту) дается пароль к архиву. Такой финт позволяет обойти проверку файла на диске (обычно антивирусы не брутят пароли), но (при наличии детекта) при установке файлы будут распакованы и обнаружены антивирусным монитором (если он включен, конечно). Отдельным классом можно поставить патченные версии RMS — когда посредством реверсинга исследуется файл и из него «вырезается» (нопается, джампается) лишний функционал, например, отображение пользователю окна о том, что данные о доступе на его компьютер будут направлены на такой-то e-mail адрес (начиная с одной из версий появился такой функционал). Иногда патчинг применяется для сбития детектов антивирусов и для маскировки (перебивается versioninfo, строки в файле), в итоге файл через некоторое время начинает детектироваться уже не как Remote Tool (об этих детектах сказано выше), а как троян или бэкдор, причем по злому — не 10 антивирусами, а 30… ведь подпись на файл слетает в таком случае и это получается с точки зрения отвлеченного вирлаба в вакууме уже обычный зловред. В некоторых случаях билдер служит только для записи в текстовый ini-файл с настройками, а вся работа по патчингу/конфигурированию самого билда сделана уже автором. Вот пример такого билдера: Иногда могут использоваться костыли в виде скриптов, мониторящих появление окон от RMS для их моментального сокрытия и даже в виде библиотеки dll, которая поставит в процессе нужные хуки и будет менять логику работы процесса в сфере отображения окон. Эти двухстрочные скрипты практически не детектируются, а библиотека обнаруживается более, чем 30 антивирусами, чем сильно подвергает риску всю операцию, потому она применяется крайне редко. Если искать в поисковике имена детектов на RMS, то можно видеть, что для широкой публики (а не для ручного заражения с помощью соц.инженерии читеров в чате) используются комбинации, получающиеся не из паблик-билдеров, а из статей об этом — судя по форумам такие сборки продаются и даже билдеры к ним, их суть в том, что инсталлирование производит bat-файл — устанавливает в скрытом режиме легальный msi-инсталлер. Соответственно, у антивируса только две возможности пресечь это — детектировать bat-файл (а их легко изменять и «сбрасывать» детекты) и сами файлы RMS. Если же антивирус не детектирует конечные файлы, а во время попадания такого троянского слона на компьютер детекта на batник не было, то все тщетно — даже если следующими обновлениями он начнет детектироваться, то будет поздно, т.к для работы RMS он уже не нужен и его можно сдавать в утиль с чистой совестью. Хочется отметить, что данный инструмент используют как начинающие хакеры (школьники, скрипт-киддисы и т.д), так и «работающие на постоянной основе», те, для кого это хлеб. Подобные доступы продаются на форумах сотнями по смешным ценам: Подобные атаки используются не только для добычи уже привычного профита (пароли, деньги), но и для продажи людям с избытком каких-то гормонов — доступы к компьютерам девушек, которые часто находятся перед компьютером в раздетом виде.

Уже в процессе написания этой статьи, «Лаборатория Касперского» 11 сентября опубликовала«Расследование инцидентов: хищение в системе ДБО», что придало нам вдохновения, дескать «правильным путем идете, товарищи!», ведь там фигурировал именно исследуемый нами класс вредоносного ПО — именно им было произведено заражение. Поэтому мы решили достать описываемый зловред и дополнить статью Лаборатории Касперского новыми плюшками…

Описываемая рассылка эксплоита была произведена в января 2014 года. При открытии документа производилась закачка и запуск файла, который из себя представлял 7z-sfx архив, распаковывающий архив паролем COyNldyU, передав его командной строкой (у ЛК мог быть другой билд данного зловреда, немного другой модификации, но они крайне близкие родственники — все поведение и имена совпадают практически полностью). После чего запускался bat-файл, извлеченный из запароленного контейнера, который производил установку в систему файлов RMS (патченных). Данный батник интересен тем, что работал крайне корректно — предварительно пытался удалить самого себя из системы прибитием процессов и завершением/удалением служб, а также проверял права в системе, в случае недостатка которых мог устанавливаться в %APPDATA%\Microsoft\System, а настройки писать в HKCU\SOFTWARE\System\System\Install\Windows\User\Server\Parameters. Также осуществлялся патчинг и апдейт виндового RDP (судя по всему, чтобы при удаленном подключении текущего юзера не выкидывало), путем запуска кучи консольных утилит в скрытом режиме. В заключение мы бы хотели познакомить с ситуацией по детектам. Номинации следующие: 1. Детект файла rutserv.exe из разных версий RMS. Чтобы не помогать в этом деле хакерам (слишком наглядно будет видно какую версию какое количество и каких антивирусов обнаруживает) сделаем следующим образом: Если антивирус обнаруживает не менее 75% — ему плюс, менее половины — минус, оставшийся интервал даст ±; 2. Детект файла из под второго билдера (он всегда одинаков, а конфиг разный); 3. Детект bat-файлов для установки RMS в систему — взяли их из разных статей о самостоятельной сборке данного зловреда и несколько с форумов, где наоборот пытаются эту заразу реверснуть/избавиться и выкладывали файлы. Оформление результатов — аналогично первому пункту; 4. Bat-файл, описанный в статье от KasperskyLab. Собственно, на изображении результаты видны, но мы попробуем дать им свою трактовку: 1. Как и следовало ожидать, три российских антивируса показали очень достойные результаты, что говорит об их пристальном внимании по отношению к данному классу вредоносного ПО. Касперский традиционно показывает хорошие результаты, Dr.Web практически полностью ориентирован на внутренний рынок (особенно гос. конторы и крупный бизнес), команда Outpost — создатели легендарного фаервола, как оказалось тоже упорно борются с супостатом… А зарубежным антивирусам мы предлагаем «в три раза увеличить крайнюю озабоченность».

2. Товарищи (VBA32) из братской республики Беларусь как-то немного странно отнеслись к данному семейству. Возможно, что нечаянно…, но если нам хочется поиграть в конспирологию, то сложится достаточно интересный пазл: во-первых, этот антивирус сугубо внутренний — гос.

предприятия на нем, во-вторых, их КГБ уже было замечено в любви к заражению своих граждан программкой RMS.

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

Эпилог

Не вывод, а именно эпилог. Мы не знаем какие из этого можно сделать выводы.

Если бы это был диплом/автореферат, то, согласно правилам, мы бы тут порастекались по древу, а так… Из того, что мы наисследовали, постарались рассказать самое интересное и полезное, чтобы читатель не заснул — разбавили веселыми картинками и постарались не перегружать статью терминологией и узкопрофильными моментами (аля листинги асм-кода, скриншоты с подчеркиванием важных мест красным). Наши слова о слежке через камеру за не сильно одетыми лицами (и не только) слабого пола мы все-таки не решились иллюстрировать скриншотами. Надеемся, что статья от этого не стала менее содержательной и интересной.

Спасибо за внимание.

Хабы:

  • Информационная безопасность
  • 16 января 2020 в 11:31
  • 28 ноября 2019 в 21:02
  • 5 июля 2019 в 21:24

Источник: https://habr.com/ru/post/238495/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.