Suspicious Interactive Terminal Spawn
Description
Identifies when an interactive terminal is spawned via an interpreter parent process. This behavior indicates an attacker is attempting to gain a more stable connection to a host after obtaining initial access.
Query · eql
process where event.type == "start" and event.action == "exec" and (
(
process.name == "perl" and process.args like "-e*" and process.command_line like "*exec*" and
process.command_line like ("*\"*sh\";*", "*'*sh';*")
) or
(
process.parent.name like "python*" and
process.name in ("bash", "dash", "ash", "sh", "tcsh", "csh", "zsh", "ksh", "fish", "mksh", "busybox") and
(
(
process.parent.args_count >= 3 and
process.parent.args like~ "*pty.spawn*" and
process.parent.args == "-c"
) or
(
process.args in (
"bash", "dash", "ash", "sh", "tcsh", "csh", "zsh", "ksh", "fish", "mksh", "busybox",
"/bin/bash", "/bin/dash", "/bin/ash", "/bin/sh", "/bin/tcsh", "/bin/csh",
"/bin/zsh", "/bin/ksh", "/bin/fish", "/bin/mksh", "/bin/busybox",
"/usr/bin/bash", "/usr/bin/dash", "/usr/bin/ash", "/usr/bin/sh", "/usr/bin/tcsh", "/usr/bin/csh",
"/usr/bin/zsh", "/usr/bin/ksh", "/usr/bin/fish", "/usr/bin/mksh", "/usr/bin/busybox",
"/usr/local/bin/bash", "/usr/local/bin/dash", "/usr/local/bin/ash", "/usr/local/bin/sh",
"/usr/local/bin/tcsh", "/usr/local/bin/csh", "/usr/local/bin/zsh", "/usr/local/bin/ksh",
"/usr/local/bin/fish", "/usr/local/bin/mksh", "/usr/local/bin/busybox"
) and
process.args_count == 1 and
process.parent.args_count == 1
)
)
)
)