DBotPredictURLPhishing

Predict phishing URLs using a pre-trained model.

python · Phishing URL

Details

IDDBotPredictURLPhishing
Languagepython
From Version6.0.0
Docker Imagedemisto/mlurlphishing:1.0.0.8936013
Tagsml

README

Predict phishing URLs using a pre-trained model.

Security Recommendations


This script uses the Rasterize integration. If this script is used to rasterize untrusted URLs, we strongly recommend following the security recommendations included at the Rasterize Documentation.

Script Data


Name Description
Script Type python3
Tags ml
Cortex XSOAR Version 6.0.0

Used In


This script is used in the following playbooks and scripts.

Phishing - Machine Learning Analysis

Inputs


Argument Name Description
urls Space-separated list of URLs.
emailBody Body of the email for URL extraction.
emailHTML HTML of the email for URL extraction.
maxNumberOfURL Maximum number of extracted URLs on which to run the model.
forceModel Whether to force the model to run if the URL belongs to the whitelist. If True, the model will run in every case. If False, the model will run only if the URL does not belong to the whitelist.
resetModel Whether to reset the model to the model existing in Docker.
defaultRequestProtocol The protocol to use when calling the URLs. This argument effects the calls sent by the model only and has no effect on the rasterize or whois commands.
debug Whether to enter debug mode.
reliability Reliability of the source providing the intelligence data.

Outputs


Path Description Type
DBotPredictURLPhishing.URL URL on which the model ran. String
DBotPredictURLPhishing.FinalVerdict Final verdict of the URL. String
DBotPredictURLPhishing.UseOfSuspiciousLogo Whether a logo (from our list of top most use company for phishing) has been fraudulently used. Our predefined list of logos is: Paypal, Instagram, Gmail, Outlook, Linkedin, Facebook, Ebay, amazon, Google, Microsoft. String
DBotPredictURLPhishing.HasLoginForm Whether there is a login form in the HTML. Usually phishing attacks aim to steal credentials from the victim and attackers using login forms to retrieve this information. String
DBotPredictURLPhishing.URLStaticScore Probability for the URL to be malicious based only on the URL syntax. Number
DBotPredictURLPhishing.BadSEOQuality Whether the domain has a good search engine optimization. Malicious domains tend to have a poor SEO. String
DBotPredictURLPhishing.NewDomain Whether the domain is younger than 6 months. New domains tend to be malicious. String
DBotPredictURLPhishing.TopMajesticDomain Whether the domain belongs to the top Majestic domain list. If it does, we will always consider this domain as benign. String
DBotScore.Score Severity score. Number

Script Examples

Example command

!DBotPredictURLPhishing urls="http://google.com"

Context Example

{
  "DBotPredictURLPhishing": [
    {
      "FinalVerdict": "Benign",
      "TopMajesticDomain": "True",
      "URL": "http://google.com"
    }
  ]
}

Human Readable Output

Phishing prediction summary for URLs

URL Final Verdict
http://google.com Benign - whitelisted
args:
- description: Space-separated list of URLs.
  isArray: true
  name: urls
- description: Body of the email for URL extraction.
  name: emailBody
- description: HTML of the email for URL extraction.
  name: emailHTML
- defaultValue: '3'
  description: Maximum number of extracted URLs on which to run the model.
  name: maxNumberOfURL
- defaultValue: '120'
  description: The timeout of the rasterize module in seconds.
  name: rasterize_timeout
- auto: PREDEFINED
  defaultValue: 'False'
  description: Whether to force the model to run if the URL belongs to the whitelist. If True, the model will run in every case. If False, the model will run only if the URL does not belong to the whitelist.
  name: forceModel
  predefined:
  - 'True'
  - 'False'
- auto: PREDEFINED
  defaultValue: 'False'
  description: Whether to reset the model to the model existing in Docker.
  name: resetModel
  predefined:
  - 'False'
  - 'True'
- description: The protocol to use when calling the URLs. This argument effects the calls sent by the model only and has no effect on the rasterize or whois commands.
  defaultValue: 'HTTP'
  name: defaultRequestProtocol
  auto: PREDEFINED
  predefined:
  - 'HTTP'
  - 'HTTPS'
- auto: PREDEFINED
  description: Whether to enter debug mode.
  defaultValue: 'False'
  name: debug
  predefined:
  - 'False'
  - 'True'
- auto: PREDEFINED
  description: Reliability of the source providing the intelligence data.
  defaultValue: A+ - 3rd party enrichment
  name: reliability
  predefined:
  - A+ - 3rd party enrichment
  - A - Completely reliable
  - B - Usually reliable
  - C - Fairly reliable
  - D - Not usually reliable
  - E - Unreliable
  - F - Reliability cannot be judged
comment: Predict phishing URLs using a pre-trained model.
commonfields:
  id: DBotPredictURLPhishing
  version: -1
enabled: true
name: DBotPredictURLPhishing
outputs:
- contextPath: DBotPredictURLPhishing.URL
  description: URL on which the model ran.
  type: String
- contextPath: DBotPredictURLPhishing.FinalVerdict
  description: Final verdict of the URL.
  type: String
- contextPath: DBotPredictURLPhishing.UseOfSuspiciousLogo
  description: 'Whether a logo (from our list of top most use company for phishing) has been fraudulently used. Our predefined list of logos is: Paypal, Instagram, Gmail, Outlook, Linkedin, Facebook, Ebay, amazon, Google, Microsoft.'
  type: String
- contextPath: DBotPredictURLPhishing.HasLoginForm
  description: Whether there is a login form in the HTML. Usually phishing attacks aim to steal credentials from the victim and attackers using login forms to retrieve this information.
  type: String
- contextPath: DBotPredictURLPhishing.URLStaticScore
  description: Probability for the URL to be malicious based only on the URL syntax.
  type: Number
- contextPath: DBotPredictURLPhishing.BadSEOQuality
  description: Whether the domain has a good search engine optimization. Malicious domains tend to have a poor SEO.
  type: String
- contextPath: DBotPredictURLPhishing.NewDomain
  description: Whether the domain is younger than 6 months. New domains tend to be malicious.
  type: String
- contextPath: DBotPredictURLPhishing.TopMajesticDomain
  description: Whether the domain belongs to the top Majestic domain list. If it does, we will always consider this domain as benign.
  type: String
- contextPath: DBotScore.Score
  description: Severity score.
  type: Number
script: '-'
subtype: python3
tags:
- ml
timeout: 480ns
type: python
dockerimage: demisto/mlurlphishing:1.0.0.8936013
runas: DBotRole
tests:
- DBotPredictURLPhishing_test
fromversion: 6.0.0