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

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
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

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.