Библиотека хакера | Hacking, Infosec, ИБ, информационная безопасность
12.6K subscribers
1.81K photos
92 videos
166 files
2.86K links
Все самое полезное по инфобезу в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67ab0e2e75b36e054ef6d5bf
Download Telegram
bug-bounty-hunting-essentials-p2p.pdf
11.5 MB
#pentest #bugbounty #book

Прежде чем переходить к рассмотрению этапов традиционного пентеста, хотелось бы уделить внимание такой интересной теме, как Bug Bounty.

Если у вас есть опыт в поиске веб- или уязвимостей мобильных приложений, то можно применять свои знания в рамках программ Bug Bounty.

Bug Bounty — это программа, предлагаемая организациями и разработчиками ПО, с помощью которой специалисты по тестированию безопасности могут получить вознаграждение за нахождение ошибок / багов / уязвимостей.

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

Что касается площадок, на которых организации размещают свои программы, то вот самые распространенные: HackerOne и BugCrowd.

Сама процедура участия в программах Bug Bounty качественно описана в книге под названием "Bug Bounty Hunting Essentials" (прикреплена к посту).

Сделать еще несколько постов по этой теме?
#pentest #bugbounty

Реакция положительная — значит продолжаем разговор о Bug Bounty.

Bug Bounty программы могут отличаться следующими показателями: содержанием (scope) и типом (открытая/закрытая), вознаграждением (материальное/нематериальное) и прозрачностью (непрозрачностью) итогов программы.

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

Учитывая тот факт, что исследователи со всего мира могут так же как и вы участвовать в Bug Bounty программе, необходимо быть на шаг впереди и придерживаться следующих советов:
✔️Следить за новостями. Если обновился скоуп программы или появился новый сервис — необходимо моментально на это среагировать и начать исследование.
✔️Не упускать деталей. Здесь важно следить за динамикой и сравнивать результаты текущих проверок с предыдущими.
✔️Не бояться копать глубоко. Нашли поддомен — попробуйте найти поддомен поддомена.
✔️Если есть возможность развернуть исследуемое приложение локально — сделайте это.
#pentest

Пассивная разведка

Как было сказано выше, первым этапом при любом пентесте является разведка (англ. Recon), которая может быть как пассивной, так и активной. Разберемся для начала с первым видом.

Пассивная разведка, как правило, отвечает на следующие вопросы:
✔️какими сервисами и каким ПО пользуется жертва?
✔️как найденные сервисы общаются между собой?
✔️какие "точки входа" в инфраструктуру?
✔️где хостится инфраструктура жертвы?

Важным моментом является то, что данная информация должна быть получена из открытых источников: Whois, DNS, публичные интернет-ресурсы и сервисы, поисковые системы, социальные сети и многое другое.

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

Четкого алгоритма работы нет, но вы можете начать с поиска почтовых адресов. Автоматизировать процесс можно с помощью инструмента theHarvester или Google dorks (разберемся с ними в следующих постах).

Далее следует этап поиска информации о доменах. Вы можете либо воспользоваться утилитой whois, если есть под рукой терминал Linux, либо различными онлайн-сервисами, при этом некоторые из них опрашивают порты, получают баннеры и индексируют их:
- www.shodan.io,
- censys.io,
- spyse.com,
- hackertarget.com,
- www.robtex.com,
- 2ip.ru,
- Ripe.net,
- whois.domaintools.com,
- ping.eu,
- centralops.net.

В ходе данного этапа необходимо найти почтовые серверы жертвы, адреса NS-серверов и поддомены. Для работы с DNS можно воспользоваться такими иструментами, как nslookup, dig или host.

Многие также упускают из виду процесс анализа метаданных, которые можно получить из открытых документов на сайтах жертвы. С помощью метаданных можно составить список потенциальных логинов, взяв их из графы «Автор», определиться с темами для фишинговой рассылки и т. д. Поиск метаданных можно автоматизировать с помощью таких инструментов, как FOCA или metagoofil.
The Bug Hunters Methodology.pdf
8.9 MB
The Bug Hunters Methodology v3

Презентация от специалиста из Bugcrowd о методологии поиска багов при участии в Bug Bounty программах.

