Что такое атака dns hijacking и как ее предотвратить?

Что такое DNS

DNS означает систему доменных имен, которая действует как база данных соответствий IP-адресов веб-сайтов, которые пользователь посещает через браузер. Когда вы вводите URL-адрес веб-сайта в браузере, интернет-провайдеры не могут напрямую подключить вас к сайту только по адресу домена. Вам нужен совпадающий или соответствующий IP-адрес серверам этого сайта для связи между вашим браузером и сайтом.

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

Какой DNS-сервер вы используете?

Он принадлежит вашему интернет-провайдеру. Маршрутизатор Wi-Fi действует как путь для ваших DNS-запросов, которые достигают DNS-сервера, а затем передаются на веб-сайт.

Вы всегда можете проверить, какой DNS-сервер использует ваше устройство для получения IP-адресов веб-сайтов, которые вы просматриваете, посетив этот веб-сайт – Какой у меня DNS-сервер?

Проверка проблем рекурсии

Чтобы рекурсия работала успешно, все DNS-серверы, используемые в пути рекурсивного запроса, должны иметь возможность отвечать и пересылать правильные данные. В противном случае рекурсивный запрос может завершиться ошибкой по любой из следующих причин:

  • Время ожидания запроса истекает до того, как запрос будет выполнен.

  • Сервер, используемый во время запроса, не отвечает.

  • Сервер, используемый во время запроса, предоставляет неверные данные.

Начните устранение неполадок на сервере, который использовался в исходном запросе. Проверьте, пересылает ли этот сервер запросы другому серверу, проверив вкладку Серверы пересылки в свойствах сервера в консоли DNS. Если установлен флажок Включить серверы пересылки и указан один или несколько серверов, этот сервер перенаправит запросы.

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

Если сервер работоспособен и может пересылать запросы, повторите этот шаг и проверьте сервер, на который этот сервер пересылает запросы.

Если этот сервер не перенаправит запросы другому серверу, проверьте, может ли этот сервер запрашивать корневой сервер. Для этого выполните следующую команду:

  • Если сопоставитель возвращает IP-адрес корневого сервера, вероятно, у вас неработает делегирование между корневым сервером и именем или IP-адресом, которые вы пытаетесь разрешить. Выполните процедуру , чтобы определить, где неработает делегирование.

  • Если сопоставитель возвращает ответ «Истекло время ожидания запроса к серверу», проверьте, указывают ли корневые указания на функционируют корневые серверы. Для этого используйте процедуру . Если корневые указания указывают на работающие корневые серверы, может возникнуть проблема с сетью или сервер может использовать расширенную конфигурацию брандмауэра, которая не позволяет сопоставителям запрашивать сервер, как описано в разделе . Также возможно, что рекурсивное время ожидания по умолчанию слишком короткое.

Тестирование неработаемого делегирования

Начните тесты в следующей процедуре, запросив допустимый корневой сервер. Тест позволит выполнить запрос ко всем DNS-серверам от корневого до сервера, на который вы тестируете неработающее делегирование.

  1. В командной строке на тестируемом сервере введите следующее:

    Примечание

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

  2. Если ответ содержит список записей ресурсов «NS» и «A» для делегированных серверов, повторите шаг 1 для каждого сервера и используйте IP-адрес из записей ресурсов «A» в качестве IP-адреса сервера.

    • Если ответ не содержит записи ресурса «NS», делегирование нарушено.

    • Если ответ содержит записи ресурсов «NS», но нет записей ресурсов «A», введите set recursion и запросите по отдельности записи ресурсов «A» серверов, перечисленных в записях «NS». Если вы не нашли хотя бы один допустимый IP-адрес записи ресурса «A» для каждой записи ресурса NS в зоне, делегирование будет нарушено.

  3. Если вы определили, что делегирование нарушено, исправьте его, добавив или обновив запись ресурса «A» в родительской зоне, используя допустимый IP-адрес для правильного DNS-сервера для делегированной зоны.

Просмотр текущих корневых подсказок

  1. Запустите консоль DNS.

  2. Добавьте DNS-сервер, на который не удалось выполнить рекурсивный запрос, или подключитесь к нему.

  3. Щелкните правой кнопкой мыши сервер и выберите Свойства.

  4. Щелкните Корневые подсказки.

