Skip to content

F5 BIG-IP

Overview

F5's BIG-IP is a family of products covering software and hardware designed around application availability, access control, and security solutions.

Supported events

This integration supports the events from the following F5 Big-IP modules:

  • ASM
  • APM
  • LTM
  • AFM
  • PSM

The following Sekoia.io built-in rules match the intake F5 BIG-IP. This documentation is updated automatically and is based solely on the fields used by the intake which are checked against our rules. This means that some rules will be listed but might not be relevant with the intake.

SEKOIA.IO x F5 BIG-IP on ATT&CK Navigator

Address Space Layout Randomization (ASLR) Alteration

ASLR is a security feature used by the Operating System to mitigate memory exploit, attacker might want to disable it

  • Effort: intermediate
Advanced IP Scanner

Detects the use of Advanced IP Scanner. Seems to be a popular tool for ransomware groups.

  • Effort: master
Audio Capture via PowerShell

Detects audio capture via PowerShell Cmdlet

  • Effort: intermediate
AzureEdge in Command Line

Detects use of azureedge in the command line.

  • Effort: advanced
BazarLoader Persistence Using Schtasks

Detects possible BazarLoader persistence using schtasks. BazarLoader will create a Scheduled Task using a specific command line to establish its persistence.

  • Effort: intermediate
Blue Mockingbird Malware

Attempts to detect system changes made by Blue Mockingbird

  • Effort: elementary
Burp Suite Tool Detected

Burp Suite is a cybersecurity tool. When used as a proxy service, its purpose is to intercept packets and modify them to send them to the server. Burp Collaborator is a network service that Burp Suite uses to help discover many kinds of vulnerabilities (vulnerabilities scanner)

  • Effort: intermediate
CVE-2018-11776 Apache Struts2

Apache Struts versions 2.3 to 2.3.34 and 2.5 to 2.5.16 suffer from possible Remote Code Execution when alwaysSelectFullNamespace is true (either by user or a plugin like Convention Plugin) and then: results are used with no namespace and in same time, its upper package have no or wildcard namespace and similar to results, same possibility when using url tag which doesn't have value and action set and in same time, its upper package have no or wildcard namespace.

  • Effort: intermediate
CVE-2018-13379 Fortinet Exploit

Detects the successful exploitation of the Fortinet FortiOS CVE-2018-13379. This CVE is one of the most exploited CVEs since 2018. It is exploited by APT threat actors as well as cybercriminals. The exploitation of this CVE lead an unauthenticated user to get full access to FortiOS system file through SSL VPN via specially crafted HTTP resource requests. The exploit read /dev/cmdb/sslvpn_websession file, that contains login and passwords in (clear/text). An HTTP response status code = 200, means the file was successfully accessed. This vulnerability affects FortiOS 5.6.3 to 5.6.7 and FortiOS 6.0.0 to 6.0.4.

  • Effort: advanced
CVE-2019-0604 SharePoint

Detects the exploitation of the SharePoint vulnerability (CVE-2019-0604)

  • Effort: advanced
CVE-2019-11510 Pulse Secure Exploit

Detects the successful exploitation of the Pulse Secure vulnerability CVE-2019-11510. This CVE is one of the most exploited CVEs since 2019. It is exploited by diverse threat actors, leading sometimes in ransomware deployement. Among these groups: Maze, Conti, Egregor, DoppelPaymer, NetWalker and REvil. But also APT actors such as APT29. The exploitation of this CVE allows a remote, unauthenticated attacker to compromise a vulnerable VPN server. The attacker may be able to gain access to all active users and their plain-text credentials. It may also be possible for the attacker to execute arbitrary commands on each VPN client as it successfully connects to the VPN server. The exploit reads /etc/passwd file to get access to login and passwords in (clear/text). An HTTP response status code = 200, means the file was successfully accessed. This vulnerability affects 8.1R15.1, 8.2 before 8.2R12.1, 8.3 before 8.3R7.1, and 9.0 before 9.0R3.4 products.

  • Effort: elementary
CVE-2019-19781 Citrix NetScaler (ADC)

Detects CVE-2019-19781 exploitation attempt against Citrix NetScaler (ADC), Application Delivery Controller and Citrix Gateway Attack

  • Effort: elementary
CVE-2019-2725 Oracle Weblogic Exploit

Detects the successful exploitation of a deserialization vulnerability in Oracle Weblogic Server, CVE-2019-2725. This vulnerability affects versions 10.X and 12.1.3 of WebLogic that have the components wls9_async_response.war and wls-wsat.war enabled. It is a remote code execution which can be exploited without authentication via HTTP. An HTTP response status code = 202, means the target is vulnerable, the analyst then has to look in depth to check if a webshell has been uploaded or something else has been done.

  • Effort: elementary
CVE-2020-0688 Microsoft Exchange Server Exploit

Detects the exploitation of CVE-2020-0688. The POC exploit a .NET serialization vulnerability in the Exchange Control Panel (ECP) web page. The vulnerability is due to Microsoft Exchange Server not randomizing the keys on a per-installation basis resulting in them using the same validationKey and decryptionKey values. With knowledge of these, values an attacker can craft a special viewstate to use an OS command to be executed by NT_AUTHORITY\SYSTEM using .NET deserialization. To exploit this vulnerability, an attacker needs to leverage the credentials of an account it had already compromised to authenticate to OWA.

  • Effort: elementary
CVE-2020-1147 SharePoint

Detection of SharePoint vulnerability CVE-2020-1147

  • Effort: advanced
CVE-2020-14882 Oracle WebLogic Server

Detects the exploitation of the Oracle WebLogic Server vulnerability (CVE-2020-16952)

  • Effort: advanced
CVE-2020-17530 Apache Struts RCE

Detects the exploitation of the Apache Struts vulnerability (CVE-2020-17530).

  • Effort: intermediate
CVE-2020-5902 F5 BIG-IP Exploitation Attempts

Detects the exploitation attempt of the vulnerability found in F5 BIG-IP and described in CVE-2020-5902

  • Effort: elementary
CVE-2021-20021 SonicWall Unauthenticated Administrator Access

Detects the exploitation of SonicWall Unauthenticated Admin Access.

  • Effort: advanced
CVE-2021-20023 SonicWall Arbitrary File Read

Detects Arbitrary File Read, which can be used with other vulnerabilities as a mean to obtain outputs generated by attackers, or sensitive data.

  • Effort: advanced
CVE-2021-21972 VMware vCenter

The vSphere Client (HTML5) contains a remote code execution vulnerability in a vCenter Server plugin. A malicious actor with network access to port 443 may exploit this issue to execute commands with unrestricted privileges on the underlying operating system that hosts vCenter Server. This affects VMware vCenter Server (7.x before 7.0 U1c, 6.7 before 6.7 U3l and 6.5 before 6.5 U3n) and VMware Cloud Foundation (4.x before 4.2 and 3.x before 3.10.1.2). POST request on the following PATH "/ui/vropspluginui/rest/services/uploadova". If in response body (500) the words it has "uploadFile", that means the vCenter is available to accept files via POST without any restrictions.

  • Effort: intermediate
CVE-2021-21985 VMware vCenter

The vSphere Client (HTML5) contains a remote code execution vulnerability due to lack of input validation in the Virtual SAN Health Check plug-in which is enabled by default in vCenter Server. A malicious actor with network access to port 443 may exploit this issue to execute commands with unrestricted privileges on the underlying operating system that hosts vCenter Server. This affects VMware vCenter Server (7.0 before 7.0 U2b, 6.7 before 6.7 U3n and 6.5 before 6.5 U3p) and VMware Cloud Foundation (4.x before 4.2.1 and 3.x before 3.10.2.1).

  • Effort: advanced
CVE-2021-22123 Fortinet FortiWeb OS Command Injection

