主要观点:介绍了一个名为 Tamanoir 的键盘记录器,使用 eBPF 技术实现,可捕获键盘输入并存储在内核队列中,拦截 DNS 请求并注入键盘输入,通过 DNS 代理进行处理,最后提取和发送有效 DNS 响应。
关键信息:
- 支持两种键盘布局:qwerty(us)和 azerty(fr)。
- 需基于 Linux 操作系统,构建时需安装 bpf-linker 和 Rust 并使用 nightly 工具链。
- 有从源代码构建和二进制发布两种方式。
- 使用时需指定 DNS 代理 IP、劫持的本地 DNS 服务器 IP、键盘布局和网络接口名等参数。
- 远程主机需安装 Docker 来运行 DNS 代理。
重要细节: - 构建 eBPF 程序:
cd tamanoir-ebpf; cargo build --release
。 - 构建用户空间程序:
cargo build --release
,生成的可执行文件在target/release/tamanoir
。 - 构建 DNS 代理镜像:
cd proxy; docker build -t proxy.
。 - 运行 DNS 代理:
docker run --rm -it -p 53:53/udp -e PAYLOAD_LEN=8 proxy
。 - TODO 列表包括自动发现本地 DNS 服务器、键盘布局,用 Rust 重写 DNS 代理,使 Tamanoir 更隐蔽。
- 声明 Tamanoir 仅用于教育目的,遵循 GPLv3 许可证,作者为 Badr Badri 和 Adrien Gaultier。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。