Проверьте базовое подключение к корневым серверам.

  • Если корневые указания настроены правильно, убедитесь, что DNS-сервер, используемый в разрешении имен с ошибкой, может проверить связь между корневыми серверами по IP-адресу.

  • Если корневые серверы не отвечают на связь по IP-адресу, ВОЗМОЖНО, IP-адреса корневых серверов изменились. Однако нечасто можно увидеть перенастройку корневых серверов.

Принцип работы DNS и фальшивого DNS

Если сказать очень упрощённо, то, когда в строку браузера мы вводим адрес сайта, например https://hackware.ru/, то компьютеру этот набор символов ничего не говорит. Он обращается к специально предназначенному для этого компьютеру в Интернете (DNS серверу) и спрашивает его, по какому адресу расположен домен hackware.ru. Сервер отвечает IP адресом. После этого наш компьютер обращается уже по IP адресу к серверу, на котором размещён hackware.ru. При этом в строке браузера ничего не меняется и для пользователей всё это происходит незаметно. Ещё раз повторю, это упрощённая, фактически, не совсем верная модель, но суть она отражает и для наших целей подходит идеально.

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

  • он может отсылать неверный IP для всех запросов (так мы заблокируем Интернет подключение)
  • он может отсылать неверный IP для конкретных сайтов (остальные сайты будут работать, а некоторые – нет)
  • он может отсылать IP сервера, на котором будет копия настоящего сайта, при этом при вводе логина и пароля они будут сохраняться для нас.

При этом, если мы выбрали подменять информацию только для определённых сайтов, то для всех остальных наш DNS прокси будет спрашивать верные IP у настоящего DNS сервера, а потом переправлять верный ответ.

Что такое утечка DNS?

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

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

Зачем нужна технология DNS и как она работает

DNS — фундаментальная технология современной интернет-среды, которая отвечает за хранение и обработку информации о доменных адресах. Инструмент используется для преобразования доменных имен в IP-адреса в момент отправки пользователем запроса на сервер. IP-адрес — уникальный числовой идентификатор устройства. Он позволяет узнать, откуда загружается страница нужного сайта. Получается, технология DNS служит своеобразной «телефонной книгой», в которой хранится база доменных имен и их адресов.

Работу DNS-технологии в качестве этой самой «телефонной книги» обеспечивает  DNS-сервер— оборудование или программное обеспечение, с помощью которого предоставляется доступ к системе доменных имен, хранятся данные о соответствии конкретного IP-адреса соответствующему домену, а также осуществляется кэширование информации в виде IP-адреса и соответствующего ему домена других DNS-серверов.

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

Ниже список самых популярных и общедоступных DNS-серверов (актуально на октябрь 2021):

  • Google: 8.8. 8.8 & 8.8. 4.4.
  • Quad9: 9.9. 9.9 & 149.112. 112.112.
  • OpenDNS: 208.67. 222.222 & 208.67. 220.220.
  •  Cloudflare: 1.1. 1.1 & 1.0. 0.1.
  • CleanBrowsing: 185.228. 168.9 & 185.228. 169.9.
  • Alternate DNS: 76.76. 19.19 & 76.223. 122.150.
  • AdGuard DNS: 94.140. 14.14 & 94.140.

Схема работы DNS-технологии

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

Принцип работы DNS-технологии

Затем браузер делает запрос на сервер по этому IP-адресу и после получения ответа отображает страницу ресурса.

Выделим основные характеристики DNS-технологии:

  • Хранение и управление данными распределенного характера. То есть отдельный DNS-сервер хранит только информацию по делегированным ему доменам.
  • Кэширование данных.При помощи кэширования ускоряется загрузка нужной информации с сервера. Ведь при обращении к любому ресурсу (даже при запросе внутренних страниц) серверы проверяют связь домена и IP-адреса. Но если запрашиваемый ресурс расположен, допустим, в другой точке мира, то скорость его загрузки может быть довольно медленной. Например, пользователь регулярно делает запросы на ресурс, который находится в другом государстве. Расположенный ближе всего к пользователю DNS-сервер кэширует данные о ресурсе и при следующим запросе выдает их клиенту максимально быстро. Источником кэширования, из которого поступают данные о сайте, являются первичные и вторичные DNS-серверы.
    Для уменьшения уровня нагрузки DNS-сервер может хранить некоторое время определенное количество информации о других, не делегированных ему доменах.
  • Резервирование. Несколько изолированных логически и физически DNS-серверов хранят и обрабатывают информацию об одних и тех же узлах. Благодаря такому подходу обеспечивается доступность информации даже при сбое одного или нескольких серверов.
  • Иерархическая структура. База доменных имен организована по принципу иерархии: корневой домен расположен на верхнем уровне, к которому примыкают домены первого уровня, к ним присоединяются домены второго уровня и т.д.

