nturley3 / zeek-http-suspect-data-exposure

Sensitive HTTP Data Exposure/Leak Detection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sensitive HTTP Data Exposure/Leak Detection

Purpose

Detects the presence of potentially sensitive information in HTTP payloads such as debug information, credentials, site indexes, installation files, and more. This package is ideal for checking data hygiene and reducing the attack surface.

Installation/Upgrade

This script was tested using Zeek 3.0.11 and 4.0.3.

This is easiest to install through the Zeek package manager:

zkg refresh
zkg install https://github.com/nturley3/zeek-http-suspect-data-exposure

If you need to upgrade the package:

zkg refresh
zkg upgrade https://github.com/nturley3/zeek-http-suspect-data-exposure 

See the Zeek Package Manager Docs for more information.

Configuration

No additional Zeek configuration is necessary for this module.

Generated Outputs

This script generates multiple notices:

Notice msg field sub field Description
HTTPAppExposure::App_Error_Found HTTP payload of website contains application errors - Response: <status code> - URL: <url> Excerpt of Data Generated when various signatures of application errors have been detected.
HTTPAppExposure::Suspect_PHP_Code HTTP payload of website contains suspicious PHP code exposure - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when an application is detected exposing PHP code.
HTTPAppExposure::PhpInfo Local site found exposing a phpinfo page - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when the a debug phpinfo() page is detected.
HTTPAppExposure::App_Index_Found HTTP payload of website contains site index exposure - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when an application directory index is exposed (e.g. Apache directory index).
HTTPAppExposure::Default_Install_Page_Found Default web server install page found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when a default Operating System or Web Server page is identified.
HTTPAppExposure::Credentials_Found Possible exposed credentials found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when an attempt was made to identify exposed credentials in files or other objects exposed on a web service.
HTTPAppExposure::Drupal_Install_Found Drupal installation site found- Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when a Drupal installation page was found.
HTTPAppExposure::Wordpress_Install_Found Wordpress installation site found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when a Wordpress installation page was found.
HTTPAppExposure::Joomla_Install_Found Joomla installation site found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when a Joomla installation page was found.
HTTPAppExposure::PhpMyAdmin_App_Found PHPMyAdmin management application found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when an exposed PHPMyAdmin application was detected.
HTTPAppExposure::Tomcat_Install_Found Tomcat default installation site found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when a Tomcat default installation page was found.
HTTPAppExposure::Tomcat_Manager_Found Tomcat manager with basic authentication found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> <respHost>:<respPort><uri> (username: <username>, password: <password>) Generated when a Tomcat application server management page was found and is using basic, unencrypted authentication.
HTTPAppExposure::Apache_Server_Status_Found Possible Apache Server Status Page (Apache status module) found - Response: <status code> <method> - URL: <respHost>:<respPort><uri> Excerpt of Data Generated when an Apache Server Status page was found.

Usage

A security analyst can examine the generated notice logs for potential organization vulnerabilities.

  • Application errors or exposed PHP code could indicate a vulnerable, misbehaving, or broken application.
  • Debug information, status pages, and index pages aids threat actors' reconnaissance and may expose credentials or links to sensitive files.
  • Application install pages could be used to install malicious sites and compromise servers.
  • Default web pages could indicate a misconfigured, unhardened, or abandoned (and potentially unpatched) server.
  • Administration tools are of interest and commonly targeted by threat actors.

Type: Data Hygiene, Threat Hunting

About

Written by @nturley3 and @forewarned.

About

Sensitive HTTP Data Exposure/Leak Detection

License:Apache License 2.0


Languages

Language:Zeek 100.0%