Автор описывает полный цикл работ: от определения скоупа и разведки до поиска уязвимостей. Кроме того, он приводит наиболее популярные иструменты, которые позволяют автоматизировать работу на каждом этапе, а также сравнивает быстродействие и результативность описываемых инструментов.

Если вам более удобен видеоформат — держите ссылку на презентацию.
#OSINT

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

OSINT (Open Source INTelligence) — поиск, сбор и анализ информации, полученной из общедоступных источников. Но это не просто поиск, а использование возможностей открытых источников информации, доступных в сети интернет, на максимальную мощность.

Большинство людей завершат поиск там, где для OSINT-профессионалов он только начинается.

«В чем заключается разница?» — спросите вы. Там, где новичок увидит фото, репосты, группы и страницы, на которые подписан человек / организация в социальной сети, — профессионал увидит активность, даты публикаций, фон на фотографиях, возможные причины подписки на определенные группы, определит круги общения и т. д.

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

Точки входа в свою очередь можно классифицировать следующим образом:
🔍информационные системы, расположенные на периметре и имеющие доступ в интернет (серверы, рабочие станции, административные панели и т. д.);
🔍мобильные устройства, используемые сотрудниками;
🔍учетные записи сотрудников в различных сервисах.

Инструменты, которые стоит применять при OSINT, обсудим в слудующих постах.
#pentest #recon

Активная разведка

При рассмотрении такого этапа, как активная разведка, мы переходим к следующим понятиям:
✍️Сервер — выделенный или специализированный компьютер для выполнения сервисного ПО. Интереснее звучит следующее определение: программа (в терминологии TCP — процесс), обрабатывающая запросы клиентов. Например, приложение, обслуживающее пользователей WWW, называется веб-сервером.
✍️Узел — любая сущность, имеющая уникальный IP-адрес.
✍️Хост — с точки зрения пользователя как будто то же, что и узел, однако любой узел — хост, но не любой хост — узел, если это виртуальный хост.
✍️Сервис — программа, работающая на сервере и занимающаяся обслуживанием пользователей, которые могут к ней подключаться.
✍️Виртуальный хост — хост, не имеющий уникального IP-адреса в сети, но доступный с помощью указания какого-нибудь дополнительного адреса (например, DNS-имени).

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

1. Сканирование. Итак, вы знаете диапазон IP-адресов (список узлов), принадлежащий целевой организации. Начать активную разведку необходимо со сканирования портов. В данном случае советую использовать Masscan для ускорения процесса, а затем, для определения ОС и углубленного сканирования каждого сервиса, использовать Nmap. В связке с Nmap эффективно себя показывает скрипт nmap_vulners, использующий API Vulners для предоставления информации об уязвимостях. Автоматизировать процесс сканирования, перечисления и оценки уязвимостей можно с помощью инструмента Sparta.

2. Спускаемся до хостов. На данном этапе необходимо определить, на основе какого движка работает каждый хост (как на уровне Backend, так и на уровне Frontend). Это может быть CMS, фреймворк или самопис. Помочь в этом могут как различные инструменты (например, WhatWeb), так и онлайн-сервисы (например, builtwith.com).

3. Поиск уязвимостей. В ходе данного этапа необходимо определиться, с чем вы имеете дело, и выбрать в зависимости от этого инструмент анализа. Другими словами, если перед вами хост под управлением Wordpress, то смело используйте WPScan. Если что-то неизвестное, то начните с Nikto. Наконец, параллельно с использованием данных инструментов, необходимо найти любые скрытые директории и файлы, что можно сделать с помощью инструмента dirsearch. За вами остается только выбор словаря.
#OSINT

Инструменты OSINT

В ходе OSINT накапливается много информации, которую необходимо структурировать. Для решения этой задачи могут помочь следующие инструменты:
🔍Maltego — используется для анализа связей между людьми в социальных сетях Twitter и Facebook, веб-сайтами, доменами, сетями и т.д.
🔍Creepy — предназначен для анализа геолокационных данных пользователей на основе информации из социальных сетей.
🔍OSINT Framework — фреймворк, ориентированный на сбор информации из бесплатных инструментов или ресурсов.
🔍CheckUserNames — онлайн-инструмент, который может помочь найти имена пользователей в социальных сетях.

