Библиотека хакера | 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
Owasp-api-security-top-10-2019.pdf
3.2 MB
#pentest

OWASP API Security Top 10 2019

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

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

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

1. Финансовая сторона. Вы наверняка знаете сами, что зарплата безопасника сравнима или отличается в большую сторону от зарплаты разработчика. Цифры можно увидеть на прикрепленном скрине (данные предоставлены рекрутинговым агентством Antal; источник — канал Вакансии ИБ).
2. Интересные задачи и многогранность профессии. Данной профессии однозначно присуща многогранность: вы можете искать баги в ПО или железе; реверсить Android или прошивку маршрутизатора; защищать веб-сайт или корпоративные данные; участвовать в bug bounty или проводить комплексный аудит безопасности корпоративной инфраструктуры; реагировать на инциденты или строить корпоративный SOC (Security Operation Center). Работа на любой вкус и цвет, главное — найти свою нишу.
3. Высокий порог вхождения в профессию, что только подогревает интерес. Наряду с базовыми знаниями TCP/IP, HTTP, сетей, протоколов, операционных систем, необходимо понимать их внутренне устройство.

Кроме того, бытует мнение, что грамотный безопасник может получиться двумя путями: это либо системный администратор, который разобрался в безопасности и стал крутым инфраструктурным безопасником, либо программист, который разобрался в безопасности и стал крутым Application Security специалистом. Если он еще и научился выражать мысли простым языком и рассуждать с позиции бизнеса — это полноценный CISO (Chief Information Security Officer).

Не стоит также исключать вузовское образование в ИБ, однако здесь есть небольшая особенность: если вы вовремя не найдете единомышленников или того, кто может направить ваш вектор развития, то карьера безопасника может пойти под откос.
#pentest #mobile #android

Если вы ознакомитесь со списком уязвимостей из OWASP Mobile TOP 10 (приведен в статье), то поймете, что половина из них похожи на уязвимости веб-приложений, то есть на классический OWASP TOP 10. Это связано с тем, что у нативных и веб-приложений один и тот же принцип работы — по типу клиент-серверной архитектуры.

То есть в мобильном приложении клиентом является нативное приложение, а в веб-приложении — браузер, но и у того, и у другого запросы поступают на сервер.

Сегодня ознакомимся со статьей, в которой описано применение методологии OWASP Mobile TOP 10 для тестирования безопасности Android-приложений.

https://proglib.io/w/95c19fcf
#pentest

Итак, перейдем от теории к практике. Будем последовательно рассматривать этапы тестирования на проникновение. Если вы надели белую шляпу, тогда нам по пути.

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

1. Разведка, которая может быть пассивной и активной.

2. Инвентаризация исследуемых сервисов.

3. Поиск и эксплуатация «внешних» уязвимостей.

4. Преодоление периметра.

5. Разведка и инвентаризация исследуемых сервисов во внутренней сети.

6. Поиск и эксплуатация «внутренних» уязвимостей.

7. Получение доступа к целевым системам.

8. Подготовка отчета.

Далее разберем каждый этап по отдельности с приведением применяемых инструментов и методов.
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, в котором собрана самая актуальная и интересная информация о трендах и прогрессивных технологиях ИБ, о том, как защититься от киберугроз, чему учиться — и о том, что ждет в будущем.