use crate::sec_bash_detector_rule_impl_base;
use crate::security::detect::{EvaluateResult, Severity};
sec_bash_detector_rule_impl_base!(
RuleBashTcpUdpReverseShell1,
name: "bash_tcp_udp_reverse_shell_1",
desc: "Detects reverse shell attempts using /dev/tcp or /dev/udp redirections",
default_severity: Severity::Critical,
query: "(file_redirect destination: (word) @dest (#match? @dest \"^/dev/(tcp|udp)/(.*)\"))",
capture: |node, source| {
let evidence = node.utf8_text(source)?;
Ok(EvaluateResult::hit(format!("Matched redirection: {}", evidence)))
}
);