Архив метки: Аудит ИБ

Как извлечь метаданные из pdf файла?

Как извлечь метаданные из докуметов Microsoft Office и Adobe PDF файлов

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

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

Существует множество онлайн ресурсов для проверки pdf файлов на содержание в них метаданных, однако когда речь идет о внутренних и/или конфиденциальных документах, отдавать их куда-то на сторону будет не самым лучшим решением. В такой момент на помощь может прийти программа MetaExtractor. Указанный иструмент позволяет извлечь метаданные сразу из большого колличества документов в течение нескольких минут.

Особенности:

  • Поддержка анализа файлов OpenOffice
  • Поддержка анализа solidWorks CAD чертежей
  • Собственный анализ файлов (не требует установки Office или Acrobat)
  • Поддержка форматов файлов Office 2003/2007/2010/2013
  • Поддержка документов Adobe PDF
  • Можно выбрать опеределенную директорию для анализа всех файлов, содержащихся в ней
  • Можно выбрать несколько отдельных файлов
  • Экспорт результатов в CSV для удобного анализа и отчетности
  • Интерфейс программы поддерживает сортировку по дате/времени
  • Содержит более 40 полей метаданных
  • Бесплатен как для личного, так и для коммерческого использования
  • Подходит для Windows
  • Не требует установки (portable)

 

 

Скачать можно на официальном сайте производителя Скачать

 



2021-01-26T15:42:34
Аудит ИБ

🎵 Создаем словарь для brute-force из текстов песен артистов

 

Мы уже писали про Территориально-лингвистические особенности создания словарей для brute-force атак с помощью инструмента Mentalist.

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

  1. Скрипт  интерактивно и последовательно задает вопросы о цели атаки и после этого создает словарь заменяя символами и цифрами буквы из заданных ей слов.
  2. Инструмент, также позволяет исключить слова из словаря, который, например, уже применялся для атаки, чтобы не было повторов и для экономии времени.
  3. Модуь “lyric pass” позволяет включать в словарь фразы и текстов песен артистов.

Давайте обо всем по-порядку. Речь идет о https://github.com/r3nt0n/bopscrk

Для установки в Kali Linux набираем в терминале:



git clone https://github.com/r3nt0n/bopscrk.git



 

 

 

Затем переходим в директорию с bopscrk и запускаем скрипт:

python3 bopscrk.py -i

 

 

После этого отвечаем на вопросы системы, для академического примера,за цель возьмем все того же системного администратора из Томска Владимира Ягодчкина, устанавливаем следующие параметры, предлагаемые к нашему вниманию:

-Минимальная длина – 8.

-Максимальная длина – 16.

-Имя – Vladimir.

-Фамилия – Yagodichkin.

-Дата рождения – 20 декабря 1987 года.

-Дополнительные слова, связанные с целью через запятую – honda, zenit, warcraft.

-Устанавливаем параметры по замене букв цифрами, а также подстановку специальных символов в начало и конец пароля – отвечаем “y”.

-Как много слов мы ходим комбинировать – укажем 2.

-Имя артиста, тексты из песен которого ходим добавить – пропустим, об этом ниже.

-Исключить слова из другого словаря – тут можем указать путь на словарик который уже побывал в бою – пропускаем.

-Выбираем файл с результатом, по умолчанию tmp.txt в текущей директории – оставим как есть.

На выходе получаем 260449 возможных значений паролей

 

 

Просмотрим содержимое файла в nano редакторе

 

 

Указанный файлик можем использовать для атаки

Теперь рассмотрим саммую интересную функцию, а именно использование фраз из текстов песен артистов, для этого заново введем

 

python3 bopscrk.py -i

 

Пропускаем все предлагаемые значения, кроме минимальной и  максимальной длины – поставим по 20 символов (для наглядности) и останавливаемся на “Artist names to search song lyrics (comma-separated)”, в указанной строке введем, например 2pac (известный убитый репер). Видим, что инструмент нашел 1244 песни указанного артиста и начинает работать с ними.

 

 

В результате получаем результат, конечно лучше миксовать со спец символами и цифрами, но опять же для наглядности получаем словарик репа), как же прекрасно

 

 

 

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

 

 

 



2020-11-09T23:19:25
Аудит ИБ

