Скрытие реального IP адреса сайта необходима в первую очередь для защиты сайта от DDoS-атак. Как правило, большинство использует для этого Cloudflare или другие CDN. Существует несколько способов узнать реальный IP-адрес сайта. Наиболее простым является использование специальных онлайн-сервисов.
Censys — позволяет узнать, как развернуты сайты и определить IP-адрес. Этот инструмент позволяет узнать не только IP, но такую информацию, как хостинг, расположение сервера, состояние HTTP, наличие SSL.
Shodan — может помочь проанализировать сайт и узнать реальный IP адрес. Кроме этого, он выдаст другую информацию, которую можно использовать для исследований.
SecurityTrails — позволяет узнать реальный IP-адрес сервера, когда сайт работал на IP-адресе сервера, а затем был перемещен в CDN.
Find Virtual Hosts — поможет найти сайты, настроенные на один IP-адрес, с помощью общедоступного поисковика.
Zoomeye — находит сведения об IP-адресе, а также о типе сайта, открытых портах, HTTP-заголовках, источниках трафика и многое другое.
Эти инструменты помогут найти реальный IP адрес сайта, а также информацию для планирования защиты сайта от DDoS-атак.
Welcome back, my fledgling hackers!
The database is the hacker’s “pot-of-gold,” as it contains information that is very valuable to both the business and the hacker. In this, the second of my series on hacking databases, we’re on the “hunt” for Microsoft’s SQL Server.
Although far from the most commonly used database (Oracle hold’s that title), Microsoft’s SQL Server is very often found in small-to-medium sized businesses. Even a few big businesses use it.
These businesses are most ripe for hacking as they often have little in the way of security defenses and very often no dedicated security staff, unlike Oracle databases, which are often found in the richest environments (large corporate and financial institutions) with more security.
Before we can hack SQL Server, we need to able to find it. In this tutorial, I will show you some ways to find the servers that house the SQL Server database. Remember, reconnaissance is critical in hacking. We could spend hours teaching you how to hack SQL Server, but if you can’t find it, well… it’s all just wasted time.
Step 1: Scan for SQL Server with Nmap
Nmap is an excellent scanning and reconnaissance tool, one that I’ve showcased before here on Null Byte in my guide on conducting active recon and DOS attacks. So, if you want to brush up, make sure to check that out.
Nmap can help us find MS SQL Server instances, as well. We know that SQL Server runs on port 1433 over TCP. This port is unique to MS SQL Server as other databases use other ports. For example, MySQL uses TCP port 3306. So, we scan scan our target network for open port 1433 with an nmap version scan (-sV).
- nmap -sV -p 1433 192.168.1.0/24
- -sV tells nmap to do a version scan
- -p tells nmap what port to scan for
- 192.168.1.0/24 designates the class C network (in CIDR notation) that we’re scanning
Notice in the screenshot above that I’ve highlighted the output from nmap where it has found an open port on 1433. Not only does nmap find and report the port as open, but it also tells us that Microsoft’s SQL Server 2000 is running on it and provides us the version and service pack.
Step 2: Find Those Hidden Database Servers
Astute network managers and security engineers will often run services over non-default ports to deter hackers. Just because a machine does not show port 1433 open does not necessarily mean that it’s not running SQL Server.
We know that SQL Server Browser service runs on port 1434 over UDP (this enables external users to connect to the database). Usually, if the network admin changes the default port, they will leave the Browser service on port 1434 as it’s far more complex to change it.
We can use nmap to find these hidden SQL Server instances by scanning the network for open port 1434 running UDP. We can do this by typing:
- nmap -sV -sU -n -p 1434 192.168.1.0/24
- -sU tells nmap to scan UDP ports
Notice here that nmap found another hidden instance of SQL Server version 10 (SQL Server 2008) running on port 6666! Since this is the newer SQL Server, it’s likely that this company is storing its valuables on this server and not on the older SQL Server 2000. In fact, the SQL Server 2000 might be a honeypot meant to entrap hackers, so be careful here!
Step 3: Use Metasploit’s Tool for Locating SQL Server
Although nmap is an excellent general purpose scanning tool, Metasploit has a tool specifically designed to find instances of MS SQL Server named msql_ping. It’s found among the auxiliary modules in Metasploit. Remember, Metasploit has exploit modules, auxiliary modules, post exploitation modules, payload modules, encoder modules, and nops modules.
To use mssql_ping, we first need to load Metasploit. We can do this by typing in a terminal:
- >msfconsole
Once Metasploit opens up (be patient, it loads slowly), we can simply tell Metasploit to use this module by typing:
- msf> use auxiliary/scanner/mssql/mssql_ping
Once we have successfully loaded this module, we next need to tell Metasploit the nework we want to scan:
- set RHOST 192.168.1.0/24
Then the number threads we want to run:
- set THREADS 50
And then, finally, tell Metasploit to run the exploit:
- run
As we can see, mssql_ping found BOTH of the MS SQL Server instances on this network that nmap found through two scans, and it also gave us detailed information on the ServerName, the InstanceName, the version number, and what TCP port the database service is running on.
With the version information in hand, we can then identify vulnerabilities and other flaws in the database software. Among other places, we can go to the SecurityFocus database to search for vulnerabilities and exploits of these database instances.
Now that we know what machines house the MS SQL Server instances, we can move on to actually hacking those databases, so keep coming back as we go after that pot of gold!
Want to start making money as a white hat hacker? Jump-start your hacking career with our 2020 Premium Ethical Hacking Certification Training Bundle from the new Null Byte Shop and get over 60 hours of training from cybersecurity professionals.
Buy Now (90% off) >
Other worthwhile deals to check out:
- 97% off The Ultimate 2021 White Hat Hacker Certification Bundle
- 99% off The 2021 All-in-One Data Scientist Mega Bundle
- 98% off The 2021 Premium Learn To Code Certification Bundle
- 62% off MindMaster Mind Mapping Software: Perpetual License
Содержание
- 1 Как определить IP-адрес сайта
- 1.1 К практике
- 1.2 Пробуем навыки в деле
- 2 Итого
Есть различные способы узнать IP-адрес сайта. Вычислить IP очень просто, но это касается сайтов, которые не скрывают свой IP с целью защиты от атак типа DoS и DDoS. Для сокрытия IP-адреса владельцы сайтов используют WAF (файрвол веб-приложений) и облачные сервисы типа CloudFlare. В статье я расскажу о лучших инструментах, которые могут определить реальный IP-адрес сайта, и расскажу как ими пользоваться.
Еще по теме: OSINT: разведка на основе открытых источников
Давайте в начале разберемся, как работает WAF. К примеру, в составе популярного веб-сервера Apache имеется модуль mod_security, который способен выполнять функции файрвола веб-приложений и помочь защитить сайт от какой-нибудь простой DoS-атаки. Одна из таких атак — HTTP(S) GET-флуд, когда серверу посылают огромное количество запросов на получение информации. Сервер не может обработать столько запросов за очень короткий промежуток и просто падает от перегрузки.
Похожую функцию может предоставлять и облачные провайдеры — далее такие сервисы я буду называть просто WAF. Принцип их работы заключается в следующем:
- Веб-сервер, который необходимо защитить, работает в обычном режиме без фильтрации опасных запросов, а WAF-сервис настроен на отдельном сервере компании, предоставляющей подобные услуги.
- В некой DNS-записи в качестве IP нужного сайта указывается не его настоящий адрес, а IP-адрес сервера WAF.
- После такой настройки все запросы к сайту, а точнее к доменному имени будут направляться не на сам сайт, а на WAF-сервер.
- Этот сервер принимает запрос, обрабатывает его и, если запрос удовлетворяет настроенным правилам, отсылает его на защищаемый сервер. WAF получает от этого сервера запрашиваемую информацию (веб-страницу, файл) и перенаправляет ее клиенту (пользователю).
Как определить IP-адрес сайта
Так как современные WAF блокируют множественные запросы атак, использовать утилиты вроде sqlmap или WPScan не получится. Также невозможны атаки типа DoS или DDoS.
Поэтому у нас есть два варианта действий.
- Сконструировать запрос таким образом, чтобы обойти правила, прописанные в WAF.
- Отправить запрос напрямую к веб-серверу, минуя проверку WAF.
Далее мы сконцентрируемся на втором пункте. Для его реализации нам нужно знать настоящий IP-адрес сервера и быть уверенными, что этот сервер способен принимать запросы напрямую из сети от кого угодно. Прямой IP-адрес сервера часто называют словом bypass. Иногда прямой доступ к нему специально сохраняют, чтобы сервер мог продолжить работу в случае неполадок на стороне WAF-сервисов.
Для этой цели мы будем использовать скрипт с длинным, но говорящим названием: Bypass firewalls by abusing DNS history.
Эта утилита пытается узнать настоящий IP-адрес нужного нам сервера сразу двумя методами.
- Анализ истории DNS-записей.
- Поиск поддоменов и последующий анализ их IP-адресов.
Ко всем найденным IP-адресам скрипт делает запросы для проверки.
К практике
Скрипт находится в открытом доступе на GitHub. Я запускал его в Kali Linux, но он может работать и в других дистрибутивах.
Команды для установки на Kali выглядят так:
$ sudo apt install jq $ git clone https://github.com/vincentcox/bypass-firewalls-by-DNS-history |
Команда для установки в дистрибутиве BlackArch:
$ sudo pacman –S bypass–firewall–dns–history jq |
Возвращаемся в Kali. Первой строчкой мы ставим необходимый модуль для работы скрипта, а второй скачиваем скрипт с GitHub. Чтобы получить справку по использованию тулзы, достаточно перейти в ее директорию и выполнить следующую команду:
$ bash bypass–firewalls–by–DNS–history.sh —help |
Как видите, разработчик скрипта предусмотрел несколько параметров:
- -d — обязательный ключ для использования скрипта. С его помощью мы указываем доменное имя сайта, для которого хотим найти bypass;
- -a — с этим параметром найденные IP будут проверены не только для основного домена, но и для поддоменов;
- -l — этот параметр позволяет подгрузить в скрипт ваш список поддоменов, чтобы выполнить более детальную и точную проверку;
- -o — данный параметр позволяет сохранить результат работы скрипта в файл, путь к которому указывается после параметра.
А теперь запустим скрипт:
$ bash bypass–firewalls–by–DNS–history.sh –d <Your_target> |
Для примера я нашел один сайт, который уязвим к атаке такого вида. Вот как выглядит вывод скрипта для этого сайта.
В колонке IP будут поочередно записаны IP-адреса, по которым можно напрямую обратиться к серверу. Во второй колонке указана вероятность того, что это верный IP, выраженная в процентах. В колонке Organisation — название компании, которой принадлежит данный IP.
Возьмем другой пример и расширим зону поиска: добавим сопоставление IP с поддоменами:
$ bash bypass–firewalls–by–DNS–history.sh –d <Your_target> –a |
Здесь, помимо всего прочего, появляется еще одна колонка — Domain, в которой перечислены поддомены, соответствующие найденным IP-адресам.
Чтобы потом не потерять результат работы, его обычно сохраняют в файл. Что ж, используем параметр
–o и пропишем путь для сохранения лога в домашнюю папку пользователя.
$ bash bypass–firewalls–by–DNS–history.sh –d <Your_target> –a –o /home/kali/<output.txt> |
Можно указывать не весь путь, а только название файла, в который будет записан результат. Файл сохранится в папку со скриптом.
Как вы знаете, не все взламывается в один клик. Иногда программам тоже нужна помощь — в нашем случае мы можем облегчить тулзе задачу, составив объемный список поддоменов. Этот список мы заполним с помощью скрипта Amass, который прекрасно умеет это делать. Запускается Amass вот такой командой:
$ Amass enum –d <Your_target> –o <subdomains.txt> |
С помощью параметра -d указываем свою цель, с помощью -o — файл для сохранения результата работы.
Более подробно про Amass, в статье «Как использовать Amass на Kali Linux».
Возвращаемся к WAF Bypass. Теперь мы будем использовать список найденных поддоменов для поиска настоящего IP-адреса атакуемого сервера:
$ bash bypass–firewalls–by–DNS–history.sh –d <Your_target> –l <subdomains.txt> |
Как видим, найдены два наиболее вероятных bypass-ip.
Пробуем навыки в деле
Чтобы развеять у вас сомнения в работоспособности этого метода, я предлагаю провести небольшое исследование. Мы попробуем пробить с помощью данной утилиты несколько сайтов и составим небольшую статистику.
Все дальнейшие действия были выполнены только в целях обучения и исследования. Автор не преследует цели навредить какой-либо компании или отдельным людям.
Хочу уточнить: проверять мы будем только серверы, которые защищены WAF. Чтобы в этом убедиться, используем встроенную в Kali утилиту dig:
Утилита выведет нам список DNS-серверов, к которым подключен сайт. Если вы увидите DNS сервера Cloudflare или других WAF, это означает, что сайт находится под защитой от DOS- и DDоS-атак.
Команду для тестирования будем использовать тоже общую:
$ bash bypass–firewalls–by–DNS–history.sh –d <Your_target> –a |
Итак, поехали. Возьмем для примера один игровой сайт, защищенный Cloudflare. Домен я по понятным причинам показывать не стану. Попробуем использовать нашу утилиту для пробива WAF и посмотрим, добьемся ли мы успеха.
Как видите, мы получили список возможных байпасов, но он слишком огромный, и у каждого IP своя оценка вероятности. Это говорит о том, что не так-то просто пробить крупные компании.
Теперь посмотрим на один из серверов для совместной игры в Minecraft. Они тоже часто пользуются услугами защиты от DoS и DDoS.
Для эксперимента я беру первые попавшиеся серверы. Этот был зарубежным, и его защита выстояла.
Попробуем что-нибудь более беззащитное — мне под руку попался кастомный ролевой сервер игры GTA V.
Стопроцентный успех. Однако сервер был настолько скромным, что пришлось принудительно остановить полное сканирование.
Теперь проверим несколько новостных сайтов. Первой целью (никакого вреда мы не причинили) выступил один популярный новостной портал.
Мы получили огромное количество ошибок. Они связаны с тем, что сервер журнала ограничил нам возможность делать запросы. Однако утилите это не помешало добиться успеха. В самом первом отчете был найден байпас с вероятностью в 100%, однако это был поддомен.
Далее попробуем зарубежный образовательный журнал.
Можно заметить, что программа уже начала отваливаться, но все же попыталась найти в поддоменах байпасы. Процент успеха достаточно мал.
И наконец, последний кандидат.
Успех! Найден настоящий IP-адрес сайта..
Итого
Как видите, этим методом действительно можно определить реальный IP-адрес сайта. Конечно, не всегда это получается качественно, иначе WAF вообще были бы бесполезными. Однако, наткнувшись на один из них, не опускайте руки, ведь в вашем арсенале теперь еще пара действенных инструментов.
Еще по теме: Лучшие сайты для поиска уязвимостей
Прячем фактическое место, где стоит сервер компании: практические методы и вопрос +17
Информационная безопасность, Системное администрирование
Рекомендация: подборка платных и бесплатных курсов Python – https://katalog-kursov.ru/
Привет! Я руковожу небольшим ИТ-аутсорсингом, и к нам в прошлом году обратилось сразу несколько клиентов с похожими задачами — сделать так, чтобы никто не узнал, где именно стоят сервера компании.
В первом случае это был строительный бизнес, у них одна из особенностей сферы в том, что на машинах не должно быть даже следов переписки, особенно перед тендерами. Поэтому у них RDP-ферма, а в офисе терминалы. Прятать надо было ядро. Во втором случае — сервисная компания, работающая с известными личностями (у них это просто слой безопасности, который они не считают лишним). В третьем — производство для нефтяной сферы, у которых по сфере нереальная недобросовестная конкуренция с забросом инсайдеров в чужие офисы.
Мы придумали вот такую схему:
В центре — ядро, вокруг ядра — релей-серверы периметра (дешёвые машины-прокси, на каждой — свой сервис), дальше — терминалы конечных пользователей. Покритикуйте, пожалуйста, ну или попробуйте вычислить IP сервера ядра на примере в конце.
Зачем это нужно?
Общая идея в том, чтобы только владелец бизнеса и главный админ знали, где серверы физически расположены. Дома у заказчика, в подвале офиса, в гараже или в дата-центре в Германии или Туле… — не важно.
Естественно, крупный бизнес умеет решать такие задачи (или они вообще не встают по ряду причин развитой ИБ). А вот малый и средний — нет, и даже силами админа не всегда удаётся это сделать более-менее правильно. Поэтому и стучали к нам.
Идея защиты в том, что:
— Сложно найти IP сервера, поскольку для этого придётся захватить одну из релей-машин и роутер.
— Релей-машины управляются сервером роутинга, который защищён традиционным набором: антиDDoS, QoS, активная система предотвращения вторжений и так далее.
— Сами по себе релеи настолько слабы по ресурсам, что любая попытка протащить через них DDoS закончится обрыванием связи с узлом и поднятием в течение 5–6 минут другой релей-машины где-либо по миру.
Релеи берутся из случайных дешёвых хостингов (в том числе уже проверенных нами) и поднимаются автоматически из дашборда сервера роутинга. Доступа до этого дашборда у нас нет — мы делаем инсталляцию и показываем, что менять. После этого заказчик устанавливает новый пароль и указывает IP головного сервера. Подтверждается это открытым кодом, который мы передаём заказчику.
Естественно, слабое звено — админ. Но если его перекупают или заставляют стучать, всё равно мало что поможет.
Точки отдают стандартные сервисы типа почты, внутреннего сайта, мессенджера, терминалок, приложений типа 1С. В общем, то же самое, что два классических сервера, замурованных в подвал, но вместо IP «подвальных» друзей за каменной кладкой в конфиге пользовательского терминала — IP машин периметра.
В итоге образуется ситуация, когда:
- Нельзя найти сервера ядра — то есть, например, нельзя украсть или забрать то, чего нет.
- Роутер-сервер защищает от стандартных угроз и фильтрует нецелевой трафик.
- У точки входа малая производительность — она ложится как плавкий предохранитель.
Подробнее:
Мы пока доделываем кластеризацию — раундробин и репликацию роутер-сервера. Точки доступа принципиально недублируемые, потому что это очень простая и дешёвая штуковина — проще развернуть новую, чем дублировать.
Детали:
Инсталляция сервера-маршрутизатора
Инсталляция происходит автоматически, но в её процессе фактически происходит следующее:
• На чистой системе создаётся новый пользователь с sudo-привилегиями
• Отключается root.
• Устанавливаются OpenVPN, iptables-persistent, Prometheus, MongoDB, Nginx, скрипты управления, резервного копирования, мониторинга и т. п.
• Настраивается iptables.
• Настраивается Prometheus.
• Конфигурируются prometheus и node-exporter.
• Конфигурируются Nginx и MongoDB.
• Распаковываются и конфигурируются все скрипты, агенты и образы систем, которые будут задействованы на этапах инсталляции точек доступа и подключения защищаемых серверов.
От недобросовестной конкуренции — вполне себе защита. Вопрос в том, всё ли мы предусмотрели в своём велосипеде.
Ну и приглашаю попробовать проверить, где центральный сервер. Вот две машины с опубликованным на них web-приложением (в развёрнутом периметре есть ещё точки доступа):
45.32.154.167 — маршрут №1 к сайту.
151.236.15.175 — маршрут №2 к тому же самому сайту.
Если найдёте IP центрального сервера — с меня бутылка. Покажете, как именно нашли, — вторая. Контактная почта: binfini@yandex.ru
UPD 01.03.16 18:33 Кое-кто нашел третий маршрут к серверу, но не сам сервер.
UPD 01.03.16 21:38 Кое-кто еще нашел третий маршрут к серверу, но не сам сервер.
UPD 04.03.16 00:00 Спасибо всем большое за попытки и советы, кункурс приостанавливаю, адрес web-сервера найден не был.
Прокси скрывает IP-адрес клиента, делая его анонимным в Интернете. Сокрытие осуществляется путем подмены личного IP на адрес другой страны.
Пользователи устанавливают прокси для обеспечения безопасности данных, работы в Интернете, развития бизнеса в социальных сетях, получения информации с закрытых ресурсов, мессенджеров.
При использовании общей подсети вопрос: «Как узнать прокси-сервер и IP, где взять данные порта» – становится актуальным, ведь настройкой сети занимается системный администратор. Информация об IP бывает нужна юзерам, которые используют динамические мобильные прокси.
Расскажем о способах, с помощью которых можно определить, через какой IP в текущем времени осуществляется соединение, параметры, как найти прокси-сервер.
Что такое адрес и порт прокси-сервера
Что из себя представляют порт, адрес прокси? Для рядового пользователя, самая простая аналогия, при помощи которой можно объяснить принцип передачи данных, письма.
- IP – можно сравнить с адресом отправления письма.
- Порт – кому предназначено письмо.
Для прокси IP – набор чисел в формате xxx.xxx.x.xxx, где хxx – любое трехзначное число в диапазоне от 0 до 255. Порт – число, в диапазоне от 0 до 65535.
5 способов узнать свой прокси
Есть несколько способов посмотреть свой IP роутера на Виндовс. Некоторые подойдут для рядовых пользователей, а другие – для тех, кто хорошо разбирается в компьютерах. Рассмотрим онлайн проверку, тест при помощи специального ПО, простой способ, для тех, кто плохо владеет ПК, определение при помощи настроек браузера, через командную строку.
Socproxy.ru/ip
Перейдите на страницу приложения с телефона или ПО на Windows 7, 10. После перехода, на странице отобразится IP устройства, который используется сейчас. Также сервис определит:
- Геолокацию.
- Провайдера.
- Юзер-агента.
- ОС и браузер.
SocialKit Proxy Checker
Если прокси нужно мониторить периодически, а не единоразово, то лучше установить на компьютер утилиту SocialKit Proxy Checker. С помощью нее можно проверить IP, порт, валидность proxy.
Для использования скачайте на официальном сайте установочный файл, начните установку программы. После установки – запустите ее, откройте вкладку «Информация о соединении по умолчанию». Во вкладке отображаются текущий адрес, информация о подключении.
Настройки браузера
Если вы используете прокси, который работает через настройки браузера, то параметры можно увидеть там же.
Рассмотрим процесс на примере браузера Гугл Хром.
Заходим в «Дополнительно» – «Система» – «Открыть настройки прокси».
В новом окне появятся данные о прокси: адрес, порт, логин/пароль (если есть).
Простой способ узнать прокси
Что может быть проще, чем спросить данные у системного администратора. Это работает только в том случае, если вы сидите в рабочей сети компании.
Через командную строку
Еще один способ, который подойдет для продвинутых пользователей, которые умеют работать с командной строкой и знают, что такое имя хоста прокси-сервера.
Для Chrome
Чтобы найти информацию о прокси-сервере, через который работает юзер, нужно в командной строке перейти на:
chrome://net-internals/#proxy
На странице отобразятся нужные данные.
Для командной строки
Команда в cmd:
reg query «HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings» | find /i «proxyserver»
Универсальный способ
Подтвердите существование хоста wpad через командную строку:
ping wpad
Если система оповещает, что такое имя хоста прокси сервера не существует, то укажите DNS-суффикс:
ipconfig /all
Система должно отдать данные Primary DNS Suffix и DNS Suffix Search List. При помощи wpad добавьте их:
ping wpad.<primary dns suffix>
Если не удается получить информацию, то введите в браузере:
http://wpad./wpad.dat
Настройка прокси произойдет автоматически. Затем откройте файл и в строке вы увидите порт прокси-сервера.
PROXY <host: port>;
Если файл не найден, то прокси – нет, либо он предоставлен dhcp.
Если соединение происходит через dhcp, то в командной строке пропишите:
netstat -ban
Вы откроете списки возможных соединений. Через диспетчер задач откройте View/Select Columns и активируйте PID. В iexplore.exe найдите PID в информации, возвращаемой netstat-ban. Определите сервер, порт.
Как узнать порт прокси
Как узнать свой прокси сервер и порт? Обычно портам присваиваются стандартные значения: 8080, 80, но встречаются другие. Адрес порта в браузере указан рядом с IP.
Заключение
Теперь вы знаете, как определить свой прокси на ПК и значение порта. Такая проверка у рядовых пользователей не популярна. Но, чтобы проверить корректность работы прокси-сервера или VPN, нужно проверять сменяемость данных. Любой из приведенных способов работает корректно, но лучший для постоянного применения – через программное обеспечение. Желаем приятного серфинга в Интернете на хороших скоростях!