Initial Access (TA0001)(external, opens in a new tab or window)
endpoint(external, opens in a new tab or window)
windows(external, opens in a new tab or window)
auditd_manager(external, opens in a new tab or window)
sentinel_one_cloud_funnel(external, opens in a new tab or window)
text code block:process where event.type == "start" and event.action in ("exec", "executed", "start", "process_started") and ( process.name in ( "sh", "bash", "zsh", "curl", "wget", "id", "whoami", "uname", "cmd.exe", "cat", "powershell.exe", "java", "rundll32.exe", "wget.exe", "certutil.exe", "nc", "ncat", "netcat", "nc.openbsd", "nc.traditional", "socat", "busybox", "mkfifo", "nohup", "setsid", "xterm" ) or (process.name : "python*" and process.args : "-c" and process.args : ( "*import*pty*spawn*", "*import*subprocess*call*" )) or (process.name : "perl*" and process.args : "-e" and process.args : "*socket*" and process.args : ( "*exec*", "*system*" )) or (process.name : "ruby*" and process.args : ("-e", "-rsocket") and process.args : ( "*TCPSocket.new*", "*TCPSocket.open*" )) or (process.name : "lua*" and process.args : "-e" and process.args : "*socket.tcp*" and process.args : ( "*io.popen*", "*os.execute*" )) or (process.name : "php*" and process.args : "-r" and process.args : "*fsockopen*" and process.args : "*/bin/*sh*") or (process.name == "node" and process.args == "-e" and process.args : "*spawn*sh*" and process.args : "*connect*") or (process.name : ("awk", "gawk", "mawk", "nawk") and process.args : "*/inet/tcp/*") or (process.name in ("rvim", "vim", "vimdiff", "rview", "view") and process.args == "-c" and process.args : "*socket*") ) and ( ?process.working_directory : ( "*react-dom*", "*.next*", "*node_modules/next*", "*react-server*", "*bin/next*", "*.pnpm/next*", "*next/dist/server*", "*react-scripts*") or ( process.parent.name in ("node", "bun", "node.exe", "bun.exe") and process.parent.command_line : ( "*react-dom*", "*.next*", "*node_modules/next*", "*react-server*", "*next-server*", "* server.js*", "*start-server.js*", "*bin/next*", "*--experimental-https*", "*app/server*", "*.pnpm/next*", "*next start*", "*next dev*", "*react-scripts start*", "*next/dist/server*" ) ) ) and not ( ?process.parent.executable in ("./runc", "/opt/google/chrome/chrome") or process.command_line like "/bin/sh -c git config*" )
Install detection rules in Elastic Security
Detect Suspicious React Server Child Process in the Elastic Security detection engine by installing this rule into your Elastic Stack.
To setup this rule, check out the installation guide for Prebuilt Security Detection Rules(external, opens in a new tab or window).