Принадлежит ли директору компьютер директора. Часть 2 из 3. Файлы. Истории от kuzkov.info

Публикация № 1393876

Администрирование - Информационная безопасность

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

Вторая часть цикла статей о безопасности, в которой рассмотрим, как 1С программист может получать доступ к файлам любого компьютера на предприятии.

Отступление 

Первая часть: //infostart.ru/public/1391552/

Скачивание ваших файлов

В прошлой публикации мы рассмотрели возможности дистанционного доступа к экрану через запущенную 1С конфигурацию.
В этой публикации мы продолжим рассматривать обходные пути доступа к данным и обсудим файловую систему.
Да, и к файлам тоже может быть доступ через работающую 1С конфигурацию. :)

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

Возможный вариант выполнения этих этапов я опишу далее в публикации на примере создания паука файлов, который управляется с дистанционного сервера командами каждые 1-2 минуты.

Цель:
*) Делать пауком регулярные запросы для получения команды от сервера;
*) Иметь возможность сканировать диски компьютера;
*) Иметь возможность отправлять файл на дистанционный сервер;

Пример создания подсистемы "Паук файлов" может быть сделан в виде двух отдельных 1С конфигураций.

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

Вторая конфигурация "Сервер" предназначена для управления и приема отправленных с клиента файлов. Сервер будет на отдельном удаленном физическом сервере слушать по http get и post запросы с данными.

Асинхронный режим

Управление пауком и отправка файлов по сети это ресурсоемкая задача. Если это будет выполняться в основном потоке 1С, то клиент достаточно быстро спросит, почему у него каждые цать секунд подвисает 1С.

Чтобы интерфейс работал без заморозок, работа должна делаться в фоновом режиме.

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

Для включения асинхронного режима должно быть установлено свойство "Режим использования модальности" конфигурации в значение "Не использовать".






Установка паука файлов на клиенте

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

Для ускорения запуска 1С, перед скачиванием может быть выполнена проверка, что движки уже на клиенте и нет нужности в повторном скачивании.



Файлы устанавливаются во временную папку, которая находится настолько глубоко в иерархии папок, что эту папку никто не найдет.

Путь может выглядеть как "c:\Users\Имя Пользователя\AppData\Local\Temp\pauk_files" и найти его достаточно сложно.

Управление пауком файлов

Управление пауком файлов может выполняться через регулярные запросы команды от паука на управляющий сервер.
Для запуска регулярных запросов может использоваться служебная функция "ПодключитьОбработчикОжидания()" которая будет запускать get обращение к управляющему серверу.



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

В первой функции должен быть выполнен get запрос серверу для управляющей команды.
 


В данном коде выполняется запуск через szp.exe для скрытого запуска без мигающего черного экрана.

Основная команда для curl вынесена в bat файл для создания контекста, где будет сохраняться файл komanda.txt.



Таким образом файл komanda.txt будет сохранен рядом с curl.exe, а не где-то на дисках.

Содержимое komanda.txt может состоять из двух строк и быть следующих вариантов.

Для получения списка файлов

1) Сообщить список файлов папки
2) d:\vrem\

Для отправки файла на сервер

1) Передать файл
2) d:\vrem\Квадрат.png

Если команда на управляющем сервере отсутствует, то файл komanda.txt будет пустым. В таком случае паук проигнорирует пустой файл и снова выполнит запрос команды в следующем цикле.

Осмотр дисков и отправка файлов

Если получена команда "Сообщить список файлов папки", значит паук должен просканировать указанную папку и результат сканирования должен отправить на сервер.



Для предотвращения кракозябров при чтении файла на сервере, указываем кодировку utf-8 через команду chcp 65001.

Результатом сканирования должен быть файл "list_files.txt". В этом файле должен быть человекочитаемый список файловых ресурсов внутри указанной папки.



Созданный файл list_files.txt будет отправлен на сервер через curl.

Аналогичным образом через curl будет отправлен запрошенный файл, если пришла команда "Передать файл" с путем к файлу.

Создание команды для паука

Команда для паука должна быть создана на сервере следующим образом.

В списке регистра сведений "КомандыПаукуФайлов" в форме записи должны быть заполнены поля "ИмяПользователя", "ВозможнаяКоманда" и "ИмяФайловогоРесурсаМашиныКлиента".

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

Таким образом может быть указано обратившемуся пауку на какой машине что делать.

В ответ на запрос, пауку будет выдана команда в виде текстового файла из двух строк как результат get запроса.



Когда паук с клиента обращается за командой, автоматически устанавливается галочка "Команда прочитана пауком" и можно наблюдать, что команда отправлена.

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

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

Просмотр списка файлов

Для просмотра файловых ресурсов указанной папки должна быть щелкнута строка с возможной командой "Сообщить список файлов папки" и в правом текстовом поле должен отобразиться соответствующий список.

