
Высокопроизводительный инструмент для подмены портов, написанный на Rust. Вводит сканеры портов в заблуждение динамической эмуляцией сервисов на всех портах. Отличается настраиваемыми сигнатурами, эффективной асинхронной обработкой и простой переадресацией трафика.
Ghostport — это изощрённый инструмент для подмены портов, предназначенный для запутывания и введения в заблуждение сканеров портов. Это реализация на Rust, вдохновлённая концепцией portspoof и обеспечивающая повышенную производительность и гибкость.

git clone https://github.com/vxfemboy/ghostport.git
cd ghostport
cargo build --release
Базовое использование:
./target/release/ghostport -s signatures.txt
или можно запустить через cargo
git clone https://github.com/vxfemboy/ghostport.git
cd ghostport
cargo run -- -s signatures.txt
Это запустит Ghostport на адресе по умолчанию (127.0.0.1:8888), используя сигнатуры из файла signatures.txt.
-s, --signatures <FILE>: Путь к файлу сигнатур (по умолчанию: "signatures")-l, --listen <ADDRESS>: Адрес для прослушивания (по умолчанию: "127.0.0.1:8888")-d, --debug: Включить отладочное журналирование-v, --verbose: Включить подробное журналирование-q, --quiet: Включить тихий режим журналирования-V, --version: Вывести информацию о версииЗапуск со своим адресом и подробным журналированием:
./target/release/ghostport -s signatures.txt -l 0.0.0.0:8888 -v
Запуск с отладочным журналированием:
./target/release/ghostport -s signatures.txt -l 0.0.0.0:8888 -d
Файл сигнатур должен содержать одну сигнатуру на строку. Сигнатуры могут быть обычным текстом или regex-шаблонами. Например:
HTTP/1.1 200 OK\r\nServer: Apache/2.4.41 (Unix)\r\n
SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.1
220 (vsFTPd 3.0.3)
больше примеров см. в файле signatures.
Чтобы перенаправить весь входящий TCP-трафик на Ghostport, можно использовать iptables. Это позволит Ghostport отвечать на соединения на любом порту, фактически подменяя все сервисы:
INTERFACE="eth0" # change to your network interface
iptables -t nat -A PREROUTING -i $INTERFACE -p tcp -m tcp -m multiport --dports 1:65535 -j REDIRECT --to-ports 8888
Эта команда перенаправит весь TCP-трафик с портов 1–65535 на порт 8888, на котором слушает Ghostport. Убедитесь, что вы заменили "eth0" на ваш реальный сетевой интерфейс.
[!NOTE] Это требует прав root и повлияет на все входящие TCP-соединения на указанном интерфейсе. Соблюдайте осторожность, особенно на производственных системах.
Чтобы удалить это правило:
iptables -t nat -D PREROUTING -i $INTERFACE -p tcp -m tcp -m multiport --dports 1:65535 -j REDIRECT --to-ports 8888
Вклад приветствуется! Смело отправляйте Pull Request.
Этот проект распространяется по лицензии GNU — подробности см. в файле LICENSE.