
Windows named pipe hooking toolkit
Проект на базе Frida для перехвата коммуникаций через именованные каналы Windows
Этот проект предназначен для перехвата IPC-взаимодействий путём хукинга определённых функций WinAPI и перенаправления их в HTTP-прокси через вебсокет.
Чтение из именованного канала и запись в него могут выполняться в различных функциях. В этом разделе WriteFile обозначает запись в именованный канал, а ReadFile — чтение из именованного канала.
При перехвате данные для записи следуют этой схеме.
WriteFile --> frida hook --> python process --> websocket client --> HTTP Proxy --> websocket server --> python process --> frida hook --> WriteFile
С другой стороны, данные, которые должны быть прочитаны процессом, следуют этой схеме.
ReadFile --> frida hook --> python process --> websocket server --> HTTP Proxy --> websocket client --> python process --> frida hook --> ReadFile
HTTP-прокси получит сообщение «to the server», когда действие представляет собой запись в именованный канал, и сообщение «to the client», когда действие — чтение из именованного канала.
Добавьте прокси на порту 8090, прослушивающий все интерфейсы.
Соберите скрипт агента Frida с помощью make build; агент будет находиться в agent/dist/.
backend/*.py и backend/requirements.txt (бэкенд) и agent/dist/agent.js (агент) на хост Windows.py -m pip install -r requirements.txtpy .\main.py <pid_of_target> .\agent.js --ws-port 9090 --ws-host <ip_of_windows> --http-proxy-port 8090 --http-proxy-host <ip_of_burp> --handle-regexes '.*' --log-level INFOДанные, отправляемые в HTTP-прокси, следуют определённому формату, описанному в docs/format.md; инструменты для работы с этим пользовательским форматом предоставляются в tools/.
Изменение метаданных может привести к тому, что проект не сможет распознать сообщение и правильно направить его в соответствующий именованный канал.
Скрипт Frida бесконечно ожидает ответа, поэтому процесс может зависнуть навсегда, если вы решите отбросить сообщение.
Внедрение новых сообщений в настоящее время не поддерживается проектом.
Frida предоставляет TypeScript-привязки для разработки агента. После установки devDependencies VSCode должен распознавать типы автоматически.
Предоставляется цель Makefile make dev-env для простой настройки среды разработки.