Как работают DNS-серверы:

  • Пользователь вводит запрос в строке браузера. Тот в свою очередь перенаправляет его DNS-серверу, который ищет совпадения между доменным именем и IP. При обнаружении совпадений браузер делает запрос по IP-адресу сервера и получает в ответ нужную информацию, после чего браузер отображает ее. Если совпадения не обнаружены, тогда запрос перенаправляется корневому серверу.
  • Корневой сервер снова перенаправляет запрос серверу первого уровня, а тот отправляет запрос серверу второго уровня. Процесс продолжается до тех пор, пока совпадение не будет найдено.
  • Как только IP-адрес найден, браузер направляет запрос серверу, получает ответ и отображает полученную информацию.

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

Как настроить эти игровые DNS-серверы?

  • Запустите Control Panel на вашем компьютере.
  • Нажмите на Network and Internet -> Network and Sharing Center -> Change adapter settings -> затем дважды нажмите на ваше текущее активное соединение.
  • Теперь нажмите на Свойства -> Выберите Протокол Интернета версии 4 (TCP/IPv4) -> и нажмите на Свойства .
  • Теперь нажмите на радиокнопку Use the following DNS server addresses и измените IP-адреса DNS, как обсуждалось в этой статье.

Нажмите на кнопку Ok , чтобы применить желаемые изменения.

Заключение

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

Виды атак

  Основной причиной такой подверженности DNS-систем угрозам является то, что они работают по протоколу UDP, более уязвимому, чем TCP.

  Существует несколько способов атаки на DNS. Первый тип – это создание обманного DNS-сервера вследствие перехвата запроса. Механизм данной атаки очень прост. Хакер – атакующий, ждет DNS-запроса от компьютера жертвы. После того как атакующий получил запрос, он извлекает из перехваченного пакета IP–адрес запрошенного хоста. Затем генерируется пакет, в котором злоумышленник представляется целевым DNS–сервером. Сама генерация ответного пакета так же проста: хакер в ложном ответе жертве в поле IP DNS– сервера прописывает свой IP. Теперь компьютер жертвы принимает атакующего за реальный DNS. Когда клиент отправляет очередной пакет, атакующий меняет в нем IP-адрес отправителя и пересылает далее на DNS. В результате настоящий DNS-сервер считает, что запросы отправляет хакер, а не жертва. Таким образом, атакующий становится посредником между клиентом и реальным DNS–сервером. Далее хакер может исправлять запросы жертвы по своему усмотрению и отправлять их на реальный DNS. Но перехватить запрос можно, только если атакующая машина находится на пути основного трафика или в сегменте DNS–сервера.

  Второй способ атаки применяется удаленно, если нет доступа к трафику клиента. Для генерации ложного ответа необходимо выполнение нескольких пунктов. Во-первых, совпадение IP-адреса отправителя ответа с адресом DNS-сервера. Затем, совпадение имен, содержащихся в DNS–ответе и запросе. Кроме того, DNS–ответ должен посылаться на тот же порт, с которого был отправлен запрос. Ну и, наконец, в пакете DNS–ответа поле ID должно совпадать с ID в запросе.

  Первые два условия реализуются просто. А вот третий и четвертый пункт — сложнее. Обе задачи решаются подыскиванием нужный порта и ID методом перебора. Таким образом, у хакера есть все необходимое, чтобы атаковать жертву. Механизм этой атаки заключается в следующем. Жертва посылает на DNS–сервер запрос и переходит в режим ожидания ответа с сервера. Хакер, перехватив запрос, начинает посылать ложные ответные пакеты. В результате на компьютер клиента приходит шквал ложных ответов, из которых отсеиваются все, кроме одного, в котором совпали ID и порт. Получив нужный ответ, клиент начинает воспринимать подставной DNS–сервер как настоящий. Хакер же, в свою очередь, в ложном DNS ответе может поставить IP-адрес любого ресурса.

  Третий метод направлен на атаку непосредственно DNS–сервера. В результате такой атаки по ложным IP-адресам будет ходить не отдельный клиент-жертва, а все пользователи, обратившиеся к атакованному DNS. Как и в предыдущем случае, атака может проводиться из любой точки сети. При отправке клиентом запроса на DNS–сервер, последний начинает искать в своем кэше подобный запрос. Если до жертвы такой запрос никто не посылал, и он не был занесен в кэш, сервер начинает посылать запросы на другие DNS-сервера сети в поисках IP–адреса, соответствующего запрошенному хосту.

