Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
В этой книге рассматриваются методы обхода систем безопасности сетевых сервисов и проникновения в открытые информационные системы. Информационная безопасность, как и многое в нашем мире, представляет собой медаль с двумя сторонами. С одной стороны, мы проводим аудит, ищем способы проникновения и даже применяем их на практике, а с другой — работаем над защитой. Тесты на проникновение являются частью нормального жизненного цикла любой ИТ-инфраструктуры, позволяя по-настоящему оценить возможные риски и выявить скрытые проблемы. Может ли взлом быть законным? Конечно, может! Но только в двух случаях — когда вы взламываете принадлежащие вам ИС или когда вы взламываете сеть организации, с которой у вас заключено письменное соглашение о проведении аудита или тестов на проникновение. Мы надеемся, что вы будете использовать информацию из данной книги только в целях законного взлома ИС. Пожалуйста, помните о неотвратимости наказания — любые незаконные действия влекут за собой административную или уголовную ответственность.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 299
Veröffentlichungsjahr: 2023
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Технический редактор Н. Суслова
Литературный редактор А. Андриенко
Художники Л. Егорова, С. Заматевская , Р. Яцко
Корректоры Н. Викторова, В. Сайко
Верстка Л. Егорова
Никита Скабцов
Аудит безопасности информационных систем. — СПб.: Питер, 2021.
ISBN 978-5-4461-0662-2
© ООО Издательство "Питер", 2021
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Наверное, это будет самая трудная и сложная часть книги. Хочется сказать столько всего, поблагодарить стольких людей! Самое страшное — кого-то забыть. Ведь все окружающие нас люди, напрямую или нет, но все же влияют на наши поступки. Благодаря именно этим людям, а также череде необычных событий и появилась эта книга.
Вначале я хотел бы поблагодарить своих родителей. Ведь именно благодаря им я тот, кто я есть. Вы меня всегда поддерживали, спасибо вам!
Теперь настала очередь моих коллег. Мы работаем вместе уже около десяти лет, это благодаря Янису я узнал про вакансию, именно с ним мы осваивали азы ИТ, да и вообще с этим человеком связано много моих профессиональных и личных достижений. Мой начальник, тоже Янис, — самый прекрасный и компетентный руководитель из всех, с кем мне приходилось когда-либо работать, спасибо. И мои коллеги — Янис, Эдгар, Дмитрий, Дайрис, — лучшего коллектива и быть не может, спасибо вам.
Отдельное спасибо хочется сказать Владимиру Орехову. Это именно тот человек, который непосредственно приложил руку к созданию данной книги. Без его помощи мы бы не получили главу, посвященную переполнению буфера, именно в таком виде, в каком она есть.
Друзья, как же без вас? Несмотря на все, что я делаю, вы все равно со мной и принимаете меня именно таким, — Ажар, Алёна, Анастасия, Анна, Дарья, Евгения, Илья, Ксения, Леонид, Максим, Михаил, Николай, Павел, Семён, Сергей, София, Стас, Татьяна, Юлианна, Янис.
Уважаемый читатель, надеюсь, что вам понравится эта книга и вы почерпнете для себя много интересного и полезного. Однако у вас наверняка появятся вопросы, комментарии, а возможно, предложения или пожелания. Буду благодарен за любой отзыв, а посему, именно для этих целей, оставляю свой адрес электронной почты [email protected].
АЛУ — Арифметико-логическое устройство
АТС — Автоматическая телефонная станция
БД — База данных
ДМЗ — Демилитаризованная зона
ИБ — Информационная безопасность
ИС — Информационная система
ИТ — Информационные технологии
ОС — Операционная система
ПО — Программное обеспечение
СУБД — Система управления базами данных
BP — Base Pointer
CERT — Computer Emergency Response Team
CMS — Content Management System
CPU — Central Processing Unit
CRC — Cyclic Redundancy Check
CSMA/CD — Carrier Sense Multiple Access with Collision Detection
DLL — Dynamic Link Library
DLP — Data Loss Prevention
DMZ — Demilitarized Zone
DNS — Domain Name System
FTP — File Transfer Protocol
GNU — General Public License
GPS — Global Positioning System
HEX — Hexadecimal
HTML — HyperText Markup Language
HTTPS — HyperText Transfer Protocol Secure
ICMP — Internet Control Message Protocol
IDS — Intrusion Detection System
IIS — Internet Information Services
IP — Internet Protocol
LIFO — Last In First Out
LM — LAN Manager
LSASS — Local Security Authority Subsystem Service
MAC — Media Access Control
MBR — Master Boot Record
MX — Mail Exchange
NetBIOS — Network Basic Input/Output System
NIC — Network Information Center
NOP — No Operation
NS — Name Server
NTLM — NT LAN Manager
NTP — Network Time Protocol
OSI — Open Systems Interconnection
PIN — Personal Identification Number
RDP — Remote Desktop Protocol
RIPE — Réseaux IP Européens
SAM — Security Account Manager
SMTP — Simple Mail Transfer Protocol
SNMP — Simple Network Management Protocol
SP — Stack Pointer
SQL — Structured Query Language
SSH — Secure Shell
SSID — Service Set Identifier
SSL — Secure Sockets Layer
TCP — Transmission Control Protocol
TFTP — Trivial File Transfer Protocol
TLS — Transport Layer Security
TTL — Time To Live
UDP — User Datagram Protocol
URL — Uniform Resource Locator
USB — Universal Serial Bus
VB — Visual Basic
VBA — Visual Basic for Applications
VLAN — Virtual Local Area Network
VNC — Virtual Network Computing
VPN — Virtual Private Network
WCE — Windows Credentials Editor
WEP — Wired Equivalent Privacy
WPA — Wi-Fi Protected Access
WPS — Wi-Fi Protected Setup
WWW — World Wide Web
XSS — Cross-Site Scripting
АRP — Address Resolution Protocol
НТТР — HyperText Transfer Protocol
САМ — Content Addressable Memory
Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.
В мире информационной безопасности присутствует условное разделение людей, занимающихся взломом ИС, на три группы — «черные шляпы» (Black Hat), «серые шляпы» (Gray Hat) и «белые шляпы» (White Hat). В чем же их принципиальное отличие? Первые занимаются незаконным взломом и проникновением, в свою очередь последние делают это в рамках правового поля. Вас наверняка заинтересует вопрос, а может ли быть взлом законным? Конечно, может! Законным взлом информационных систем может быть в двух случаях — когда вы взламываете принадлежащие вам ИС или когда вы взламываете сеть организации, с которой у вас заключено письменное соглашение о проведении аудита или тестов на проникновение. Вернемся к оставшимся двум категориям. Gray Hat взламывают ИС-системы, но не используют полученный доступ или информацию в каких-либо своих целях, а сообщают о найденной уязвимости владельцу ресурса. К слову, некоторые компании, например Google, платят за предоставленную информацию о найденных в их продуктах уязвимостях и ошибках. И наконец, White Hat занимаются исключительно законным аудитом ИС.
Раз уж мы начали говорить о терминологии, затронем еще один термин — «взлом». Взлом — это незаконное проникновение в систему, тогда как тест на проникновение — это уже законное действие. Конечно, это деление условно, все зависит не от терминологии, а от того, в каком контексте происходит данное действие. Тему законности мы уже рассмотрели выше.
Также есть понятие аудита информационных систем. Вот тут уже есть большое отличие от взлома и даже от теста на проникновение. Во-первых, понятие аудита применяется только к законным действиям. Во-вторых, если тест на проникновение предусматривает поиск уязвимости и ее последующую эксплуатацию, то аудит предусматривает поиск и возможную эксплуатацию всех найденных аудитором уязвимостей. Тесты на проникновение предполагают, что хакер изначально ничего не знает о внутренней сети предприятия, — так называемый метод Black Box. В аудите предусмотрен как метод Black Box, так и White Box — когда аудитор получает доступ к конфигурации и полной информации обо всех ИС предприятия. В данной книге рассмотрена только методология Black Box.
Мы надеемся, что вы будете использовать информацию из данной книги только в целях законного взлома ИС. Пожалуйста, помните о неотвратимости наказания — любые незаконные действия влекут за собой административную или уголовную ответственность.
Конечно же, любой профессионал в области информационной безопасности хочет заниматься любимым делом на законных основаниях. Но взламывать системы, которые ты же и конфигурировал, не всегда бывает интересно. Гораздо приятнее помериться силами с профессионалами, находящимися по другую сторону баррикады. Попробовать на прочность чужую сеть.
Чаще всего такие люди являются частью команды, проводящей комплексный аудит безопасности информационных систем предприятий. Но иногда они устраивают тесты на проникновение и в индивидуальном порядке.
Чтобы быть уверенным в правильности и законности своих действий, профессионал должен соблюдать следующие правила:
• получить от клиента письменное разрешение на проведение тестов на проникновение или аудита ИС;
• соблюдать соглашение о неразглашении, особенно в случае, если во время тестов был получен доступ к конфиденциальной информации;
• никакая информация, полученная во время работы с клиентом, никогда не должна стать известной другим лицам;
• проводить все тесты, согласованные с клиентом, и никакие другие. Например, тесты, нацеленные на проверку устойчивости систем к типу атак «отказ от обслуживания», должны проводиться только по предварительному согласованию и в строго обозначенный временной интервал.
Обычно аудит информационных систем проходит в несколько этапов.
1. Встреча с клиентом, обсуждение целей и средств.
2. Подписание договора о неразглашении информации.
3. Сбор группы участников аудита и подготовка расписания тестов.
4. Проведение тестов.
5. Анализ полученных результатов и подготовка отчета.
6. Передача отчета клиенту.
Аудит информационной системы можно условно разделить на пять этапов, которые идут последовательно, один за другим:
1. Сбор информации (Google, WWW, DNS);
2. Сканирование системы (ping, port scanning);
3. Получение доступа (эксплуатация уязвимости);
4. Закрепление в системе (backdoor);
5. Скрытие следов пребывания (очистка лог-файлов, rootkit).
Данный цикл может повторяться итеративно. Например, в случае, когда мы получили доступ к серверу, через который можно проникнуть во внутреннюю сеть. Тогда мы сначала собираем информацию о внутренней сети, а затем используем ее для дальнейшего проникновения.
Данная методология является всего лишь приблизительной. Обычно у людей, занимающихся вопросами информационной безопасности, есть своя методика, основанная на их специфических требованиях и уровне профессиональной компетенции. Мы рекомендуем вам также ознакомиться с OSSTM — Open Source Security Testing Methodology. Это открытый стандарт, в котором рассматривается методология аудита безопасности ИС-систем.
Прежде чем начать активный взлом системы, нам надо собрать как можно больше информации о нашей цели. Можно сказать, что от того, насколько хорошо мы будем знать нашу цель, напрямую будет зависеть успех или провал всего мероприятия. Это самый важный этап аудита системы, на который чаще всего уходит большая часть времени.
Условно сбор информации делят на активную и пассивную фазы. Во время пассивной фазы наша «цель» не знает о том, что мы начали сбор информации. На данном этапе мы используем информацию только из отрытых и общедоступных источников, таких как поисковые системы и базы данных NIC. Также к пассивному сбору информации можно отнести сниффинг — когда мы просто перехватываем всю приходящую на наш сетевой интерфейс информацию и при этом ничего сами в сеть не посылаем.
Под активным сбором информации подразумевается непосредственное взаимодействие с системой. И скорее всего, данная активность будет занесена в журнал аудитации целевой системы.
К данной фазе можно отнести сканирование портов, определение работающих сервисов и их версий, а также определение версии операционной системы, под управлением которой работают данные сервисы.
Предположим, что, используя добытую на первом этапе информацию, мы получили из открытой базы данных RIPE диапазон IP-адресов целевой организации. После этого мы начинаем сканирование всей подсети предприятия.
На данном этапе чаще всего используются:
• сканеры открытых портов;
• ICMP-сканеры;
• SNMP-сканеры;
• сканеры уязвимостей и т.д.
Во время данного этапа аудитор может получить следующую информацию:
• имена компьютеров;
• версию операционной системы;
• запущенные сервисы и их версии;
• IP-адреса;
• учетные записи пользователей и т.д.
После получения информации в результате предыдущего этапа мы можем использовать ее для проникновения в систему. Например, мы узнали, что на одном из хостов установлен IIS. Используя версию и название сервиса, можно найти уязвимость, а затем и поэксплуатировать ее.
Одни из самых популярных методов — перехват сессии, переполнение буфера и отказ от обслуживания.
Поскольку редко получается проникнуть в систему с наскока, мы хотим использовать повторно полученный однажды доступ. Нам нужна возможность продолжить начатое ранее тестирование, не прибегая к очередному взлому той же самой системы.
Самые популярные методы сохранения доступа к системе — установка троянских коней, backdoor’ов и rootkit’ов.
Итак, мы получили доступ к обозначенной системе и контролируем ее. Разумеется, мы не хотим, чтобы кто-то из ИТ-персонала компании заметил наше присутствие. В противном случае мы можем потерять доступ не только к полученной системе, но и к сети в принципе.
Чаще всего стирают следы присутствия из журналов аудитации, а также события из базы данных IDS (системы обнаружения атак).
Помните, что любой аудит информационной системы по сути представляет собой ее взлом, разница только в том, насколько легитимны проводимые мероприятия. Чтобы ваши действия были законными, необходимо получить письменное согласие заказчика. Обязательно обсудите заранее все действия, методы и риски и зафиксируйте их документально.
Проведение аудита осуществляется в несколько основных этапов:
• Планирование и получение согласия.
• Пассивный сбор информации — получение данных из открытых источников, нет прямого взаимодействия с системой, действия очень трудно обнаружить.
• Активный сбор информации — получение данных от целевой системы, все действия могут быть обнаружены, администраторы могут принять меры для пресечения дальнейших действий.
• Доступ к системе идет по средствам эксплуатации найденных уязвимостей.
• Закрепление в системе необходимо для того, чтобы продолжить атаку, не прибегая к повторному взлому.
• Скрытие следов пребывания поможет остаться незамеченными и продолжить проведение аудита.
Первый этап взлома любой ИС начинается со сбора максимального количества информации о цели. Практически никогда не удается собрать всю информацию из одного-единственного источника. Данные приходится собирать из множества различных мест (БД, HTML-код, новостные ленты и т.д.), с тем чтобы впоследствии, как из кусочков мозаики, составить полную картину ИС организации.
На данном этапе выявляются слабые места сети, через которые в будущем и будет осуществляться проникновение в систему. При правильном подходе можно не только выявить потенциально уязвимые места, но и наметить возможные векторы атаки на обозначенную цель.
Мы условно разделили процесс сбора информации на следующие шаги.
1. Поиск в открытых источниках.
2. Сбор основной информации.
3. Сбор информации о сети.
4. Поиск активных хостов.
5. Поиск открытых портов.
6. Определение ОС.
7. Определение сервисов.
8. Построение карты сети.
В этой главе будут рассмотрены технологии поиска в открытых источниках.
В зависимости от размера организации объем собранной информации может варьироваться от десятка строк до сотен страниц текстовой информации. Важно не только собрать, но и грамотно обработать полученные данные.
Инструмент анализа каждый волен выбирать сам, будь то логические схемы, доска и маркеры или клейкие бумажки на стенах, — главное, чтобы в результате информация была обобщена и представлена в удобном и читабельном виде.
Для проведения успешной атаки нам пригодится ЛЮБАЯ доступная информация о предприятии.
Обычно, имея только название организации, начинают сбор следующих данных:
• домены;
• сетевые адреса или сетевые блоки;
• местонахождение;
• контактная информация;
• новости о слиянии или приобретении;
• вакансии;
• ссылки на связанные с организацией веб-сервисы;
• различные документы;
• структура организации.
Это только примерный список, и продолжать его можно достаточно долго. Например, просмотрев вакансии предприятия, можно узнать, какие ИС используются внутри организации. А проанализировав HTML-код домашней странички, можно найти ссылки на внутренние ресурсы.
От того, как будет проведен сбор информации, зависит направление, а также тип и успешность атаки.
Большая часть процесса сбора информации не требует специальных знаний, достаточно умения пользоваться поисковыми системами. Зачастую они индексируют даже ту информацию, которую пытались скрыть от внешнего мира.
Хакер или аудитор может использовать для сбора информации не только Google, но также Yahoo или любой другой поисковый сервис.
Основная цель данного раздела — научиться применять операторы поиска, которые облегчат и ускорят сбор информации. Без них отыскать нужную информацию будет не просто сложно, но практически невозможно.
Например, по запросу royalmail Google выдает около 61 800 000 результатов. По запросу site:royalmail.com — 261 000, а после уточнения site:royalmail.com filetype:doc — всего 5.
Таким образом, мы из полумиллиарда результатов поиска отфильтровали только то, что нам было интересно.
С основами использования операторов Google можно ознакомиться здесь: http://www.google.com/help/basics.html.
Оператор site ограничит вывод результатов запроса информацией с одного сайта, например: site:nic.ru.
Рис. 2.1. Результат работы запроса site:royalmail.com
Обратите внимание на то, что система выдала только те результаты, которые относятся к сайту royalmail.com.
Предположим, что мы хотим найти все документы типа doc на сайте исследуемой организации. Для этого мы будем использовать оператор filetype — filetype:doc.
В результате мы получили список всех публично доступных файлов указанного формата с требуемого сайта.
В качестве еще одного примера можно привести следующий запрос: rootpw filetype:cfg.
Рис. 2.2. Результат работы запроса site:royalmail.com filetype:doc
Рис. 2.3. Результат работы запроса rootpw filetype:cfg
Перейдя по одной из ссылок, можно обнаружить файл с очень интересным текстом:
# (Required) Sets the root password so there is no prompt during installation
# Example: encrypted password is "password"
rootpw --iscrypted $6$naSytywF$AyVeKPcxnSMJg2L5b5YWGu7YFmgGW30HJ1qmqvjBBOBIbj
QuqicsTuJndm0sns3vFpXGDx0SJzofARe914chx0
# Enable the firewall
firewall --enabled
В данном случае мы нашли и открыли файл workstation-ks.cfg. Этот файл остается на Linux-машине в том случае, если она была сконфигурирована автоматически. В нем содержатся все необходимые параметры для конфигурации машины без участия пользователя, в том числе и пароль пользователя root.
Теперь усложним задачу и найдем область сайта, защищенную паролем, — место возможного проникновения.
Рис. 2.4. Форма для ввода логина и пароля, найденная при помощи запроса log-in site:royalmail.com
В качестве примера доступа к закрытым частям web-страничек можно привести поиск Microsoft Remote Desktop Web Connection. Для этого поиска мы будем использовать следующие операторы:
• inurl — ищет заданный текст только в url сайта;
• intitle — ищет информацию, исходя из заголовка документа.
Перейдя по одной из первых ссылок, мы сразу же обнаруживаем форму для ввода данных и подключения к системе через протокол RDP.
Рис. 2.5. Результат запроса intitle: «remote desktop web connection» inurl:tsweb
Вышеупомянутую поисковую систему можно использовать не только для сбора информации, но и для поиска уязвимостей. В наши дни, когда все больше и больше приложений делается ориентированными на пользователей сети Интернет, уязвимые версии данных аппликаций легко находятся через Google.
В Интернете есть два ресурса, которые мы хотели бы порекомендовать как содержащие большую базу данных хорошо категорированных запросов для поисковой системы Google:
•www.exploit-db.com/google-dorks/;
•www.hackersforcharity.org.
Рис. 2.6. Форма для подключения к удаленному рабочему столу через веб-интерфейс
Используя информацию с этих серверов, можно быстро и эффективно находить уязвимые веб-приложения, а также файлы, содержащие пароли, личные данные пользователей и другую информацию, которая поможет скомпрометировать целевую систему.
Свою цель надо знать в лицо, в буквальном и переносном смысле. Если вы нашли список сотрудников данной компании, то будет полезным собрать о них как можно больше информации. Довольно часто бывает, что взлом ресурса, который, казалось бы, не имеет никакого отношения к организации, которую мы пытаемся взломать, приводит к ее компрометации. Такое возможно, если сотрудники используют одни и те же пароли для доступа к различным системам.
Есть сайты, которые специализируются на поиске информации о людях, например Spokeo, ZabaSearch, но они предназначены в основном для западных пользователей.
Для нас же лучшим местом поиска информации, равно как и для западных коллег, остаются социальные сети. Благодаря тому, что ими пользуется огромное количество людей, они становятся бездонным источником информации. По ним можно отследить все — карьеру, образ жизни, интересы и многое другое. Ведь взламывать сеть лучше тогда, когда ее администратор находится в отпуске на Канарских островах или отдыхает в ночном клубе, чем когда все оборудование находится под его чутким присмотром.
Для поиска информации подойдут любые социальные сети — Facebook, Google+, VK, Twitter, Instagram, LinkedIn, «Одноклассники» и т.д.
Для упрощения задачи существует один интересный ресурс — Echosec. Данный сервис показывает все записи в социальных сетях, которые были сделаны в определенном месте. Как это может нам помочь? Самое первое, что приходит на ум, — посмотреть, что происходит за закрытыми дверями организации. Люди часто делают фотографии и сразу же загружают их в социальные сети. Так почему бы нам этим не воспользоваться?
Еще один сервис, который поможет нам упорядочить информацию, называется Maltego. Этот инструмент поможет не только найти информацию об интересующей нас организации, но также покажет нам, как связаны между собой отдельные элементы.
Очень часто организации публикуют на своих сайтах такую информацию, которая впоследствии может быть использована против них самих, а затем, заметив ошибку, удаляют ее.
Другой пример: вы заметили на сайте вакансию, но в силу определенных обстоятельств не смогли ее сохранить, а на сегодняшний день она уже неактуальна и организация удалила ее.
В таком случае нам поможет очень ценный ресурс — archive.org. Он позиционирует себя как машину времени для сети Интернет. Жаль только, что путешествовать можно только в прошлое, а не в будущее.
Этот ресурс периодически сохраняет копии практически всех сайтов в глобальной Сети и предоставляет бесплатный доступ ко всей своей базе данных.
Очень полезный сервис, позволяющий узнать различную важную информацию о целевом сервере, включая версии его ПО и ОС, поддомены, DNS-серверы, историю сервиса и многое другое.
Рис. 2.7. Информация о сайте royalmail.com
Одним из самых удобных способов получения информации о домене является использование утилиты whois, которая доступна в различных дистрибутивах Linux, включая Kali. Среди прочих данных, полученных этим путем, мы можем найти контактную информацию, регистратора, контактное лицо по вопросам технического характера, адреса серверов и многое другое.
Посмотрим, к примеру, какую информацию мы можем получить о домене anu.edu.au:
root@kali:~# whois anu.edu.au
Domain Name: anu.edu.au
Last Modified: 09-Jun-2016 00:38:02 UTC
Status: ok
Registrar Name: Education Service Australia Ltd
Registrant: Australian National University
Eligibility Type: Higher Education Institution
Registrant Contact ID: EDU1913-R
Registrant Contact Name: Kylie Paintain
Registrant Contact Email: Visit whois.ausregistry.com.au for Web based WhoIs
Tech Contact ID: EDU9942-C
Tech Contact Name: Kylie Paintain
Tech Contact Email: Visit whois.ausregistry.com.au for Web based WhoIs
Name Server: ns.adelaide.edu.au
Name Server IP: 129.127.40.3
Name Server: ns1.anu.edu.au
Name Server IP: 150.203.1.10
Name Server: una.anu.edu.au
Name Server IP: 150.203.22.28
DNSSEC: unsigned
Итак, теперь у нас есть контактная, а также некоторая техническая информация, относящаяся к данному домену. Мы можем применить ее, используя пресловутую социальную инженерию, упомянутую выше. Например, позвонить в службу технической поддержки, представиться Кайли и попросить сбросить пароль, ссылаясь на то, что он был забыт.
Используя утилиту nslookup, которая есть как под Windows, так и под Linux, мы получили информацию о том, какой IP-адрес используется для страницы ons.gov.uk:
root@kali:~# nslookup anu.edu.au
Server: 192.168.126.2
Address: 192.168.126.2#53
Non-authoritative answer:
Name: anu.edu.au
Address: 130.56.60.81
Утилита whois может работать не только с доменными именами, но и с IP-адресами, а это значит, что мы легко можем выполнить обратный запрос.
root@kali:~# whois 130.56.60.81
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/public/whoisinaccuracy/index.xhtml
#
#
# The following results may also be obtained via:
# https://whois.arin.net/rest/nets;q=130.56.60.81?showDetails=true&showARIN=false&showNonArinTopLevelNet=false&ext=netref2
#
NetRange: 130.56.0.0 — 130.56.255.255
CIDR: 130.56.0.0/16
NetName: APNIC-ERX-130-56-0-0
NetHandle: NET-130-56-0-0-1
Parent: NET130 (NET-130-0-0-0-0)
NetType: Early Registrations, Transferred to APNIC
OriginAS:
Organization: Asia Pacific Network Information Centre (APNIC)
RegDate: 2003-11-12
Updated: 2009-10-08
Comment: This IP address range is not registered in the ARIN database.
Comment: This range was transferred to the APNIC Whois Database as
Comment: part of the ERX (Early Registration Transfer) project.
Comment: For details, refer to the APNIC Whois Database via
Comment: WHOIS.APNIC.NET or http://wq.apnic.net/apnic-bin/whois.pl
Comment:
Comment: ** IMPORTANT NOTE: APNIC is the Regional Internet Registry
Comment: for the Asia Pacific region. APNIC does not operate networks
Comment: using this IP address range and is not able to investigate
Comment: spam or abuse reports relating to these addresses. For more
Comment: help, refer to http://www.apnic.net/apnic-info/whois_search2/abuse-and-spamming
Ref: https://whois.arin.net/rest/net/NET-130-56-0-0-1
ResourceLink: http://wq.apnic.net/whois-search/static/search.html
ResourceLink: whois.apnic.net
OrgName: Asia Pacific Network Information Centre
OrgId: APNIC
Address: PO Box 3646
City: South Brisbane
StateProv: QLD
PostalCode: 4101
Country: AU
RegDate:
Updated: 2012-01-24
Ref: https://whois.arin.net/rest/org/APNIC
ReferralServer: whois://whois.apnic.net
ResourceLink: http://wq.apnic.net/whois-search/static/search.html
OrgAbuseHandle: AWC12-ARIN
OrgAbuseName: APNIC Whois Contact
OrgAbusePhone: +61 7 3858 3188
OrgAbuseEmail: [email protected]
OrgAbuseRef: https://whois.arin.net/rest/poc/AWC12-ARIN
OrgTechHandle: AWC12-ARIN
OrgTechName: APNIC Whois Contact
OrgTechPhone: +61 7 3858 3188
OrgTechEmail: [email protected]
OrgTechRef: https://whois.arin.net/rest/poc/AWC12-ARIN
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/public/whoisinaccuracy/index.xhtml
#
Found a referral to whois.apnic.net.
% [whois.apnic.net]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
% Information related to '130.56.0.0 — 130.56.255.255'
inetnum: 130.56.0.0 — 130.56.255.255
netname: ANUNET
descr: imported inetnum object for ANU
country: AU
admin-c: AH248-AP
tech-c: AH248-AP
status: ALLOCATED PORTABLE
remarks: ----------
remarks: rev-srv NS1.ANU.EDU.AU
remarks: UNA.ANU.EDU.AU
remarks: NS.ADELAIDE.EDU.AU
remarks: ----------
notify: [email protected]
mnt-by: APNIC-HM
changed: [email protected] 20030530
changed: [email protected] 20040926
changed: [email protected] 20031020
changed: [email protected] 20031219
changed: [email protected] 20040106
changed: [email protected] 20041214
source: APNIC
role: ANU hostmaster
address: IIS, Australian National University
address: Canberra ACT 0200 Australia
country: AU
phone: +61-2-6125-3264
fax-no: +61-2-6125-8199
e-mail: [email protected]
remarks: send abuse reports to [email protected]
remarks: Please include detailed information and
remarks: times in UTC
admin-c: GH176-AP
tech-c: GH176-AP
nic-hdl: Ah248-AP
remarks: http://www.anu.edu.au
notify: [email protected]
mnt-by: MAINT-AU-ANU
changed: [email protected] 20030411
source: APNIC
changed: [email protected] 20111114
% This query was served by the APNIC Whois Service version 1.69.1-APNICv1r0
(UNDEFINED)
Теперь мы получили не только контактную информацию, но и диапазон IP-адресов, используемых данной организацией. Это может стать входной точкой для следующего шага. Нам уже известно, какие адреса необходимо сканировать, что существенно ускорит поиск уязвимостей и облегчит нашу задачу.
Ниже приведены адреса еще нескольких ресурсов, предоставляющих подобный сервис:
• Ripe.net;
•http://www.networksolutions.com/whois/index.jsp;
•http://www.whois.sc/;
• ping.eu;
•www.domaintools.com.
Согласитесь, что просматривать и вручную обрабатывать всю найденную информацию может быть достаточно сложно, особенно если вы тестируете сеть достаточно большой организации. В этом разделе мы рассмотрим несколько полезных программ и сервисов, которые помогут автоматизировать данный процесс.
Эта многофункциональная бесплатная утилита для Windows позволяет решать достаточно широкий круг задач, например:
• поиск поддоменов для заданного домена;
• перебор записей для DNS-сервера;
• получение всех записей DNS-сервера;
• поиск других веб-сервисов, которые работают на том же IP-адресе;
• поиск файлов и извлечение метаданных.
В данном разделе нас интересует как раз последняя возможность. Посмотрим, что мы можем получить, проанализировав документы, найденные на nic.ru.
Рис. 2.8. Пример работы FOCA
Затем скачаем их, используя интерфейс той же программы. Для этого достаточно щелкнуть правой кнопкой мышки по любому из найденных документов и выбрать опцию Download all.
Далее проанализируем данные, используя функцию Extract All Metadata. Теперь мы можем увидеть системные имена пользователей, которые создали данный документ, а также версию программы, операционную систему и многое другое.
Рис. 2.9. Список имен пользователей
Для автоматизации сбора базы данных адресов e-mail для конкретного домена была создана одна хорошая утилита — google-mail. Она написана на языке программирования Python и входит в состав Linux-дистрибутива Kali. Эта сборка Linux была создана специально для профессионалов, занимающихся вопросами информационной безопасности, и содержит много полезных утилит для аудита ИС. Мы еще не раз будем ссылаться на ПО, которое содержится в данной ОС.
А теперь продемонстрируем ее работу — попробуем найти адреса почтовых ящиков, которые принадлежат статистической службе Великобритании:
root@kali:~# theharvester -d ons.gov.uk -b google
[-] Searching in Google:
Searching 0 results...
Searching 100 results...
[+] Emails found:
------------------
[+] Hosts found in search engines:
------------------------------------
[-] Resolving hostnames IPs...
46.137.157.118:Style.ons.gov.uk
52.48.12.36:consultations.ons.gov.uk
192.0.78.13:digitalpublishing.ons.gov.uk
54.192.203.35:performance.ons.gov.uk
46.137.157.118:style.ons.gov.uk
46.137.157.118:visual.ons.gov.uk
104.20.61.76:www.ons.gov.uk
Чем это может быть полезно? Тем, что, узнав почтовые адреса, мы можем заняться социальной инженерией.
Проведя несколько минут в вышеупомянутой поисковой системе, мы обнаружили, что Paul J Jackson использует свой e-mail в личных целях — например, оставляет комментарии на amazon.com.
Рис. 2.10. Комментарии к продукту на amazon.com от Paul J Jackson
Известен случай, когда хакер выяснил, что один из сотрудников компании занимается коллекционированием значков. Он ответил на размещенное этим человеком объявление и сообщил, что у него есть именно те коллекционные экземпляры, которые тот ищет. Затем он дал ему ссылку на страничку, где можно посмотреть всю коллекцию и выбрать интересующие значки. Конечно же, страничка была создана хакером заранее и содержала вирус, который заразил компьютер данного сотрудника и позволил хакеру получить доступ к его данным.
В состав Kali Linux входит одно очень интересное и нужное ПО — recon-ng. Это написанный на Python фреймворк, который поможет автоматизировать сбор информации из сети Интернет.
Данный фреймворк содержит множество подключаемых модулей, с которыми мы рекомендуем ознакомиться подробнее.
Данная программа состоит из подключаемых модулей, и команда show modules покажет нам их все.
root@kali:~# recon-ng
76] Recon modules
[7] Reporting modules
[2] Import modules
[2] Exploitation modules
[2] Discovery modules
[recon-ng][default] > show modules
Discovery
---------
discovery/info_disclosure/cache_snoop
discovery/info_disclosure/interesting_files
Exploitation
------------
exploitation/injection/command_injector
exploitation/injection/xpath_bruter
Import
------
import/csv_file
import/list
Recon
-----
recon/companies-contacts/bing_linkedin_cache
recon/companies-contacts/indeed
recon/companies-contacts/jigsaw/point_usage
recon/companies-contacts/jigsaw/purchase_contact
recon/companies-contacts/jigsaw/search_contacts
recon/companies-contacts/linkedin_auth
recon/companies-multi/github_miner
recon/companies-multi/whois_miner
recon/contacts-contacts/mailtester
recon/contacts-contacts/mangle
recon/contacts-contacts/unmangle
recon/contacts-credentials/hibp_breach
recon/contacts-credentials/hibp_paste
recon/contacts-domains/migrate_contacts
recon/contacts-profiles/fullcontact
recon/credentials-credentials/adobe
recon/credentials-credentials/bozocrack
recon/credentials-credentials/hashes_org
recon/domains-contacts/metacrawler
recon/domains-contacts/pgp_search
recon/domains-contacts/whois_pocs
recon/domains-credentials/pwnedlist/account_creds
recon/domains-credentials/pwnedlist/api_usage
recon/domains-credentials/pwnedlist/domain_creds
recon/domains-credentials/pwnedlist/domain_ispwned
recon/domains-credentials/pwnedlist/leak_lookup
recon/domains-credentials/pwnedlist/leaks_dump
recon/domains-domains/brute_suffix
recon/domains-hosts/bing_domain_api
recon/domains-hosts/bing_domain_web
recon/domains-hosts/brute_hosts
recon/domains-hosts/builtwith
recon/domains-hosts/google_site_api
recon/domains-hosts/google_site_web
recon/domains-hosts/hackertarget
recon/domains-hosts/netcraft
recon/domains-hosts/shodan_hostname
recon/domains-hosts/ssl_san
recon/domains-hosts/threatcrowd
recon/domains-hosts/vpnhunter
recon/domains-vulnerabilities/ghdb
recon/domains-vulnerabilities/punkspider
recon/domains-vulnerabilities/xssed
recon/domains-vulnerabilities/xssposed
recon/hosts-domains/migrate_hosts
recon/hosts-hosts/bing_ip
recon/hosts-hosts/freegeoip
recon/hosts-hosts/ipinfodb
recon/hosts-hosts/resolve
recon/hosts-hosts/reverse_resolve
recon/hosts-hosts/ssltools
recon/hosts-locations/migrate_hosts
recon/hosts-ports/shodan_ip
recon/locations-locations/geocode
recon/locations-locations/reverse_geocode
recon/locations-pushpins/flickr
recon/locations-pushpins/instagram
recon/locations-pushpins/picasa
recon/locations-pushpins/shodan
recon/locations-pushpins/twitter
recon/locations-pushpins/youtube
recon/netblocks-companies/whois_orgs
recon/netblocks-hosts/reverse_resolve
recon/netblocks-hosts/shodan_net
recon/netblocks-ports/census_2012
recon/netblocks-ports/censysio
recon/ports-hosts/migrate_ports
recon/profiles-contacts/dev_diver
recon/profiles-contacts/github_users
recon/profiles-profiles/namechk
recon/profiles-profiles/profiler
recon/profiles-profiles/twitter
recon/profiles-repositories/github_repos
recon/repositories-profiles/github_commits
recon/repositories-vulnerabilities/gists_search
recon/repositories-vulnerabilities/github_dorks
Reporting
---------
reporting/csv
reporting/html
reporting/json
reporting/list
reporting/pushpin
reporting/xlsx
reporting/xml
Теперь с помощью recon-ng мы найдем поддомены, которые используются amazon.com. Загрузим нужный модуль «load google_site_web», посмотрим на его параметры «set», зададим нужные «set source amazon.com» и запустим его командой «run».
[recon-ng][default] > load google_site_web
recon-ng][default][google_site_web] > set
Sets module options
Usage: set <option> <value>
Name Current Value Required Description
------ ------------- -------- -----------
SOURCE default yes source of input (see 'show info' for details)
[recon-ng][default][google_site_web] > set source amazon.com
SOURCE => amazon.com
[recon-ng][default][google_site_web] > run
----------
AMAZON.COM
----------
[*] Searching Google for: site:amazon.com
[*] [host] authorcentral.amazon.com (<blank>)
[*] [host] aws.amazon.com (<blank>)
[*] [host] whispercast.amazon.com (<blank>)
[*] [host] www.amazon.com (<blank>)
[*] [host] storywriter.amazon.com (<blank>)
[*] [host] affiliate-blog.amazon.com (<blank>)
[*] [host] payments-de.amazon.com (<blank>)
[*] [host] payments.amazon.com (<blank>)
[*] [host] kdp.amazon.com (<blank>)
[*] [host] advertising.amazon.com (<blank>)
[*] [host] services.amazon.com (<blank>)
[*] [host] vendorexpress.amazon.com (<blank>)
[*] [host] studios.amazon.com (<blank>)
[*] [host] developer.amazon.com (<blank>)
[*] [host] videodirect.amazon.com (<blank>)
[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com
[*] [host] affiliate-program.amazon.com (<blank>)
[*] [host] sellercentral-europe.amazon.com (<blank>)
[*] [host] uedata.amazon.com (<blank>)
[*] [host] twitch.amazon.com (<blank>)
[*] [host] payments-de-sandbox.amazon.com (<blank>)
[*] [host] kindlescout.amazon.com (<blank>)
[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com
[*] [host] music.amazon.com (<blank>)
[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com -site:music.amazon.com
[*] [host] smile.amazon.com (<blank>)
[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com -site:music.amazon.com -site:smile.amazon.com
[*] [host] sellercentral.amazon.com (<blank>)
[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com -site:music.amazon.com -site:smile.amazon.com -site:sellercentral.amazon.com
-------
SUMMARY
-------
[*] 24 total (24 new) hosts found.
Итак, мы собрали множество информации. В том виде, в каком она представлена, ее будет очень неудобно анализировать. Лучше всего представлять все в графическом виде.
Maltego — одна из лучших программ, которая включена в Kali Linux и содержит большое количество модулей. Она может собрать в автоматическом режиме большое количество информации об организации и представить ее в удобном для нас графическом виде. И что самое замечательное, она собирает не только данные о сети, но и информацию о сотрудниках, контактные данные, а также демонстрирует связь между ними.
Рис. 2.11. Пример работы Maltego
Для сбора текстовых данных очень хорошо подходит KeepNote, он позволяет не только сохранять текстовую информацию, но и организовывать и представлять ее в иерархическом порядке.
Рис. 2.12. Пример организации информации в KeepNote
Получение информации из открытых источников — один из важнейших этапов, он занимает больше всего времени и практически не требует взаимодействия с целевой системой. От тщательности проведения работ на данном этапе напрямую зависит конечный результат работы.
Учтите, что полезной может оказаться ЛЮБАЯ информация: контактная информация, страницы сотрудников в социальных сетях, новости, вакансии, документы и т.д.
Такие поисковые системы, как Google, Яндекс, Bing и т.д., могут существенно упростить процедуру поиска. Используйте операторы поиска для получения релевантных результатов. При помощи одних только поисковых систем можно находить уязвимые места в целевой системе.
Внимательно изучайте архивные данные, информацию из социальных сетей, открытые данные (домены, SSL сертификаты, статистику).
Не забывайте, что есть множество инструментов для автоматизации процесса, однако они не всегда могут заменить ручной поиск.
Главное учесть, что даже о небольшой системе можно собрать огромное количество информации. Поэтому в целях получения полной картины и облегчения последующей работы ее необходимо грамотно систематизировать. Используйте специализированное ПО.