ebpfkit-monitor
boopkit
ebpfkit-monitor | boopkit | |
---|---|---|
1 | 10 | |
110 | 1,505 | |
- | - | |
0.6 | 1.5 | |
about 1 year ago | 7 months ago | |
C | C | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ebpfkit-monitor
boopkit
-
Network Instrumentation and TCP File Descriptor Hijacking
> What's the performance hit for doing this?
So I want to be clear. This work is very much in the "fantasy" stage. I haven't ran this at scale, and there is a lot I would do before I blindly rolled something like this out. As far performance impact, it obviously would depend on how it's implemented however I think a reasonable amount of "tracer packets" being sent out every 15 seconds or so to each hop shouldn't be too disruptive to the network, or to the host machine issuing the request. In other words if you take the `ptrace(2)` concern out of the equation (this is the big one in my mind) its going to be negligible.
> And, the rootkit question, how would eBPF notice you doing this?
I suppose it would depend on what your strategy with eBPF is and where you were looking. Reminding yourself that the pidfd_getfd and pidfd_open functions are system calls, I think any modern Linux auditing system would see something like this "a mile away".
In other words, I don't see somebody using this tactic to steal FDs in production without quickly alerting most security systems. I suspect there would be ways of hiding this however... https://github.com/krisnova/boopkit...
-
eBPF – Running sandboxed programs in a privileged context such as OS kernel
This is a good write-up and I like the diagrams. What appears to still be missing in an "off switch". AFAIK there are still no kernel boot time commands to disable eBPF entirely. I have to recompile the kernel to disable it.
eBPF has the potential for file-less malware to run hidden from detection and I foresee the ability to tickle ring -3 (and -4?) CPU within CPU functions while bypassing local firewalls.
Here is some example code of what people already know how to do today and this list will grow as people discover more capabilities. [1][2][3][4][5] These do require some privileges to insert but will remain running and hidden until reboot.
[1] - https://github.com/citronneur/pamspy
[2] - https://github.com/h3xduck/TripleCross
[3] - https://github.com/krisnova/boopkit
[4] - https://github.com/pathtofile/bad-bpf
[5] - https://doublepulsar.com/bpfdoor-an-active-chinese-global-su...
- Boopkit - Linux ebpf backdoor over tcp
- kris-nova/boopkit: Linux eBPF backdoor over TCP. Spawn reverse shells, RCE, on prior privileged access. Less Honkin, More Tonkin.
- boopkit: Linux eBPF backdoor over TCP. Spawn reverse shells, RCE, on prior privileged access. Less Honkin, More Tonkin.
-
Hacker News top posts: Apr 4, 2022
Boopkit: eBPF backdoor\ (7 comments)
- Boopkit: eBPF backdoor (TCP) for spawning reverse shells
What are some alternatives?
lkm-sandbox - Collection of Linux Kernel Modules and PoC to discover, learn and practice Linux Kernel Development
TripleCross - A Linux eBPF rootkit with a backdoor, C2, library injection, execution hijacking, persistence and stealth capabilities.
bad-bpf - A collection of eBPF programs demonstrating bad behavior, presented at DEF CON 29
systemd - The systemd System and Service Manager
ebpfkit - ebpfkit is a rootkit powered by eBPF
android - OwnTracks Android App
redcanary-ebpf-sensor - Red Canary's eBPF Sensor
machine-learning-in-ebpf - This repository contains the code for the paper "A flow-based IDS using Machine Learning in eBPF", Contact: Maximilian Bachl
iomemory-vsl - Updated Fusion-io iomemory VSL Linux (version 3.2.16) driver for recent kernels.
pwru - Packet, where are you? -- eBPF-based Linux kernel networking debugger