libbpf-bootstrap
bad-bpf
libbpf-bootstrap | bad-bpf | |
---|---|---|
1 | 5 | |
930 | 482 | |
2.5% | - | |
7.6 | 0.0 | |
1 day ago | about 1 year ago | |
C | C | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
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.
libbpf-bootstrap
-
Writing to file in kprobe
I would also recommend libbpf-bootstrap as a way of understanding build techniques for examples
bad-bpf
-
Writing to file in kprobe
Not going to find too many guides for BPF development. Best way to learn is by looking at existing code samples, like this repo
-
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...
- A collection of malicious eBPF programs that make use of eBPF's abilities
- Show HN: Credentials dumper for Linux using eBPF
-
Boopkit: eBPF backdoor (TCP) for spawning reverse shells
For anyone interested, there are a few more projects with similar capabilities to look at:
- Bad-bpf: https://github.com/pathtofile/bad-bpf
- Offensive BPF: https://embracethered.com/blog/posts/2021/offensive-bpf/
- Ebpf, I thought we were friends: https://m.youtube.com/watch?v=5zixNDolLrg
What are some alternatives?
libbpf - Automated upstream mirror for libbpf stand-alone build.
TripleCross - A Linux eBPF rootkit with a backdoor, C2, library injection, execution hijacking, persistence and stealth capabilities.
bcc - BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
ebpfkit-monitor - ebpfkit-monitor is a tool that detects and protects against eBPF powered rootkits
linux - Linux kernel source tree
ebpfkit - ebpfkit is a rootkit powered by eBPF
dirtypipe-ebpf_detection - An eBPF detection program for CVE-2022-0847
systemd - The systemd System and Service Manager
boopkit - Linux eBPF backdoor over TCP. Spawn reverse shells, RCE, on prior privileged access. Less Honkin, More Tonkin.
falco - Cloud Native Runtime Security