Elastic Defend high stable eql

System Binary Copied or Moved

This rule detects the copying or moving of system binaries using common shell commands. Attackers may copy or move system binaries to different locations or rename them to evade detection or maintain persistence.

View Source

Detection Logic

process where event.type == "start" and event.action == "exec" and process.name in ("cp", "mv") and 
process.args in (
    "/bin/sh", "/usr/bin/sh", "/usr/local/bin/sh",
    "/bin/bash", "/usr/bin/bash", "/usr/local/bin/bash",
    "/bin/dash", "/usr/bin/dash", "/usr/local/bin/dash",
    "/bin/zsh", "/usr/bin/zsh", "/usr/local/bin/zsh",
    "/bin/ksh", "/usr/bin/ksh", "/usr/local/bin/ksh",
    "/bin/nc", "/usr/bin/nc", "/usr/local/bin/nc",
    "/bin/netcat", "/usr/bin/netcat", "/usr/local/bin/netcat",
    "/bin/ncat", "/usr/bin/ncat", "/usr/local/bin/ncat",
    "/bin/nc.traditional", "/usr/bin/nc.traditional", "/usr/local/bin/nc.traditional",
    "/bin/nc.openbsd", "/usr/bin/nc.openbsd", "/usr/local/bin/nc.openbsd",
    "/bin/netcat.openbsd", "/usr/bin/netcat.openbsd", "/usr/local/bin/netcat.openbsd",
    "/bin/netcat.traditional", "/usr/bin/netcat.traditional", "/usr/local/bin/netcat.traditional",
    "/bin/socat", "/usr/bin/socat", "/usr/local/bin/socat",
    "/bin/nmap", "/usr/bin/nmap", "/usr/local/bin/nmap",
    "/bin/telnet", "/usr/bin/telnet", "/usr/local/bin/telnet",
    "/bin/curl", "/usr/bin/curl", "/usr/local/bin/curl",
    "/bin/wget", "/usr/bin/wget", "/usr/local/bin/wget",
    "/bin/python", "/usr/bin/python", "/usr/local/bin/python",
    "/bin/python3", "/usr/bin/python3", "/usr/local/bin/python3",
    "/bin/perl", "/usr/bin/perl", "/usr/local/bin/perl",
    "/bin/ruby", "/usr/bin/ruby", "/usr/local/bin/ruby",
    "/bin/php", "/usr/bin/php", "/usr/local/bin/php",
    "/bin/awk", "/usr/bin/awk", "/usr/local/bin/awk",
    "/bin/busybox", "/usr/bin/busybox", "/usr/local/bin/busybox",
    "/bin/find", "/usr/bin/find", "/usr/local/bin/find",
    "/bin/xargs", "/usr/bin/xargs", "/usr/local/bin/xargs",
    "/bin/env", "/usr/bin/env", "/usr/local/bin/env",
    "/bin/cut", "/usr/bin/cut", "/usr/local/bin/cut",
    "/bin/tee", "/usr/bin/tee", "/usr/local/bin/tee",
    "/bin/ssh", "/usr/bin/ssh", "/usr/local/bin/ssh",
    "/bin/sshd", "/usr/bin/sshd", "/usr/local/bin/sshd",
    "/bin/scp", "/usr/bin/scp", "/usr/local/bin/scp",
    "/bin/ftp", "/usr/bin/ftp", "/usr/local/bin/ftp",
    "/bin/tftp", "/usr/bin/tftp", "/usr/local/bin/tftp",
    "/bin/kubectl", "/usr/bin/kubectl", "/usr/local/bin/kubectl",
    "/bin/crictl", "/usr/bin/crictl", "/usr/local/bin/crictl",
    "/bin/dockerd", "/usr/bin/dockerd", "/usr/local/bin/dockerd",
    "/bin/docker", "/usr/bin/docker", "/usr/local/bin/docker",
    "/bin/containerd", "/usr/bin/containerd", "/usr/local/bin/containerd"
  ) and process.args_count >= 3 and not (
  process.parent.executable like (
    "/usr/lib/dracut/dracut-install", "/usr/bin/make", "/bin/make", "/usr/share/initramfs-tools/hooks/*", "/var/lib/dpkg/info/*",
    "/usr/local/bin/sigostclsh8.6", "/usr/lib/usrmerge/convert-usrmerge", "/usr/sbin/rear", "/usr/bin/byobu-status", "/sbin/rear",
    "/usr/bin/find", "/tmp/newroot/nix/store/*/activate", "/nix/store/*/activate", "/var/lib/containers/storage/overlay/nix/store/*/activate",
    "/var/lib/dpkg/tmp.ci/preinst", "/usr/sbin/nv-update-initrd", "/sbin/dracut", "/opt/SIGOS/*", "/tmp/newroot/usr/lib/dracut/dracut-install",
    "/usr/libexec/flatpak-session-helper", "/usr/sbin/mkinitramfs", "/var/tmp/portage/*/libtool", "/tmp/newroot/usr/bin/make"
  ) or
  process.working_directory like (
    "/etc/localtime/var/lib/rancher", "/run/k3s/containerd/*", "/var/lib/docker/*", "/var/lib/rancher", "/var/tmp/portage/*"
  ) or
  process.args like ("/var/tmp/dracut.*/initramfs/*", "/var/tmp/mkinitramfs_*", "/opt/jail/driver-jail/*") or
  process.parent.args like (
    "/var/tmp/rpm-tmp*", "/usr/sbin/rear", "/usr/lib/usrmerge/convert-usrmerge", "/usr/share/initramfs-tools/hooks/zz-busybox",
    "./libtool", "/var/lib/dpkg/info/dash.postinst", "*./libtool*", "/usr/bin/mkinitcpio", "/sbin/rear"
  ) or
  process.command_line in (
    "mv kubectl /usr/bin/kubectl", "mv ./kubectl /usr/bin/kubectl", "cp kubectl /usr/local/bin/kubectl",
    "mv kubectl /usr/local/bin/kubectl", "mv ./kubectl /usr/local/bin/kubectl",
    "/usr/bin/coreutils --coreutils-prog-shebang=cp /usr/bin/cp /usr/bin/sh /tmp"
  ) or
  (process.parent.command_line like "/nix/store/*" and process.command_line == "mv /bin/.sh.tmp /bin/sh") or
  (process.parent.name == "shtool" and process.command_line == "mv /usr/local/bin/#INST@*# /usr/local/bin/php") or
  (
    process.args like "./curl.leap*.x86_64" and
    process.working_directory like "/opt/SIGOS/sitedata/exec/*"
  ) or
  process.parent.command_line == "/usr/bin/runc init"
)

Field Validations

Loading…

Comments (0)

Loading comments...