Detects Fortinet FortiWeb OS Command Injection (August 2021) vulnerability exploitation attempt. A remote, authenticated attacker can execute arbitrary commands on the system hosting a vulnerable FortiWeb WAF by sending a POST request with the command in the name field. At the time of writing this rule, it would appear that the request would respond in code 500 for a successful exploitation attempt.

  • Effort: advanced
CVE-2021-22893 Pulse Connect Secure RCE Vulnerability

Detects potential exploitation of the authentication by-pass vulnerability that can allow an unauthenticated user to perform remote arbitrary file execution on the Pulse Connect Secure gateway. It is highly recommended to apply the Pulse Secure mitigations and seach for indicators of compromise on affected servers if you are in doubt over the integrity of your Pulse Connect Secure product.

  • Effort: intermediate
CVE-2021-22986 F5 BIG-IP iControl REST Unauthenticated RCE

Detects successful exploitation of the F5 BIG-IP vulnerability CVE-2021-22986.

  • Effort: elementary
CVE-2021-26855 Exchange SSRF

Detects the exploitation of ProyxLogon vulerability on Exchange servers.

  • Effort: advanced
CVE-2021-34473 ProxyShell Attempt

Detects CVE-2021-34473 ProxyShell attempt against Microsoft Exchange Server, Remote Code Execution Vulnerability.

  • Effort: advanced
CVE-2021-41773 Apache 2.4.49 Path Traversal

Detects successful exploitation of the Apache Path Traversal CVE-2021-41773.

  • Effort: advanced
CVE-2021-43798 Grafana Directory Traversal

Grafana version 8.x has a 0day arbitrary file read (with no fix yet) based on a directory traversal vulnerability

  • Effort: intermediate
CertOC Loading Dll

Detects when a user installs certificates by using CertOC.exe to loads the target DLL file.

  • Effort: intermediate
Change Default File Association

When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access or by administrators using the built-in assoc utility. Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened.

  • Effort: advanced
Clear EventLogs Through CommandLine

Detects a command that clears event logs which could indicate an attempt from an attacker to erase its previous traces.

  • Effort: intermediate
Cobalt Strike HTTP Default GET beaconing

Detects GET HTTP queries from known Cobalt Strike beacons (source code 4.3)

  • Effort: advanced
Cobalt Strike HTTP Default POST Beaconing

Detects POST HTTP queries from known Cobalt Strike beacons (source code 4.3)

  • Effort: advanced
Commonly Used Commands To Stop Services And Remove Backups

Detects specific commands used regularly by ransomwares to stop services or remove backups

  • Effort: intermediate
Control Panel Items

Detects the malicious use of a control panel item

  • Effort: advanced
Covenant Default HTTP Beaconing

Detects potential Covenant communications through the user-agent and specific urls

  • Effort: intermediate
DNS Exfiltration and Tunneling Tools Execution

Well-known DNS exfiltration tools execution

  • Effort: intermediate
Data Compressed With Rar With Password

An adversary may compress data in order to make it portable and minimize the amount of data sent over the network, this could be done the popular rar command line program. This is a more specific one for rar where the arguments allow to encrypt both file data and headers with a given password.

  • Effort: intermediate
Debugging Software Deactivation

Deactivation of some debugging softwares using taskkill command. It was observed being used by Ransomware operators.

  • Effort: elementary
Default Encoding To UTF-8 PowerShell

Detects PowerShell encoding to UTF-8, which is used by Sliver implants. The command line just sets the default encoding to UTF-8 in PowerShell.

  • Effort: advanced
Detect requests to Konni C2 servers

This rule detects requests to Konni C2 servers. These patterns come from an analysis done in 2022, September.

  • Effort: elementary
Disable Task Manager Through Registry Key

Detects commands used to disable the Windows Task Manager by modifying the proper registry key in order to impair security tools. This technique is used by the Agent Tesla RAT, among others.

  • Effort: elementary
Disabled IE Security Features

Detects from the command lines or the registry, changes that indicate unwanted modifications to registry keys that disable important Internet Explorer security features. This has been used by attackers during Operation Ke3chang.

  • Effort: advanced
Discord Suspicious Download

Discord is a messaging application. It allows users to create their own communities to share messages and attachments. Those attachments have little to no overview and can be downloaded by almost anyone, which has been abused by attackers to host malicious payloads.

  • Effort: intermediate
Domain Trust Discovery Through LDAP

Detects attempts to gather information on domain trust relationships that may be used to identify lateral movement opportunities. "trustedDomain" which is detected here is a Microsoft Active Directory ObjectClass Type that represents a domain that is trusted by, or trusting, the local AD DOMAIN. Several tools are using LDAP queries in the end to get the information (DSQuery, sometimes ADFind as well, etc.)

  • Effort: elementary
Download Files From Non-Legitimate TLDs

Detects file downloads from non-legitimate TLDs. Additional legitimates TLDs should be filtered according to the business habits.

  • Effort: master
Download Files From Suspicious TLDs

Detects download of certain file types from hosts in suspicious TLDs

  • Effort: master
Dynamic Linker Hijacking From Environment Variable

LD_PRELOAD and LD_LIBRARY_PATH are environment variables used by the Operating System at the runtime to load shared objects (library.ies) when executing a new process, attacker can overwrite this variable to attempts a privileges escalation.

  • Effort: advanced
ETW Tampering

Detects a command that clears or disables any ETW Trace log which could indicate a logging evasion

  • Effort: intermediate
Exchange PowerShell Snap-Ins To Export Exchange Mailbox Data

Detects PowerShell SnapIn command line, often used with Get-Mailbox to export Exchange mailbox data.

  • Effort: intermediate
Exfiltration Domain In Command Line

Detects commands containing a domain linked to http exfiltration.

  • Effort: intermediate
FoggyWeb HTTP Default GET/POST Requests

Detects GET or POST request pattern observed within the first FoggyWeb campaign detected by Microsoft.

  • Effort: advanced
GitLab CVE-2021-22205

Detects GitLab vulnerability CVE-2021-22205 exploitation success. It allows an attacker to do some remote code execution with user git. The HTTP return code 422 indicates a successfull exploitation.

  • Effort: intermediate
HackTools Suspicious Process Names In Command Line

Detects the default process name of several HackTools and also check in command line. This rule is here for quickwins as it obviously has many blind spots.

  • Effort: intermediate
High Privileges Network Share Removal

Detects high privileges shares being deleted with the net share command.

  • Effort: intermediate
ICacls Granting Access To All

Detects suspicious icacls command granting access to all, used by the ransomware Ryuk to delete every access-based restrictions on files and directories. ICacls is a built-in Windows command to interact with the Discretionary Access Control Lists (DACLs) which can grand adversaries higher permissions on specific files and folders.

  • Effort: elementary
KeePass Config XML In Command-Line

Detects a command-line interaction with the KeePass Config XML file. It could be used to retrieve informations or to be abused for persistence.

  • Effort: intermediate
Koadic MSHTML Command

Detects Koadic payload using MSHTML module

  • Effort: intermediate
Lazarus Loaders

Detects different loaders used by the Lazarus Group APT

  • Effort: elementary
Linux Bash Reverse Shell

To bypass some security equipement or for a sack of simplicity attackers can open raw reverse shell using shell commands

  • Effort: intermediate
Linux Shared Lib Injection Via Ldso Preload

Detect ld.so.preload modification for shared lib injection, technique used by attackers to load arbitrary code into process

  • Effort: intermediate
Listing Systemd Environment

Detects a listing of systemd environment variables. This command could be used to do reconnaissance on a compromised host.

  • Effort: advanced
LokiBot Default C2 URL

Detects default C2 URL for trojan LokiBot

  • Effort: elementary
Malicious Browser Extensions

Detects browser extensions being loaded with the --load-extension and -base-url options, which works on Chromium-based browsers. We are looking for potentially malicious browser extensions. These extensions can get access to informations.

  • Effort: advanced
MalwareBytes Uninstallation

Detects command line being used by attackers to uninstall Malwarebytes.

  • Effort: intermediate
MavInject Process Injection

