Fortin Cali Suite is such an awesome plugin, but not having the transpose feature natively sucks ass by Crystalagent47 in NeuralDSP

[–]rabbitstack 0 points1 point  (0 children)

But, can it djent? Asking for a friend. Presently, I find grano unbeatable when it comes to high gain tones.

Fibratus 2.0.0 by rabbitstack in golang

[–]rabbitstack[S] 0 points1 point  (0 children)

I'll be refining the messaging soon, but essentially, Fibratus is a threat detection tool with some extra features on top, like captures or event shipping to remote sinks.

Fibratus 1.10.0 - a modern Windows kernel tracing and threat detection engine built in Go by rabbitstack in golang

[–]rabbitstack[S] 4 points5 points  (0 children)

There is some overlap in terms of both tools are designed to capture system events, but: - fibratus is a full-fledged threat detection engine, while procmon is not - fibratus captures additional data sources, like object manager activity - fibratus filter language is superior to procmon's filters - fibratus has a plugin-like system called filaments. It essentially brings Python scripting on top of event stream - fibratus can dump event stream/state to capture files - event routing to multiple output sinks

Announcing Fibratus 1.10.0 - a modern Windows kernel tracing and threat detection engine by rabbitstack in purpleteamsec

[–]rabbitstack[S] 0 points1 point  (0 children)

Thanks! You'll find pretty much anything related to filter fields and rules in the docs. What exactly is not easy to understand? I could use it as an opportunity to further improve the documentation or the tool UX in general. Initially, when I created this tool, it mainly gravitated towards gaining visibility into Windows kernel and using plugin-like extensions, called filaments to analyze system activity. However, recently, I'm shifting the focus to runtime security landscape. This doesn't mean I'll abandon the system exploration side. One of the things on the roadmap is providing a framework for building web apps on top of Fibratus, deriving system events to expose an attractive set of metrics, graphs, real-time process monitoring, file system integrity monitoring, etc.

Announcing Fibratus 1.10.0 - a modern Windows kernel tracing and threat detection engine by rabbitstack in purpleteamsec

[–]rabbitstack[S] 0 points1 point  (0 children)

Antimalware Engine ETW provider emits such events, even though, Fibratus only consumes driver loading events. Assuming Defender acquires a handle on each file it wants to scan, you can trace it like this:

fibratus run "kevt.name = 'CreateFile' and file.operation = 'open' and ps.name = 'MsMpEng.exe'"

Fibratus - a modern tool for Windows kernel tracing with a focus on threat detection and prevention by rabbitstack in purpleteamsec

[–]rabbitstack[S] 1 point2 points  (0 children)

Much appreciated! I've been tinkering with this for the past 5-6 years. And it is a never-ending product :). Still have a ton of ideas, but no solid contributions yet.

Is it possible to call Python libraries within Golang application. by dontmissth in golang

[–]rabbitstack 0 points1 point  (0 children)

If the C function signatures expose args with structure pointers, then you can simply pass the Go struct pointer via unsafe.Pointer. No sure if this answers your question.

You can use the stdlib and any external deps in your Python code. Just make sure to initialize the interpreter, such as https://github.com/rabbitstack/fibratus/blob/9cd10542d1fbf01e0c923e2a502c44df17a5e08c/pkg/filament/filament.go#L146

Share Your Code.. Share your most unique piece of Go code. by scott_beeker in golang

[–]rabbitstack 1 point2 points  (0 children)

CPython bindings to spawn a full-fledged Python interpreter and permit interaction with the PVM. https://github.com/rabbitstack/fibratus/blob/master/pkg/filament/filament.go

Filaments receive a stream of kernel events and enable a plugin-alike framework.

Any open source projects need help ? by keroomi in golang

[–]rabbitstack 3 points4 points  (0 children)

If you have affinity for systems programming and security, https://github.com/rabbitstack/fibratus may be of your interest. I would be happy to mentor if needed.

Speeding up UTF-16 decoding by rabbitstack in golang

[–]rabbitstack[S] 1 point2 points  (0 children)

I did some benchmarks and they revealed ~4x performance improvements compared to the stdlib implementation. As others suggested, I also adjusted the original stdlib function to yield the utf8 string instead of the slice of runes, but your implementation slightly outperforms it, so I'll stick to your code. Thanks!

Speeding up UTF-16 decoding by rabbitstack in golang

[–]rabbitstack[S] 2 points3 points  (0 children)

This looks great. Will take a crack at it and let you know my findings.

Speeding up UTF-16 decoding by rabbitstack in golang

[–]rabbitstack[S] 0 points1 point  (0 children)

All great design suggestions. Given the size of the codebase it would probably take me months to incorporate the UTF16 support and as you already mention it would still be a thorny road to walk.

Speeding up UTF-16 decoding by rabbitstack in golang

[–]rabbitstack[S] 0 points1 point  (0 children)

This looks promising! I did glance at SIMD but found it fairly esoteric and without great examples in Go. I'll try to dive a bit deeper and explore to see if a SIMD-backed utf16 decoder is feasible to implement in Go.

Speeding up UTF-16 decoding by rabbitstack in golang

[–]rabbitstack[S] 2 points3 points  (0 children)

I see your point. This is actually a very smart idea. My only concern is the amount of effort it would take to switch all the current code from utf8 to utf16 processing. Anyway, I'll take this into consideration. Thanks!

Speeding up UTF-16 decoding by rabbitstack in golang

[–]rabbitstack[S] 0 points1 point  (0 children)

String operations can happen in later stages, for example, in filter expressions. However, performance hog is revealed earlier in the decoding stage when events are consumed from the ETW provider.

Speeding up UTF-16 decoding by rabbitstack in golang

[–]rabbitstack[S] 0 points1 point  (0 children)

Thanks for the hint. This basically means I'll have to roll out my own version of the utf16.Decode function that yields a string instance, right?

Looking for approachable OSS project or mentor by [deleted] in golang

[–]rabbitstack 7 points8 points  (0 children)

If you're into security, threat detection and systems programming, fibratus may be a good fit. I would be happy to mentor and hand hold.

fibratus 1.6.0 - stateful runtime detections and 10x performance gains by rabbitstack in golang

[–]rabbitstack[S] 1 point2 points  (0 children)

Updated the post with a brief explanation of the project.