💉 Как провести аудит NoSQL на предмет уязвимостей?

SQL-инъекция – один из популярных методов атаки, но он применяется не только в SQL (реляционная база данных), но и в NoSQL (не-SQL или также известная как нереляционная база данных).

Знаете ли вы, что сегодня доступно более 100 баз данных NoSQL?

Спасибо сообществу разработчиков ПО с открытым исходным кодом.

О каком из них вы слышали?

Вероятно, MongoDB и Redis!

Да, они очень популярны.

NoSQL не новость;

Впервые он был представлен в 1998 году Карло Строцци.

Но в последнее время он приобрел большую популярность благодаря использованию в современных приложениях.

И почему бы нет.

Они быстрые и решают некоторые традиционные проблемы с реляционными базами данных.

Существуют различия между SQL и NoSQL.

Более подробно вы можете узнать тут:

Если вы используете базу данных NoSQL, такую как  например MongoDB, и не уверены, подходят ли они для продакшена – выявляйте уязвимости, неправильную конфигурацию и т. д.

Следующие инструменты могут помочь вам в их поиске.

NoSQLMap

NoSQLMap – это крошечная утилита с открытым исходным кодом, основанная на Python, способная проводить аудит на предмет неправильной конфигурации и автоматизировать атаки с использованием инъекций.

На данный момент он поддерживает следующие базы данных.

  • MongoDB
  • CouchDB
  • Redis
  • Cassandra

Для установки NoSQLMap вам понадобится модуль Git, Python и Setuptools, которые вы можете установить ниже на примере Ubuntu.

apt-get install python

apt-get install python-setuptools

После установки Python следуйте инструкциям по установке NoSQLMAP.

git clone https://github.com/codingo/NoSQLMap.git

python setup.py install

После этого вы можете запустить ./nosqlmap.py из клонированного каталога GIT:

_  _     ___  ___  _    __  __

| | |___/ __|/ _ | |  |  /  |__ _ _ __

| .` / _ __  (_) | |__| |/| / _` | '_ 

|_|____/___/_______|_|  |___,_| .__/

 v0.7 codingo@protonmail.com        |_|





1-Set options

2-NoSQL DB Access Attacks

3-NoSQL Web App attacks

4-Scan for Anonymous MongoDB Access

5-Change Platform (Current: MongoDB)

x-Exit

Select an option:

Вам необходимо установить цель, перейдя к варианту 1 перед тестированием.

Mongoaudit

Как можно догадаться по названию, он специфичен для MongoDB.

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

Он проверяется на соответствие многим передовым практикам, включая следующие.

  • Работает ли MongoDB на порту по умолчанию и включен интерфейс HTTP

  • Защищена ли база с помощью TLS, аутентификации

  • Метод аутентификации

  • CRUD операции

Установить Mongoaudit очень просто.

Вы можете использовать команду pip.

pip install mongoaudit

После установки выполните команду mongoaudit, чтобы запустить сканирование.

Вам будет предложено выбрать уровень сканирования и ввести сведения о MongoDB.

Какой бы инструмент вы ни использовали для сканирования безопасности баз данных NoSQL, не забывайте нести ответственность.

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

И ознакомьтесь с этой статьей, чтобы найти уязвимость SQL-инъекций в реляционной базе данных.



2020-10-05T09:52:32
Аудит ИБ

Теоретические основы тестирования на проникновение (pentest) Часть II Инструменты

Все информационные системы уязвимы. Это зависит от целого ряда вещей, таких как постоянные изменения, которые претерпевают наши ИС в виду обновлений и изменений конфигурации, а также  от возможностей для злоумышленников воспользоваться пробелами и уязвимостями в этих системах. К счастью, пентестеры  или этические хакеры – на сегодняшний день являются неотъемлемой частью комплексной системы защиты информации в организациях. Однако прежде чем предпринимать шаги по  устранению угроз иб необходимо познакомиться с инструментами тестирования на проникновение, о них и пойдет речь в этой статье.

Самые популярные инструменты тестирования на проникновение:

Kali Linux

Kali linux-это дистрибутив Linux, предназначенный для форензики и тестирования на проникновение. Содержит наиболее широко используемых инструментов тестирования на проникновение. ОС Kali Linux основана на debian и большинство ее пакетов импортируются из репозиториев Debian. Kali включает в себя более 500 предустановленных программ тестирования на проникновение. Недавнее обновление содержит инструменты для облачного тестирования на проникновение. Kali сотрудничает с некоторыми ведущими облачными платформами планеты, такими как AWS и Azure, помогая изменить подход к облачной безопасности.

Metasploit

Metasploit-это еще один популярный фреймворк для тестирования на проникновение. Он был создан в 2003 году с использованием Perl и был приобретен Rapid7 в 2009 году, к тому времени он был полностью переписан на Ruby. Это сотрудничество сообщества с открытым исходным кодом и Rapid 7, результатом которого стал проект Metasploit, хорошо известный своими инструментами антифорензики. Metasploit-это понятие “эксплойта”, который представляет собой код, способный превзойти любые меры безопасности, входящие в уязвимые системы. Пройдя через межсетевые экраны, он работает как “полезная нагрузка”, код, который выполняет операции на целевой машине, в результате чего создаются идеальные условия для тестирования на проникновение.

Wireshark

WireShark – один из основных и самых популярных анализаторов сетевых пакетов в мире Первоначально он был выпущен как Ethereal еще в 1998 году и из-за некоторых проблем с товарными знаками был переименован в WireShark в 2006 году. Пользователи обычно используют WireShark для анализа сети, устранения неполадок, а также разработки программного обеспечения и коммуникационных протоколов. Wireshark в основном функционирует на втором-седьмом уровне сетевых протоколов, и выполненный анализ представлен в удобочитаемой для человека форме. Специалист по информационной безопасности и исследователи сетевой криминалистики используют WireShark  для анализа протоколов, количества битов и байтов, проходящих через сеть. Простота в использовании функциональных возможностей и тот факт, что он является продуктом с открытым исходным кодом, делает Wireshark одним из самых популярных анализаторов пакетов для профессионалов в области безопасности и сетевых администраторов.

Burp Suite

Угрозы для веб-приложений выросли за последние годы. Программы-вымогатели и cryptojacking стали все более распространенными методами, используемыми злоумышленниками для атаки на пользователей в браузере. Burp или Burp Suite – это один из широко используемых графических инструментов для тестирования безопасности веб-приложений. Поскольку речь идет о безопасности приложений, существует две версии этого инструмента: платная версия, включающая все функциональные возможности, и бесплатная версия, которая поставляется с несколькими важными функциями.

Этот инструмент поставляется с предустановленными базовыми функциями, которые помогут вам с проверкой безопасности веб-приложений. Если вы хотите пройти тестирование на проникновение в интернете, он определенно должен быть в вашем арсенале, он прекрасно работает как  Linux, так и с Mac и Windows.

 

Nmap

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

Чтобы защитить вашу среду от угроз безопасности, вы должны принять необходимые меры.

 

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

 

 



2020-09-17T19:38:11
Аудит ИБ

📖 Территориально-лингвистические особенности создания словаря паролей для Bruteforce

На текущий момент пароли остаются самыми популярным методом аутентификации. Атака перебора паролей по словарю также стара как мир и существует множество механизмов защиты от подобного вида атак. Однако возможны ситуации, когда брутфорс (bruteforce) весьма эффективен. Словарей  паролей для брута можно найти огромное количество на просторах Интернета. Однако в них в большинстве случаев в них будут англоязычные слова, редко применяемые в России, например названия городов США, баскетбольных команд, американских имен и т.д.