Detects process injection using the signed Windows tool Mavinject32.exe (which is a LOLBAS)

  • Effort: intermediate
Microsoft Defender Antivirus Disable Using Registry

The rule detects attempts to deactivate/disable Microsoft Defender Antivirus using registry modification via command line.

  • Effort: master
Microsoft Defender Antivirus Disabled Base64 Encoded

Detects attempts to deactivate/disable Windows Defender through base64 encoded PowerShell command line.

  • Effort: intermediate
Microsoft Defender Antivirus History Directory Deleted

Windows Defender history directory has been deleted. Could be an attempt by an attacker to remove its traces.

  • Effort: elementary
Microsoft Defender Antivirus Restoration Abuse

The rule detects attempts to abuse Windows Defender file restoration tool. The Windows Defender process is allowed to write files in its own protected directory. This functionality can be used by a threat actor to overwrite Windows Defender files in order to prevent it from running correctly or use Windows Defender to execute a malicious DLL.

  • Effort: intermediate
Microsoft Defender Antivirus Set-MpPreference Base64 Encoded

Detects changes of preferences for Windows Defender scan and updates. Configure Windows Defender using base64-encoded commands is suspicious and could be related to malicious activities.

  • Effort: intermediate
Microsoft Defender Antivirus Signatures Removed With MpCmdRun

Detects attempts to remove Windows Defender Signatures using MpCmdRun legitimate Windows Defender executable. No signatures mean Windows Defender will be less effective (or completely useless depending on the option used).

  • Effort: elementary
NTDS.dit File Interaction Through Command Line

Detects interaction with the file NTDS.dit through command line. This is usually really suspicious and could indicate an attacker trying copy the file to then look for users password hashes.

  • Effort: intermediate
NetSh Used To Disable Windows Firewall

Detects NetSh commands used to disable the Windows Firewall

  • Effort: intermediate
Netsh Allowed Python Program

Detects netsh command that performs modification on Firewall rules to allow the program python.exe. This activity is most likely related to the deployment of a Python server or an application that needs to communicate over a network. Threat actors could use it for data extraction, hosting a webshell or else.

  • Effort: intermediate
Netsh Port Forwarding

Detects netsh commands that enable a port forwarding between to hosts. This can be used by attackers to tunnel RDP or SMB shares for example.

  • Effort: intermediate
Netsh RDP Port Forwarding

Detects netsh commands that configure a port forwarding of port 3389 used for RDP. This is commonly used by attackers during lateralization on windows environments.

  • Effort: elementary
New DLL Added To AppCertDlls Registry Key

Dynamic-link libraries (DLLs) that are specified in the AppCertDLLs value in the Registry key can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer. Logging for Registry events is needed in the Sysmon configuration (events 12 and 13).

  • Effort: intermediate
Nimbo-C2 User Agent

Nimbo-C2 Uses an unusual User-Agent format in its implants.

  • Effort: intermediate
NlTest Usage

Detects attempts to gather information on domain trust relationships that may be used to identify lateral movement opportunities. These command lines were observed in numerous attacks, but also sometimes from legitimate administrators for debugging purposes. The rule does not cover very basics commands but rather the ones that are interesting for attackers to gather information on a domain.

  • Effort: advanced
Non-Legitimate Executable Using AcceptEula Parameter

Detects accepteula in command line with non-legitimate executable name. Some attackers are masquerading SysInternals tools with decoy names to prevent detection.

  • Effort: advanced
Outlook Registry Access

Detection of accesses to Microsoft Outlook registry hive, which might contain sensitive information.

  • Effort: master
Phorpiex DriveMgr Command

Detects specific command used by the Phorpiex botnet to execute a copy of the loader during its self-spreading stage. As described by Microsoft, this behavior is unique and easily identifiable due to the use of folders named with underscores "__" and the PE name "DriveMgr.exe".

  • Effort: elementary
Possible Malicious File Double Extension

Detects request to potential malicious file with double extension

  • Effort: elementary
Potential Azure AD Phishing Page (Adversary-in-the-Middle)

Detects an HTTP request to an URL typical of the Azure AD authentication flow, but towards a domain that is not one the legitimate Microsoft domains used for Azure AD authentication.

  • Effort: intermediate
Potential Bazar Loader User-Agents

Detects potential Bazar loader communications through the user-agent

  • Effort: elementary
Potential DNS Tunnel

Detects domain name which is longer than 95 characters. Long domain names are distinctive of DNS tunnels.

  • Effort: advanced
Potential Lemon Duck User-Agent

Detects LemonDuck user agent. The format used two sets of alphabetical characters separated by dashes, for example "User-Agent: Lemon-Duck-[A-Z]-[A-Z]".

  • Effort: elementary
PowerCat Function Loading

Detect a basic execution of PowerCat. PowerCat is a PowerShell function allowing to do basic connections, file transfer, shells, relays, generate payloads.

  • Effort: intermediate
PowerShell AMSI Deactivation Bypass Using .NET Reflection

Detects Request to amsiInitFailed that can be used to disable AMSI (Antimalware Scan Interface) Scanning. More information about Antimalware Scan Interface https://docs.microsoft.com/en-us/windows/win32/amsi/antimalware-scan-interface-portal.

  • Effort: elementary
PowerShell EncodedCommand

Detects popular file extensions in commands obfuscated in base64 run through the EncodedCommand option.

  • Effort: advanced
Powershell UploadString Function

Powershell's uploadXXX functions are a category of methods which can be used to exfiltrate data through native means on a Windows host.

  • Effort: intermediate
Privilege Escalation Awesome Scripts (PEAS)

Detect PEAS privileges escalation scripts and binaries

  • Effort: elementary
Process Memory Dump Using Comsvcs

Detects the use of comsvcs in command line to dump a specific proces memory. This techinique is widlely used by attackers for privilege escalation and pivot.

  • Effort: elementary
Process Memory Dump Using Rdrleakdiag

Detects the use of rdrleakdiag.exe in command line to dump the memory of a process. This technique is used by attackers for privilege escalation and pivot.

  • Effort: elementary
Process Trace Alteration

PTrace syscall provides a means by which one process ("tracer") may observe and control the execution of another process ("tracee") and examine and change the tracee's memory and registers. Attacker might want to abuse ptrace functionnality to analyse memory process. It requires to be admin or set ptrace_scope to 0 to allow all user to trace any process.

  • Effort: advanced
ProxyShell Exchange Suspicious Paths

Detects suspicious calls to Exchange resources, in locations related to webshells observed in campaigns using this vulnerability.

  • Effort: elementary
Python HTTP Server

Detects command used to start a Simple HTTP server in Python. Threat actors could use it for data extraction, hosting a webshell or else.

  • Effort: intermediate
Qakbot Persistence Using Schtasks

Detects possible Qakbot persistence using schtasks.

  • Effort: intermediate
Raccine Uninstall

Detects commands that indicate a Raccine removal from an end system. Raccine is a free ransomware protection tool.

  • Effort: elementary
RedMimicry Winnti Playbook Registry Manipulation

Detects actions caused by the RedMimicry Winnti playbook. Logging for Registry events is needed in the Sysmon configuration (events 12 and 13).

  • Effort: elementary
Rubeus Tool Command-line

Detects command line parameters used by Rubeus, a toolset to interact with Kerberos and abuse it.

  • Effort: advanced
SEKOIA.IO Intelligence Feed

Detect threats based on indicators of compromise (IOCs) collected by SEKOIA's Threat and Detection Research team.

  • Effort: elementary
SOCKS Tunneling Tool

Detects the usage of a SOCKS tunneling tool, often used by threat actors. These tools often use the socks5 commandline argument, however socks4 can sometimes be used as well. Unfortunately, socks alone (without any number) triggered too many false positives.

  • Effort: intermediate
SharePoint Authenticated SSRF

Detects succesful SSRF from an authenticated SharePoint user.

  • Effort: elementary
Sliver DNS Beaconing

