
Программное обеспечение для атак с прямым доступом к памяти (DMA)
PCILeech использует аппаратные устройства PCIe для чтения и записи памяти целевой системы. Это достигается с помощью DMA поверх PCIe. Драйверы на целевой системе не требуются.
PCILeech также работает без аппаратного обеспечения совместно с широким спектром программных методов захвата памяти, поддерживаемых библиотекой LeechCore — включая захват удалённой живой памяти с помощью DumpIt или WinPmem. PCILeech также поддерживает локальный захват памяти и ряд форматов файлов дампов памяти.
PCILeech поддерживает множество устройств захвата памяти. Как аппаратных, так и программных. Аппаратное обеспечение на базе USB3380 способно нативно читать только 4 ГБ памяти, но может читать всю память, если в ядро целевой системы предварительно внедрён модуль ядра (KMD). Аппаратное обеспечение на базе FPGA и программные методы способны читать всю память.
PCILeech способен внедрять широкий спектр ядерных имплантов в целевые ядра — что обеспечивает лёгкий доступ к живой оперативной памяти и файловой системе через «смонтированный диск». Также возможно удалить требование ввода пароля при входе, загружать неподписанные драйверы, исполнять код и порождать системные оболочки. PCIleech работает на Windows и Linux. Поддерживаемые целевые системы в настоящее время — это x64-версии: UEFI, Linux, FreeBSD и Windows. Для этого требуется доступ на запись к памяти (аппаратное обеспечение USB3380, аппаратное обеспечение FPGA, LiveCloudKd или CVE-2018-1038 «Total Meltdown»).
Чтобы начать, клонируйте исходники из репозитория или скачайте последние бинарные файлы, модули и файлы конфигурации.
Графический интерфейс PushPin GUI для PCILeech делает типичные задачи RedTeam чрезвычайно простыми. Обратите внимание, что PushPin не является частью официальной поставки PCILeech.







*) macOS High Sierra и выше не поддерживаются.
PCILeech поддерживает как аппаратные, так и программные методы захвата памяти. Весь захват памяти обрабатывается библиотекой LeechCore.
Ниже приведено краткое описание поддерживаемых аппаратных методов захвата памяти. Все аппаратные методы захвата памяти поддерживаются как на Windows, так и на Linux. Однако методы на базе FPGA имеют небольшое снижение производительности на Linux и достигают максимума примерно 90 МБ/с по сравнению со 150 МБ/с на Windows.
| Устройство | Тип | Интерфейс | Скорость | Доступ к 64-битной памяти | Доступ к PCIe TLP | Спонсор проекта |
|---|---|---|---|---|---|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | Да | Да | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | Да | Да | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | Да | Да | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | Да | Да | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | Да | Да | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | Да | Да | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | Да | Да | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | Да | Да | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | Да | Да | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | Нет | Нет | |
| DMA patched HP iLO | BMC | TCP | 1MB/s | Да | Нет |
Ниже приведено краткое описание поддерживаемых программных методов захвата памяти. Обратите внимание, что LeechService предоставляет только сетевое подключение к удалённой библиотеке LeechCore. После подключения возможно использование как аппаратных, так и программных методов захвата памяти.