Текст списка имеет человекочитаемый форматированный вид и можно увидеть все имена вложенных файлов и папок.

Просмотр скачанного файла

Для просмотра скачанного файла должна быть щелкнута строка с возможной командой "Передать файл" и должна быть нажата кнопка "Скачать файл".



При щелчке на кнопке "Скачать файл" программа разберет имя запрошенного файлового ресурса, возьмет только имя файла и сохранит файл с указанным именем во временной папке.

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

Для открытия файла достаточно найти его в заранее определенной в коде временной папке. Например, это может быть "d:\temp\".

Предупреждения о незаконности и последствиях

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

Как минимум это ст.183 "Промышленный шпионаж" УК РФ. Если кто-то надумал этим заниматься, то подумайте еще раз.

Хочу напомнить, что посыл этой публикации направлен в основном обычным пользователям.

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

Но могу вас немного успокоить, если у вас в компании несколько программистов. Чем больше штат программистов, тем меньше вероятность что заведется мышка :)

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

Приложенные конфигурации

К публикации приложены конфигурации с единственной целью.

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

Запрещается использовать данные конфигурации в иных целях, кроме изучения.


kuzkov.info. Оставайтесь на связи !

Скачать файлы

Наименование Файл Версия Размер
Файлы. Клиент.

.zip 2,02Mb
1
.zip 2,02Mb 1 Скачать
Файлы. Сервер

.zip 14,77Kb
1
.zip 14,77Kb 1 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. TODD22 18 22.03.21 17:12 Сейчас в теме
Как то пригласили в одну компанию с 1С помочь.
Не идут остатки, формирую отчёт по остаткам, отчёт сформировался, но выскочила какая то ошибка, полез смотреть... в коде встроено логирование которое передаёт в СБ сведения о том кто и с какими отборами формирует отчёты.
Оставьте свое сообщение

См. также

Принадлежит ли директору компьютер директора. Часть 3 из 3. Защита. Истории от kuzkov.info

Информационная безопасность Бесплатно (free)

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

26.03.2021    510    Steelvan    0    

Принадлежит ли директору компьютер директора. Часть 1 из 3. Экран. Истории от kuzkov.info

Информационная безопасность v8 Абонемент ($m)

Описание примера программирования конфигурации 1С кодом, который может делать снимки экранов всех компьютеров на предприятии и отправлять их 1Снику для просмотра.

3 стартмани

05.03.2021    1625    Steelvan    32    

Ограничение доступа пользователей к внешнему отчёту на СКД

Роли и права v8 v8::Права v8::СКД 1cv8.cf Абонемент ($m)

Метод ограничения доступа пользователей к данным внешнего отчёта.

1 стартмани

04.04.2020    3295    user925427    14    

Права на объект (расширение, отчет)

Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.

1 стартмани

07.01.2020    26088    sapervodichka    25    

RLS - дубли условий в запросах к СУБД

Практика программирования Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

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

1 стартмани

07.10.2019    9199    geron4    4    

Аутентификация на внешних сервисах посредством OAuth

Информационная безопасность Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Пример подключения к сервисам Google из 1С с помощью протокола OAuth и получения данных с внешнего сервиса.

1 стартмани

03.04.2019    23524    binx    126    

Лицензия не получена: Ошибка программного лицензирования Error=-2147217394 (0x8004100E)

Администрирование данных 1С Информационная безопасность v8 Абонемент ($m)

Решение проблемы пропавшей лицензии и ошибки при ее восстановлении - "Лицензия не получена: Ошибка программного лицензирования Error=-2147217394 (0x8004100E)".

1 стартмани

06.04.2018    13186    a_titeev    4    

Защита данных платформы 1С: Предприятие

Информационная безопасность v8 v8::УФ 1cv8.cf Абонемент ($m)

Платформа 1С: Предприятие предоставляет возможности защиты данных и контроля доступа. Является ли это самоуспокоением?

1 стартмани

15.02.2018    9963    Ликреонский    13    

Пример добавления собственных ролей пользователям через расширение 1С

Практика программирования Информационная безопасность v8 v8::Права 1cv8.cf Абонемент ($m)

В публикации представлена пошаговая инструкция создания собственных ролей с использованием расширения 1С:Предприятие 8.3.10 и программа с примером.

1 стартмани

18.01.2018    45649    flyDrag    23    

Функция получения значения характеристики по ее наименованию

Практика программирования Информационная безопасность v8 1cv8.cf Россия Абонемент ($m)

Полезная функция для получения значения произвольной пользовательской, не предопределенной, характеристики из ПланВидаХарактеристик.НастройкиПользователей

1 стартмани

03.08.2012    8045    Sergeevich    7