Для успешной атаки нам необходимо учитывать территориально-лингвистические особенности использования паролей. Предположим, что мы провели разведку по открытым источникам и нашли резюме системного администратора компании ООО “Ромашка” Владимира Ягодичкина из города Томск, в дальнейшем изучив его страницу в соц. сети соберем небольшой словарь исходя из полученной информации. Очень часто пользователями задают пароли по названиям хобби, любимых животных, футбольных команд, городов, имен  т.д. Анализируя фотографии, аудиозаписи, публикации, а также членство в сообществах мы выяснили информацию о объекте исследования и теперь формализуем ее в заготовки для будущей базы паролей:

  1. Имя – Владимир -> Vladimir, Volodya, Vovka. Vova.Vovchik, Vov4ik
  2. Живет в городе Томск -> Tomsk, компания ООО “Ромашка” -> Romashka, LLCRomashka
  3. Его жену зовут  зовут Лариса – Larisa,  детей – Игорь и Глеб -> Igor,igorek, Gleb ,Glebushka собаку зовут Шерри -> Sherry, Sher, Sherra
  4.  Объект подписан на фан клуб любителей автомобилей Lada -> Lada, Vaz, Sedan, Vesta, Largus, Granta
  5.  Судя по публикациям, болеет за ФК Локомотив -> FCLokomotiv, Lokomotiv, Paravoz, Loko, Syomin, Smolov, Barinov, Miranchuk, Gilerme
  6.  Политические взгяды объекта исследования указаны как коммунистические -> Lenin, Stalin, Marks, USSR, Сommunism, KPRF,KPSS, KGB, Zyuganov

В результате из полученных данных составляем список:

Vladimir

Volodya

Vovka

Vova

Vovchik

Vov4ik

Tomsk

Romashka

LLCRomashka

Larisa

Igor

igorek

Gleb

Glebushka

Sherry

Shery

Sherka

Shera

Lada

Vaz

Sedan

Vesta

Largus

Granta

FCLokomotiv

Lokomotiv

Paravoz

Loko

Syomin

Smolov

Barinov

Miranchuk

Gilerme

Lenin

Stalin

Marks

USSR

Сommunism

KPRF

KPSS

KGB

Zyuganov

 

Учитывая тот факт, что пароли могут задаваться “русскими буквами в английской расскладке” дублируем уже составленный список на основе указанного критерия:

 

Dkflbvbh

Djkjlz

Djdrf

Djdf

Djdxbr

Djd4br

Njvcr

Hjvfirf

JJJHjvfirf

Kfhbcf

Bujh

bujhtr

Ukt,

Ukt,eirf

Ithhb

Iths

Ithrf

Ithf

Kflf

Dfp

Ctlfy

Dtcnf

Kfhuec

Uhfynf

ARKjrjvjnbd

Kjrjvjnbd

Gfhfdjp

Kjrj