Detects suspicious DNS queries known from Sliver beaconing

  • Effort: intermediate
Spyware Persistence Using Schtasks

Detects possible Agent Tesla or Formbook persistence using schtasks. The name of the scheduled task used by these malware is very specific (Updates/randomstring).

  • Effort: intermediate
Suncrypt Parameters

Detects SunCrypt ransomware's parameters, most of which are unique.

  • Effort: elementary
Suspicious Cmd File Copy Command To Network Share

Copy suspicious files through Windows cmd prompt to network share

  • Effort: intermediate
Suspicious DLL Loading By Ordinal

Detects suspicious DLL Loading by ordinal number in a non legitimate or rare folders. For example, Sofacy (APT28) used this technique to load their Trojan in a campaign of 2018.

  • Effort: intermediate
Suspicious Download Links From Legitimate Services

Detects users clicking on Google docs links to download suspicious files. This technique was used a lot by Bazar Loader in the past.

  • Effort: elementary
Suspicious Microsoft Defender Antivirus Exclusion Command

Detects PowerShell commands aiming to exclude path, process, IP address, or extension from scheduled and real-time scanning. These commands can be used by attackers or malware to avoid being detected by Windows Defender. Depending on the environment and the installed software, this detection rule could raise false positives. We recommend customizing this rule by filtering legitimate processes that use Windows Defender exclusion command in your environment.

  • Effort: master
Suspicious Netsh DLL Persistence

Detects persitence via netsh helper. Netsh interacts with other operating system components using dynamic-link library (DLL) files. Adversaries may establish persistence by executing malicious content triggered by Netsh Helper DLLs.

  • Effort: elementary
Suspicious PowerShell Invocations - Specific

Detects suspicious PowerShell invocation command parameters

  • Effort: intermediate
Suspicious PrinterPorts Creation (CVE-2020-1048)

Detects new commands that add new printer port which point to suspicious file

  • Effort: advanced
Suspicious TOR Gateway

Detects suspicious TOR gateways. Gateways are often used by the victim to pay and decrypt the encrypted files without installing TOR. Tor intercepts the network traffic from one or more apps on user’s computer, usually the user web browser, and shuffles it through a number of randomly-chosen computers before passing it on to its destination. This disguises user location, and makes it harder for servers to pick him/her out on repeat visits, or to tie together separate visits to different sites, this making tracking and surveillance more difficult. Before a network packet starts its journey, user’s computer chooses a random list of relays and repeatedly encrypts the data in multiple layers, like an onion. Each relay knows only enough to strip off the outermost layer of encryption, before passing what’s left on to the next relay in the list.

  • Effort: advanced
Suspicious Taskkill Command

Detects rare taskkill command being used. It could be related to Baby Shark malware.

  • Effort: intermediate
Suspicious URI Used In A Lazarus Campaign

Detects suspicious requests to a specific URI, usually on an .asp page. The website is often compromised.

  • Effort: intermediate
Suspicious Windows Installer Execution

Detects suspicious execution of the Windows Installer service (msiexec.exe) which could be used to install a malicious MSI package hosted on a remote server.

  • Effort: intermediate
Telegram Bot API Request

Detects suspicious DNS queries to api.telegram.org used by Telegram Bots of any kind

  • Effort: advanced
TrevorC2 HTTP Communication

Detects TrevorC2 HTTP communication based on the HTTP request URI and the user-agent.

  • Effort: elementary
Usage Of Procdump With Common Arguments

Detects the usage of Procdump sysinternals tool with some common arguments and followed by common patterns.

  • Effort: intermediate
WMI Install Of Binary

Detection of WMI used to install a binary on the host. It is often used by attackers as a signed binary to infect an host.

  • Effort: elementary
WMIC Uninstall Product

Detects products being uninstalled using WMIC command.

  • Effort: intermediate
WiFi Credentials Harvesting Using Netsh

Detects the harvesting of WiFi credentials using netsh.exe.

  • Effort: advanced
Windows Firewall Changes

Detects changes on Windows Firewall configuration

  • Effort: master
Wmic Process Call Creation

The WMI command-line (WMIC) utility provides a command-line interface for Windows Management Instrumentation (WMI). WMIC is compatible with existing shells and utility commands. Although WMI is supposed to be an administration tool, it is wildy abused by threat actors. One of the reasons is WMI is quite stealthy. This rule detects the wmic command line launching a process on a remote or local host.

  • Effort: intermediate
Wmic Service Call

Detects either remote or local code execution using wmic tool.

  • Effort: intermediate
XCopy Suspicious Usage

Detects the usage of xcopy with suspicious command line options (used by Judgment Panda APT in the past). The rule is based on command line only in case xcopy is renamed.

  • Effort: advanced

Event Categories

The following table lists the data source offered by this integration.

Data Source Description
Network device logs IPS logs and firewall logs are examined in detail
Network protocol analysis Packet filters logs provide information about the network activity
Web logs BIG-IP LTM logs provide information about the connected client and the requested resource
DNS records BIG-IP DNS logs provide information about DNS queries

In details, the following table denotes the type of events produced by this integration.

Name Values
Kind alert, event
Category authentication, network, process
Type alert, info, start

Event Samples

Find below few samples of events and how they are normalized by Sekoia.io.

