Skip to content

Latest commit

 

History

History
60 lines (46 loc) · 1.96 KB

persistence_reverse_bind_shells.md

File metadata and controls

60 lines (46 loc) · 1.96 KB

Persistence Through Reverse/Bind Shells


Metadata

  • Author: Elastic

  • Description: This hunt provides several OSQuery queries that can aid in the detection of reverse/bind shells. Reverse shells are a type of shell in which the target machine communicates back to the attacking machine. Bind shells are a type of shell in which the target machine opens a communication port on the victim machine and waits for an attacker to connect to it. These shells can be used by attackers to gain remote access to a system.

  • UUID: 7422faf1-ba51-49c3-b8ba-13759e6bcec4

  • Integration: endpoint

  • Language: [SQL]

  • Source File: Persistence Through Reverse/Bind Shells

Query

SELECT (
  CASE family 
  WHEN 2 THEN 'IP4' 
  WHEN 10 THEN 'IP6' 
  ELSE family END
) AS family, (
  CASE protocol 
  WHEN 6 THEN 'TCP' 
  WHEN 17 THEN 'UDP' 
  ELSE protocol END
) AS protocol, local_address, local_port, 
  remote_address, remote_port 
FROM process_open_sockets 
WHERE family IN (2, 10) 
AND protocol IN (6, 17) 
SELECT cmdline, name, path, pid, state, threads, total_size 
FROM processes 
WHERE cmdline != ''
SELECT pid, address, port, socket, protocol, path FROM listening_ports

Notes

  • The hunt provides OSQuery queries to detect reverse/bind shells on Linux systems.
  • The first hunt query retrieves information about open sockets on the system.
  • The second hunt query retrieves information about running processes on the system.
  • The third hunt query retrieves information about listening ports on the system.
  • Investigate strange or unexpected open sockets, processes, or listening ports on the system.
  • Use the information from each hunt to pivot and investigate further for potential reverse/bind shells.

MITRE ATT&CK Techniques

License

  • Elastic License v2