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

#100 Kali Linux для продвинутого тестирования на проникновение. PsExec, WMIC и другие инструменты.

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

PsExec — это замена Telnet от Microsoft, которую можно загрузить с https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx.
Обычно модуль PsExec используется злоумышленниками для получения доступа и связи с удаленной системой в сети, с действительными учетными данными:

Gaining remote shell access using PSExec and valid credentials

Первоначально исполняемый файл был разработан для внутренних систем, для устранения любых проблем с платформой. Теперь то же самое можно использовать, запустив модуль PsExec Metasploit и выполнив некоторые удаленные настройки. Это откроет оболочку; тестировщики могут либо ввести свое имя пользователя и пароль, либо просто передать хеш-значения, поэтому нет необходимости взламывать хэши паролей, чтобы получить доступ к системе. Теперь все боковые перемещения можно выполнять, если в сети скомпрометирована одна система, без необходимости ввода пароля.
На рисунке ниже показан модуль Metasploit PsExec с действительными учетными данными:

Metasploit module options to make use of PsExec with valid credentials

WMIC

В новых системах злоумышленники и тестеры на проникновение используют встроенные языки сценариев, такие как командная строка инструмента управления Windows (WMIC), интерфейс командной строки и сценариев, который используется для упрощения доступа к инструменту управления Windows. Если скомпрометированная система поддерживает WMIC, то для сбора информации можно использовать несколько команд. В Таблице ниже представлено краткое описание некоторых команд:

WMIC commands that can be leveraged by testers to perform horizontal privilege escalation

PowerShell — это язык сценариев, созданный на основе .NET Framework, который запускается из консоли, и предоставляет пользователю доступ к файловой системе Windows и таким объектам, как реестр. Он устанавливается по умолчанию в операционной системе Windows 7 и более поздних версиях. PowerShell расширяет поддержку и автоматизацию сценариев, предлагаемые WMIC, позволяя использовать интеграцию оболочки и совместимость как на локальных, так и на удаленных целях.

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

Running Linux commands in Windows PowerShell

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

 Inbuilt PowerShell commands that can be utilized to perform local system enumeration

Тестеры на проникновение могут использовать собственные команды Windows, библиотеки DLL, функции .NET, вызовы WMI и командлеты PowerShell вместе, для создания сценариев PowerShell с расширением .ps1. Одним из таких примеров горизонтального перемещения с использованием WMIC с использованием учетных данных является случай, когда злоумышленник запускает процесс на удаленном компьютере для вывода пароля в виде открытого текста из памяти. Используемая команда выглядит следующим образом:

Разведка должна распространяться и на локальную сеть. Поскольку Вы работаете вслепую, Вам нужно будет создать карту действующих систем и подсетей, с которыми может взаимодействовать скомпрометированный хост. Начните с ввода IFCONFIG (системы на базе Unix) или IPCONFIG /ALL (системы Windows) в командной строке оболочки. Это позволит злоумышленнику определить следующее:

  • Включена ли адресация DHCP.
  • Локальный IP-адрес, который также будет идентифицировать как минимум одну активную подсеть.
  • IP-адрес шлюза и адрес DNS-сервера. Системные администраторы обычно следуют соглашению о нумерации в сети, и если злоумышленник знает один адрес, например сервер шлюза 10.10.10.1, он пропингует такие адреса, как 10.10.10.100, 10.10.10.5 и т. д., чтобы найти дополнительные подсети.
  • Доменное имя, которое используется для использования учетных записей Active Directory.

Если атакующая система и целевая система используют Windows, то команду net view можно использовать для перечисления других систем Windows в сети. Злоумышленники используют команду netstat -rn для просмотра таблицы маршрутизации, которая может содержать статические маршруты к интересующим сетям или системам.
Локальную сеть можно сканировать с помощью nmap, который ищет широковещательные пакеты ARP. Кроме того, в Kali есть несколько инструментов, которые можно использовать для анализа конечных точек SNMP, включая nmap, onesixtyone и snmpcheck.
Развертывание анализатора пакетов для сопоставления трафика поможет Вам идентифицировать имена хостов, активные подсети и имена доменов. Если адресация DHCP не включена, это также позволит злоумышленникам идентифицировать любые неиспользуемые статические IP-адреса. В Kali предустановлен Wireshark (анализатор пакетов с графическим интерфейсом), но Вы также можете использовать tshark в сценарии после эксплуатации или из командной строки, как показано на рисунке ниже:

Running tshark to sniff the network and identify the hosts

Редактор учетных данных Windows

Редактор учетных данных Windows (WCE) можно загрузить с https://www.ampliasecurity.com/research/windows-credentials-editor/.
Используя оболочку Meterpreter, Вы можете загрузить wce.exe в скомпрометированную систему, как показано на рисунке ниже. После загрузки файла в систему, запустите команду оболочки в сеансе Meterpreter; это предоставит терминальный доступ к скомпрометированной системе. Чтобы проверить успешность WCE, запустите wce.exe -w, чтобы получить список всех сеансов входа пользователя вместе с открытым текстовым паролем:

Extracting plaintext passwords using WCE on legacy Windows devices

Позже эти учетные данные могут быть использованы злоумышленниками для горизонтального проникновения в сеть, таким образом, используя одни и те же учетные данные в нескольких системах. Этот инструмент будет работать только в устаревших системах, таких как Windows XP, 2003, 7 и 2008.
Тестеры на проникновение могут широко использовать автоматизированный инструмент Empire PowerShell для выполнения атак, специфичных для Active Directory, а также других атак на доверие домена и повышение привилегий.

Боковое перемещение с использованием сервисов

Что, если тестеры на проникновение столкнутся с системой, в которой нет PowerShell, который можно было бы вызвать? В таких случаях элементы управления службами (SC) будут очень полезны для выполнения горизонтального перемещения в сети для всех систем, к которым у Вас есть доступ, или систем с анонимным доступом к общей папке.
Следующие команды можно запускать непосредственно из командной строки или через оболочку Meterpreter:

  • net use \advanced\c$/user:advanced\username пароль
  • каталог \advanced\c$
  • Скопируйте бэкдор, созданный с помощью Shellter или Veil, в общую папку.
  • Создайте сервис Backtome.
  • Sc \remotehost создать резервную копию
    binpath=»c:\xx\malware.exe»
  • Sc удаленный хост запускает резервную копию

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

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