Для расширения кругозора можно ознакомиться с материалами статьи от Postuf об инструментах OSINT, которые сделают исследования в сети более быстрыми, полезными и, возможно, более приятными. Большинство собранных ресурсов — на английском, бесплатные и без регистрации.

https://proglib.io/w/7eeea9f2
#bugbounty #hacktivity

Всякий раз убеждаюсь, что усидчивость, нестандартное мышление и желание что-то найти является главным скилом при участии в Bug Bounty программе. Более того, не надо думать, что у таких ИТ-гигантов, как Facebook, не может быть уязвимостей в приложениях. Это доказывают writeup'ы вроде этого.

Исследователь обнаружил уязвимость типа «выполнение произвольного кода» в приложении Facebook для Android, а именно, в функционале загрузки файла из вкладки «Файлы», а не из самого сообщения. В таком случае приложение загружало файл, а затем сохраняло его в каталоге «Загрузки» без какого-либо фильтра.
#recon #OSINT

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

🔍site — поиск только на указанном сайте

🔍inurl — поиск по словам, присутствующим в URL

🔍intext — поиск в теле страницы

🔍intitle — поиск в заголовке страницы (текст, заключенный между тэгами <title>)

🔍ext или filetype — поиск страниц с указанным расширением

🔍related — поиск сайтов со схожей тематикой

🔍link — поиск внешних ссылок на страницы

🔍cache — поиск содержимого страницы в кэше (если имеется)

🔍numrange — поиск определенных чисел в результатах поиска

🔍before/after — поиск в определенном диапазоне дат

Специальные символы: "" (точная фраза), * (любой текст), . (любой символ), - (исключить слово), .. (диапазон дат), | (логическое «или»).

Список Google Dorks вырос в большой словарь запросов, которые в конечном итоге были организованы в Google Hacking Database (GHDB). В базе данных хранятся запросы, направленные на поиск уязвимостей / утечек чувствительной информации / листинга директорий / журналов и многого другого. То есть как раз то, что нам нужно.

https://proglib.io/w/fa0ffc00
#redteam #pentest

Жизненный цикл атаки (kill chain)

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

От того, на каком этапе kill chain была обнаружена угроза, зависит эффективность расследования и размер материального и репутационного ущерба, нанесённого атакуемой организации.

Традиционный kill chain выглядит следующим образом (каждый следующий этап, как правило, не начинается без окончания предыдущего):
1. Разведка и сбор данных (reconnaissance)
2. Выбор способа атаки (weaponization)
3. Доставка (delivery)
4. Эксплуатация (exploitation)
5. Закрепление (installation)
6. Исполнение команд (command and control)
7. Достижение цели (actions on objective)

Интересно рассмотреть каждый этап по отдельности?
#bugbounty #hacktivity

Год назад исследователь из PortSwigger опубликовал работу о новых подходах к атаке HTTP request smuggling. Данная атака вмешивается в обработку последовательности HTTP-запросов, которую веб-приложение получает от одного или нескольких пользователей.

Атака направлена на рассинхронизацию backend и frontend веб-сервера, в результате чего злоумышленник может "контрабандой" пронести HTTP-запрос мимо последнего. Подробнее можно почитать на сайте PortSwigger или в упрощенном варианте на Хабре.

Недавно некто Ricardo Iramar dos Santos опубликовал writeup с описанием хода вышеописанной атаки, которая позволила управлять корпоративными мобильными устройствами, отправляя поддельные запросы на MDM сервер Citrix.

Профит от Bug Bounty программы — 17 000💲.

https://proglib.io/w/47b6718d
#redteam #pentest

Kill chain в деталях

1. Разведка и сбор данных (reconnaissance). Нам уже знаком данный этап из предыдущих постов, точнее два этапа — активная и пассивная разведка. Обобщим: в рамках разведки злоумышленник пытается установить организационную структуру организации, стек технологий, средства обеспечения ИБ, возможности использования социальной инженерии по отношению к сотрудникам.

