Опасные связи
26 сентября 2017
Вирус создал символические ссылки в каталоге клиентов Microsoft Security Client, в результате чего нам необходимо удалить как символические ссылки, так и недопустимые деревья каталогов. Но как удалить символические ссылки? Каждый раз, когда мы пытаемся удалить их, мы получаем ошибку.
Что такое «симлинки», о которых идет речь в цитате, и зачем они потребовались вирусописателям?
В UNIX-системах ссылки используются крайне широко, но в ОС Windows дело обстоит совершенно иначе. Ссылки – штука очень удобная, но о них нужно рассказывать подробно.
Возьмем для примера файл notepad.exe. Если мы просканируем Windows, то найдем этот файл как минимум в папках Windows и System32.
Windows, конечно, известна своими странными решениями, но держать несколько копий одного файла – это перебор. Зачем это нужно?
Дело в том, что в Windows 3.0 местом хранения блокнота была папка Windows, а в Windows NT 3.х – папка System32. Несмотря на то, что обе системы давно стали пыльной историей, блокнот до сих пор размещают в обеих папках. Интересно, что делается это не во всех операционных системах Microsoft, а если и делается, то различными способами! В Windows XP и Windows Vista в обеих папках лежит по файлу notepad.exe. А разработчики Windows Server 2008 решили убрать блокнот из папки Windows, оставив его только в System32. Наверное, они сочли, что на серверной системе устанавливается меньше прикладных программ, и вероятность попадания на несовместимую программу намного ниже.
Времена меняются, и удобные места для размещения файлов меняются вместе с ними, но держать несколько копий одного файла – странно, хотя бы с точки зрения места на диске. Что же делать?
Символическая («мягкая») ссылка (также «симлинк», от англ. Symbolic link) — специальная запись в файловой системе, в которой вместо пользовательских данных файла или директории содержится путь к нему, в результате при обращении к ссылке открывается не она, а файл, на который она указывает. Количество симлинков на файл (директорию) неограничено.
То есть файл остается один, но открывать его можно из разных мест: система при обращении к симлинку автоматически распознает путь к файлу и открывает именно его.
В ОС Windows место ссылок заняли ярлыки. Фактически это аналог симлинков. Очень удобно, когда вместо нечитаемого имени файла вы можете сделать ссылку на него, назвав его понятно.
Создать символьную ссылку в Windows 10, 8.1, 8, 7 очень просто. Открываем командную строку, нажав Win+R, вводим cmd и жмем ОК. Если вы собираетесь работать с системными файлами, может понадобиться командная строка с правами администратора.
Команда для создания символьной ссылки выглядит следующим образом:
mklink /j "путь, где будет создана символьная ссылка" "путь, где находятся исходный файл или папка"
Здесь /j — атрибут создания соединения для каталога. Если вы создаете ссылку на файл, этот атрибут указывать не надо.
К примеру, если я хочу создать символьную ссылку на папку mklink на локальном диске С как папку mk на диске С, мне нужно ввести следующую команду (и да, символьная ссылка может называться не так, как исходный файл или папка):
mklink /j "C:\mk" "E:\mklink"
В результате мы получим вот это.
https://geekteam.pro/kak-sozdat-simvolnuyu-ssyilku-v-windows-10-8-1-8-7
В Windows есть альтернативный способ для папок:
- копируем папку, для которой нам нужно создать символьную ссылку;
- идем в каталог:
Папка AppData скрытая, для того чтобы включить отображение скрытых папок, воспользуйтесь этой статьейC:\Users\*имя пользователя*\AppData\Roaming\Microsoft\Windows\Network Shortcuts
- жмем правой клавишей по окну каталога и выбираем «Вставить ярлык». Система создаст символьную ссылку до исходного каталога и теперь ее можно перенести в нужное для вас место и переименовать.
У ярлыков и симлинков есть один недостаток – они никак не связаны с файлом или директорией, на которую указывают. В результате:
- если мы удалим файл, на который до этого указывала символическая ссылка (или ярлык), а потом заменим его на совсем другой, но с таким же именем, по существующей ссылке будет открываться новый файл. «Приятная приятность» для злоумышленника!
- если мы удалим файл, на который до этого указывала символическая ссылка (или ярлык), то она повиснет в воздухе, указывая в никуда.
Для решения второй проблемы предусмотрен другой вид ссылок – жесткие. Жесткую ссылку можно понимать как еще одно полностью равноправное имя файла. Грубо говоря, теперь файл имеет несколько имен – одно, данное ему при рождении, и сколько угодно «согласно документам». В результате, если мы хотим удалить файл, кликнув по его имени, то мы удалим лишь одно из имен. Файл останется доступен под другими именами и удалится, только когда будут удалены все имена.
О разнице в поведении жестких и символических ссылок можно почитать, например, здесь: http://lexpenz.com/notes/chem-otlichaetsya-zhyostkaya-ssylka-ot-simvolicheskoj.html
Символические ссылки легко определить – в файловом менеджере их видно по значку, а в результатах команды dir напротив ссылок пишется SYMLINK. Жесткие ссылки не очевидны, в прямом смысле этого слова.
Проверить уникальность блокнота можно в командной строке, запущенной от имени администратора. Команда fsutil покажет вам жесткие ссылки на файл:
fsutil hardlink list %windir%\notepad.exe
Сюрприз! Блокнотов в Windows не два! Еще два обнаруживаются в папке winsxs. А в 64-разрядной Windows их вообще шесть.
Это связано с тем, что в папке System32 лежат 64-разрядные версии файлов, в том числе блокнот (я выделил еще одну занятную нестыковку Windows, уходящую корнями в прошлое). А в папке SysWOW64 хранится 32-разрядная версия notepad.exe, которая имеет свою жесткую ссылку в папке winsxs, в чем вы можете убедиться самостоятельно.
Антивирусная правДА! рекомендует
Симлинки и хардлинки упрощают работу пользователя, но их возможности используют и злоумышленники.
Поэтому, обнаружив троянца, не поленитесь запустить антивирусный сканер. Все ссылки на вредоносный файл должны быть найдены и уничтожены.
Нам важно ваше мнение
Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.
Комментарии пользователей
Денисенко Павел Андреевич
23:14:22 2018-08-02
Неуёмный Обыватель
22:49:53 2018-06-23
Юрий
16:34:04 2018-06-05
vasvet
19:09:03 2018-04-04
eaglebuk
16:33:31 2017-10-03
А места на компьютере хватит на миллионы блокнотов)
Геральт
19:49:17 2017-09-28
AxooxA
00:10:40 2017-09-28
Игорь
21:47:32 2017-09-27
zsergey
19:07:21 2017-09-27
Влад
12:12:34 2017-09-27
Пaвeл
07:19:51 2017-09-27
razgen
01:11:19 2017-09-27
Andromeda
22:45:29 2017-09-26
Альфа
22:30:15 2017-09-26
dyadya_Sasha
21:58:13 2017-09-26
Natalya_2017
21:58:05 2017-09-26
DrKV
21:56:48 2017-09-26
1milS
21:40:56 2017-09-26
НинаК
21:20:10 2017-09-26
orw_mikle
21:00:44 2017-09-26
В...а
20:52:48 2017-09-26
Marsn77
20:51:48 2017-09-26
Dvakota
20:29:10 2017-09-26
vla_va
20:21:39 2017-09-26
Сергей
20:06:51 2017-09-26
Влад
19:45:13 2017-09-26
ek
19:37:32 2017-09-26
a13x
19:05:38 2017-09-26
Damir
18:28:11 2017-09-26
La folle
18:11:50 2017-09-26
Шалтай Александр Болтай
18:02:20 2017-09-26
Шалтай Александр Болтай
18:01:39 2017-09-26
kva-kva
17:48:19 2017-09-26
Tom
16:35:21 2017-09-26
razgen
16:27:04 2017-09-26
Toma
16:15:01 2017-09-26
mk.insta
16:11:15 2017-09-26
Alexander
15:23:00 2017-09-26
Спасибо за статью.
Sasha50
15:11:38 2017-09-26
Lia00
15:03:16 2017-09-26
sapfira
14:32:43 2017-09-26
Masha
14:05:30 2017-09-26
Alex_krg
13:59:34 2017-09-26
AlexeyOloryal
13:18:59 2017-09-26
vinnetou
13:02:45 2017-09-26
Дмитрий
12:54:56 2017-09-26
Dmur
12:48:55 2017-09-26
Oleg
12:21:40 2017-09-26
МЕДВЕДЬ
12:15:35 2017-09-26
jennywren
11:28:12 2017-09-26