C`vby

Cvjkjd

<fhbyjd

Vbhfyxer

Ubkthvt

Ktyby

Cnfkby

Vfhrc

ECCH

Rjvveybpv

RGHA

RGCC

RU<

P.ufyjd

Далее объединяем оба списка в один и сохраняем wordlist.txt. Стоит отметить, что наш словарь составил лишь 84 слова и создан для примера. Понятно, что для эффетивного словаря необходимо куда большее колличество слов, например если словарь создается под определенную организацию необходимо указать все города присутсвия, выпускаемую продукцию, наименование используемых сервисов, структурных подразделений, список имен в соответствии с территориальным расположением (например в республике Башкортостан, помимо русских имен популярны такие как: Эмир, Амир, Шариф, Тагир, Самир, Рамазан),  также крылатые фразы, профессиональный слэнг, текущие тренды,  (например COVID19) и т.д.

Для дальнейшей модификации созданного wordlist.txt в более эффективный словарь в соответствии с парольной политикой и возможной замены некоторых символов букв на спец символы (например a=@) воспользуемся программным обеспечением Mentalist. https://github.com/sc0tfree/mentalist. Mentalist является графическим инструментом для создания словарей для брута. Он использует общие человеческие парадигмы для создания паролей и формирует из них список слов, а также правила, совместимые с Hashcat и John the Ripper. Возможна как установка на Linux, так и запуск на Python Windows.

Для примера снова вновь созданного wordlist.txt , в котором после слова идёт от 2 до 4 цифр и в котором  буквы замены на специальные символы.

После запуска, в первую очередь необходимо заменить дефолтный список английских слов нашим подготовленным набором слов. Удаляем English Dictionary, нажимает “+” справа от Base Words, выбираем Custom fileи выбираем файл worklist.txt

 

Затем жмём на “+” справ от кнопки Process и выбираем Append. Затем на появившемся блоке нажимаем на “+” , выберем Number -> User Defined…

 

В появившемся окне зададим значения от 1 до 9999 с нулями в каждой ячейке, чтобы в конце слова добилось 4 цифры

Добавим  начало слов специальные символы “!,#,*. Для этого справа от Prepend выберем Special Characters…

И в появившемся окне выберем необходимые символы:

Теперь заменим буквы на специальные символы, а именно a=”@”, s=$, o=0, i=1“, для этого справа от кнопки Process нажмем “+” и выбираем Substitution, затем жмем на “+” на новом блоке и выбираем Replace All Instances…

Далее указываем интересующие нас символы:

 

 

Если указать параметр One at a time, меняться будет первый символ из слова и потом это слово будет отправляться далее по конвейеру, затем будет делаться замена во следующем символе и слово вновь будет отправлено далее по конвейеру. Если указать  All together то все буквы из слова преобразуются в специальные символы, его мы и укажем. Стоит сразу отметить, что замена букв в специальные символы относительно второго блока слов (“русскими буквами в английской раскладке”) не эффективна, однако мы преследуем сугубо академические цели, поэтому применим наши правила ко всему списку.

После конфигурирования всех нужных правил нажимаем на кнопку Process, выбираем Full Wordlist и куда сохранить результаты формирования словаря. В результате получаем словарь из 2 519 748 слов, размером 31 MB.

 

 

Сформированный словарь можно использовать  для получения доступа к информационным системам, которые, например, администрирует  и сопровождает наш объект исследования Владимир Ягодичкин (в целях аудита информационной безопасности конечно же). Сразу отметим, что рассмотрены не все возможности указанного инструмента. Для более подробного ознакомления: https://github.com/sc0tfree/mentalist/wiki

Люби ИБ, уважай ИТ!

¯_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.



2020-08-11T11:20:52
Аудит ИБ

Теоретические основы тестирования на проникновение (pentest) Часть I Введение

Что такое тестирование на проникновение?

Для начала предлагаем разобраться, что же такое тестирование на проникновение? В это статье  мы рассмотрим, что такое тестирование на проникновение или пентест и почему это важно. Затем мы рассмотрим различные типы тестов на проникновение и различные подходы, которые используются специалистами по информационной безопасности. Национальный институт безопасности и технологий определяет пентестинг,  как тестирование системы безопасности, в ходе которого эксперты имитируют реальные атаки для выявления методов обхода выстроенной системы безопасности приложения, инфраструктуры или сети. Это зачастую включает в себя использование реальных атак на системы, которые находятся в промышленной эксплуатации, а также атаки с целью получения доступа к конфиденциальной информации с помощью инструментов и методов, обычно используемых хакерами. Теперь, когда кибератаки становятся нормой, как никогда важно регулярно проводить сканирование уязвимостей и тестирование на проникновение, чтобы выявить уязвимости и убедиться, что выстроенная система информационной безопасности работает. Учитывая тот факт , что реальные атаки на системы в проде это не то, что будет выполняться ежемесячно или ежеквартально. Многие компании неохотно проводят пентест, например 1 раз в год , скажем так для галочки , игнорируя важность этих мероприятий для бизнеса.

Теперь, когда мы подсветили важность пентеста нам нужно опеределить различные подходы, которые мы можем использовать для проведения теста на проникновение. Один тест на проникновение в разных компаниях не даст нам одинаковый результат, потому что каждая компания использует разные инструменты, системы, приложения. Ключевой принцип здесь – это гибкость в своих подходах. Как известно, восемьдесят процентов атак происходит внутри компании, поэтому важно протестировать систему, в роли сотрудника или бывшего (возможно обиженного) сотрудником. Уже имея доступ к некоторым из информационных систем мы можем продвинуться дальше, чем, скажем, если бы мы были внешним хакером, который просто использовал бы наиболее популярные инструменты. Следующий подход-это просмотр веб-или мобильных приложений, . Эти методы обычно включают в себя проверку на безопасность кода и соответствия политике информационной безопасности. Существует множество попыток аутентификации и взлома паролей, не стоит забывать и про социальную инженерию. Сама по себе социальная инженерия создает направлена на психологические аспекты внутри кого-то, чтобы получить доступ к информации, которую вы обычно не получили бы. Исторически мы знаем социальную инженерию как фишинговые атаки по электронной почте, но атаки также могут быть телефонными звонками и др.

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

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

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



2020-06-26T15:43:06
Аудит ИБ