{
    "message": "CEF:0|F5|Advanced Firewall Module|11.3.0.2095.0|23003137|Network Event|8|rt=Oct 04 2012 13:15:29 dvchost=bigip-3.pme-ds.f5.com dvc=192.168.73.33 src=10.3.1.101 spt=39321 dst=10.3.1.200 dpt=443 proto=TCP cs1=/Common/topaz3-all3 cs1Label=virtual_name cs2=/Common/external cs2Label=vlan act=Accept c6a2= c6a2Label=source_address c6a3= c6a3Label=destination_address cs3= cs3Label=drop_reason cn4=0 cn4Label=route_domain cs5=allow_https cs5Label=acl_rule_name",
    "event": {
        "action": "Network Event",
        "category": [
            "network"
        ],
        "code": "23003137",
        "kind": "event",
        "outcome": "success",
        "severity": 8,
        "type": [
            "info"
        ]
    },
    "@timestamp": "2012-10-04T13:15:29Z",
    "action": {
        "name": "Accept",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "10.3.1.200",
        "ip": "10.3.1.200",
        "port": 443
    },
    "f5": {
        "bigip": {
            "afm": {
                "route_domain": "0",
                "virtual_name": "/Common/topaz3-all3",
                "vlan": "/Common/external"
            }
        }
    },
    "host": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "name": "bigip-3.pme-ds.f5.com"
    },
    "network": {
        "transport": "TCP"
    },
    "observer": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "ip": "192.168.73.33",
        "product": "Advanced Firewall Module",
        "type": "firewall",
        "vendor": "F5",
        "version": "11.3.0.2095.0"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "bigip-3.pme-ds.f5.com"
        ],
        "ip": [
            "10.3.1.101",
            "10.3.1.200",
            "192.168.73.33"
        ]
    },
    "rule": {
        "name": "allow_https"
    },
    "source": {
        "address": "10.3.1.101",
        "ip": "10.3.1.101",
        "port": 39321
    }
}
{
    "message": "CEF:0|F5|Advanced Firewall Module|11.3.0.2790.300|Bad TCP checksum|Drop|8|dvchost=asm176.labt.ts.example.com dvc=192.168.69.176 rt=Nov 08 2012 17:58:02 act=Drop cn1=3083822789 cn1Label=attack_id cs1=Attack Sampled cs1Label=attack_status src= spt=20 dst= dpt=80 cs2=/Common/VLAN10 cs2Label=vlan cs3= cs3Label=virtual_name cn4=0 cn4Label=route_domain c6a2=fc55::99 c6a2Label=source_address c6a3=fc55::3 c6a3Label=destination_address",
    "event": {
        "action": "Drop",
        "category": [
            "network"
        ],
        "code": "Bad TCP checksum",
        "kind": "event",
        "outcome": "success",
        "severity": 8,
        "type": [
            "info"
        ]
    },
    "@timestamp": "2012-11-08T17:58:02Z",
    "action": {
        "name": "Drop",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "fc55::3",
        "port": 80
    },
    "f5": {
        "bigip": {
            "afm": {
                "attack_id": "3083822789",
                "attack_status": "Attack Sampled",
                "route_domain": "0",
                "vlan": "/Common/VLAN10"
            }
        }
    },
    "host": {
        "hostname": "asm176.labt.ts.example.com",
        "name": "asm176.labt.ts.example.com"
    },
    "observer": {
        "hostname": "asm176.labt.ts.example.com",
        "ip": "192.168.69.176",
        "product": "Advanced Firewall Module",
        "type": "firewall",
        "vendor": "F5",
        "version": "11.3.0.2790.300"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "asm176.labt.ts.example.com"
        ],
        "ip": [
            "192.168.69.176"
        ]
    },
    "source": {
        "address": "fc55::99",
        "port": 20
    }
}
{
    "message": "CEF:0|F5|Advanced Firewall Module|11.3.0.2206.0|23003139|DNS Event|8|rt=Oct 12 2012 13:29:24 dvchost=bigip-3.pme-ds.f5.com dvc=192.68.73.33 src=10.3.1.104 spt=54629 dst=10.3.1.202 dpt=53 cs1=/Common/DNS-3-udp-vs cs1Label=virtual_name cs2=/Common/external cs2Label=vlan cs3=SRV cs3Label=query_type act=Drop cs4=_ldap._tcp.dc._msdcs.siterequest.com cs4Label=query_name cs5=query opcode cs5Label=attack_type c6a2= c6a2Label=source_address c6a3= c6a3Label=destination_address",
    "event": {
        "action": "DNS Event",
        "category": [
            "network"
        ],
        "code": "23003139",
        "kind": "event",
        "outcome": "success",
        "severity": 8,
        "type": [
            "info"
        ]
    },
    "@timestamp": "2012-10-12T13:29:24Z",
    "action": {
        "name": "Drop",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "10.3.1.202",
        "ip": "10.3.1.202",
        "port": 53
    },
    "dns": {
        "question": {
            "class": "SRV",
            "name": "_ldap._tcp.dc._msdcs.siterequest.com",
            "registered_domain": "siterequest.com",
            "subdomain": "_ldap._tcp.dc._msdcs",
            "top_level_domain": "com"
        }
    },
    "f5": {
        "bigip": {
            "afm": {
                "attack_type": "query opcode",
                "virtual_name": "/Common/DNS-3-udp-vs",
                "vlan": "/Common/external"
            }
        }
    },
    "host": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "name": "bigip-3.pme-ds.f5.com"
    },
    "observer": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "ip": "192.68.73.33",
        "product": "Advanced Firewall Module",
        "type": "firewall",
        "vendor": "F5",
        "version": "11.3.0.2206.0"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "_ldap._tcp.dc._msdcs.siterequest.com",
            "bigip-3.pme-ds.f5.com"
        ],
        "ip": [
            "10.3.1.104",
            "10.3.1.202",
            "192.68.73.33"
        ]
    },
    "source": {
        "address": "10.3.1.104",
        "ip": "10.3.1.104",
        "port": 54629
    }
}
{
    "message": "tmm3[20358]: 01260009:4: 84.14.195.210:53586 -> 10.100.0.5:443: Connection error: ssl_codec_rx:2314: alert(46) received alert",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "outcome": "error",
        "reason": "ssl_codec_rx:2314: alert(46) received alert",
        "type": "alert"
    },
    "action": {
        "name": "Connection",
        "outcome": "error",
        "target": "network-traffic",
        "type": "tmm3"
    },
    "destination": {
        "address": "10.100.0.5",
        "ip": "10.100.0.5",
        "port": 443
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "ip": [
            "10.100.0.5",
            "84.14.195.210"
        ]
    },
    "source": {
        "address": "84.14.195.210",
        "ip": "84.14.195.210",
        "port": 53586
    }
}
{
    "message": "/Common/SAML_OCTIME:Common:76220fff: Username 'johndoe'",
    "event": {
        "category": [
            "authentication"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "action": {
        "target": "network-traffic"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "user": [
            "johndoe"
        ]
    },
    "user": {
        "name": "johndoe"
    }
}
{
    "message": "/Common/SAML_OCTIME:Common:76220fff: AD agent: Auth (logon attempt:0): authenticate with 'johndoe' successful",
    "event": {
        "category": [
            "authentication"
        ],
        "kind": "event",
        "type": [
            "start"
        ]
    },
    "action": {
        "target": "network-traffic"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "user": [
            "johndoe"
        ]
    },
    "user": {
        "name": "johndoe"
    }
}
{
    "message": "/Common/SAML_OCTIME:Common:76220fff: AD module: authenticate with 'johndoe@EXAMPLE.ORG' successfully",
    "event": {
        "category": [
            "authentication"
        ],
        "kind": "event",
        "type": [
            "start"
        ]
    },
    "action": {
        "target": "network-traffic"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "user": [
            "johndoe"
        ]
    },
    "user": {
        "domain": "EXAMPLE.ORG",
        "name": "johndoe"
    }
}
{
    "message": "CROND[1786]: (root) CMD (/usr/bin/diskmonitor)",
    "event": {
        "category": [
            "process"
        ],
        "kind": "event",
        "type": [
            "start"
        ]
    },
    "action": {
        "name": "CMD"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "process": {
        "command_line": "/usr/bin/diskmonitor"
    },
    "related": {
        "user": [
            "root"
        ]
    },
    "user": {
        "name": "root"
    }
}
{
    "message": " logger[20978]: [ssl_acc] 51.178.64.112 - - [01/Mar/2021:15:01:50 +0100] \"/ui/vropspluginui/rest/services/uploadova\" 404 238",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "action": {
        "type": "logger"
    },
    "http": {
        "response": {
            "status_code": 404
        }
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "ip": [
            "51.178.64.112"
        ]
    },
    "source": {
        "address": "51.178.64.112",
        "ip": "51.178.64.112"
    },
    "url": {
        "original": "/ui/vropspluginui/rest/services/uploadova",
        "path": "/ui/vropspluginui/rest/services/uploadova"
    }
}
{
    "message": "PSM:CEF:0|F5|PSM|11.3.0|Active mode|Active mode|5|app=FTP src=10.3.1.104 spt=1394 dst=10.3.1.204 dpt=21 cs1=ftp_security cs1Label=policy_name cs2=/Common/FTP-3 cs2Label=vs_name dvc=192.168.73.33 dvchost=bigip-3.pme-ds.f5.com act=alerted cs6=N/A cs6Label=geo_location c6a1= c6a1Label=device_address c6a2= c6a2Label=source_address c6a3= c6a3Label=destination_address cs3=port/sendport 10,3,0,33,7,223 cs3Label=violation_details msg=N/A",
    "event": {
        "action": "Active mode",
        "category": [
            "network"
        ],
        "code": "Active mode",
        "kind": "alert",
        "outcome": "success",
        "reason": "port/sendport 10,3,0,33,7,223",
        "severity": 5,
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "alerted",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "10.3.1.204",
        "ip": "10.3.1.204",
        "port": 21
    },
    "host": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "name": "bigip-3.pme-ds.f5.com"
    },
    "network": {
        "protocol": "FTP"
    },
    "observer": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "ip": "192.168.73.33",
        "product": "PSM",
        "type": "firewall",
        "vendor": "F5",
        "version": "11.3.0"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "bigip-3.pme-ds.f5.com"
        ],
        "ip": [
            "10.3.1.104",
            "10.3.1.204",
            "192.168.73.33"
        ]
    },
    "rule": {
        "ruleset": "ftp_security"
    },
    "source": {
        "address": "10.3.1.104",
        "ip": "10.3.1.104",
        "port": 1394
    }
}
{
    "message": "CEF:0|F5|PSM|11.3.0|FTP commands|FTP commands|5|app=FTP src=10.3.1.104 spt=1394 dst=10.3.1.204 dpt=21 cs1=ftp_security cs1Label=policy_name cs2=/Common/FTP-3 cs2Label=vs_name dvc=192.168.73.33 dvchost=bigip-3.pme-ds.f5.com act=alerted cs6=N/A cs6Label=geo_location c6a1= c6a1Label=device_address c6a2= c6a2Label=source_address c6a3= c6a3Label=destination_address cs3=nlist/mls cs3Label=violation_details msg=N/A",
    "event": {
        "action": "FTP commands",
        "category": [
            "network"
        ],
        "code": "FTP commands",
        "kind": "alert",
        "outcome": "success",
        "reason": "nlist/mls",
        "severity": 5,
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "alerted",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "10.3.1.204",
        "ip": "10.3.1.204",
        "port": 21
    },
    "host": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "name": "bigip-3.pme-ds.f5.com"
    },
    "network": {
        "protocol": "FTP"
    },
    "observer": {
        "hostname": "bigip-3.pme-ds.f5.com",
        "ip": "192.168.73.33",
        "product": "PSM",
        "type": "firewall",
        "vendor": "F5",
        "version": "11.3.0"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "bigip-3.pme-ds.f5.com"
        ],
        "ip": [
            "10.3.1.104",
            "10.3.1.204",
            "192.168.73.33"
        ]
    },
    "rule": {
        "ruleset": "ftp_security"
    },
    "source": {
        "address": "10.3.1.104",
        "ip": "10.3.1.104",
        "port": 1394
    }
}
{
    "message": "ASM:CEF:0|F5|ASM|11.3.0|Successful Request|Successful Request|2|dvchost=bigip-4.pme-ds.f5.com dvc=172.16.73.34 cs1=topaz4-web4 cs1Label=policy_name cs2=/Common/topaz4-web4 cs2Label=http_class_name deviceCustomDate1=Sep 19 2012 11:38:36 deviceCustomDate1Label=policy_apply_date externalId=18205860747014045699 act=passed cn1=200 cn1Label=response_code src=10.4.1.101 spt=52963 dst=10.4.1.200 dpt=80 requestMethod=GET app=HTTP cs5=N/A cs5Label=x_forwarded_for_header_value rt=Sep 19 2012 13:35:00 deviceExternalId=0 cs4=N/A cs4Label=attack_type cs6=N/A cs6Label=geo_location c6a1= c6a1Label=device_address c6a2= c6a2Label=source_address c6a3= c6a3Label=destination_address c6a4=N/A c6a4Label=ip_address_intelligence msg=N/A suid=2e769a9e1ea8b777 suser=N/A request=/ cs3Label=full_request cs3=GET / HTTP/1.0\r\nUser-Agent: Wget/1.12 (linux-gnu)\r\nAccept: */*\r\nHost: 10.4.1.200\r\nConnection: Keep-Alive\r\n\r\n",
    "event": {
        "action": "Successful Request",
        "category": [
            "network"
        ],
        "code": "Successful Request",
        "kind": "event",
        "outcome": "success",
        "severity": 2,
        "type": [
            "info"
        ]
    },
    "@timestamp": "2012-09-19T13:35:00Z",
    "action": {
        "name": "passed",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "10.4.1.200",
        "ip": "10.4.1.200",
        "port": 80
    },
    "host": {
        "hostname": "bigip-4.pme-ds.f5.com",
        "name": "bigip-4.pme-ds.f5.com"
    },
    "http": {
        "request": {
            "method": "GET"
        },
        "response": {
            "status_code": 200
        }
    },
    "network": {
        "protocol": "HTTP"
    },
    "observer": {
        "hostname": "bigip-4.pme-ds.f5.com",
        "ip": "172.16.73.34",
        "product": "ASM",
        "type": "firewall",
        "vendor": "F5",
        "version": "11.3.0"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "bigip-4.pme-ds.f5.com"
        ],
        "ip": [
            "10.4.1.101",
            "10.4.1.200",
            "172.16.73.34"
        ]
    },
    "rule": {
        "ruleset": "topaz4-web4"
    },
    "source": {
        "address": "10.4.1.101",
        "ip": "10.4.1.101",
        "port": 52963,
        "user": {
            "id": "2e769a9e1ea8b777"
        }
    },
    "url": {
        "original": "/",
        "path": "/"
    },
    "user_agent": {
        "device": {
            "name": "Other"
        },
        "name": "Wget",
        "original": "Wget/1.12 (linux-gnu)",
        "os": {
            "name": "Linux"
        },
        "version": "1.12"
    }
}
{
    "message": " Rule /Common/ReverseProxy_irule <HTTP_RESPONSE>: virtual=/Common/VS_ReverseProxy_https client_ip=84.14.195.210 client_port=65081 lb_server=10.100.8.4:80 host=connectin.acme.net username= /api/datasources/proxy/94/query request=\"POST /api/datasources/proxy/94/query HTTP/1.1\" server_status=200 content_type=application/json; charset=utf-8 content_length=725 resp_time=47 user_agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36]\" referer=https://connectin.acme.net/d/ryXCsaKZk/distillation-column-operation?orgId=84",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "destination": {
        "address": "connectin.acme.net",
        "domain": "connectin.acme.net",
        "ip": "10.100.8.4",
        "port": 80,
        "registered_domain": "acme.net",
        "subdomain": "connectin",
        "top_level_domain": "net"
    },
    "http": {
        "request": {
            "method": "POST",
            "referrer": "https://connectin.acme.net/d/ryXCsaKZk/distillation-column-operation?"
        },
        "response": {
            "bytes": 725,
            "mime_type": "application/json",
            "status_code": 200
        }
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "connectin.acme.net"
        ],
        "ip": [
            "10.100.8.4",
            "84.14.195.210"
        ]
    },
    "rule": {
        "name": "/Common/ReverseProxy_irule"
    },
    "source": {
        "address": "84.14.195.210",
        "ip": "84.14.195.210",
        "port": 65081
    },
    "url": {
        "original": "/api/datasources/proxy/94/query",
        "path": "/api/datasources/proxy/94/query"
    },
    "user_agent": {
        "device": {
            "name": "Other"
        },
        "name": "Chrome",
        "original": "\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36]\"",
        "os": {
            "name": "Windows",
            "version": "10"
        },
        "version": "77.0.3865"
    }
}
{
    "message": "tmm[20358]: Rule /Common/Log_local <HTTP_RESPONSE_RELEASE>: 84.14.195.210:57590: HTTP: 200 response to from 10.100.8.12:443 URL: nifi.acme.local/nifi-api/flow/status in TLSv1.3",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "action": {
        "target": "network-traffic",
        "type": "tmm"
    },
    "destination": {
        "address": "84.14.195.210",
        "ip": "84.14.195.210",
        "port": 57590
    },
    "http": {
        "response": {
            "status_code": 200
        }
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "ip": [
            "10.100.8.12",
            "84.14.195.210"
        ]
    },
    "rule": {
        "name": "/Common/Log_local"
    },
    "source": {
        "address": "10.100.8.12",
        "ip": "10.100.8.12",
        "port": 443
    },
    "tls": {
        "version": "1.3",
        "version_protocol": "tlsv"
    },
    "url": {
        "original": "nifi.acme.local/nifi-api/flow/status",
        "path": "nifi.acme.local/nifi-api/flow/status"
    }
}
{
    "message": "tmm3[20358]: Rule /Common/Log_local <HTTP_RESPONSE_RELEASE>: 84.14.195.210:49165: HTTP: 200 response to from 10.100.8.9:443 URL: connectin-new.acme.net/api/datasources/proxy/167/query in TLSv1.3",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "action": {
        "target": "network-traffic",
        "type": "tmm3"
    },
    "destination": {
        "address": "84.14.195.210",
        "ip": "84.14.195.210",
        "port": 49165
    },
    "http": {
        "response": {
            "status_code": 200
        }
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "ip": [
            "10.100.8.9",
            "84.14.195.210"
        ]
    },
    "rule": {
        "name": "/Common/Log_local"
    },
    "source": {
        "address": "10.100.8.9",
        "ip": "10.100.8.9",
        "port": 443
    },
    "tls": {
        "version": "1.3",
        "version_protocol": "tlsv"
    },
    "url": {
        "original": "connectin-new.acme.net/api/datasources/proxy/167/query",
        "path": "connectin-new.acme.net/api/datasources/proxy/167/query"
    }
}
{
    "message": "tmm1[16941]: Rule /Common/Log-all-the-HTTP-Requests <HTTP_REQUEST>: LOGS: Sec-Fetch-User: ?1",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "sekoiaio": {
        "intake": {
            "parsing_warnings": [
                "No fields extracted from original event"
            ]
        }
    }
}
{
    "message": "tmm[16941]: Rule /Common/Log-all-the-HTTP-Requests <HTTP_REQUEST>: LOGS: DNT: 1",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "action": {
        "type": "tmm"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "rule": {
        "name": "/Common/Log-all-the-HTTP-Requests"
    }
}
{
    "message": "tmm[16941]: Rule /Common/Log-all-the-HTTP-Requests <HTTP_REQUEST>: LOGS: Request: GET example.com/a/path/to/an/image.png",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "action": {
        "type": "tmm"
    },
    "http": {
        "request": {
            "method": "GET"
        }
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "rule": {
        "name": "/Common/Log-all-the-HTTP-Requests"
    },
    "url": {
        "path": "example.com/a/path/to/an/image.png"
    }
}
{
    "message": "tmm[16941]: Rule /Common/Log-all-the-HTTP-Requests <HTTP_REQUEST>: LOGS: Referer: https://example.com/a/path/to/anywhere",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "action": {
        "type": "tmm"
    },
    "http": {
        "request": {
            "referrer": "https://example.com/a/path/to/anywhere"
        }
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "rule": {
        "name": "/Common/Log-all-the-HTTP-Requests"
    }
}
{
    "message": "tmm1[20358]: 01260013:4: SSL Handshake failed for TCP 84.14.195.210:57424 -> 10.100.0.5:443",
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "outcome": "failed",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "SSL Handshake",
        "outcome": "failed",
        "target": "network-traffic",
        "type": "tmm1"
    },
    "destination": {
        "address": "10.100.0.5",
        "ip": "10.100.0.5",
        "port": 443
    },
    "network": {
        "transport": "tcp"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "ip": [
            "10.100.0.5",
            "84.14.195.210"
        ]
    },
    "source": {
        "address": "84.14.195.210",
        "ip": "84.14.195.210",
        "port": 57424
    }
}
{
    "message": "CEF:0|F5|ASM|15.1.2|Successful Request|Successful Request|2|dvchost=bigip-4.pme-ds.f5.com dvc=172.16.73.34 cs1=/Common/Sekoia cs1Label=policy_name cs2=/Common/Sekoia cs2Label=http_class_name deviceCustomDate1=Mar 12 2021 09:26:13 deviceCustomDate1Label=policy_apply_date externalId=16834939746278187265 act=passed cn1=200 cn1Label=response_code src=10.4.1.101 spt=50631 dst=10.4.1.200 dpt=443 requestMethod=GET app=HTTPS cs5=N/A cs5Label=x_forwarded_for_header_value rt=Mar 15 2021 15:21:22 deviceExternalId=0 cs4=N/A cs4Label=attack_type cs6=FR cs6Label=geo_location c6a1= c6a1Label=device_address c6a2= c6a2Label=source_address c6a3= c6a3Label=destination_address c6a4= c6a4Label=ip_address_intelligence msg=N/A suid=2e769a9e1ea8b777 suser=N/A cn2=0 cn2Label=violation_rating cn3=0 cn3Label=device_id microservice=N/A request=/chronograf/v1/me cs3Label=full_request cs3=GET /chronograf/v1/me HTTP/1.1\\r\\nHost: chronograf.example.org\\r\\nConnection: keep-alive\\r\\nsec-ch-ua: \"Google Chrome\";v\\=\"89\", \"Chromium\";v\\=\"89\", \";Not A Brand\";v\\=\"99\"\\r\\nAccept: application/json, text/plain, */*\\r\\nsec-ch-ua-mobile: ?0\\r\\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36\\r\\nContent-Type: application/json;charset\\=utf-8\\r\\nSec-Fetch-Site: same-origin\\r\\nSec-Fetch-Mode: cors\\r\\nSec-Fetch-Dest: empty\\r\\nReferer: https://chronograf.example.org/sources/1/chronograf/data-explorer?query\\=SELECT%20mean%28%22db28482.AP001_10%25%22%29%20AS%20%22mean_db28482.AP001_10%25%22%2C%20mean%28%22MNPZ_FCC_Feed_D86_T10Pct%22%29%20AS%20%22mean_MNPZ_FCC_Feed_D86_T10Pct%22%20FROM%20%22db1000000%22.%22autogen%22.%22centralized_data%22%20WHERE%20time%20%3E%20%3AdashboardTime%3A%20AND%20time%20%3C%20%3AupperDashboardTime%3A%20GROUP%20BY%20time%28%3Ainterval%3A%29%20FILL%28null%29\\r\\nAccept-Encoding: gzip, deflate, br\\r\\nAccept-Language: en-US,en;q\\=0.9,fr-FR;q\\=0.8,fr;q\\=0.7\\r\\nCookie: session\\=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MTU4MTgzNzIsImlhdCI6MTYxNTgxMzA5NSwiaXNzIjoiQXp1cmVBRCIsIm5iZiI6MTYxNTgxMzA5NSwic3ViIjoiSmVhbi1NYXJpZS5NT0NISVpVS0lAYXhlbnMubmV0IiwiZ3JwIjoiYXhlbnMubmV0In0.cFIuUmFugrkyJS-lzHvVubTWC_JeX3V-5Cp1mDoV1YY; TS015d2224\\=0150d78bb10efbed9cc301936874d51988028cd800d698492d10bd681f4587cf95716a2bd0a8dd719e11100d62125432edcc596afdd96dee678a804386c5c71099b1945831\\r\\n\\r\\n#015",
    "event": {
        "action": "Successful Request",
        "category": [
            "network"
        ],
        "code": "Successful Request",
        "kind": "event",
        "outcome": "success",
        "severity": 2,
        "type": [
            "info"
        ]
    },
    "@timestamp": "2021-03-15T15:21:22Z",
    "action": {
        "name": "passed",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "10.4.1.200",
        "ip": "10.4.1.200",
        "port": 443
    },
    "host": {
        "hostname": "bigip-4.pme-ds.f5.com",
        "name": "bigip-4.pme-ds.f5.com"
    },
    "http": {
        "request": {
            "method": "GET"
        },
        "response": {
            "status_code": 200
        }
    },
    "network": {
        "protocol": "HTTPS"
    },
    "observer": {
        "hostname": "bigip-4.pme-ds.f5.com",
        "ip": "172.16.73.34",
        "product": "ASM",
        "type": "firewall",
        "vendor": "F5",
        "version": "15.1.2"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "bigip-4.pme-ds.f5.com"
        ],
        "ip": [
            "10.4.1.101",
            "10.4.1.200",
            "172.16.73.34"
        ]
    },
    "rule": {
        "ruleset": "/Common/Sekoia"
    },
    "source": {
        "address": "10.4.1.101",
        "ip": "10.4.1.101",
        "port": 50631,
        "user": {
            "id": "2e769a9e1ea8b777"
        }
    },
    "url": {
        "original": "/chronograf/v1/me",
        "path": "/chronograf/v1/me"
    },
    "user_agent": {
        "device": {
            "name": "Other"
        },
        "name": "Chrome",
        "original": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
        "os": {
            "name": "Windows",
            "version": "10"
        },
        "version": "89.0.4389"
    }
}
{
    "message": "ASM:CEF:0|F5|ASM|11.3.0|200021069|Automated client access \"wget\"|5|dvchost=bigip-4.pme-ds.f5.com dvc=172.16.73.34 cs1=topaz4-web4 cs1Label=policy_name cs2=/Common/topaz4-web4 cs2Label=http_class_name deviceCustomDate1=Sep 19 2012 13:49:25 deviceCustomDate1Label=policy_apply_date externalId=18205860747014045723 act=blocked cn1=0 cn1Label=response_code src=10.4.1.101 spt=52975 dst=10.4.1.200 dpt=80 requestMethod=GET app=HTTP cs5=N/A cs5Label=x_forwarded_for_header_value rt=Sep 19 2012 13:53:33 deviceExternalId=0 cs4=Non-browser Client cs4Label=attack_type cs6=N/A cs6Label=geo_location c6a1= c6a1Label=device_address c6a2= c6a2Label=source_address c6a3= c6a3Label=destination_address c6a4=N/A c6a4Label=ip_address_intelligence msg=N/A suid=86c4f8bf7349cac9 suser=N/A request=/ cs3Label=full_request cs3=GET / HTTP/1.0\r\nUser-Agent: Wget/1.12 (linux-gnu)\r\nAccept: */*\r\nHost: 10.4.1.200\r\nConnection: Keep-Alive\r\n\r\n",
    "event": {
        "action": "Automated client access \"wget\"",
        "category": [
            "network"
        ],
        "code": "200021069",
        "kind": "event",
        "outcome": "success",
        "severity": 5,
        "type": [
            "info"
        ]
    },
    "@timestamp": "2012-09-19T13:53:33Z",
    "action": {
        "name": "blocked",
        "outcome": "success",
        "target": "network-traffic"
    },
    "destination": {
        "address": "10.4.1.200",
        "ip": "10.4.1.200",
        "port": 80
    },
    "host": {
        "hostname": "bigip-4.pme-ds.f5.com",
        "name": "bigip-4.pme-ds.f5.com"
    },
    "http": {
        "request": {
            "method": "GET"
        },
        "response": {
            "status_code": 0
        }
    },
    "network": {
        "protocol": "HTTP"
    },
    "observer": {
        "hostname": "bigip-4.pme-ds.f5.com",
        "ip": "172.16.73.34",
        "product": "ASM",
        "type": "firewall",
        "vendor": "F5",
        "version": "11.3.0"
    },
    "os": {
        "family": "linux",
        "platform": "linux"
    },
    "related": {
        "hosts": [
            "bigip-4.pme-ds.f5.com"
        ],
        "ip": [
            "10.4.1.101",
            "10.4.1.200",
            "172.16.73.34"
        ]
    },
    "rule": {
        "ruleset": "topaz4-web4"
    },
    "source": {
        "address": "10.4.1.101",
        "ip": "10.4.1.101",
        "port": 52975,
        "user": {
            "id": "86c4f8bf7349cac9"
        }
    },
    "url": {
        "original": "/",
        "path": "/"
    },
    "user_agent": {
        "device": {
            "name": "Other"
        },
        "name": "Wget",
        "original": "Wget/1.12 (linux-gnu)",
        "os": {
            "name": "Linux"
        },
        "version": "1.12"
    }
}

Extracted Fields

The following table lists the fields that are extracted, normalized under the ECS format, analyzed and indexed by the parser. It should be noted that infered fields are not listed.

Name Type Description
@timestamp date Date/time when the event originated.
action.target keyword
destination.address keyword Destination network address.
destination.domain keyword The domain name of the destination.
destination.ip ip IP address of the destination.
destination.port long Port of the destination.
dns.question.class keyword The class of records being queried.
dns.question.name keyword The name being queried.
event.action keyword The action captured by the event.
event.category keyword Event category. The second categorization field in the hierarchy.
event.code keyword Identification code for this event.
event.kind keyword The kind of the event. The highest categorization field in the hierarchy.
event.reason keyword Reason why this event happened, according to the source
event.severity long Numeric severity of the event.
event.type keyword Event type. The third categorization field in the hierarchy.
f5.bigip.afm.attack_id keyword
f5.bigip.afm.attack_status keyword
f5.bigip.afm.attack_type keyword
f5.bigip.afm.drop_reason keyword
f5.bigip.afm.route_domain keyword
f5.bigip.afm.virtual_name keyword
f5.bigip.afm.vlan keyword
host.hostname keyword Hostname of the host.
host.name keyword Name of the host.
http.request.method keyword HTTP request method.
http.request.referrer keyword Referrer for this HTTP request.
http.response.bytes long Total size in bytes of the response (body and headers).
http.response.mime_type keyword Mime type of the body of the response.
http.response.status_code long HTTP response status code.
network.protocol keyword Application protocol name.
network.transport keyword Protocol Name corresponding to the field iana_number.
observer.hostname keyword Hostname of the observer.
observer.ip ip IP addresses of the observer.
observer.product keyword The product name of the observer.
observer.type keyword The type of the observer the data is coming from.
observer.vendor keyword Vendor name of the observer.
observer.version keyword Observer version.
process.command_line wildcard Full command line that started the process.
rule.name keyword Rule name
rule.ruleset keyword Rule ruleset
source.address keyword Source network address.
source.ip ip IP address of the source.
source.port long Port of the source.
source.user.id keyword Unique identifier of the user.
source.user.name keyword Short name or login of the user.
tls.version keyword Numeric part of the version parsed from the original string.
tls.version_protocol keyword Normalized lowercase protocol name parsed from original string.
url.full wildcard Full unparsed URL.
url.original wildcard Unmodified original url as seen in the event source.
url.path wildcard Path of the request, such as "/search".
user.domain keyword Name of the directory the user is a member of.
user.name keyword Short name or login of the user.
user_agent.original keyword Unparsed user_agent string.

Configure

We expect logs formated in priority as CEF or under the reporting format (key/value pairs).

In this setup guide you will forward securely your BIG-IP logs to our servers. We first explain how to configure your syslog concentrator, then we show how to configure a Log Publisher to format your logs as CEF and send them to your syslog concentrator.

Most BIG-IP modules can use Log Publishers, some can directly log messages as CEF to a syslog server.

Set up the concentrator

Please consult the Syslog Forwarding documentation to set up the concentrator that will forward your logs to Sekoia.io.

Configure a Log Publisher

Before creating a log publisher, you first need a management port log destination:

System -> Logs -> Configuration -> Log Destinations -> Create...
Give it a name, choose type Management Port, fill the address and port of your syslog concentrator and select protocol UDP (alternatively you can define a pool of syslog servers and use it as a remote high speed log destination).

Then you need another log destination to format your logs in CEF:

System -> Logs -> Configuration -> Log Destinations -> Create...
Give it a name, choose type ArcSight, and forward to the log destination you just created.

You can now create a log publisher:

System -> Logs -> Configuration -> Log Publishers -> Create...
Give it a name, and select the ArcSight log destination you just created.

You can now use this log publisher to define logging profiles in your BIG-IP modules. As an example in:

Access -> Overview -> Event Logs -> Settings -> Create -> Access System Logs -> Publisher
or
Security -> Event Logs -> Logging Profiles -> Create... -> Publisher

Direct Configuration

Some modules allow direct configuration to the syslog concentrator. As an example:

Security -> Event Logs -> Logging Profiles -> Create...
Then choose Application Security, select Remote Storage as a storage destination, Common Event Format (ArcSight) as a logging format, and fill in your syslog concentrator info.

The resulting logging profile can be applied to a given virtual server in:

Local Traffic -> Virtual Servers -> Virtual Server List
Then choose a virtual server, go to the Security -> Policies tab and apply the log profile.