Сегодня любая компания осуществляет коммуникации через интернет и, следовательно, может стать жертвой DNS-атак

  Для атаки хакер посылает запрос, который заставляет сервер обращаться к другим узлам сети и ждать от них ответа. Отправив запрос, злоумышленник начинает атаковать DNS потоком ложных ответных пакетов. Напоминает ситуацию из предыдущего метода, но хакеру не надо подбирать порт, так как все сервера DNS «общаются» по выделенному 53 порту. Остается только подобрать ID. Когда сервер получит ложный ответный пакет с подходящим ID, он начнет воспринимать хакера как DNS и даст клиенту IP–адрес, посланный атакующим компьютером. Далее запрос будет занесен в кэш, и при последующих подобных запросах пользователи будут переходить на подставной IP.

Что такое DNS сервер

Основное предназначение DNS серверов — это преобразование доменных имен сайтов в IP адреса, за которыми эти домены закреплены. Простыми словами, вводя в браузере домен Google.com, DNS сервер смотрит за каким IP адресом закреплен данный домен, и загрузка страницы сайта происходит через IP адреса.

Ниже представлен пример определения DNS серверов на сайте Whoer.net.

Из примера видно, что мы подключились к VPN и скрыли свой IP адрес (IP принадлежит Великобритании), но при этом DNS сервер выдает наше реальное местонахождение (США).

В данном случае, проблема лежит в принципе работы DNS службы Windows. При подключении к VPN по-умолчанию запрос посылается на DNS VPN сервера. Затем DNS служба Windows ждет 2 секунды, и если ответ не пришел, то посылает запрос на следующий DNS сервер, находящийся в списке ОС Windows. Как раз следующие DNS сервера и принадлежат вашему Интернет-провайдеру, но имеют меньший приоритет по сравнению с DNS VPN сервера.

DNS VPN сервера может не успевать отвечать на запрос вовремя из-за географической удаленности VPN сервера от вас, в то время как DNS сервер вашего провайдера располагается в вашем городе. Также на это может влиять качество прохождения сигнала от вашего Интернет-провайдера до VPN сервера.

Решение: принудительно использовать нужный нам DNS сервер. В этом случае мы однозначно укажем операционной системе, что нужно использовать только указанные DNS сервера и тогда в списке DNS службы Windows не будут значиться DNS сервера вашего реального провайдера.

Наш VPN клиент Secure Kit умеет защищать от утечки DNS leak автоматически. Узнайте подробнее про Secure Kit.

Как скрыть свой реальный DNS на серверной Linux

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

Внимание: мы снимаем с себя ответственность за последствия

Зайдите на сервер под root пользователем (или под обычным пользователем, но у вас должны быть привилегии исполнять команды под sudo).

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

sudo nano /etc/resolv.conf

  1. Если у вас установлен resolvconf, то в этом файле будет сообщение, что после перезагрузки ОС все изменения в этом файле будут утеряны и настройки вернутся по умолчанию на 127.0.1.1. Так как мы меняем DNS сервер временно, то нас это устраивает.
  2. Запишите DNS сервер, указанный по умолчанию в этом файле. Затем измените DNS сервер. Например, можно взять DNS сервер от Google или OpenDNS.

Google DNS:
— 8.8.8.8
— 8.8.4.4

OpenDNS:
— 208.67.222.222
— 208.67.220.220

Для сохранения в редакторе nano нажмите:

  1. Ctrl+X для выхода из редактора
  2. клавишу Y для сохранения изменений в файле
  3. клавишу Enter для подтверждения сохранения в тот же файл

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

для Debian и Ubuntu введите команду:

sudo /etc/init.d/networking restart

для CentOS и Red Hat Linux введите команду:

sudo /etc/init.d/network restart

Сетевой интерфейс перезагрузится и DNS leak будет устранена.

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

Как работает Dynamic DNS?

Каждый роутер, который подключен к интернету, получает от провайдера внешний IP-адрес. Но проблема в том, что провайдер чаще всего выдает динамический IP-адрес, а не статический.

Динамический внешний IP-адрес, который провайдер выдает роутеру, будет постоянно меняться (провайдер каждый раз выдает роутеру новый адрес). И, если вы заранее настроили доступ к вашей локальной сети по одному айпишнику, то после изменения адреса настройки придётся менять. А это как минимум неудобно.