2. Выбор способа атаки (weaponization). Злоумышленник определяет способ атаки, исходя из информации, полученной на предыдущем этапе. При этом злоумышленник может как создать новое вредоносное ПО, позволяющее эксплуатировать обнаруженные уязвимости, так и воспользоваться средствами с открытым исходным кодом. Например, он подготовил вредоносный файл MS Office с макросами. Остается выбрать способ доставки в атакуемую организацию.

3. Доставка (delivery). На данном этапе атакующий должен обеспечить попадание вредоносного ПО в информационные системы (ИС) атакуемой организации. Это может быть вложение электронной почты, вредоносная и фишинговая ссылка и т. д.

4. Эксплуатация (exploitation). После успешного попадания в ИС атакуемой организации вредоносное ПО, используя уязвимости, распространяется по сети и закрепляется на зараженных машинах в ожидании команд от злоумышленника.

5. Закрепление (installation). Вредоносное ПО осуществляет заражение для того, чтобы минимизировать свое обнаружение или удаление после перезагрузки или установки обновления.

6. Исполнение команд (command and control). С помощью соединения, устанавливаемого изнутри ИС атакованной организации, вредоносное ПО реализует взаимодействие с сервером управления, подконтрольным злоумышленнику. Таким образом, атакующий получает управление рабочей станцией или сервером внутри ИС атакуемой организации.

7. Достижение цели (actions on objective). Получив управление, злоумышленник может работать с данными на скомпрометированной рабочей станции, осуществляя несанкционированный доступ. Кроме того, атакующий может попытаться заразить другие рабочие станции в ИС, для увеличения объема доступной информации.
#pentest #bugbounty #practice

Kontra OWASP Top 10 — это коллекция бесплатных интерактивных руководств о наиболее популярных уязвимостях и некоторых инцидентах безопасности.

Разработчики данных тренингов считают, что каждый инженер-программист должен иметь бесплатный доступ к обучению безопасной разработке. Kontra OWASP Top 10 — их первый шаг в этом направлении.

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

Красиво, кликабельно, наглядно: https://proglib.io/w/26094237
positive-research-2020-rus.pdf
42.7 MB
#pentest #redteam #blueteam

Positive Research 2020 — ежегодное исследование Positive Technologies, в котором собрана самая актуальная и интересная информация о трендах и прогрессивных технологиях ИБ, о том, как защититься от киберугроз, чему учиться — и о том, что ждет в будущем.
#redteam #pentest

Повышение привилегий (Privilege escalation)

Одним из самых сложных этапов kill chain для злоумышленника, как правило, является четвертый — эксплуатация. На данном этапе у злоумышленника может возникнуть такая проблема, как недостаточные привилегии в системе или приложении. Для решения данной проблемы злоумышленник будет пользоваться различными техниками повышения привилегий.

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

Выделяют две формы повышения привилегий:
✔️Вертикальное повышение привилегий — злоумышленник имитирует пользователя на высшем уровне привилегий.
✔️Горизонтальное повышение привилегий — злоумышленник имитирует пользователя на том же уровне привилегий.

Самый легкий способ поднять привилегии, которым стоит воспользоваться в первую очередь, — это поискать в системе сохраненные учетные данные админского аккаунта. Самое простое — это файлы, оставшиеся после автоматической установки или файлы менеджеров паролей (например, KeePass Password Safe). Всем известно, что человек — существо ленивое, поэтому системные администраторы будут пытаться автоматизировать установку софта и хранения паролей. Поэтому в системе можно обнаружить файлы:
- C:\unattend.xml
- C:\Windows\Panther\Unattend.xml
- C:\Windows\Panther\Unattend\Unattend.xml
- C:\Windows\system32\sysprep.inf
- C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
- C:\inetpub\wwwroot\web.config
- *.kdbx

С техниками повышения привилегий в различных ОС можно ознакомиться в следующих источниках: Linux (Хабр / xakep.ru) и Windows (fuzzysecurity.com / xakep.ru).
The-Hacker-Playbook-3.pdf
8.7 MB
#redteam #pentest #bugbounty #book

The Hacker Playbook 3: Practical Guide to Penetration Testing. Red Team Edition (2018)

