Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
В этой книге рассматриваются методы обхода систем безопасности сетевых сервисов и проникновения в открытые информационные системы. Информационная безопасность, как и многое в нашем мире, представляет собой медаль с двумя сторонами. С одной стороны, мы проводим аудит, ищем способы проникновения и даже применяем их на практике, а с другой — работаем над защитой. Тесты на проникновение являются частью нормального жизненного цикла любой ИТ-инфраструктуры, позволяя по-настоящему оценить возможные риски и выявить скрытые проблемы. Может ли взлом быть законным? Конечно, может! Но только в двух случаях — когда вы взламываете принадлежащие вам ИС или когда вы взламываете сеть организации, с которой у вас заключено письменное соглашение о проведении аудита или тестов на проникновение. Мы надеемся, что вы будете использовать информацию из данной книги только в целях законного взлома ИС. Пожалуйста, помните о неотвратимости наказания — любые незаконные действия влекут за собой административную или уголовную ответственность. Вы последовательно пройдете все шаги, необходимые для проведения аудита безопасности информационных систем и тестов на проникновение: от общих понятий, рассмотрения стандартов и необходимых действий перед проведением аудита до методов проникновения в информационную систему и закрепления в ней. Каждая глава книги подкреплена реальными примерами и содержит практическую информацию по применению тех или иных методов. Книга адресована читателям, имеющим опыт работы в сфере информационных технологий и знакомым с работой основных сетевых сервисов как на Linux-, так и на Windows-платформах, а больше всего будет полезна системным администраторам, специалистам по ИТ-безопасности, всем тем, кто желает связать свою карьеру с защитой информации или аудиторской деятельностью. Во втором, дополненном и переработанном издании, информация была полностью обновлена и соответствует современным реалиям.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 426
Veröffentlichungsjahr: 2024
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Никита Скабцов
Kali Linux в действии. Аудит безопасности информационных систем. 2-е издание. — СПб.: Питер, 2024.
ISBN 978-5-4461-2154-0
© ООО Издательство "Питер", 2024
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Во втором издании книги, посвященной аудиту безопасности информационных систем, вся информация переработана таким образом, чтобы она соответствовала современным реалиям. Некоторые разделы были расширены, новые добавлены, и удалено все то, что, на взгляд автора, потеряло свою актуальность.
Книга построена так, что читатель последовательно проходит все шаги, необходимые для проведения аудита безопасности информационных систем и тестов на проникновение. Мы начинаем с общих понятий, рассмотрения стандартов и необходимых действий перед проведением аудита, а заканчиваем методами проникновения в информационную систему и закрепления в ней. Каждая глава книги подкреплена реальными примерами и содержит практическую информацию по применению тех или иных методов.
Излагаемый материал рассчитан на читателя, имеющего опыт в сфере информационных технологий и знакомого с работой основных сетевых сервисов как на Linux-, так и на Windows-платформах. «Аудит безопасности информационных систем» будет полезен системным администраторам, специалистам по ИТ-безопасности, всем тем, кто желает связать свою карьеру с защитой информации или аудиторской деятельностью.
Выражаю особую благодарность Владимиру Орехову. Это именно тот человек, который с самого начала верил в успех нашего безнадежного дела и непосредственно приложил руку к созданию данной книги. Без его помощи мы бы не получили посвященную переполнению буфера главу именно в таком виде, в каком она есть.
Спасибо Сергею Генкину за регулярную помощь с урегулированием различных организационных вопросов, это сэкономило автору много сил и времени.
Отдельные и самые теплые слова благодарности моей супруге Анне. Без тебя я не смог бы сделать и части того, что смог. Твои нежные объятия всегда помогали держаться в моменты, когда казалось, что сил двигаться дальше уже нет.
Также хотелось бы поблагодарить родителей, ведь без их поддержки, наставлений и дельных советов создание этой книги было бы невозможно.
Прошу прощения у друзей. Аня, Дарья, Ксения, Леонид и Юлианна, Николай и Алёна, Павел и Шанна, Семен и Женя, София, Стас и Ажар, Янис и Иева, Янис и Таня — работа над книгой отняла много времени и сил, но знайте, что я вас помню, и у нас впереди еще множество незабываемых моментов.
Безусловно, издание этой книги могло бы стать непосильной задачей без активного участия отзывчивого и доброжелательного коллектива издательского дома «Питер», выражаю им свою благодарность и надеюсь на дальнейшее сотрудничество.
Уважаемый читатель, надеюсь, что вам понравится эта книга и вы почерпнете из нее много интересного и полезного для себя. Однако у вас наверняка появятся вопросы, комментарии, а возможно, предложения или пожелания. Буду благодарен за любой отзыв и конструктивную критику, и для обратной связи оставляю свой адрес электронной почты: [email protected].
Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.
АЛУ. Арифметико-логическое устройство
АТС. Автоматическая телефонная станция
БД. База данных
ДМЗ. Демилитаризованная зона
ИБ. Информационная безопасность
ИС. Информационная система
ИТ. Информационные технологии
ОС. Операционная система
ПО. Программное обеспечение
СУБД. Система управления базами данных
АРI. Application Programming Interface
ARP. Address Resolution Protocol
BP. Base Pointer
CАМ. Content Addressable Memory
CDN. Content Delivery Network
CERT. Computer Emergency Response Team
CMS. Content Managment System
CPU. Central Processing Unit
CRC. Cyclic Redundancy Check
CSMA/CD. Carrier Sense Multiple Access with Collision Detection
CVSS. Common Vulnerability Scoring System
DLL. Dynamic Link Library
DLP. Data Loss Prevention
DMZ. Demilitarized Zone
DNS. Domain Name System
DOM. Document Object Model
FTP. File Transfer Protocol
GPL. General Public License
GPS. Global Positioning System
GPT. Generative Pre-trained Transformer
HEX. Hexadecimal
HTML. HyperText Markup Language
HТТР. HyperText Transfer Protocol
HTTPS. HyperText Transfer Protocol Secure
ICMP. Internet Control Message Protocol
IDS. Intrusion Detection System
IIS. Internet Information Services
IP. Internet Protocol
IPS. Intrusion Prevention System
ISN. Initial Sequence Number
ISO. International Organization for Standardization
ISSAF. Information System Security Assessment Framework
LAN. Local Area Network
LDAP. Lightweight Directory Access Protocol
LFI. Local File Inclusion
LIFO. Last In First Out
LM. Local area network Manager
LSASS. Local Security Authority Subsystem Service
MAC. Media Access Control
MBR. Master Boot Record
MIB. Management Information Base
MX. Mail Exchange
NetBIOS. Network Basic Input/Output System
NFC. Near field communication
NFS. Network File System
NIC. Network Information Center
NIST. National Institute of Standards and Technology
NLA. Network Level Authentication
NOP. No Operation
NOSINT. Net-based Open Source INTelligence
NS. Name Server
NTLM. New Technology Local area network Manager
NTP. Network Time Protocol
NVT. Network Vulnerability Tests
OSI. Open Systems Interconnection
OSINT. Open Source INTelligence
OSSTMM. Open Source Security Testing Methodology Manual
OWASP. Open Web Application Security Project
PCI DSS. Payment Card Industry Data Security Standard
PIN. Personal Identification Number
PTES. Penetration Testing Execution Standard
RCE. Remote Code Execution
RDP. Remote Desktop Protocol
REST API. Representational State Transfer API
RIPE. Réseaux IP Européens
RPC. Remote Procedure Call
SAM. Security Account Manager
SAN. Storage Area Network
SDL. Security Development Lifecycle
SET. Social-Engineer Toolkit
SMB. Server Message Block
SMTP. Simple Mail Transfer Protocol
SNMP. Simple Network Management Protocol
SP. Stack Pointer
SQL. Structured Query Language
SSH. Secure SНell
SSID. Service Set Identifier
SSL. Secure Sockets Layer
SSTI. Server-Side Template Injection
SSRF. Server-Side Request Forgery
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
VAS. Open Vulnerability Assessment System
VB. Visual Basic
VBA. Visual Basic for Applications
VLAN. Virtual Local Area Network
VNC. Virtual Network Computing
VoIP. Voice over Internet Protoсol
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
XXE. XML External Entity
ZAP. Zed Attack Proxy
На данный момент существует множество материалов, посвященных различным методам взлома информационных систем (ИС) и проникновения в них, большая часть которых представляет собой набор готовых шагов и обещает быстрый результат. Что же на самом деле отличает вас как специалиста от тех, кто работает преимущественно с такими источниками? Ответ может показаться скучным и банальным, но все же скажем: это методологический подход, знание и понимание того, что происходит.
При написании этой книги была поставлена задача не просто рассмотреть определенный набор инструментов, но дать читателю глубокие знания, позволяющие адаптировать работу этих инструментов к каждой конкретной задаче и в целом сделать работу более продуктивной.
Книга не претендует на то, чтобы стать полным и исчерпывающим руководством в сфере информационной безопасности (ИБ), главной ее задачей является знакомство с основными концепциями и примерами. После ее прочтения вам предстоит провести достаточно много времени, совершенствуя свои знания и полученные навыки, но за интересной работой и время летит незаметно, не так ли?
Для тех, кто только делает свои первые шаги в области информационных технологий (ИТ), книга может оказаться сложной для понимания. Она предполагает, что у вас есть некоторый опыт работы с основными сетевыми сервисами и вы как минимум не боитесь командной строки Linux. Справедливости ради стоит добавить, что иногда знание стандартов мешает мыслить вне рамок. Но все же без знания принципов работы операционных систем (ОС), компьютерных сетей, базовых навыков программирования вам будет достаточно сложно войти в сферу ИБ.
Стоит отметить, что в последнее время специалистам в сфере ИБ пришлось освоить еще одну специализацию — управление проектами. В современном мире в связи с постоянным увеличением доступной информации специализация постоянно становится все более узкой, не миновало это и сферу ИБ. Если в Средние века один врач мог лечить практически все, то в наше время есть определенные специалисты: невролог, кардиолог, ревматолог, нейрохирург и т.д. То же самое касается и ИБ: вы обязательно встретите профессионалов, специализирующихся в основном на поиске информации, веб-приложениях или аппаратном взломе. Когда вы получите контракт на аудит большой и сложной ИС, вам придется руководить всеми этими специалистами, делать так, чтобы они работали слаженно и эффективно. Руководство проектами выходит за рамки темы этой книги, но мы настоятельно рекомендуем вам ознакомиться с основами этой работы.
В мире информационной безопасности присутствует условное разделение занимающихся взломом ИС людей на три группы: «черные шляпы» («Black Hat»), «серые шляпы» («Gray Hat») и «белые шляпы» («White Hat»). В чем же принципиальное различие между ними? На первый взгляд в соблюдении этических принципов. Ведь одни занимаются незаконной деятельностью, а другие соблюдают принятые нормы. Но на самом деле главное отличие «черных» от «белых» состоит в получении разрешения. «Черные» занимаются взломом и проникновением в ИС без какого-либо согласования, а «белые» делают это с разрешения владельца системы.
В данном контексте стоит упомянуть историю Адриана Ламо (Adrian Lamo). Он взламывал информационные системы организаций без их ведома и согласия, но каждый раз после удачного проникновения создавал подробный отчет о своей работе и отправлял его владельцам ИС с рекомендациями по устранению недостатков. И все же, несмотря на многочисленные благодарности, широкое признание в определенных кругах и этичное поведение, ему не удалось избежать уголовного преследования и реального тюремного срока. Этот случай демонстрирует, что даже «черные шляпы» могут действовать этично.
Для некоторых специалистов вопросы этики остаются скучными и непонятными, известными лишь из презентаций или вебинаров, однако для тех, кто относит себя к категории «белых шляп», они являются фундаментальными. «Белые шляпы» не только стараются соблюдать этические принципы, но и активно продвигают свои идеи в обществе.
Так, Консорциум интернет-систем (Internet Systems Consortium) — одна из организаций, занимающихся вопросами информационной безопасности, — определяет основные этические каноны следующим образом:
• защищайте общество, общественное благо, общественное доверие и инфраструктуру;
• действуйте честно, справедливо, ответственно и законно;
• выполняйте служебные обязанности добросовестно и профессионально;
• развивайте и защищайте профессию.
Необходимо всегда ставить вопросы этики во главу угла; вам часто придется делать выбор, основываясь исключительно на внутреннем чувстве справедливости, и к сожалению, не всегда правильный выбор будет самым простым и удобным.
В сфере ИБ «черными шляпами» называют тех, кто проникает в информационные системы без получения предварительного согласия. Некоторые делают это по финансовым соображениям, кто-то из спортивного интереса — причин на самом деле может быть много, и не стоит всегда сводить мотивацию лишь к одной из них.
Часто случается так, что действующие на территории одной страны в рамках ее правового поля специалисты по ИБ могут при этом нарушать законодательство другой страны. В этом случае их действия все равно будут считаться незаконными и могут повлечь серьезные последствия. Это хорошо иллюстрирует случай с Дмитрием Скляровым. Его работа была связана с обходом методов защиты электронных книг, разработанной компанией Adobe. Дмитрий был арестован по приезде в США на конференцию по информационной безопасности, так как его действия нарушили законы этой страны (несмотря на то, что по закону своего государства он не считался преступником).
Иногда можно стать преступником, даже выполняя вполне законные действия. В некоторых компаниях есть специальные программы, которые позволяют осуществлять поиск уязвимостей без предварительного согласования, но и тут не все так просто. Майкл Линн (Michael Lynn) нашел уязвимость в продукте корпорации Cisco и хотел представить ее на одной из конференций по ИБ. Когда представители компании узнали об этом, они подали на исследователя в суд с целью запретить ему выступать с таким докладом. Несмотря на достигнутое соглашения, он все же выступил с запланированной темой. После он получил судебный запрет на дальнейшее раскрытие информации о полученной уязвимости. Тут мы опять сталкиваемся с этическим вопросом — считать его злоумышленником или нет?
Также известны случаи, когда после успешно проведенных атак, нацеленных на проникновение в ИС, специалистам удавалось избежать судебного преследования и они устраивались на хорошо оплачиваемые должности.
Трудности с точной классификацией обусловлены тем, что в ее основу положен признак, по-разному оцениваемый с различных точек зрения. В этой книге остановимся на том, что «черные шляпы» — это те, кто совершает незаконные действия.
В подавляющем большинстве это специалисты, которые осуществляют аудит безопасности информационных систем по предварительному согласию обеих сторон, под коим обычно подразумевается трудовой договор или договор на оказание услуг. Все законно и не связано с какими-либо этическими или правовыми конфликтами.
Многих больше всего интересует вопрос, кто же обладает лучшими навыками взлома и проникновения — «белые шляпы» или «черные»?
На самом деле не все так просто. Обычно те, кто занимается законным аудитом, более профессиональны. Часто это сотрудники крупных фирм или компаний, специализирующихся на предоставлении услуг в области ИТ и ИБ, которые могут вкладывать средства в обучение своих работников. Следовательно, они получают доступ к лучшим материалам и с ними работают опытные инструкторы. Также у «белых шляп» есть возможность на практике познакомиться с различными продуктами обеспечивающих ИБ компаний, протестировать новое оборудование и протоколы.
Однако и на них накладываются определенные ограничения. Во-первых, как уже упоминалось, они связаны этическими и правовыми нормами. Второй момент связан с техническими аспектами. Часто выполнение тестов на проникновение может привести к потере данных, отказу в обслуживании и другим неприятностям, способным парализовать работу предприятия. В связи с этим «белые шляпы» несколько ограничены в методах и не всегда идут до конца.
Как уже было сказано, отнесение специалиста к той или иной категории иногда зависит от точки зрения. Это справедливо и в отношении «серых шляп». Такие специалисты по большей части действуют в рамках закона, но иногда могут незначительно выходить за его пределы. Так, некоторые специалисты могут осуществлять взлом коммерческого программного обеспечения (ПО), но делают это не для извлечения прибыли или публикации результатов своей работы. Вот таких специалистов и можно отнести к данной категории.
Раз уж мы начали говорить о терминологии, затронем еще один термин — «взлом». Взлом — это незаконное проникновение в систему, тогда как тест на проникновение — законное действие. Конечно, это деление условно, ведь все зависит не от терминологии, а от того, в каком контексте происходит данное действие.
А вот аудит информационных систем сильно отличается от взлома и даже от теста на проникновение. Во-первых, понятие аудита применимо только к законным действиям. Во-вторых, если тест на проникновение означает поиск уязвимости и ее последующую эксплуатацию, то аудит предусматривает поиск и возможную эксплуатацию всех найденных аудитором уязвимостей. Тесты на проникновение означают, что хакер изначально ничего не знает о внутренней сети предприятия — так называемый метод черного ящика («Black Box»). В аудите предусмотрены методы как «черного ящика», так и «белого ящика» («White Box»), когда аудитор получает доступ к конфигурации и полной информации обо всех ИС предприятия. В данной книге рассмотрены только методы «Black Box».
Автор надеется, что читатели будут использовать информацию из данной книги только в целях законного взлома ИС. Пожалуйста, помните о неотвратимости наказания — любые незаконные действия влекут за собой уголовную или административную ответственность.
Вы уже наверняка заинтересовались вопросом, а может ли взлом быть законным? Конечно может! Законным взлом информационных систем является в нескольких случаях:
• вы взламываете принадлежащие вам ИС;
• аудит информационной безопасности сети предприятия входит в ваши должностные обязанности;
• вы взламываете сеть организации, с которой у вас заключено письменное соглашение о проведении аудита или тестов на проникновение.
Поскольку в первых двух случаях все достаточно просто, мы не будем заострять свое внимание на их рассмотрении, а разберемся со случаем, когда вас нанимают для проведения внешнего аудита ИС. В этой ситуации перед началом работ вы должны будете заключить несколько соглашений, которые и рассмотрим подробнее.
Скорее всего, вы уже встречались с таким типом документов. Основная его суть заключается в том, что вы обязуетесь не разглашать любую информацию, полученную в ходе проведения аудита ИС заказчика. Обычно это относится не только к промежутку времени, в который проводятся работы, действие таких соглашений может растягиваться на десятилетия. Соглашения могут также содержать специальный пункт о хранении, обработке и методах уничтожения данных. Будьте готовы к тому, что вас могут попросить уничтожить специально оговоренным методом жесткие диски, на которых хранилась информация, и предоставить тому документальное подтверждение. Справедливости ради следует сказать, что это скорее исключение, нежели правило.
Под действие этого соглашения подпадают абсолютно все информационные потоки, которые создавались в ходе вашей работы. Это распространяется на снимки экранов, подготовленную документацию, включая все черновики, историю командной строки, коммуникации по электронной почте, любые документы (финансовые отчеты, маркетинговые планы, конфигурационные файлы и т.д.), полученные вами в ходе тестирования или переданные вам заказчиком, а также многое другое.
Попробуйте поставить себя на место заказчика. Вы нанимаете команду специалистов, которая проникает в вашу сеть разными способами, получает права администратора в вашей системе и доступ к внутренней информации. На разглашение какой доли данных вы могли бы дать согласие?
В данном разделе прописано, что, каким образом и как должен делать заказчик во время действия этого договора. Ни для кого не секрет, что заказчик всячески будет стараться оберегать себя и получить от вас максимум за свои деньги, — это нормально. Помните, что вы всегда должны внимательно читать все, что собираетесь подписать, и у вас есть полное право не соглашаться на выполнение работ, которые не принесут вам какой-либо выгоды. Из вашего сотрудничества каждая сторона должна извлечь для себя пользу.
Не стоит удивляться тому, что в таких договорах вы встретите информацию о том, каким образом будет происходить ваша работа и как заказчик будет за вами наблюдать. Самый простой способ — сбор записей с вашей стороны и со стороны заказчика обо всех ваших действиях. Таким образом заказчик будет стараться оградить себя от возможных рисков утечки информации, а в случае, если во время тестов произойдет сбой в системе, он будет знать, кто за это ответствен.
Другим способом защиты является наблюдение. Когда вы будете проводить аудит в помещении заказчика, к вам могут приставить специально обученного человека. Не стоит волноваться, у таких людей нет цели скомпрометировать вас или узнать секреты вашей работы. Обычно они следят за тем, чтобы вы ненароком не получили доступ к той информации, которая может считаться секретной. И это касается не только ИС — например, вы случайно можете свернуть не туда и попасть в конференц-зал, где обсуждаются будущие бизнес-стратегии. Плюс в наличии такого сопровождающего заключается в том, что если вы найдете критическую уязвимость, которую, на ваш взгляд, стоит исправить безотлагательно, вы можете сразу сообщить ему об этом — необходимые действия по устранению начнутся гораздо быстрее.
Иногда бывает и так, что заказчик обязуется предоставить вам все необходимое оборудование и программное обеспечение за свой счет. И это не потому, что вы ему понравились и он хочет купить вам новый компьютер в счет еще не выполненной работы — все купленное, к сожалению, остается в его собственности. Это делается в тех случаях, когда вы проводите аудит в помещениях заказчика и можете выполнять работу только на принадлежащем заказчику оборудовании, которое не должно покидать стены организации.
В авторитетных источниках упоминается (хотя сам автор с этим не сталкивался), что в некоторых случаях заказчик не только настаивает на проведении аудита на принадлежащем ему оборудовании, но также запрещает проносить с собой любые устройства, которые могу обеспечить хранение, обработку или передачу данных.
Помимо требований соблюдения вами конфиденциальности в отношении данных заказчика, в соглашении также может содержаться информация о том, каким образом вы можете распоряжаться полученными данными и кому вы можете их передавать. Обычно это подразумевает, что вы должны передать результаты вашей работы определенному кругу лиц (это могут быть назначенные сотрудники и руководство предприятия). Кроме того, в некоторых случаях добавляется пункт, в котором оговаривается, каким третьим сторонам и какую информацию вы можете передавать.
Отнеситесь к этому внимательно и всегда проверяйте информацию о том, кому вы передаете данные. Часто бывает так, что аудит занимает несколько месяцев, а за это время человек, которому вы должны передать данные, может сменить место работы. Поэтому, чтобы не нарушить соглашение о неразглашении, убедитесь, что он до сих пор является сотрудником организации и у него все еще есть право доступа к той информации, которую вы хотите ему передать.
Часто в этом пункте также будут оговариваться действия, которые вы можете или не можете производить во время выполнения заказа. Например, вам могут запретить создание новых пользователей в системе, оговорить, какими способами вы может аутентифицироваться, к каким данным вы может получить доступ и многое другое. Скорее всего, вам будет запрещено использовать любые вирусы и другие вредоносные программы, а также проводить атаки, способные вызвать отказ в обслуживании.
Если же вы не видите вышеописанного в договоре, то не спешите радоваться — вполне возможно, что, подписав такой договор, вы подвергнете себя риску. Часто описание всего вышесказанного замещается дежурным «все необходимые действия», а это в каждом случае можно трактовать по-разному. Например, было ли использование эксплойта необходимым действием? Вы считаете, что да, а вот заказчик может иметь совершенно другое мнение на этот счет. Не пожалейте своего времени и заранее оговорите все как можно более детально.
В контексте договора об исполнении услуг имеется в виду не аудит инфраструктуры вашего заказчика, а именно аудит ваших систем, цель которого — убедиться, что условия договора не нарушены. Обычно заказчик хочет удостовериться в том, что данные, которые вы получаете, хранятся и обрабатываются в безопасном месте, а каналы передачи надежно защищены. Клиент хочет быть уверен, что ваша лаборатория представляет собой образцовое рабочее место в плане ИБ, вы же в этом разбираетесь, не так ли?
Под мониторингом также подразумевается, что будут следить именно за вами и вашими действиями. Заказчик хочет быть уверен, что вы соблюдаете условия договора и не производите никаких действий, не предусмотренных подписанным соглашением. Однако учтите, что не всегда вы сможете действовать в рамках установленных соглашений. Возможны и случаи, когда вам будет необходимо провести не предусмотренные соглашением или не оговоренные заранее мероприятия. Всегда согласовывайте их перед проведением. Помните, что устные договоренности могут ничего не значить, вы всегда должны получить подписанное разрешение. Чтобы это не превратилось в головную боль и не занимало много времени, заранее обговорите с заказчиком процедуру получения таких разрешений.
Разногласия — обычное дело при проведении любых работ, и многие из них можно решить в процессе переговоров. Возможно, вам не удалось выполнить часть задач из-за технических ограничений. Также бывали случаи, когда недовольные ИТ-специалисты пытались прикрыть недостатки своей работы действием ИБ-аудиторов, — будьте готовы и к этому.
Однако в случае, когда стороны не могут договориться, процедура разрешения споров переходит на новый, уже юридический уровень. Поэтому внимательно отнеситесь к этому пункту.
Любой профессионал по информационной безопасности хочет заниматься своим любимым делом на законных основаниях. Чаще всего такие люди являются частью команды, проводящей комплексный аудит безопасности информационных систем предприятий; реже они устраивают тесты на проникновение в индивидуальном порядке.
Чтобы быть уверенным в правильности и законности своих действий, профессионал должен соблюдать следующие правила:
• получать от клиента письменное разрешение на проведение тестов на проникновение или аудита ИС;
• соблюдать соглашение о неразглашении информации;
• гарантировать, что никакая информация, полученная во время работы с клиентом, никогда не станет известной другим лицам;
• проводить все тесты, согласованные с клиентом, и никакие другие.
Аудит информационных систем обычно проходит в несколько этапов:
• встреча с клиентом, обсуждение целей и средств;
• подписание договора о неразглашении информации;
• подписание договора об оказании услуг;
• сбор группы участников аудита, распределение ролей и подготовка расписания тестов;
• проведение тестов;
• анализ и проверка полученных результатов;
• подготовка отчета;
• передача отчета клиенту.
Существует множество методик проведения тестов на проникновение. Хотя их знание, безусловно, не гарантирует вам успешного взлома целевой ИС, однако крайне повышает шансы на это. К тому же, следуя методике, вы будете уверены, что сделали все возможное для качественного проведения работ и вам не будет стыдно представить отчет заказчику.
К сожалению, во многих случаях аудиты безопасности проводятся на скорую руку, без должной подготовки и применения необходимой методики, что снижает качество выполняемой работы и, следовательно, подвергает угрозе ИС заказчика. Тесты на проникновение должны производиться с применением эффективной методики, которую при необходимости вы можете изменять и подстраивать под требования заказчика, исходя из специфики выполняемой работы.
В данном разделе будет представлен краткий обзор нескольких популярных методик. Не пожалейте времени на их подробное изучение — это значительно облегчит вашу работу и позволит выполнять ее еще более профессионально.
Данный стандарт разрабатывается и поддерживается группой безопасности открытых информационных систем (OISSG). Стандарт оценки безопасности информационной системы (ISSAF) представляет собой постоянно рецензируемый документ, содержащий информацию о том, как проводить тесты на проникновение. Сильной стороной ISSAF является показ связи между различными задачами проекта и инструментами для их достижения. Несмотря на то, что разработчики не отдают предпочтения тому или иному программному обеспечению, в своей работе вы так или иначе будете использовать большую часть предложенного ими.
В этой части описываются шаги, которые необходимо сделать перед началом работ: обмен вводными данными, планирование ресурсов и подготовка. В первую очередь вам необходимо заключить договор о выполнении работ, он должен быть подписан обеими сторонами. Данное соглашение будет являться основой для проведения дальнейших работ. Также вам необходимо спланировать даты, время проведения тестов, технические детали и другие необходимые условия. Этот этап, помимо прочего, включает в себя уточнение списка контактных персон с обеих сторон, организацию собрания для обсуждения необходимых деталей проведения будущих работ, согласование ранее намеченного плана.
К сожалению, на данный момент эта фаза не описана настолько подробно, насколько нам хотелось бы. Однако учитывая, что свежие версии данного фреймворка не выходили достаточно давно, вряд ли мы увидим их в ближайшее время.
Несмотря на довольно неинформативную первую часть, вторая часть ISSAF проработана достаточно хорошо. В ней подробно описываются шаги, которые необходимо сделать для качественного проведения аудита. Одной из сильных ее сторон является уровень детализации. Тут представлены не только сами инструменты для выполнения тестов, но и примеры их использования. Даже если вы не знакомы со спецификой ИБ-аудита, в некоторых случаях вы сможете провести вполне удачную серию тестов, используя только приведенные примеры.
Помимо описания самих программ, примеров их запуска и использования, в ISSAF также трактуются полученные результаты, что, несомненно, расширит ваши знания даже после простого прочтения. Это не самый лучший вариант проведения аудита, но для тех, кто только знакомится с областью ИБ, он вполне подойдет.
Обратите внимание на то, что в данном фреймворке до конца не раскрывается весь потенциал тех или иных инструментов. Также здесь не описаны все возможные интерпретации полученных данных — это и понятно, ведь их очень много, да и авторы не преследовали такой цели.
В представленном ISSAF фреймворке каждый этап описывается как слой, ниже приводится краткое описание каждого из них:
• сбор информации (использование интернета для поиска всей доступной информации о цели с помощью как технических, так и нетехнических методов);
• картирование сети (идентификация всех систем и ресурсов целевой ИС);
• идентификация уязвимости (действия, выполняемые специалистом для обнаружения уязвимостей в целевой ИС);
• проникновение (получение несанкционированного доступа путем обхода методов защиты и попытка получения как можно более высоких привилегий в системе);
• получение доступа и повышение привилегий (попытка получить более высокие привилегии после успешного взлома системы или сети экспертом);
• продолжение проникновения (получение дополнительной информации о процессах в подконтрольной системе с целью ее дальнейшего использования);
• компрометация удаленных пользователей/сайтов (использование доверительных отношений и связей между удаленными пользователями и системами предприятия);
• поддержание доступа (использование скрытых каналов и руткитов для сокрытия присутствия специалиста в системе или обеспечения постоянного доступа к скомпрометированному ресурсу);
• сокрытие следов (устранение всех признаков взлома путем скрытия файлов, очистки журналов, обхода проверок целостности и антивирусного ПО).
Указанные этапы взлома применяются по отношению к следующим типам ресурсов: сети, хосты, приложения и базы данных.
ISSAF с различной степенью детализации предоставляет подробную информацию о различных типах оценки безопасности сетевых устройств. Во фреймворке представлена справочная информация по различным темам, примеры стандартных конфигураций, список используемых средств для проведения атак и ожидаемые результаты. Указанная информация будет интересна не только новичкам, но и специалистам с опытом работы в сфере ИБ. Ниже приведены некоторые темы, освещаемые данным фреймворком:
• взлом паролей;
• оценка безопасности коммутатора;
• оценка безопасности маршрутизатора;
• оценка безопасности файервола;
• оценка безопасности системы обнаружения вторжений (IDS);
• оценка безопасности виртуальной частной сети (VPN);
• оценка безопасности антивирусной системы;
• безопасность сети хранения данных (SAN);
• оценка безопасности беспроводной локальной сети;
• безопасность пользователей интернета;
• безопасность AS 400;
• безопасность Lotus Notes.
Не стоит пугаться большого объема информации, необходимости в доскональном прочтении всего стандарта нет. Самое главное — знать, что в нем содержится, и тогда, столкнувшись во время проведения тестов с незнакомой вам системой, вы будете представлять, где получить о ней информацию. Стоит еще раз упомянуть, что, к сожалению, данный стандарт давно не обновлялся и не покрывает весь спектр существующего ПО, но до сих пор содержит много актуальной информации.
В ISSAF описаны вопросы, касающиеся безопасности самых популярных операционных систем, среди которых Unix/Linux, Windows, Novell Netware. Предоставлена и информация о веб-серверах.
Обязательно обратите внимание на раздел, посвященный веб-серверам. В современном мире веб-серверы используются не только для размещения страниц в интернете, сейчас многие производители используют их для создания графических интерфейсов управления устройствами.
Так как стандарт давно не обновлялся, некоторые описанные типы операционных систем давно не используются, а самые свежие разработки в него не включены. Однако упомянуть о нем все же необходимо, ведь многие крупные предприятия в целях экономии продолжают использовать устаревшее ПО (так, некоторые банкоматы продолжают работать под управлением Windows NT).
На самом деле разделить тестирование приложений и баз данных достаточно сложно. В наши дни многие приложения активно используют базы данных того или иного типа, так что, получая к ним доступ, вы получаете и доступ к базе данных. В рамках фреймворка рассматриваются следующие типы атак: атаки на веб-приложения, SQL-инъекции, аудит исходного кода, аудит бинарных файлов.
В данном разделе описаны специфические методы, применимые именно к базам данных: удаленный взлом баз данных, манипуляция процессами, полный аудит баз данных.
В данном разделе описываются методы социальной инженерии. Все описанные методы довольно старые, но к большому сожалению, уровень грамотности пользователей не вырос слишком значительно, а специалисты по ИБ не уделяют этому вопросу должного внимания. В связи с этим практически все описанное можно успешно применять и в наше время.
В данном разделе описаны необходимые шаги, которые следует выполнить по завершении аудита ИС. Они включают подготовку и передачу данных лицам, указанным на первом шаге, а также вопросы конфиденциальности полученных данных. В отношении этого раздела следует сказать, что он также недостаточно подробен.
Данный фреймворк описывает два вида отчетов — устный и письменный. Первый стоит использовать в случае нахождения критической уязвимости, которая, на ваш взгляд, должна быть устранена немедленно. Информацию о таких случаях также необходимо внести в финальную версию письменного отчета.
По мнению разработчиков, финальный отчет должен содержать следующую информацию:
• данные об организационных мероприятиях;
• цели проведения работ;
• используемое ПО;
• используемые эксплойты;
• даты и время тестов;
• все полученные данные;
• список найденных уязвимостей;
• рекомендации по устранению найденных уязвимостей, ранжированные в порядке приоритетности.
Финальный отчет рекомендуется не перегружать огромным количеством данных. Не включайте все в основной документ, вынесите что-то в приложение. Так вы предоставите всю необходимую информацию, а результат вашей работы будет выглядеть намного лучше.
В этом разделе идет речь о необходимости удалить любые файлы и ПО, созданные вами в исследуемой ИС. Если по каким-то причинам вы не можете сделать это самостоятельно, в вашем отчете нужно представить подробную инструкцию о том, как это могут сделать администраторы ИС.
Руководство по методике тестирования безопасности с открытым исходным кодом (OSSTMM) — стандарт, разработкой которого занимается организация ISECOM (Institute for Security and Open Methodologies), старающаяся придерживаться строго научного подхода. Первую версию стандарта представили в 2000 году, и он поддерживается до сих пор.
OSSTMM был разработан с целью создания стандартизированной методики для аудита ИС, которая была бы открытой и общедоступной. Этот стандарт обеспечивает набор инструкций и рекомендаций для проведения тестов на проникновение, включая оценку уязвимостей, анализ рисков, собственно тесты и проверку безопасности приложений.
Он охватывает широкий диапазон тестов на безопасность, среди которых проверка сетевых устройств, физической безопасности, методы социальной инженерии, тестирование приложений, оценка безопасности беспроводных сетей и тестирование на проникновение.
Более того, OSSTMM предлагает методику, позволяющую оценить эффективность системы безопасности и провести оценку соответствия ее требованиям. Это помогает организациям оценить уровень своей защищенности и принять меры для улучшения безопасности своих ИС и приложений.
Каналы в OSSTMM — это категории информационных ресурсов, которые могут быть подвержены угрозам и атакам. В OSSTMM представлены семь каналов, проверяемые при проведении аудита ИС:
• канал сетевого доступа: маршрутизаторы, коммутаторы, файерволы, VPN и другие сетевые устройства;
• канал приложений: веб-приложения, приложения для мобильных устройств, приложения для рабочих станций и т.д.;
• канал операционных систем: Windows, Linux, Unix и т.д.;
• канал физической безопасности: здания, серверные залы, шкафы для хранения оборудования и другие физические объекты;
• канал социальной инженерии: проверка сотрудников на подверженность фишингу, обману, мошенничеству и т.д.;
• канал беспроводной связи: Wi-Fi, Bluetooth, NFC и т.д.;
• канал телекоммуникаций: телефонные системы, VoIP, видеоконференции и т.д.
При проведении тестирования на безопасность необходимо проверять все эти каналы, чтобы убедиться, что все информационные ресурсы организации защищены от потенциальных угроз и атак.
В OSSTMM есть модули, которые представляют собой повторяющиеся процессы в рамках теста на проникновение. Эти модули используются во всех каналах OSSTMM. Реализация каждого модуля может быть разной в зависимости от целевой системы или сети. Каждый из модулей предлагает специализированные подходы для каждого канала, однако их связывают общие принципы, которые мы рассмотрим ниже.
Первая фаза OSSTMM — это фаза ознакомления и подготовки, которая включает в себя определенные шаги. Цель этого этапа состоит в том, чтобы подготовить основу для проведения тестирования безопасности и разработать план действий, который будет использоваться во время тестирования.
Описываются следующие действия:
• Определение целей тестирования. Является первым и важным шагом в проведении аудита. Цели тестирования в зависимости от требований заказчика могут меняться, но обычно включают в себя поиск и оценку уязвимостей, проверку соответствия политикам и процедурам безопасности, а также тестирование способности системы обнаруживать и предотвращать атаки.
• Выбор методики тестирования. OSSTMM предоставляет широкий спектр методик тестирования безопасности, а выбор конкретной зависит от целей тестирования и типа тестируемой информационной системы.
• Подготовка тестовой среды. Этот этап включает в себя создание копии рабочей среды организации, которая будет использоваться для проведения тестирования безопасности. Во время этого этапа происходит создание виртуальных машин, настройка тестовых устройств и т.д.
• Оценка рисков. Позволяет идентифицировать потенциальные угрозы, которые могут повлиять на проведение аудита и работу целевой ИС. Включает в себя разработку плана действий для их предотвращения.
• Планирование тестирования. Включает в себя определение сроков и бюджета, распределение ресурсов, назначение ответственных за проведение тестирования и определение тестовых сценариев.
• Сбор информации. На этом шаге проводится сбор информации о целевой ИС. Обычно это подразумевает сбор информации об инфраструктуре, используемых технологиях, политиках безопасности и т.д.
Во время этой фазы тестирования происходит активный поиск информации об объекте, который нужно протестировать. Это может быть сбор информации о компьютерной сети, операционной системе, приложениях, уязвимостях и т.д. Сбор информации включает в себя использование открытых источников — сайтов, социальных сетей, форумов, — а также сканирование портов и анализ протоколов.
Ко второй фазе относятся следующие действия:
• Определение целей тестирования. Целью может быть, например, проверка степени защищенности сети или приложения.
• Определение диапазона тестирования. Оговариваются системы и приложения, которые будут тестироваться. Диапазон может включать в себя все приложения и сети организации, а может ограничиваться только конкретными участками информационной системы.
• Сбор информации о целевой системе. Может включать в себя сбор открытой информации, такой как доменные имена, IP-адреса, информация о серверах, базах данных, приложениях и т.д.
• Определение методов атаки, которые будут использоваться для взлома системы.
• Оценка рисков. Необходимый этап, на котором оцениваются риски, связанные с тестированием системы. Этот этап позволяет определить, какие действия могут повлечь за собой нежелательные последствия, например повреждение данных или нарушение работы системы.
Эта фаза особенно важна для тестирования безопасности, поскольку она позволяет тестировщикам получить ценную информацию, необходимую для понимания объекта тестирования, а также для идентификации уязвимостей и потенциальных точек входа для атаки. Она также может помочь определить, какие методы тестирования безопасности будут наиболее эффективными в дальнейшей работе.
Цель третьей фазы в OSSTMM состоит в том, чтобы провести тестирование системы на наличие уязвимостей, оценить их критичность, провести атаки на систему, оценить эффективность защиты и определить меры по улучшению уровня безопасности. На данном уровне выполняются следующие шаги:
• Идентификация уязвимостей. Проводится их поиск в информационной системе.
• Оценка уязвимостей. Проводится с целью определить, какой уровень угрозы они представляют для информационной системы.
• Классификация уязвимостей. Проводится по их типу и уровню угрозы, что позволяет определить приоритеты для последующих шагов во время аудита информационной системы.
• Проверка эффективности защитных мер. Оценка эффективности защитных мер, которые были реализованы для предотвращения атак, может включать в себя проверку наличия и правильной настройки механизмов аутентификации, контроля доступа, межсетевых экранов и т.д.
• Проверка соответствия политикам и процедурам безопасности. Включает в себя проверку наличия и правильной настройки систем регистрации событий и другие процедуры.
Фаза является одним из ключевых и важных этапов аудита безопасности. На этой фазе специалисты осуществляют проверку возможности эксплуатации обнаруженных уязвимостей в целях получения контроля над системой или доступа к защищаемым ресурсам. Цель этого этапа — определить реальную уязвимость системы и оценить риски. Основные шаги:
• Подбор утилит и инструментов для эксплуатации уязвимостей.
• Эксплуатация уязвимостей. Специалисты пытаются использовать обнаруженные уязвимости для получения доступа к системе или защищаемым ресурсам.
• Повторная проверка системы. Производится, чтобы убедиться, что эксплуатация не привела к нежелательным последствиям или не была обнаружена защитными механизмами.
На этом этапе осуществляется проверка возможности повышения привилегий и расширения доступа. Основные шаги:
• Анализ среды и определение потенциальных уязвимостей. Проводится с целью выявить потенциальные уязвимости и недостатки, которые могут быть использованы для повышения привилегий и расширения доступа.
• Подбор инструментов и методов, которые будут использоваться для повышения привилегий и расширения доступа.
• Попытка повышения привилегий. Специалисты пытаются повысить свой уровень доступа, чтобы получить больше прав в контроле над системой или защищаемыми ресурсами.
• Попытка расширения доступа. Имеет целью получить доступ к защищаемым ресурсам, которые были недоступны на более низком уровне доступа.
Цель этого этапа — оценить потенциальные риски, связанные с безопасностью информационной системы, и определить меры по их устранению или снижению. Основные шаги:
• Идентификация систем и уязвимостей. Проводится анализ ИС с целью определения ее наиболее ценных элементов, требующих защиты, а также определение уязвимостей, которые могут быть использованы злоумышленниками.
• Определение потенциальных угроз. Определяются не только потенциальные угрозы, которые могут нанести ущерб ИС, но и вероятность их эксплуатации.
• Оценка уровня риска. Может основываться на различных критериях, таких как вероятность, возможные последствия, доступность и т.д.
• Разработка мер по снижению рисков, включая технические и организационные.
• Повторная оценка рисков. Позволяет убедиться в эффективности реализованных мер по снижению рисков.
Как уже было упомянуто, в сфере информационной безопасности существует множество методик, которые могут применяться для обеспечения защиты информационных систем и данных. Приведем некоторые из них:
• ISO 27001 (International Organization for Standardization) — международный стандарт для управления информационной безопасностью. Определяет требования к управлению рисками и обеспечению безопасности информационных систем и процессы для их реализации;
• OSSTMM (Open Source Security Testing Methodology Manual) — методика тестирования безопасности, описывающая процесс тестирования и определения уязвимостей информационных систем;
• NIST (National Institute of Standards and Technology) — федеральный стандарт США, определяющий рекомендации по управлению информационной безопасностью;
• PTES (Penetration Testing Execution Standard) представляет процесс тестирования безопасности с помощью проникновения специалистов в информационную систему для определения уязвимостей и разработки мер по их устранению;
• SDL (Security Development Lifecycle) описывает этапы разработки, включая оценку угроз, управление рисками и создание безопасных кодовых баз;
• Cyber Kill Chain описывает этапы атаки хакеров на информационную систему. Понимание того, какие приемы могут использоваться злоумышленниками, позволяет организациям разрабатывать меры по предотвращению атак;
• PCI DSS (Payment Card Industry Data Security Standard) — стандарт, разработанный владеющими платежными картами Visa, MasterCard, American Express, Discover и JCB компаниями для обеспечения безопасности личных данных в процессе их обработки, передачи и хранения. Хотя это не практическое техническое руководство по проведению тестов на проникновение, но оно позволяет получить достаточно полное представление о самом процессе тестирования.
Каждая методика имеет свои преимущества, а выбор той или иной зависит от конкретных потребностей организации и уровня безопасности, необходимого для ее информационных систем и данных.
Итак, все организационные формальности улажены, вы заключили договор с компанией, собрали команду высококвалифицированных специалистов, определились с методикой и ролями, а теперь готовы приступить к аудиту.
Как уже говорилось, первый этап взлома любой ИС начинается со сбора максимального количества информации о цели. Получение данных из различных источников и веб-разведка являются неотъемлемой частью тестирования на проникновение и важным элементом проактивной защиты. Чем больше сетевых сервисов использует предприятие, тем больше цифровых следов оно оставляет в Глобальной сети, то же справедливо и для частных лиц: интернет помнит все. Понимание того, какую информацию можно найти, а также как ее обрабатывать и использовать, является ключевым моментом в деятельности как исследователя, так и специалиста по информационной безопасности.
В реальном мире специалисты, осуществляющие тесты на проникновения, до 90 % времени тратят именно на сбор и обработку данных о целевой системе. При работе с клиентом вы можете столкнуться с необходимостью не только найти уязвимые места в его инфраструктуре, но и предоставить информацию о том, как выглядит цифровой след организации в Глобальной сети. В ходе сбора информации может появиться необходимость ответить на следующие вопросы: какие домены предприятия отслеживаются в сети, есть ли сервисы, использующие уязвимые системы шифрования, есть ли общедоступные сервисы, использующие уязвимую конфигурацию (и многие другие).
Если задаться целью погрузиться с головой в мир изучения данных, стоит попробовать установить одну из созданных открытыми сообществами операционных систем, специально предназначенных для сбора и обработки информации: Buscador, Dora, CSI Linux и т.п.
Учтите, что практически никогда не удается получить всю информацию из одного-единственного источника. Данные приходится собирать из множества различных мест (БД, HTML-код, новостные ленты и т.д.), чтобы впоследствии, как из кусочков мозаики, составить полную картину ИС организации.
На данном этапе выявляются слабые места сети, через которые возможно осуществить проникновение в систему. При правильном подходе можно выявить не только потенциально уязвимые места, но и возможные векторы атаки на обозначенную цель. В зависимости от размера организации объем собранной информации может варьироваться от десятка строк до сотен страниц текстовой информации. Важно не только собрать, но и грамотно обработать полученные данные.
Инструмент анализа каждый волен выбирать сам, будь то логические схемы, доска и маркеры или стикеры на стенах, — главное, чтобы в результате информация была обобщена и представлена в удобном и читабельном виде.
Для проведения успешной атаки нам пригодится любая доступная информация о предприятии.
Имея в своем распоряжении только название организации, обычно начинают сбор следующих данных:
• домены;
• сетевые адреса или сетевые блоки;
• место нахождения;
• контактная информация;
• новости о слиянии или приобретении;
• вакансии;
• ссылки на связанные с организацией веб-сервисы;
• различные документы;
• структура организации;
• сведения о сотрудниках.
Это только примерный список, продолжать его можно достаточно долго. Например, просмотрев вакансии предприятия, можно узнать, какие ИС используются внутри организации. Проанализировав же HTML-код домашней странички, можно найти ссылки на внутренние ресурсы.
От того, как проведен сбор информации, в будущем будет зависеть направление, тип и успешность атаки. Большая часть процесса сбора информации не требует специальных знаний — только умения пользоваться поисковыми системами. Зачастую они индексируют даже ту информацию, которую пытались скрыть от внешнего мира.
С момента создания небольшого проекта, объединяющего несколько университетов США в одну информационную систему, до образования Глобальной сети прошло совсем немного времени. В наши дни доступ к Сети имеют миллиарды людей и в разы больше устройств со всего мира. С одной стороны, доступ к практически неограниченному объему информации и возможность самому создавать и публиковать различный контент принесли много благ современному обществу, однако есть и другая сторона медали. В современном информационном пространстве ведут незаконную деятельность множество преступных группировок, и технологии позволяют им осуществлять эффективную коммуникацию достаточно скрытно. Вторая проблема — это обычные люди, которые публикуют такую информацию, которая может принести определенный вред как им самим, так и организациям, где они работают, или даже странам, в которых они проживают. По примерным подсчетам, в этом году общий убыток от вышеописанных действий может достичь около 3 трлн долларов США. В связи с этим многие корпорации и государства начали активно инвестировать в OSINT (Open Source INTelligence, разведка по открытым источникам).
Аббревиатура OSINT обозначает всю публично доступную информацию. Хотя доподлинно неизвестно, когда впервые начали использовать этот термин, однако сейчас под ним подразумевается поиск и анализ данных, доступных в публичном пространстве. Считается, что США в период холодной войны стали одними из первых, кто широко применил такой подход. Справедливости ради стоит заметить, что не одни они занимались сбором и анализом доступной информации, это делало множество стран.
Приведем определение OSINT департамента обороны Соединенных Штатов: «Открытая разведывательная информация (OSINT) — это полученная из общедоступных источников и обработанная информация, распространяемая в соответствующей аудитории с целью удовлетворения конкретных потребностей разведки».
Впоследствии был создан национальный центр OSINT, задачей которого является сбор и анализ общедоступной информации как из онлайн-, так и из офлайн-источников. После серии терактов и принятия соответствующих законодательных актов эта организация была переименована и вошла в состав Центрального разведывательного управления.
OSINT выделяют из других методов поиска информации, так как все данные должны собираться только из открытых источников на законных основаниях, в том числе без нарушения авторских прав или вторжения в частную жизнь.
Во время поиска данных исследователи могут обнаруживать приватную информацию, доступ к которой не был ограничен должным образам. Таким путем, например, появлялась информация на известном сайте WikiLeaks. Использование такой информации противоречит философии OSINT и обозначается другим термином: NOSINT (Net-based Open Source INTelligence).
OSINT включает в себя множество источников информации, для поиска могут использоваться:
• интернет (форумы, блоги, сайты социальных сетей, сайты обмена видео, вики, записи Whois о зарегистрированных доменных именах, метаданные файлов, DarkNet-ресурсы, данные геолокации, IP-адреса, поисковые системы и все, что можно найти в интернете);
• традиционные средства массовой информации (телевидение, радио, газеты, книги, журналы);
• специализированные журналы, научные публикации, диссертации, материалы конференций, профили компаний, годовые отчеты, новости, профили сотрудников и резюме;
• фото и видео, включая метаданные;
• геопространственная информация (карты, коммерческие изображения продуктов).
OSINT широко используется хакерами и специалистами по информационной безопасности для сбора информации о конкретной цели в интернете. Он также считается ценным инструментом при проведении атак по типу социальной инженерии. Первый этап при любой методике тестирования на проникновение начинается с разведки (другими словами, с OSINT). Рисунок 3.1 показывает основные этапы тестирования на проникновение.
Рис. 3.1. Основные этапы тестирования на проникновение
Информацию OSINT можно собирать тремя основными методами: пассивным, полупассивным и активным. Выбор метода сбора зависит от контекста, а также от типа данных, которые вас интересуют.
Пассивный сбор данных. Это наиболее часто используемый тип сбора данных, потому что его основной целью является получение информации о цели только из общедоступных ресурсов. В этом случае ваша цель ничего не знает о вашей деятельности.
Этот вид поиска позволяет остаться анонимным и должен проводиться скрытно. С технической точки зрения этот тип сбора позволяет получить лишь ограниченную информацию о цели, потому что вы не отправляете никакого трафика на целевой сервер — ни прямо, ни косвенно. Основным недостатком данного типа является то, что вы можете получить устаревшую информацию.
Полупассивный сбор данных. Этот тип сбора данных подразумевает, что исследователь отправляет ограниченный трафик на целевые серверы для получения общей информации о них. Этот трафик максимально похож на типичный интернет-трафик, так как он не должен привлекать внимание к вашей деятельности. Вы проводите не глубокое исследование онлайн-ресурсов цели, а только их поверхностное изучение, не привлекая повышенного внимания со стороны администраторов целевой системы. Хотя этот тип сбора считается в некотором роде анонимным, но записи о ваших действиях все равно останутся в системных журналах; однако исследование необходимо проводить таким образом, чтобы эти записи нельзя было классифицировать как преднамеренный сбор информации.
Активный сбор данных. В этом сценарии вы напрямую взаимодействуете с системой, чтобы собрать информацию о ней. Цель может узнать о процессе сбора данных, поскольку осуществляющий его человек, скорее всего, использует инструменты автоматического сбора информации, работающие по определенному шаблону.
Такие инструменты позволяют получить информацию об открытых портах, наличии уязвимостей, приложениях и многое другое. Такой трафик будет выглядеть как подозрительный и оставит следы, которые могут быть найдены системой обнаружения вторжений (IDS) или системой предотвращения вторжений (IPS). Проведение атак по типу социальной инженерии в некоторых случаях также считается видом активного сбора информации.
Мы начнем с рассмотрения инструментов для пассивного сбора данных. В этом разделе основной упор будет сделан на работу с такими поисковыми системами, как Google, и более специализированными — как Shodan.
Каждый день количество информации, находящейся в открытой части интернета, неуклонно растет. Можно быть полностью уверенным и в том, что также неуклонно увеличивается количество данных в темной и глубокой части Сети, но нам достоверно неизвестно, насколько быстро. Что же касается открытых данных, то согласно статистике, количество сайтов в сети уже превысило отметку в два миллиарда, а Google утверждает, что проиндексировал более сотни триллионов страниц (не путайте сайт и страницу — в данном контексте имеется в виду, что один сайт может содержать множество страниц).
В таком огромном количестве информации несложно и запутаться — как мы знаем, поисковые роботы постоянно сканируют страницы на наличие изменений и ссылок, затем, при необходимости, обновляют свою базу данных. В свою очередь, когда пользователь запрашивает какую-либо информацию, он обычно получает огромное количество результатов, которые представляют собой смесь видеофайлов, картинок, тестовой и другой информации.
С одной стороны, в таком потоке данных очень просто потеряться. Перегруженность информацией действительно является одной из актуальных проблем современного человека. С другой стороны, если бы не было поисковых систем, вам пришлось бы вручную просматривать огромное количество страниц в поисках нужной информации. Поисковые системы позволяют быстро находить релевантную информацию по необходимым вам ключевым словам, и это, безусловно, в разы облегчает поиск в Сети. Однако при поиске также необходимо учитывать, что поисковые системы будут выдавать вам результаты поиска в зависимости от ранга страницы. Чем выше ранг страницы, тем более высокое место она будет занимать в результате поиска. Алгоритм ранжирования является тайной за семью печатями, никто, кроме разработчиков, не знает точно, как он действует, и сделано это специально, с целью исключить возможность влияния на его работу. Но специалисты по продвижению сайтов все же устанавливают корреляции между своими действиями и результатами работы алгоритмов. Правда, к тому времени, как эта информация станет доступна широкому кругу пользователей, она, вероятно, потеряет свою актуальность, ведь компании регулярно вносят изменения в работу алгоритмов. Соответственно, после этого изменится место сайта в результатах выдачи. Это может привести к тому, что если раньше требуемая вам информация находилась на первой странице результатов поиска, то через неделю та же страница, найденная по тому же самому запросу, будет располагаться в самом конце. А ведь по статистике большая часть пользователей редко просматривает даже вторую страницу результатов.
Основные поисковые системы — Google, Yandex, Bing и др. — дают нам возможность использовать их бесплатно. У каждой поисковой системы есть свой особый синтаксис, который поможет найти именно ту информацию, которая нам нужна, отфильтровывая ненужные данные. Рассматривать примеры поиска интересующих нас данных начнем с Google ввиду того, что эта поисковая система является одной из самых популярных, содержит огромное количество информации и обладает хорошо развитым синтаксисом написания запросов.
Прежде чем окунаться с головой в дебри написания запросов, стоит затронуть тему ключевых слов, которая является общей для всех поисковых систем. Правильно написанный запрос позволит поисковым системам выдать более релевантный результат с меньшим количеством ненужной информации, что упростит ее обработку.
Когда поисковые роботы анализируют страницы, они уделяют особое внимание встречающимся ключевым словам. Используя различные ключевые слова, вы будете получать отличающиеся друг от друга результаты, даже если мы говорим о синонимах. Наш мозг устроен таким образом, что мы всегда стараемся находить быстрые и легкие решения, а это, в свою очередь, приводит к тому, что мы начинаем мыслить шаблонно и использовать те же поисковые запросы, что и миллионы пользователей. В обычной жизни это нам даже помогает, да и SEO-специалисты оптимизируют страницы таким образом, чтобы мы могли их найти быстро и легко с помощью самых популярных запросов, тех, которые первыми приходят в голову. Другое дело, если мы хотим найти не предназначенную для широкого круга пользователей информацию, которую могли, например, по ошибке сделать доступной поисковым системам, но которая совершенно не оптимизирована для индексации. На таких страницах могут содержаться сокращения, технические термины и грамматические ошибки. Именно для поиска такой информации и возникает необходимость подбора ключевых слов.
Безусловно, сидеть и придумывать возможные варианты запросов — задача нелегкая и не всегда благодарная, поэтому для облегчения данной задачи было создано несколько хороших инструментов:
• https://ads.google.com/intl/ru_ru/home/tools/keyword-planner/;
• https://www.onelook.com/reverse-dictionary.shtml;
• https://wordstat.yandex.ru/.
Мы не будет останавливаться на них подробно, ведь такой поиск — слишком тонко специализированная работа и выходит за рамки содержания этой книги.
На данный момент Google является одной из самый популярных поисковых систем в мире; согласно статистике, ежедневно ее использует более 75 % активных пользователей интернета, отправляя около 5 млрд запросов в день.
Самым простым способом взаимодействия с этой системой является использование веб-версии, для этого достаточно открыть страничку google.com и ввести поисковой запрос. Google также поддерживает голосовой ввод и может искать информацию по изображению. Такой поиск достаточно тривиален и всем знаком, поэтому рассмотрим далее специальные операторы для уточнения запроса и повышения релевантности выдачи.
Поиск в социальных сетях. Предположим, в ходе поверхностного изучения информации о авиакомпании British Airways (Британские авиалинии) в Википедии мы узнали, что на данный момент руководство компанией осуществляет некий Шон Дойл (Sean Doyle). Поскольку это зарубежная компания, то скорее всего, ее руководство использует Facebook для коммуникации. Поиск по запросу @facebook:sean doyle выдаст нам слишком много данных: оказывается, есть много людей с таким именем и фамилией.
Ограничим наш поиск, используя оператор AND. Нас ведь интересует только тот человек, который стоит во главе крупной корпорации. Результат поиска представлен на рис. 3.2.
Как мы видим, теперь нам удалось получить более релевантный ответ. Мы увидели профиль этого человека в социальной сети, узнали, как он выглядит, и даже можем получить образец его голоса с представленных видео.
Рис. 3.2. Результат поиска по запросу @facebook:sean doyle AND british
Теперь коротко рассмотрим еще несколько операторов.
Для поиска по хештегам достаточно добавить символ # в начало строки, например: #punksnotdead. В результате мы получим ссылки на социальные сети (Facebook, Vk, Instagram, Tiktok и т.д.) и другие ресурсы, где встречается данный тег.
Для поиска точного совпадения необходимо использовать кавычки "". Чаще всего их используют для поиска точных фраз. Так, поиск по словам unattended administratorlogin возвращает нам различные сайты с описанием этого способа доступа, а вот поиск по запросу "unattendedadministratorlogin" уже выдает только ссылки на страницы с формами доступа к системам.
Разработчики Google несколько упростили нам работу по тонкому подбору ключевых слов, добавив в список операторов тильду ~. Предположим, вам надо найти примеры реализации xss-атак. По запросу xssattack ~example Google выдаст результаты, соответствующие запросам xssattacktutorial, xssattack script и т.д.
Теперь рассмотрим еще один логический оператор — ИЛИ. В Google он обозначается символом |