Здесь нам пригодится Dynamic DNS, который позволяет присвоить постоянное доменное имя (адрес для доступа из интернета) публичному, динамическому IP-адресу, который роутер получает от провайдера. С помощью этой функции можно получить постоянный адрес для доступ к нашему роутеру, даже если провайдер выдает постоянно меняющийся динамический IP-адрес.

Есть различные сценарии использования функции Dynamic DNS:

  • веб-сервер;
  • FTP-сервер;
  • игровой сервер;
  • доступ к настройкам маршрутизатора;
  • доступ к сетевому накопителю NAS;
  • доступ к IP-камере.

Чем опасны DNS-атаки

  Во–первых, в результате DNS-атак пользователь рискует не попасть на нужную страницу. При вводе адреса сайта атакованный DNS будет перенаправлять запрос на подставные страницы.

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

  Атаки на DNS – далеко не новая стратегия хакеров, однако только недавно борьба с этим видом угроз стала принимать глобальный характер. «В прошлом уже происходили атаки на DNS–сервера, приводящие к массовым сбоям. Так, например, в декабре прошлого года из-за подмены DNS–записи в течение часа для пользователей был недоступен известный всем сервис Twitter. Акция носила политический характер, и вместо интерфейса социальной сети на главной странице ресурса отображались предостережения иранских хакеров по поводу американской агрессии. Но подобные атаки относятся к локальным инцидентам и не так серьезны. Куда опаснее атаки на корневые DNS–сервера. В частности, широкую огласку получили атаки в октябре 2002 года, когда неизвестные пытались «задедосить» 10 из 13 DNS–серверов верхнего уровня, и в 2009 году, когда пытались нарушить работу как минимум двух корневых серверов», — рассказал Алексей Шевченко, руководитель направления инфраструктурных решений российского представительства ESET.

Запуск и остановка DNS прокси

Запускать DNSChef нужно с ключом -i после которого должен идти IP вашего сервера (вашего VDS). Если вы по какой-то причине забыли IP вашего сервера, то узнать его можно, например, так:

ip a

Также для сохранения данных в файл можно воспользоваться опцией —logfile после которой указать путь до файла для сохранения истории запросов.

Ещё до самой команды можно поставить команду nohup, а после команды символ &; это приведёт к тому, что после закрытия терминала процесс продолжит свою работу в фоне (подробности здесь). Таким образом, если у меня IP 185.117.153.79, а сохранять данные я буду в файл /root/dns.log, то моя команда имеет полный вид:

sudo nohup dnschef -i 185.117.153.79 --logfile=/root/dns.log &

Просматривать записываемые данные можно, например, так:

cat /root/dns.log

Если вы хотите остановить процесс, то узнайте его pid с помощью

ss -pnau

Посмотрите, какой процесс прослушивает порт 53, а затем используйте команду

kill pid_процесса_на_порту_53

Как проверить соединение на утечку DNS

Вы всегда можете проверить утечку DNS, посетив эти два веб-сайта:

  • DNS leak test
  • IP/DNS Detect

Чтобы узнать, «герметично» ли соединение, посмотрите:

  • Совпадает ли полученный IP-адрес с IP-адресом VPN, а не вашим реальным.
  • Посмотрите, указано ли в результатах теста имя вашего интернет-провайдера, это сигнализирует об утечке DNS.

Не используйте инструмент проверки DNS, который предлагается в приложении VPN, поскольку он никогда не показывает правильный результат и не указывает на какие-либо дефекты в защищенном VPN-соединении.

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

Как скрыть свой реальный DNS на Ubuntu

Для устранения DNS leak в операционной системе Ubuntu на базе Linux, откройте раздел Соединения.

Выберите ваше подключение к Интернету и нажмите Изменить.

Выберите:

  1. Вкладку Параметры IPv4
  2. Автоматически (DHCP, только адрес)
  3. Укажите DNS сервер. Например, можно использовать публичные DNS сервера от Google или OpenDNS

Google DNS:
— 8.8.8.8
— 8.8.4.4

OpenDNS:
— 208.67.222.222
— 208.67.220.220

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

Нажмите на Управление сетью.

Появится сообщение Соединение разорвано.

Затем нажмите на Управлению сетью еще раз, чтобы включить соединение.

После этих действий, ваш реальный DNS сервер будет скрыт.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: