Skip to content

Pulse / Ivanti Secure Connect

Overview

Pulse Connect Secure is an SSL VPN solution for remote and mobile users.

The following Sekoia.io built-in rules match the intake Ivanti / Pulse Connect Secure. 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 Ivanti / Pulse Connect Secure on ATT&CK Navigator

Account Added To A Security Enabled Group

Detection in order to investigate who has added a specific Domain User in Domain Admins or Group Policy Creator Owners (Security event 4728)

  • Effort: master
Account Removed From A Security Enabled Group

Detection in order to investigate who has removed a specific Domain User in Domain Admins or Group Policy Creator Owners (Security event 4729)

  • Effort: master
Backup Catalog Deleted

The rule detects when the Backup Catalog has been deleted. It means the administrators will not be able to access any backups that were created earlier to perform recoveries. This is often being done using the wbadmin.exe tool.

  • Effort: intermediate
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
Computer Account Deleted

Detects computer account deletion.

  • Effort: master
DHCP Server Error Failed Loading the CallOut DLL

This rule detects a DHCP server error in which a specified Callout DLL (in registry) could not be loaded.

  • Effort: intermediate
DHCP Server Loaded the CallOut DLL

This rule detects a DHCP server in which a specified Callout DLL (in registry) was loaded. This would indicate a succesful attack against DHCP service allowing to disrupt the service or alter the integrity of the responses.

  • Effort: intermediate
DNS Server Error Failed Loading The ServerLevelPluginDLL

This rule detects a DNS server error in which a specified plugin DLL (in registry) could not be loaded. This requires the dedicated Windows event provider Microsoft-Windows-DNS-Server-Service.

  • Effort: master
Domain Trust Created Or Removed

A trust was created or removed to a domain. An attacker could perform that in order to do lateral movement easily between domains or shutdown the ability of two domains to communicate.

  • Effort: advanced
Failed Logon Source From Public IP Addresses

A login from a public IP can indicate a misconfigured firewall or network boundary. The sekoia.tags are used to filter internal Ipv4 addresses (10.0.0.0/8 172.16.0.0/12 127.0.0.0/8 169.254.0.0/16 192.168.0.0/16).

  • Effort: master
Microsoft Defender Antivirus History Deleted

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

  • Effort: master
Microsoft Defender Antivirus Tampering Detected

Detection of Windows Defender Tampering, from definitions' deletion to deactivation of parts or all of Defender.

  • Effort: advanced
Microsoft Defender Antivirus Threat Detected

Detection of a windows defender alert indicating the presence of potential malware

  • Effort: advanced
Password Change On Directory Service Restore Mode (DSRM) Account

The Directory Service Restore Mode (DSRM) account is a local administrator account on Domain Controllers. Attackers may change the password to gain persistence.

  • Effort: intermediate
Possible Replay Attack

This event can be a sign of Kerberos replay attack or, among other things, network device configuration or routing problems.

  • Effort: intermediate
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 DNS Tunnel

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

  • 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
Telegram Bot API Request

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

  • Effort: advanced
User Account Created

Detects user creation on windows servers, which shouldn't happen in an Active Directory environment. Apply this on your windows server logs and not on your DC logs. One default account defaultuser0 is excluded as only used during Windows set-up. This detection use Security Event ID 4720.

  • Effort: master
User Account Deleted

Detects local user deletion

  • Effort: master

Event Categories

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

Data Source Description
Authentication logs Events are produced when a user authenticate on services of the company my means of the VPN
Web logs Events are produced on web service access
Network device logs Events are produced on VPN connection

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

Name Values
Kind ``
Category ``
Type info

Event Samples

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

{
    "message": "id=firewall time=\"2021-01-28 13:46:08\" pri=6 fw=172.16.128.22 vpn=CB2XXPCS02 ivs=Root user=bob realm=\"SEKOIA_User\" roles=\"VDI-Pulse_User_Role\" proto=auth src=176.134.164.62 dst= dstname= type=vpn op= arg=\"\" result= sent= rcvd= agent=\"\" duration= msg=\"AUT24804: Host Checker policy 'Sekoia_Host Checker' failed on host '176.134.164.62' address '00-d8-61-35-80-81' for user 'bob' reason 'Rule-Antivirus_Check:Le logiciel antivirus indiqu\u00e9 dans les exigences de s\u00e9curit\u00e9 n'est pas install\u00e9.'.\"",
    "event": {
        "category": [
            "host"
        ],
        "code": "AUT24804",
        "provider": "auth",
        "reason": "Rule-Antivirus_Check:Le logiciel antivirus indiqu\u00e9 dans les exigences de s\u00e9curit\u00e9 n'est pas install\u00e9.",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "AUT24804"
    },
    "host": {
        "ip": [
            "176.134.164.62"
        ],
        "mac": [
            "00-d8-61-35-80-81"
        ]
    },
    "network": {
        "forwarded_ip": "172.16.128.22"
    },
    "observer": {
        "ip": [
            "172.16.128.22"
        ]
    },
    "related": {
        "ip": [
            "172.16.128.22",
            "176.134.164.62"
        ],
        "user": [
            "bob"
        ]
    },
    "rule": {
        "name": "Sekoia_Host Checker"
    },
    "service": {
        "name": "CB2XXPCS02",
        "type": "vpn"
    },
    "source": {
        "address": "176.134.164.62",
        "ip": "176.134.164.62"
    },
    "user": {
        "domain": "SEKOIA_User",
        "name": "bob",
        "roles": [
            "VDI-Pulse_User_Role"
        ]
    }
}
{
    "message": "id=firewall time=\"2021-01-28 13:46:05\" pri=6 fw=172.16.128.22 vpn=CB2XXPCS02 ivs=Root user=alice realm=\"SEKOIA_User\" roles=\"SEKOIA_User_Role\" proto=auth src=19.160.74.9 dst= dstname= type=vpn op= arg=\"\" result= sent= rcvd= agent=\"\" duration= msg=\"AUT24803: Host Checker policy 'Sekoia_Host Checker' passed on host '19.160.74.9' address '60-f2-62-ea-2d-a1' for user 'alice'.\"",
    "event": {
        "category": [
            "host"
        ],
        "code": "AUT24803",
        "provider": "auth",
        "reason": " Host Checker policy 'Sekoia_Host Checker' passed on host '19.160.74.9' address '60-f2-62-ea-2d-a1' for user 'alice'.",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "AUT24803"
    },
    "host": {
        "ip": [
            "19.160.74.9"
        ],
        "mac": [
            "60-f2-62-ea-2d-a1"
        ]
    },
    "network": {
        "forwarded_ip": "172.16.128.22"
    },
    "observer": {
        "ip": [
            "172.16.128.22"
        ]
    },
    "related": {
        "ip": [
            "172.16.128.22",
            "19.160.74.9"
        ],
        "user": [
            "alice"
        ]
    },
    "rule": {
        "name": "Sekoia_Host Checker"
    },
    "service": {
        "name": "CB2XXPCS02",
        "type": "vpn"
    },
    "source": {
        "address": "19.160.74.9",
        "ip": "19.160.74.9"
    },
    "user": {
        "domain": "SEKOIA_User",
        "name": "alice",
        "roles": [
            "SEKOIA_User_Role"
        ]
    }
}
{
    "message": "id=firewall time=\"2021-01-28 14:14:04\" pri=6 fw=172.16.128.22 vpn=CB2XXPCS02 ivs=Default Network user=bob realm=\"SEKOIA_User\" roles=\"\" proto=auth src=176.168.192.159 dst= dstname= type=vpn op= arg=\"\" result= sent= rcvd= agent=\"\" duration= msg=\"AUT23457: Login failed using auth server RSA (ACE Server).  Reason: Failed\"",
    "event": {
        "category": [
            "authentication"
        ],
        "code": "AUT23457",
        "provider": "auth",
        "reason": " Login failed using auth server RSA (ACE Server).  Reason: Failed",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "AUT23457"
    },
    "network": {
        "forwarded_ip": "172.16.128.22"
    },
    "observer": {
        "ip": [
            "172.16.128.22"
        ]
    },
    "related": {
        "ip": [
            "172.16.128.22",
            "176.168.192.159"
        ],
        "user": [
            "bob"
        ]
    },
    "service": {
        "name": "CB2XXPCS02",
        "type": "vpn"
    },
    "source": {
        "address": "176.168.192.159",
        "ip": "176.168.192.159"
    },
    "user": {
        "domain": "SEKOIA_User",
        "name": "bob"
    }
}
{
    "message": "id=firewall time=\"2023-10-17 10:21:15\" pri=6 fw=3.4.5.6 vpn=EX023-V6 user=MYDomain\\\\johndoe realm=\"Example\" roles=\"Example_Sales\" type=mgmt proto=auth src=1.2.3.4 dst= dstname= sent= rcvd= msg=\"AUT20920: Connection from IP 1.2.3.4 not authenticated yet (URL=/cgi/pal?tm=26&key=1234567890)\"\n",
    "event": {
        "category": [
            "network"
        ],
        "code": "AUT20920",
        "provider": "auth",
        "reason": " Connection from IP 1.2.3.4 not authenticated yet (URL=/cgi/pal?tm=26&key=1234567890)",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "AUT20920"
    },
    "network": {
        "forwarded_ip": "3.4.5.6"
    },
    "observer": {
        "ip": [
            "3.4.5.6"
        ]
    },
    "related": {
        "ip": [
            "1.2.3.4",
            "3.4.5.6"
        ],
        "user": [
            "MYDomain\\\\johndoe"
        ]
    },
    "service": {
        "name": "EX023-V6",
        "type": "mgmt"
    },
    "source": {
        "address": "1.2.3.4",
        "ip": "1.2.3.4"
    },
    "url": {
        "path": "/cgi/pal?tm=26&key=1234567890"
    },
    "user": {
        "domain": "Example",
        "name": "MYDomain\\\\johndoe",
        "roles": [
            "Example_Sales"
        ]
    }
}
{
    "message": "id=firewall time=\"2023-10-17 10:21:14\" pri=4 fw=3.4.5.6 vpn=EX023-V6 user=System realm=\"\" roles=\"\" type=mgmt proto= src=1.2.3.4 dst= dstname= sent= rcvd= msg=\"AUT24604: SSL negotiation failed while client at source IP '1.2.3.4' was trying to connect to '5.6.7.8'. Reason: 'sslv3 alert bad certificate'\"\n\n",
    "event": {
        "category": [
            "network"
        ],
        "code": "AUT24604",
        "reason": "sslv3 alert bad certificate",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "AUT24604"
    },
    "destination": {
        "address": "5.6.7.8",
        "ip": "5.6.7.8"
    },
    "network": {
        "forwarded_ip": "3.4.5.6"
    },
    "observer": {
        "ip": [
            "3.4.5.6"
        ]
    },
    "related": {
        "ip": [
            "1.2.3.4",
            "3.4.5.6",
            "5.6.7.8"
        ],
        "user": [
            "System"
        ]
    },
    "service": {
        "name": "EX023-V6",
        "type": "mgmt"
    },
    "source": {
        "address": "1.2.3.4",
        "ip": "1.2.3.4"
    },
    "user": {
        "name": "System"
    }
}
{
    "message": "id=firewall time=\"2023-10-17 18:18:12\" pri=6 fw=3.4.5.6 vpn=EX023-V6 ivs=Root user=System realm=\"\" roles=\"\" type=mgmt proto= src=1.2.3.4 dst= dstname= sent= rcvd= msg=\"LIC30499: Leased 0 units of 'Virtual CPUs' from 1.2.3.4 - reserved: 0 maximum: 0 incremental quantum: 0\"\n",
    "event": {
        "category": [
            "network"
        ],
        "code": "LIC30499",
        "reason": " Leased 0 units of 'Virtual CPUs' from 1.2.3.4 - reserved: 0 maximum: 0 incremental quantum: 0",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "LIC30499"
    },
    "network": {
        "forwarded_ip": "3.4.5.6"
    },
    "observer": {
        "ip": [
            "3.4.5.6"
        ]
    },
    "related": {
        "ip": [
            "1.2.3.4",
            "3.4.5.6"
        ],
        "user": [
            "System"
        ]
    },
    "service": {
        "name": "EX023-V6",
        "type": "mgmt"
    },
    "source": {
        "address": "1.2.3.4",
        "ip": "1.2.3.4"
    },
    "user": {
        "name": "System"
    }
}
{
    "message": "id=firewall time=\"2023-10-17 10:19:03\" pri=0 fw=3.4.5.6 vpn=EX023-V6 user=System realm=\"\" roles=\"\" type=mgmt proto= src=1.2.3.4 dst= dstname= sent= rcvd= msg=\"SYS20704: Sending iveLogNearlyFull [ logFullPercent='93' logName='event' ] SNMP trap to 5.6.7.8:162\"\n",
    "event": {
        "category": [
            "network"
        ],
        "code": "SYS20704",
        "reason": " Sending iveLogNearlyFull [ logFullPercent='93' logName='event' ] SNMP trap to 5.6.7.8:162",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "SYS20704"
    },
    "destination": {
        "address": "5.6.7.8",
        "ip": "5.6.7.8",
        "port": 162
    },
    "network": {
        "forwarded_ip": "3.4.5.6"
    },
    "observer": {
        "ip": [
            "3.4.5.6"
        ]
    },
    "related": {
        "ip": [
            "1.2.3.4",
            "3.4.5.6",
            "5.6.7.8"
        ],
        "user": [
            "System"
        ]
    },
    "service": {
        "name": "EX023-V6",
        "type": "mgmt"
    },
    "source": {
        "address": "1.2.3.4",
        "ip": "1.2.3.4"
    },
    "user": {
        "name": "System"
    }
}
{
    "message": "id=firewall time=\"2023-10-17 18:18:16\" pri=6 fw=3.4.5.6 vpn=EX023-V6 ivs=Default Network user=System realm=\"\" roles=\"\" type=mgmt proto= src=1.2.3.4 dst= dstname= sent= rcvd= msg=\"SYS31231: Successfully executed 'Post Settings Request'.\"\n",
    "event": {
        "category": [
            "network"
        ],
        "code": "SYS31231",
        "reason": " Successfully executed 'Post Settings Request'.",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "SYS31231"
    },
    "network": {
        "forwarded_ip": "3.4.5.6"
    },
    "observer": {
        "ip": [
            "3.4.5.6"
        ]
    },
    "related": {
        "ip": [
            "1.2.3.4",
            "3.4.5.6"
        ],
        "user": [
            "System"
        ]
    },
    "service": {
        "name": "EX023-V6",
        "type": "mgmt"
    },
    "source": {
        "address": "1.2.3.4",
        "ip": "1.2.3.4"
    },
    "user": {
        "name": "System"
    }
}
{
    "message": "id=firewall time=\"2024-01-12 23:00:22\" pri=6 fw=8.8.8.8 vpn=EX023-V6 user=System realm=\"\" roles=\"\" type=mgmt proto= src=1.2.3.4 dst= dstname= sent= rcvd= msg=\"SYS31437: Successful syslog connection to peer: '3.4.5.6'\"",
    "event": {
        "category": [
            "network"
        ],
        "code": "SYS31437",
        "reason": " Successful syslog connection to peer: '3.4.5.6'",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "SYS31437"
    },
    "network": {
        "forwarded_ip": "8.8.8.8"
    },
    "observer": {
        "ip": [
            "8.8.8.8"
        ]
    },
    "related": {
        "ip": [
            "3.4.5.6",
            "8.8.8.8"
        ],
        "user": [
            "System"
        ]
    },
    "service": {
        "name": "EX023-V6",
        "type": "mgmt"
    },
    "source": {
        "address": "3.4.5.6",
        "ip": "3.4.5.6"
    },
    "user": {
        "name": "System"
    }
}
{
    "message": "id=firewall time=\"2023-10-17 10:14:05\" pri=6 fw=3.4.5.6 vpn=EX023-V6 user=System realm=\"\" roles=\"\" type=mgmt proto= src=1.2.3.4 dst= dstname= sent= rcvd= msg=\"SYS32083: LMDB shards usage stats shard: 0:1%   1:1%   2:1%   3:1%   4:1%   5:1%   6:1%   7:1%   8:1%   9:1%   a:1%   b:1%   c:1%   d:1%   e:1%   f:1%   \"\n",
    "event": {
        "category": [
            "network"
        ],
        "code": "SYS32083",
        "reason": " LMDB shards usage stats shard: 0:1%   1:1%   2:1%   3:1%   4:1%   5:1%   6:1%   7:1%   8:1%   9:1%   a:1%   b:1%   c:1%   d:1%   e:1%   f:1%",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "SYS32083"
    },
    "network": {
        "forwarded_ip": "3.4.5.6"
    },
    "observer": {
        "ip": [
            "3.4.5.6"
        ]
    },
    "related": {
        "ip": [
            "1.2.3.4",
            "3.4.5.6"
        ],
        "user": [
            "System"
        ]
    },
    "service": {
        "name": "EX023-V6",
        "type": "mgmt"
    },
    "source": {
        "address": "1.2.3.4",
        "ip": "1.2.3.4"
    },
    "user": {
        "name": "System"
    }
}
{
    "message": "id=firewall time=\"2021-03-04 17:05:15\" pri=6 fw=172.16.128.22 vpn=CB2XXPCS02 ivs=Default Network user=System realm=\"\" roles=\"\" proto= src=93.19.66.118 dst= dstname= type=vpn op= arg=\"\" result= sent= rcvd= agent=\"\" duration= msg=\"AUT31556: Unauthenticated request url /dana/js?prot=1&svc=4 came from IP 93.19.66.118.\"",
    "event": {
        "category": [
            "network"
        ],
        "code": "AUT31556",
        "reason": " Unauthenticated request url /dana/js?prot=1&svc=4 came from IP 93.19.66.118.",
        "type": [
            "info"
        ]
    },
    "action": {
        "name": "AUT31556"
    },
    "network": {
        "forwarded_ip": "172.16.128.22"
    },
    "observer": {
        "ip": [
            "172.16.128.22"
        ]
    },
    "related": {
        "ip": [
            "172.16.128.22",
            "93.19.66.118"
        ],
        "user": [
            "System"
        ]
    },
    "service": {
        "name": "CB2XXPCS02",
        "type": "vpn"
    },
    "source": {
        "address": "93.19.66.118",
        "ip": "93.19.66.118"
    },
    "url": {
        "path": "/dana/js?prot=1&svc=4"
    },
    "user": {
        "name": "System"
    }
}

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
destination.bytes long Bytes sent from the destination to the source.
destination.domain keyword The domain name of the destination.
destination.ip ip IP address of the destination.
destination.port long Port of the destination.
event.code keyword Identification code for this event.
event.provider keyword Source of the event.
event.reason keyword Reason why this event happened, according to the source
event.type keyword Event type. The third categorization field in the hierarchy.
host.ip ip Host ip addresses.
host.mac keyword Host MAC addresses.
host.name keyword Name of the host.
network.forwarded_ip ip Host IP address when the source IP address is the proxy.
observer.ip ip IP addresses of the observer.
rule.name keyword Rule name
service.name keyword Name of the service.
service.type keyword The type of the service.
source.bytes long Bytes sent from the source to the destination.
source.ip ip IP address of the 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.roles keyword Array of user roles at the time of the event.

Configure

As of now, the main solution to collect Pulse Secure Connect logs leverages the Rsyslog recipe along with the WELF log format offered by Pulse Secure. Please share your experiences with other recipes by editing this documentation.

Rsyslog

Please refer to the documentation of Pulse Secure Connect to forward events to your syslog concentrator. The reader can consult the Syslog Forwarding documentation to forward these logs to Sekoia.io.