Версия для печати темы (https://pro1c.org.ua/index.php?s=87ac08afdf5813de7dccff077f76d189&showtopic=934)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ 1С:Предприятие 8.1 _ Взлом сервера с помощью 1С:Предприятие 8.1

Автор: Vofka 05.10.09, 9:11

Взлом - это углубленное изучение (с)

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

Все бы было хорошо, но в этот раз второпях выделили мне не того пользователя, не с правами администратора, а с правами какого-то удаленного оператора, и передо мной открылся по максимуму урезанный интерфейс «восьмерки», без возможности смены. Свертываю 1С – вижу абсолютно пустой рабочий стол, даже кнопка «Пуск» отсутствует. Сразу видно, сисадмин постарался, чтобы этот самый «удаленный оператор» не лез куда ему не нужно, не смотрел, что не нужно, и кроме пары рабочих документов в 1С ничего не мог открыть. Но мне-то нужно! Нужен конфигуратор, например. Даже – не конфигуратор: достаточно «прощупать» базу собственным отчетом, который бы выводил то, что мне нужно, в табло. Но вот вопрос: как его забросить на компьютер, где сделано все возможное, чтобы этого не допустить?

Все гениальное возникает на стыке технологий. Впрочем, и абсурдное тоже. Интуитивно тыкаю кнопку «Файл» в меню 1С – единственное место на экране, где хоть что-то есть. Вижу пункт «Новый», вижу в списке среди прочего html-документ…

Решил попробовать: вдруг разработчики 1С таки оставили возможность «пошалить». Перехожу к закладке «Текст», стираю всю сгенерированную там муть, и пишу простенький код:

<html><head>
<script language=javascript>
alert("Hello, world");
</script>
</head><body></body></html>


Затаив дыхание, щелкаю по просмотру… На экране появляется веселое окошечко с приветливым заголовком Microsoft Internet Explorer. Ну надо же! А я и не надеялся…

Ну чем Explorer с включенными скриптами - не лазейка на закрытый компьютер через rdp? При желании, я его теперь даже отформатирую удаленно!

Но форматировать пока рано: нужно закинуть туда всего лишь свой отчетик. Для этого использую мой любимый файлообменник, а в открытом для смелых идей компоновщике web страниц вместо жизнерадостного алерта с «хелловорлдом» пишу более претенциозное: document.location=”http://www.webfile.ru”; Жму просмотр, забираю скинутый только что свой отчет, сохраняю на рабочем столе для разнообразия. Не люблю пустующих рабочих столов… wink.gif

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

Что мешает таким же образом, через файлообменник кинуть на удаленный, закрытый от всего (почти от всего) компьютер, скажем, Total Comander, настроить в нем ftp, найти их базу и выгрузить куда-нибудь? Дома-то работать сподручнее! Конечно, только если это – сервер. А если не сервер, то значит, там есть сеть, а в сети тоже можно найти что-нибудь интересное…

Впрочем, вместо тотала можно забросить и что-то более веселенькое, да все, что угодно! Забросить и запустить прямо с рабочего стола, например, собственную программу, работающую с реестром… А можно и не с рабочего стола, а прямо из эксплорера, благо, он сам дает возможность не оставлять следов, когда спрашивает по поводу exe-файла, сохранить его, или запустить… Ну чем не взлом?

Кульминацией всего было то, что я вспомнил про свою переписку когда-то с одним хаккером, и про его восхищенные излияния про возможность использования в эксплорере разных ole-объектов, например, вот этот: ActiveXObject("Scripting.FileSystemObject"); Зачем, спрашивается, коммандер, когда есть такое…

Кстати, очень легко можно было бы этот комп завесить, если бы на то подвернулся повод. Как, спрашивается, проще всего завесить Windows – если не созданием этих самых windows? Для этого, в полюбившемся нам компоновщике меняем вторично содержимое нашего скрипта, и вместо window.location ставим:

for(var k=0; k<10000; k++)
window.open("about:blank");


Попробуйте у себя ради прикола, конечно, снизив число в цикле хотя бы до 5…

Но поговорим еще о скриптах. Поскольку могучий Эксплорер поддерживает и WBScript, то ни что не мешает отправить сервак на перезагрузку, если незадачливый работодатель сделал вас всего лишь удаленным оператором. Понятно, что такая процедура – весьма не желательна в разгар рабочего дня, когда на сервере висит куча других удаленных операторов и не только…

ExitWindows, может, в XP и не сработает, а вот rundll32 krnl386.exe,exitkernel должен smile.gif

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

<script language="vbscript">
<!--
Set Shell=CreateObject("WScript.Shell")
Shell.Run("rundll32 mouse,disable")
-->
</script>


А если вы - приверженец старой школы, и считаете мышь вообще вредной ошибкой в истории компьютеров, то запретите ее навечно, прописав это в реестр с помощью того же VB!

WshShell.RegWrite"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesMad", "rundll32 mouse,disable"


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

Личный сайт автора статьи: _http://www.belkamag.ru/

Автор: Vond 05.10.09, 10:24

такое уже читал, не в одном месте. И тут же ответы многих: при грамотной секьюрити это все не прокатит. Да, сам как то удивлялся - закручены (на приметивном уровне) права юзера. 1С запускается как приложение по умолчанию. никакого эксплорера. Нажимаю "Меню \ Открыть..." и на папке в окошке через контекстное меню "Проводник" - и чудо (если его таковым можно назвать) Вижу оболочкку, файлы на сервере, далее могу мутить в пределах прав как хочу smile.gif
Так что все эти вещи как "защита от дурака". Подготовленный спец всегда добьется своего smile.gif

Автор: Ardi 05.10.09, 13:37

Бред, столько языков знает, и даже не попытался запустить Explorer (не интернет а просто).

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua