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

Вот некоторые из тем, которым будет уделяться внимание:
✔️ #pentest (Penetration Testing) — тестирование на проникновение, представляющее собой один из методов оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника.
✔️ #OSINT (Open Source INTelligence) — поиск, сбор и анализ информации, полученной из открытых источников. Как правило, этап тестирования на проникновение идёт после OSINT.
✔️ #redteam — наступательная сторона, использующая анализ защищенности в качестве конструктивной меры для оценки существующих процессов ИБ.
✔️ #blueteam — оборонительная сторона, целью которой является обеспечение защиты инфраструктуры.
✔️ #reverse (Reverse Engineering) — обратная разработка, представляющая собой исследование некоторого устройства или программы с целью понимания принципа работы.
✔️#bugbounty — все, что посвящено участию в Bug Bounty программах.
✔️ #CVE (Common Vulnerabilities and Exposures) — база данных общеизвестных уязвимостей информационной безопасности.
✔️ #poc (Proof of concept) — программное обеспечение, моделирующее работу эксплойта.
✔️ #news — тематические новости относительно сферы ИБ.
✔️ #incidentresponse (Incident Response) — все, что посвящено реагированию на инциденты.

Мы будем регулярно пополнять список хештегов для удобной навигации по каналу.

Вся информация предоставляется исключительно в образовательных целях и представляет собой субъективное мнение автора. Главная цель — сделать безопаснее всё, с чем вы имеете дело ежедневно: от личных и корпоративных данных до сетей и инфраструктур, которые администрируете и используете.

Не забывайте проходить опрос, который поможет сделать канал полезнее и информативнее.
Прочитав первый пост, у вас могли возникнуть некоторые вопросы. Для того, чтобы не путать #pentest, #redteam и #blueteam, давайте определимся с данными понятиями.

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

Red Team в свою очередь является непрерывным процессом симуляции атак с целью оценки всех существующих процессов защиты организации и повышения осведомленности задействованных в этом процессе лиц.

Задачи команды Blue Team делятся на 4 области: Prevent (построение системы защиты от уже известных атак), Detect (выявление новых атак и обрабатка инцидентов), Respond (вырабатка ответных мер и политик реагирования
на выявленные инциденты) и Predict (прогнозирование появления новых атак с учетом меняющегося ландшафта угроз).
#pentest

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

В настоящее время в области веб-безопасности и тестирования на проникновение тренд задают две компании — OWASP и PortSwigger. Сфера деятельности последней связана с разработкой и поддержкой Burp Suite — передового решения для тестирования и выявления уязвимостей в веб-приложениях. Существует как бесплатная, так и платная версия, которая самостоятельно выявляет уязвимости. Самое главное, что у PortSwigger есть онлайн-площадка, где можно подтянуть теоретические и практические знания в рамках лабораторий под каждую из следующих задач: Business logic vulnerabilities, Web cache poisoning, Information disclosure, Insecure deserialization, SQL injection, Cross-site scripting (XSS), Cross-site request forgery (CSRF) и XXE injection.

https://proglib.io/w/7d8d5874
#pentest

Что касается OWASP, то многие знают данный проект по традиционной классификации OWASP Top-10, которая включает самые распространенные уязвимости и недостатки безопасности веб-приложений.

OWASP — это открытый проект обеспечения безопасности веб-приложений. Их сообщество включает корпорации, образовательные организации и частных лиц со всего мира. Сообщество работает над созданием статей, учебных пособий, документации, инструментов и технологий, находящихся в свободном доступе. Кроме того, у них есть качественные проекты, которые представляют собой заведомо уязвимые веб-приложения.

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

1. Damn Vulnerable Web Application (DVWA) — это веб-приложение на PHP / MySQL, которое заведомо уязвимо. Целью DVWA является отработка некоторых из наиболее распространенных веб-уязвимостей с различным уровнем сложности с простым понятным интерфейсом. Обратите внимание, что в этом программном обеспечении есть как задокументированные, так и недокументированные уязвимости. Это сделано намеренно.

https://proglib.io/w/a1da7150

2. Buggy web application (bWAPP) — это открытое и свободное для скачивания веб-приложение на PHP / MySQL. Отличается от других тем, что содержит около 100 уязвимостей по классификации OWASP Top-10. Предназначается для поиска и эксплуатации уязвимостей в веб-приложениях и не только.

https://proglib.io/w/20e53372

3. OWASP Juice Shop — одно из самых современных и сложных небезопасных веб-приложений, написанное на Node.js, Express и Angular. Его можно использовать в тренингах по безопасности, ознакомительных демонстрациях, CTF и в качестве подопытного кролика для инструментов безопасности. Juice Shop включает в себя уязвимости из всей классификации OWASP Top-10, а также множество других недостатков безопасности, обнаруженных в реальных веб-приложениях. Попрактиковаться с проектом можно как онлайн, так и офлайн, установив локально.

https://proglib.io/w/af676c20

Вышеперечисленные проекты являются фундаментом в тестировании на проникновение веб-приложений и содержат множество writeup'ов, которые нетрудно найти. Но в наших интересах, чтобы вы самостоятельно их прошли и получили как можно больше практического опыта.
Библиотека хакера | Hacking, Infosec, ИБ, информационная безопасность pinned «Всем привет. Рады видеть на канале, посвященном вопросам информационной безопасности. В связи с тем, что данная тема в настоящее время набирает обороты, мы просто не можем остаться в стороне. Вот некоторые из тем, которым будет уделяться внимание: ✔️ #pentest…»
OWASP_Top_10-2017-ru.pdf
2 MB
#pentest

Топ-10 OWASP - 2017

Документ, в котором описаны десять самых критичных угроз безопасности веб-приложений на момент 2017 года, но актуальные по сегодняшний день.
Owasp-top-10-proactive-controls-2018-russian.pdf
873.4 KB
#pentest

Проактивная защита: Топ-10 требований OWASP 2018

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

В данном документе собраны 10 аспектов безопасности, на которые разработчики программного обеспечения должны обращать внимание. Несмотря на год выпуска, информация не теряет свою актуальность и в настоящее время.
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