CIRCL
CIRCL Passive DNS is a database storing historical DNS records from various resources. CIRCL Passive SSL is a database storing historical X.509 certificates seen per IP address. The Passive SSL historical data is indexed per IP address.
Data Enrichment & Threat Intelligence · CIRCL
Details
| ID | CIRCL |
|---|---|
| Provider | LHC |
| Category | Data Enrichment & Threat Intelligence |
| From Version | 5.0.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
| Supported Modules | Agentix XSIAM |
README
Use the CIRCL integration to research malware history for IPs, DNSs, and hostnames, and to query certificate history and details.
This integration was integrated and tested with CIRCL v2.0.
Use Cases
- Query IP, DNS, or hostname for malware history.
- Query IP or IP CIDR for certificate history.
- Query certificate for IP history.
- Query certificate details.
Configure CIRCL on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for CIRCL.
- Click Add instance to create and configure a new integration instance.
- Name: a textual name for the integration instance.
- Server URL (e.g. https://www.circl.lu)
- Enter Authentication details
- Use system proxy settings
- Trust any certificate (not secure)
- Click Test to validate the URLs, token, and connection.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook. After you successfully execute a command, a DBot message appears in the War Room with the command details.
- Get DNS records: circl-dns-get
- Get SSL certificate history for IP address or CIDR blocks: circl-ssl-list-certificates
- Get IP addresses associated with an SSL certificate: circl-ssl-query-certificate
- Get information for an SSL certificate: circl-ssl-get-certificate
1. Get DNS records
Get DNS records for your query value from CIRCL's Passive DNS.
Base Command
circl-dns-get
Input
| Argument Name | Description | Required |
|---|---|---|
| queryValue | IP address, hostname, or domain name | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| CIRCLdns.Query.Value | string | Query Value |
| CIRCLdns.Query.Record.Data | string | DNS Record or IP Address |
| CIRCLdns.Query.Record.LastTime | date | DNS record last recorded time |
Command Example
!circl-dns-get queryValue=69.172.200.235
Context Example
{
"Query": [
{
"Record": [
{
"Data": "ns65.worldnic.com",
"LastTime": "2018-10-28 20:43:59"
},
{
"Data": "204.12.0.50",
"LastTime": "2011-08-15 11:35:51"
},
{
"Data": "50.23.225.49",
"LastTime": "2012-01-02 16:44:53"
},
{
"Data": "ns66.worldnic.com",
"LastTime": "2018-10-28 20:43:59"
},
{
"Data": "69.172.200.235",
"LastTime": "2018-10-29 22:50:34"
}
],
"Value": "test.com"
}
]
}
2. Get SSL certificate history for IP addresses or CIDR blocks
Query IP address or CIDR blocks (/32 up to /23) for SSL certificates history.
Base Command
circl-ssl-list-certificates
Input
| Argument Name | Description | Required |
|---|---|---|
| queryValue | IP address or CIDR block | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| CIRCLssl.IPAddress.Value | string | IP address |
| CIRCLssl.IPAddress.Certificate.SHA1 | string | The SHA-1 fingerprint of the certificate |
| CIRCLssl.IPAddress.Certificate.Subjects | string | Certificate subjects |
Command Example
!circl-ssl-list-certificates queryValue=172.228.24.0/28
Context Example
{
"Certificate": [
{
"SHA1": "780a06f6e9b4061cad0c6502710606eb535f1c26",
"Subjects": [
"C=US, O=GeoTrust, Inc., CN=GeoTrust SSL CA"
]
},
{
"SHA1": "b47dcd32bcc997f769a008365b3ae418ae613c5b",
"Subjects": [
"serialNumber=NhYqVrM6jc9PtOjjwTmeTWpc5G6L9yq8, C=KR, ST=Gyeonggi-Do, L=Seongnam-City, O=NAVER Business Platform Corp., OU=NAVER Business Platform Corp., CN=mail.naver.com"
]
},
{
"SHA1": "2d33eb5931c47f5bcec037658e77b7d0988ea3b9",
"Subjects": [
"C=KR, ST=Gyeonggi, L=Seongnam-City, O=NAVER Business Platform Corp., OU=NAVER Business Platform Corp., CN=mail.naver.com"
]
},
{
"SHA1": "6c624f520f6fd75d4e05672806cfd384f35bbda1",
"Subjects": [
"C=KR, ST=Gyeonggi-Do, L=Seongnam-Si, O=NAVER Business Platform Corp., OU=NAVER Business Platform Corp., CN=mail.naver.com"
]
},
{
"SHA1": "4f56644858829ffb85a770171accf9f8407a137b",
"Subjects": [
"C=US, O=GeoTrust Inc., CN=GeoTrust SSL CA - G2"
]
}
],
"Value": "172.228.24.209"
}
3. Get IP addresses associated with an SSL certificate
Query a certificate value to get all associated addresses.
Base Command
circl-ssl-query-certificate
Input
| Argument Name | Description | Required |
|---|---|---|
| certificate | SHA-1 fingerprint of a certificate | Required |
| limitResults | Limit the results number (Increasing number can cause browser slowdowns). | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| CIRCLssl.Certificate.SHA1 | string | The SHA-1 fingerprint of the certificate |
| CIRCLssl.Certificate.Hits | number | Number of hits for the certificate (number of associated addresses) |
| CIRCLssl.Certificate.IPAddress | string | IP address associated to the certificate |
Command Example
!circl-ssl-query-certificate certificate=c46fed822dadac3f31f9bb4d1a78a1d9eae4567b limitResults=10
Context Example
{
"Hits": 1066,
"IPAddress": [
"172.231.209.35",
"222.163.206.206",
"104.98.248.71",
"23.212.29.129",
"23.7.44.197",
"104.67.128.36",
"96.16.84.130",
"172.233.131.187",
"23.197.219.175",
"173.222.24.202"
],
"SHA1": "c46fed822dadac3f31f9bb4d1a78a1d9eae4567b"
}
4. Get information for an SSL certificate
Get the raw certificate and related information.
Base Command
circl-ssl-get-certificate
Input
| Argument Name | Description | Required |
|---|---|---|
| certificate | SHA-1 fingerprint of a certificate | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| CIRCLssl.Certificate.SHA1 | string | The SHA-1 fingerprint of the certificate |
| CIRCLssl.Certificate.Usage | string | Extended key usage |
| CIRCLssl.Certificate.Distribution | string | CRL distribution points |
| CIRCLssl.Certificate.Issuer | string | Certificate issuer |
| CIRCLssl.Certificate.Time | date | Certificate issued time (***not_before) |
| CIRCLssl.Certificate.Subject | string | Certificate subject |
| CIRCLssl.Certificate.Key | string | Certificate public key |
| CIRCLssl.Certificate.Pem | string | Certificate in PEM format |
| CIRCLssl.Certificate.Seen | number | Number of times the certificate was seen |
Command Example
!circl-ssl-get-certificate certificate=37221925980c05deefac014f9a72b4765e716341
Context Example
{
"Distribution": "\nFull Name:\n URI:http://vassg142.crl.omniroot.com/vassg142.crl\n",
"Issuer": "C=NL, L=Amsterdam, O=Verizon Enterprise Solutions, OU=Cybertrust, CN=Verizon Akamai SureServer CA G14-SHA2",
"Key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtp19/XP3H9LNDAt7PUF/\nK8ug35VTcMM6HJt+bIqzKMKdTogXLv2gI24k/pS/T0y19H80dlg3PpJDyuISUvHf\n33nKT1ad+Z3cddFvo/FJU1gJZulAuovqc5bF6tSP7IKMGIyY9By1R4PsqftUYSu0\nlnfwGc8JDbt6BPGzyOnrk+UFgv7BidKKhlvW3nbKN2ydvFhOWQeFTsNaxkp+PzA1\nm/MwEiCetorBuVFWi5wTo0CFko9cFCFyWUp5eEaNUcVxAHwxnqWu0B9Cwsli9ei7\ngcIDUgPIkAbuo+GSLc8tRyb+pvBe6TPq4qlN0LdPDcMjodM+wUNrA4ojTNmzjRFb\nEwIDAQAB\n-----END PUBLIC KEY-----\n",
"Pem": "-----BEGIN CERTIFICATE-----\nMIIFkDCCBHigAwIBAgIUdIcF/AeOFgHhxbQhFzBZ+1ye94EwDQYJKoZIhvcNAQEL\nBQAwgY0xCzAJBgNVBAYTAk5MMRIwEAYDVQQHEwlBbXN0ZXJkYW0xJTAjBgNVBAoT\nHFZlcml6b24gRW50ZXJwcmlzZSBTb2x1dGlvbnMxEzARBgNVBAsTCkN5YmVydHJ1\nc3QxLjAsBgNVBAMTJVZlcml6b24gQWthbWFpIFN1cmVTZXJ2ZXIgQ0EgRzE0LVNI\nQTIwHhcNMTUwNDIzMTY1ODAzWhcNMTYwNDIzMTY1NzU5WjCBhDELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMRIwEAYDVQQHEwlNaW5hdG8ta3UxGTAXBgNVBAoT\nEFNvbnkgY29ycG9yYXRpb24xDDAKBgNVBAsTA05QUzEoMCYGA1UEAxMfcHNuLXJz\nYy5wcm9kLmRsLnBsYXlzdGF0aW9uLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBALadff1z9x/SzQwLez1BfyvLoN+VU3DDOhybfmyKsyjCnU6IFy79\noCNuJP6Uv09MtfR/NHZYNz6SQ8riElLx3995yk9Wnfmd3HXRb6PxSVNYCWbpQLqL\n6nOWxerUj+yCjBiMmPQctUeD7Kn7VGErtJZ38BnPCQ27egTxs8jp65PlBYL+wYnS\nioZb1t52yjdsnbxYTlkHhU7DWsZKfj8wNZvzMBIgnraKwblRVoucE6NAhZKPXBQh\ncllKeXhGjVHFcQB8MZ6lrtAfQsLJYvXou4HCA1IDyJAG7qPhki3PLUcm/qbwXukz\n6uKpTdC3Tw3DI6HTPsFDawOKI0zZs40RWxMCAwEAAaOCAe0wggHpMAwGA1UdEwEB\n/wQCMAAwTAYDVR0gBEUwQzBBBgkrBgEEAbE+ATIwNDAyBggrBgEFBQcCARYmaHR0\ncHM6Ly9zZWN1cmUub21uaXJvb3QuY29tL3JlcG9zaXRvcnkwga8GCCsGAQUFBwEB\nBIGiMIGfMC0GCCsGAQUFBzABhiFodHRwOi8vdmFzc2cxNDIub2NzcC5vbW5pcm9v\ndC5jb20wNgYIKwYBBQUHMAKGKmh0dHBzOi8vY2FjZXJ0LmEub21uaXJvb3QuY29t\nL3Zhc3NnMTQyLmNydDA2BggrBgEFBQcwAoYqaHR0cHM6Ly9jYWNlcnQuYS5vbW5p\ncm9vdC5jb20vdmFzc2cxNDIuZGVyMCoGA1UdEQQjMCGCH3Bzbi1yc2MucHJvZC5k\nbC5wbGF5c3RhdGlvbi5uZXQwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsG\nAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBT4vfqvc3fGxxv5S00Rp9Ezr69y\nETA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vdmFzc2cxNDIuY3JsLm9tbmlyb290\nLmNvbS92YXNzZzE0Mi5jcmwwHQYDVR0OBBYEFECotIoqM/RYjCUGFD97O9KzLnrA\nMA0GCSqGSIb3DQEBCwUAA4IBAQAtdu6/cFEzzP3NxTLG0Zidap+g4id4gTru1593\nXOc/RFobetN1/z6PYDR0l1tivaA8q1PU7swF8anK9m2+3Tn/MD9CONhaWHNuE3OY\nJlFreviSUih4EnUB2GKF78ac5I3VgNZwaOT6khsIqvNkFVEX4s0r1BweoTU75/mn\nm22SlEuGYWsree/ltMjYw08k2B/6aBFuwIaFbv57/1V/IBjufqLUNBcp01Rz62gE\nWstynBavGrQQPXInqRUxMSiuhHUQEZNgff5yesowMk4e7A0Q8DUo1VlqSXM4T27X\n5pS20KmmlWetKd5WTjpQYzjetHf6TYRy8+E8eebww2A7uO3A\n-----END CERTIFICATE-----\n",
"SHA1": "37221925980c05deefac014f9a72b4765e716341",
"Seen": "16",
"Subject": "C=JP, ST=Tokyo, L=Minato-ku, O=Sony corporation, OU=NPS, CN=psn-rsc.prod.dl.playstation.net",
"Time": "2015-04-23T16:58:03+00:00",
"Usage": "TLS Web Server Authentication, TLS Web Client Authentication"
}
Configuration parameters
url— Server URL (e.g. https://www.circl.lu) (required)credentials— Username (required)proxy— Use system proxy settingsinsecure— Trust any certificate (not secure)
Commands (4)
-
circl-dns-getGet DNS records for your query value from CIRCL's Passive DNS.
-
circl-ssl-get-certificateGet the raw certificate and related information.
-
circl-ssl-list-certificatesQuery IP address or CIDR blocks (/32 up to /23) for SSL certificates history.
-
circl-ssl-query-certificateQuery a certificate value to get all associated addresses
category: Data Enrichment & Threat Intelligence provider: LHC commonfields: id: CIRCL version: -1 configuration: - defaultvalue: https://www.circl.lu display: Server URL (e.g. https://www.circl.lu) name: url required: true type: 0 - display: Username name: credentials required: true type: 9 - display: Use system proxy settings name: proxy type: 8 required: false - display: Trust any certificate (not secure) name: insecure type: 8 required: false description: |- CIRCL Passive DNS is a database storing historical DNS records from various resources. CIRCL Passive SSL is a database storing historical X.509 certificates seen per IP address. The Passive SSL historical data is indexed per IP address. display: CIRCL name: CIRCL script: commands: - arguments: - description: IP address, hostname, or domain name. name: queryValue required: true description: Get DNS records for your query value from CIRCL's Passive DNS. name: circl-dns-get outputs: - contextPath: CIRCLdns.Query.Value description: Query Value. type: string - contextPath: CIRCLdns.Query.Record.Data description: DNS Record or IP Address. type: string - contextPath: CIRCLdns.Query.Record.LastTime description: DNS record last recorded time. type: date - arguments: - description: IP address or CIDR block. name: queryValue required: true description: Query IP address or CIDR blocks (/32 up to /23) for SSL certificates history. name: circl-ssl-list-certificates outputs: - contextPath: CIRCLssl.IPAddress.Value description: IP address. type: string - contextPath: CIRCLssl.IPAddress.Certificate.SHA1 description: ' The SHA-1 fingerprint of the certificate.' type: string - contextPath: CIRCLssl.IPAddress.Certificate.Subjects description: Certificate subjects. type: string - arguments: - description: SHA-1 fingerprint of a certificate. name: certificate required: true - defaultValue: '100' description: Limit the results number (Increasing number can cause browser slowdowns). name: limitResults description: Query a certificate value to get all associated addresses name: circl-ssl-query-certificate outputs: - contextPath: CIRCLssl.Certificate.SHA1 description: ' The SHA-1 fingerprint of the certificate.' type: string - contextPath: CIRCLssl.Certificate.Hits description: Number of hits for the certificate (number of associated addresses). type: number - contextPath: CIRCLssl.Certificate.IPAddress description: IP address associated to the certificate. type: string - arguments: - description: SHA-1 fingerprint of a certificate. name: certificate required: true description: Get the raw certificate and related information. name: circl-ssl-get-certificate outputs: - contextPath: CIRCLssl.Certificate.SHA1 description: The SHA-1 fingerprint of the certificate. type: string - contextPath: CIRCLssl.Certificate.Usage description: Extended key usage. type: string - contextPath: CIRCLssl.Certificate.Distribution description: CRL distribution points. type: string - contextPath: CIRCLssl.Certificate.Issuer description: Certificate issuer. type: string - contextPath: CIRCLssl.Certificate.Time description: Certificate issued time (***not_before). type: date - contextPath: CIRCLssl.Certificate.Subject description: Certificate subject. type: string - contextPath: CIRCLssl.Certificate.Key description: Certificate public key. type: string - contextPath: CIRCLssl.Certificate.Pem description: Certificate in PEM format. type: string - contextPath: CIRCLssl.Certificate.Seen description: Number of times the certificate was seen. type: number runonce: false script: '-' type: python subtype: python3 dockerimage: demisto/python3:3.12.13.10116658 tests: - CirclIntegrationTest fromversion: 5.0.0