FlashPlayer13 1 29 октября, 2021 Опубликовано 29 октября, 2021 (изменено) · Жалоба Есть 2 ПК. Оба на Windows 10. Один назовем целевой, другой атакующим. Хочется с атакующего ПК послать команду и получить дамп оперативной памяти целевого. Такое функционал обычно называют DMA атакой и для него используют PCIe разъем (ну или M.2). Если кратко - нужно решение аналогичное PCILeech - https://github.com/ufrisk/pcileech. Проблема PCILeech в том, что там предлагаются прошивки для таких плат, которые сейчас не купить. Если не кратко, то что в итоге хочется получить: Бюджетная и доступная плата, вставляется в PCIe или M.2 слот целевого ПК. Очень желательно, чтобы ее стоимость укладывалась в 150$ Также плата подсоединяется к атакующему ПК по USB (я другого варианта не придумал, так что опционально). Этот разъем универсален, и обладает достаточной скоростью для выкачки дампа памяти Плата прошивается, чтобы принимать сигнал от атакующего ПК на выкачку памяти. Дополнительно нужна возможность менять основные идентификаторы платы для целевого ПК (по типу VID PID), чтобы плата определялась реальным устройством Работа с платой по следующему сценарию. Атакующий ПК шлет сигнал, плата, получив сигнал, начинает отправку на атакующий ПК дампа оперативной памяти целевого ПК. Получив весь дамп, атакующий снова шлет сигнал и так далее в цикле В идеале итоговое решение должно представлять собой софтверно-хардверный сетап, который не требует дополнительной пайки при "сборке". То есть лучший вариант - это устройство, которое доступно к продаже, и прошивка для него. Примером может быть тот же Screamer M.2 в тандеме с PCILeech (https://github.com/ufrisk/pcileech-fpga/tree/master/ScreamerM2), либо статья на Хабре, где на основе SATA контроллера получили похожий функционал (https://habr.com/ru/post/532672/). Единственное, что не удалось в статье - передать дамп памяти целиком на атакующий ПК и предлагается его анализ проводить внутри самого контроллера. Бюджет на проект обсуждаемый и зависит от конечной реализации, ибо нюансов много. Территориальной привязки нет. Телеграм для связи: @jurikmazurik Изменено 29 октября, 2021 пользователем FlashPlayer13 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mnovikov2000 1 29 октября, 2021 Опубликовано 29 октября, 2021 · Жалоба USB точно надо? Вот навскидку дешевле сотки и 4 оптики, правда плату сам не пользовал https://aliexpress.ru/item/4001072461753.html?item_id=4001072461753&sku_id=12000024008939311&spm=a2g2w.productlist.0.0.d74a284efXi5vk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FlashPlayer13 1 29 октября, 2021 Опубликовано 29 октября, 2021 · Жалоба USB не обязательно. Мне бы только понять по какому каналу можно передать данные на атакующий ПК. Свяжемся в ТГ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mnovikov2000 1 29 октября, 2021 Опубликовано 29 октября, 2021 (изменено) · Жалоба через оптику. там их 4 под sfp. я в тг не умею, [email protected] Изменено 29 октября, 2021 пользователем mnovikov2000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 29 октября, 2021 Опубликовано 29 октября, 2021 · Жалоба 1 hour ago, FlashPlayer13 said: USB не обязательно. Мне бы только понять по какому каналу можно передать данные на атакующий ПК. можно через тот же pcie, симметрично, так сказать. взять две одинаковые платы https://github.com/dukelec/cdpga/tree/master/cdpga_p и соединить друг с другом, а кто именно там кого "атакует" потом решить :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mnovikov2000 1 29 октября, 2021 Опубликовано 29 октября, 2021 · Жалоба А прикольная платка. Единственно, на воздух разъем мелкий нескоростной, если штука на стол можно попробовать шлейфом подколхозить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FlashPlayer13 1 30 октября, 2021 Опубликовано 30 октября, 2021 · Жалоба Как узнать, что возможно с такой микро платкой сделать в моем случае? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 30 октября, 2021 Опубликовано 30 октября, 2021 · Жалоба то же, что и с указаной выше ScreamerM2, только вместо моста FT601 в usb там просто lvds наружу. если их соединить со второй такой же платой получится не USB3->PCIe, а PCIe-> PCIe. там io выведено не много, но можно впринципе в какую-нибудь готовую плату usb моста типа UMFT600 c 16ти битным ft600 или fx3 от кипариса, получится то же самое что ScreamerM2 только чуть-чуть медленнее, через 16бит шину больше 200МБ/c не пролезет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lagman 1 6 ноября, 2021 Опубликовано 6 ноября, 2021 · Жалоба Включат iommu и деньги были потрачены зря. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
atman 0 11 ноября, 2021 Опубликовано 11 ноября, 2021 · Жалоба Каков диапазон бюджета? ;). Просто при пожелании, чтобы стоимость платы укладывалась в $150, трудно ожидать оплаты работы существенно выше этой суммы. А чтобы использовать озвученные платы типа - https://github.com/dukelec/cdpga/tree/master/cdpga_p или https://aliexpress.ru/item/4001072461753.html?item_id=4001072461753&sku_id=12000024008939311&spm=a2g2w.productlist.0.0.d74a284efXi5vk Как то головой поработать придется. Не хотелось бы за $150 это делать ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 11 ноября, 2021 Опубликовано 11 ноября, 2021 · Жалоба On 11/6/2021 at 10:24 PM, Lagman said: Включат iommu и деньги были потрачены зря. вот тоже хотелось спросить - а оно в современных BIOS-ах не включено "по дефолту"? ну просто какая-то дыра во всех там виртуализациях и пр. удивительно, если такое осталось со старых добрых IBM PC XT :) сам я в современных ПК не понимаю - а наоборот сам интересуюсь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 11 ноября, 2021 Опубликовано 11 ноября, 2021 · Жалоба 4 hours ago, yes said: вот тоже хотелось спросить - а оно в современных BIOS-ах не включено "по дефолту"? Это еще зависит от типа и поддержки ОС. Вроде читал что по умолчанию поддержку IOMMU только в WIn10 включили. В Linux давно есть поддержка IOMMU но тоже вроде по умолчанию она выключена и надо включать при конфигурации. На PC всерьез проблемами контроля доступа к памяти через DMA озаботились лишь относительно недавно когда наружу начали выводить интерфейсы типа Thunderbolt и PCIe. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 12 ноября, 2021 Опубликовано 12 ноября, 2021 · Жалоба 10 hours ago, RobFPGA said: Это еще зависит от типа и поддержки ОС. off: я не очень в этом разбираюсь - мне казалось что BIOS (как нынче его называют UEFI) запускает ОСы уже в виртуальных машинах и для доступа к реальному железу используется всякие защищенные (криптография) сервисы - secure boot и т.п. мои знакомые делали поддержку uefi в линукс ядре в 200х и что то там было под NDA и вообще непонятно мне как оно совместимо с опенсорсом. предполагаю, что процессор, который бутит систему это не главный цпу, а какое-то встроенное в чипсет little ядро (даже не знаю как аналог армовского литлбиг называется для х86) какие-то популярные статьи пишутся по-моему журналамерами и сомневаюсь в правдоподобности описания, а разбираться по настоящему нет у меня таких задач и времени. но интересно было бы иметь "общее" понимание Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 12 ноября, 2021 Опубликовано 12 ноября, 2021 · Жалоба 10 minutes ago, yes said: но интересно было бы иметь "общее" понимание Когда то на Хабре был цикл статей (1 2) посвященный разбору UEFI и непосредственно этапам начальной загрузки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться