Conversation
fc386c3 to
cac3c1f
Compare
rules/command_and_control/linux_suspicious_proxychains_activity.yaml
Outdated
Show resolved
Hide resolved
rules/command_and_control/linux_tunneling_and_port_forwarding.yaml
Outdated
Show resolved
Hide resolved
rules/command_and_control/linux_tunneling_and_port_forwarding.yaml
Outdated
Show resolved
Hide resolved
rules/command_and_control/linux_tunneling_and_port_forwarding.yaml
Outdated
Show resolved
Hide resolved
| "/usr/bin/apt", "/usr/bin/dpkg", "/usr/bin/yum", "/usr/bin/dnf", "/usr/bin/pacman", | ||
| "/usr/bin/rpm", "/usr/bin/zypper", "/usr/bin/emerge", "/usr/bin/nix-env" | ||
| ]) |
There was a problem hiding this comment.
- add
/usr/bin/apt-getor start with - add
/usr/bin/dnf-3,/usr/bin/dnf4,/usr/bin/dnf5or start with
check yocto distribution rpm path
| (payload.filename STARTS_WITH "/usr/bin/systemctl" AND payload.argv CONTAINS "disable" AND (payload.argv CONTAINS "apparmor" OR payload.argv CONTAINS "apparmor.service")) OR | ||
| (payload.filename ENDS_WITH "service" AND payload.argv CONTAINS "apparmor" AND payload.argv CONTAINS "stop") OR | ||
| (payload.filename ENDS_WITH "chkconfig" AND payload.argv CONTAINS "apparmor" AND payload.argv CONTAINS "off") | ||
| ) |
There was a problem hiding this comment.
- typo
attenotin description - it should cover
systemctl stopandsystemctl disable - it should cover
service stopandservice disable(checkservicesyntax)
| condition: (payload.filename STARTS_WITH "/usr/bin/ln" AND payload.argv CONTAINS "/etc/apparmor.d/" AND payload.argv CONTAINS "/etc/apparmor.d/disable/") | ||
| OR (payload.filename STARTS_WITH "/usr/bin/mv" AND payload.argv CONTAINS "/etc/apparmor.d/" AND payload.argv CONTAINS "/etc/apparmor.d/disable/") |
There was a problem hiding this comment.
do not rely on args but switch to FileRename use /usr/bin/ln as image name and put conditions on file path because in file rename events are resolved in absolute form
| condition: ( | ||
| payload.filename STARTS_WITH "/etc/apparmor" OR | ||
| payload.filename STARTS_WITH "/etc/apparmor.d/" OR | ||
| payload.filename STARTS_WITH "/etc/apparmor.conf" | ||
| ) | ||
| AND (payload.flags CONTAINS "O_WRONLY" OR payload.flags CONTAINS "O_RDWR") |
There was a problem hiding this comment.
add exception on eventual apparmor binaries that reads that configurations
| condition: payload.filename STARTS_WITH "/usr/sbin/sysctl" AND | ||
| (payload.argv CONTAINS "apparmor=0" OR payload.argv CONTAINS "kernel.apparmor.enabled=0" OR payload.argv CONTAINS "security=none") |
There was a problem hiding this comment.
- it uses
sysctl, but you should check if it's possible to do the same thing interacting with/sysfilesystem. in that case create a rule below this - check if the new rule on the filesystem is enough
| (payload.filename ENDS_WITH "apparmor_parser" AND (payload.argv CONTAINS "-R" OR payload.argv CONTAINS "--remove")) OR | ||
| (payload.filename ENDS_WITH "aa-teardown") OR | ||
| (payload.filename ENDS_WITH "aa-disable") | ||
| ) |
There was a problem hiding this comment.
check if these utilities utilizes file system under the hood and create a rule on that if it's possible
| "/usr/bin/apt", "/usr/bin/apt-get","/usr/bin/dpkg", "/usr/bin/yum", | ||
| "/usr/bin/pacman", "/usr/bin/rpm", "/usr/bin/zypper", "/usr/bin/emerge", "/usr/bin/nix-env"] | ||
| OR header.image STARTS_WITH "/usr/bin/dnf" | ||
| ) |
| header.image IN [ | ||
| "/usr/bin/apt", "/usr/bin/apt-get","/usr/bin/dpkg", "/usr/bin/yum", | ||
| "/usr/bin/pacman", "/usr/bin/rpm", "/usr/bin/zypper", "/usr/bin/emerge", "/usr/bin/nix-env"] | ||
| OR header.image STARTS_WITH "/usr/bin/dnf" |
| header.image IN [ | ||
| "/usr/bin/apt", "/usr/bin/apt-get","/usr/bin/dpkg", "/usr/bin/yum", | ||
| "/usr/bin/pacman", "/usr/bin/rpm", "/usr/bin/zypper", "/usr/bin/emerge", "/usr/bin/nix-env"] | ||
| OR header.image STARTS_WITH "/usr/bin/dnf" |
| header.image IN [ | ||
| "/usr/bin/apt", "/usr/bin/apt-get","/usr/bin/dpkg", "/usr/bin/yum", | ||
| "/usr/bin/pacman", "/usr/bin/rpm", "/usr/bin/zypper", "/usr/bin/emerge", "/usr/bin/nix-env"] | ||
| OR header.image STARTS_WITH "/usr/bin/dnf" |
| header.image IN [ | ||
| "/usr/bin/apt", "/usr/bin/apt-get","/usr/bin/dpkg", "/usr/bin/yum", | ||
| "/usr/bin/pacman", "/usr/bin/rpm", "/usr/bin/zypper", "/usr/bin/emerge", "/usr/bin/nix-env"] | ||
| OR header.image STARTS_WITH "/usr/bin/dnf" |
| evade detection after installing a Linux kernel module (LKM). | ||
| condition: header.image == "/usr/bin/dmesg" AND payload.argv CONTAINS "-c" No newline at end of file | ||
| condition: (payload.filename STARTS_WITH "/usr/bin/dmesg" OR payload.filename STARTS_WITH "/bin/dmesg" OR payload.filename STARTS_WITH "/usr/sbin/dmesg") | ||
| AND (payload.argv CONTAINS "-c" OR payload.argv CONTAINS "-C" OR payload.argv CONTAINS "--clear") |
There was a problem hiding this comment.
check if possible to use fileopen event and flags O_TRUNC and/or O_WRITE, O_RDWR
| (payload.filename STARTS_WITH "/usr/bin/systemctl" AND payload.argv CONTAINS "disable" AND (payload.argv CONTAINS "apparmor" OR payload.argv CONTAINS "apparmor.service")) OR | ||
| (payload.filename ENDS_WITH "service" AND payload.argv CONTAINS "apparmor" AND payload.argv CONTAINS "stop") OR | ||
| (payload.filename ENDS_WITH "chkconfig" AND payload.argv CONTAINS "apparmor" AND payload.argv CONTAINS "off") |
There was a problem hiding this comment.
rewrite with file deleted if possible, example symlink to service deleted from /etc/systemd conf dir
| description: Detects modification of AppArmor profiles or configurations. | ||
| condition: ( | ||
| payload.filename STARTS_WITH "/etc/apparmor" OR | ||
| payload.filename STARTS_WITH "/etc/apparmor/" OR |
There was a problem hiding this comment.
you can remove the slash and remove the others already included
Gap analysis, partial rule enhancement
Identification of uncovered areas in the ruleset, implementation of new rules
I have
cargo fmt;cargo clippy;cargo testand all tests pass;