boopkit
falco
boopkit | falco | |
---|---|---|
10 | 42 | |
1,510 | 6,964 | |
- | 1.9% | |
1.5 | 9.8 | |
7 months ago | about 19 hours 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.
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
falco
-
Cisco Acquires Splunk
https://github.com/falcosecurity/falco
Like snort, but looks at system calls.
-
Kubernetes security projects for entry grad roles in DevSecOps/Cloud security
From one noob to another - I had a lot of fun setting up Falco (https://falco.org) and creating custom policies & alerts.
-
An Overview of Kubernetes Security Projects at KubeCon Europe 2023
Falco is a well-known open source security solution originally created by Sysdig. Itβs a CNCF incubating project and one of the few (as far as I can tell) options on this list that uses eBPF to scan for vulnerabilities.
-
K8s secret management
Use some kind of SIEM or Falco to alert you to threats (you can't stop them, but a human can always intervene)
-
How to Deploy and Scale Strapi on a Kubernetes Cluster 2/2
Falco, is a security project that can help you detect threats from within your cluster.
- Opensource IDS for Kubernetes??
-
Go based eBPF projects
https://falco.org/ is a security-focused monitoring and alerting with an eBPF option
- Is there a utility that can send shell command to all pods?
- eBPF β Running sandboxed programs in a privileged context such as OS kernel
-
My GoLab 2022 experience
On the cgo side I want to highlight two talks: one from Loris Cro about dealing with cross-complition difficulties, that the usage of cgo brings, using the Zig language and the other from Jason Dellaluce and Leonardo Grasso about how to extend Falco, a Kubernetes threat detection engine, which is written in C++, with plugins written in Go, explaining the challenges of integrating cgo in both C and Go.
What are some alternatives?
ebpfkit-monitor - ebpfkit-monitor is a tool that detects and protects against eBPF powered rootkits
trivy - Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
TripleCross - A Linux eBPF rootkit with a backdoor, C2, library injection, execution hijacking, persistence and stealth capabilities.
Kyverno - Kubernetes Native Policy Management
bad-bpf - A collection of eBPF programs demonstrating bad behavior, presented at DEF CON 29
OSQuery - SQL powered operating system instrumentation, monitoring, and analytics.
systemd - The systemd System and Service Manager
gatekeeper - π Gatekeeper - Policy Controller for Kubernetes
android - OwnTracks Android App
kubescape - Kubescape is an open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters. It includes risk analysis, security, compliance, and misconfiguration scanning, saving Kubernetes users and administrators precious time, effort, and resources.
istio - Connect, secure, control, and observe services.
tracee - Linux Runtime Security and Forensics using eBPF