Автор: Peter Kim

Не побоюсь этого слова, легендарная и обязательная к прочтению книга для ИБ-специалиста. В книге сделан явный уклон на red team, поэтому рассматривается все этапы проникновения: от выбора инструментария и поиска веб-уязвимостей до проникновения в инфраструктуру и распространения по сети.

Основная цель этой книги — ответить на вопросы о том, почему все еще ломается. Например, с учетом различных продуктов безопасности, проверок кода безопасности, требований к эшелонированной защите и тестированию на проникновение, как мы до сих пор наблюдаем массовые нарушения безопасности, происходящие с крупными корпорациями и правительствами? Настоящий вопрос, который мы должны задать себе, заключается в том, работают ли все меры безопасности, которые мы применяем?

В конечном итоге книга поднимет ваши атакующие навыки, мыслительные процессы и способы атаки на новый уровень.
#bugbounty #hacktivity

Одной из самых жарких новостей текущего месяца в ИБ-сообществе стала новость о взломе инфраструктуры Apple, в результате чего исследователями было выявлено 55 уязвимостей, включая 11 критических: некоторые баги позволяли взламывать аккаунты iCloud, получать доступ к закрытым ресурсам Apple и даже локальной сети компании.

Результаты трехмесячной работы описаны в блоге руководителя группы исследователей. Нам, как специалистам по анализу безопасности, данные отчеты представляют особенную ценность, так как описывают ход их мыслей и применяемые инструменты.

На русском с результатами исследования можно ознакомиться в блоге компании «Лаборатория Касперского».

Начальный профит от Bug Bounty программы — 237 000💲.
#blueteam #redteam #pentest

MITRE ATT&CK

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

В этом нам может помочь матрица Mitre Att&ck (Adversarial Tactics, Techniques & Common Knowledge — «тактики, техники и общеизвестные факты о злоумышленниках»). Она основана на реальных наблюдениях компании Mitre и содержит описание тактик, приемов и методов, используемых злоумышленниками.

Базу Mitre Att&ck компания Mitre создала в 2013 году. Цель проекта — составление структурированной матрицы используемых злоумышленниками приемов, чтобы упростить задачу реагирования на киберинциденты.

Каждая матрица представляет собой таблицу, в которой заголовки столбцов соответствуют тактикам злоумышленников (основные этапы кибератаки или подготовки к ней), а содержимое ячеек — методикам реализации этих тактик, или техникам. Так, если сбор данных согласно Mitre Att&ck — это тактика атаки, то способы сбора, например автоматический сбор или сбор данных со съемных носителей, — это техники.

Матрицы Mitre Att&ck объединены в следующие группы:
- PRE-ATT&CK — тактики и техники, которые злоумышленники используют на этапе подготовки к кибератаке.
- Enterprise — тактики и техники, которые злоумышленники применяют в ходе атаки на организации.
- Mobile — тактики и техники, которые злоумышленники используют в ходе атаки на мобильные устройства под управлением iOS и Android.
- ATT&CK for ICS — тактики и техники, которые используются в кибератаках на промышленные системы управления.

Стоит отметить, что данная матрица не заменяет kill chain, а всего лишь уточняет, что скрывается за последними тремя этапами. Подробности в прикрепленной картинке.
#writeup #poc #CVE

CVE-2020–25213: wp-file-manager wordpress plugin (<6.9) for unauthenticated arbitrary file upload

Wordpress является одной из самых популярных CMS в мире, поэтому не исключено, что и вы имеете или имели с ней дело.

Недавно выявленная уязвимость в плагине File Manager (wp-file-manager) позволяет неавторизованному пользователю загружать и выполнять произвольный код PHP, что приводит к сами пониманиете к каким последствиям.

Чтобы исправить уязвимость, просто обновите плагин до версии 6.9. А нам, как исследователям безопасности веб-приложений, следует остановиться на данном writeup'е подробнее, ведь его автор создал эксплойт только после анализа описания, доступного в различных блогах (wordfence и seravo) с девизом, позволяющим читателям понять, как создать POC (Proof of Concept), просто проанализировав описание уязвимости.

https://proglib.io/w/103f52aa