CertSec is a Windows tool that monitors SSL/TLS certificates of non-browser applications and implements certificate pinning to protect against Man-in-the-Middle attacks targeting updaters.
- Stores certificates on first contact with a server
- Validates certificate matching on future connections
- Automatically blocks connections with changed certificates
When certificate changes are detected, a detailed dialog is displayed with:
- ?? Clear Warning about potential hacker attack
- Old/New Comparison: Fingerprint, issuer, expiration date
- IP Address Tracking: Shows previous and current server IP
- IP Change Warning: Highlighting when the IP has changed
- Two-Way Decision:
- ? BLOCK (Recommended): Connection is denied
- ?? Update (Risk!): Accept new certificate with double confirmation
- Automatically redirects HTTPS traffic (Port 443) from non-browser apps
- Uses Windows Firewall rules and system proxy settings
- Similar to Privoxy, but specifically for certificate pinning
- Automatically filters web browsers (Chrome, Firefox, Edge, Opera, etc.)
- Focuses on other applications (update programs, desktop apps, etc.)
- Certificate database in
%APPDATA%\Roaming\CertSec\certificates.db - Event logs in
%APPDATA%\Roaming\CertSec\events.log - Survives program and system restarts
- Real-time monitoring of all monitored connections
- Color-coded status display
- Detailed event logs
- Start CertSec.exe
- Switch to the "Certificates" tab
- Here you can see all stored certificates with details
- Select a certificate
- Click "Remove"
- On the next connection, the certificate will be learned anew
- Select a certificate
- Click "Change Trust"
- Certificates marked as untrusted block all connections
- Click "Delete All"
- Confirm the security prompt
- All certificates are removed and must be learned anew
- Allowed (Green): Connection allowed, certificate validated
- NewCertificate (Blue): New certificate learned (TOFU)
- Blocked (Red): Connection blocked (untrusted)
- CertificateChanged (Red): Certificate has changed - possible MITM attack!
- CertificateExpired (Orange): Certificate has expired
- ValidationFailed (Red): Certificate validation failed
Administrator rights are required for automatic traffic redirection because:
- Windows Firewall rules must be created
- System-wide proxy settings are changed
- Network traffic is redirected
When automatic redirection is enabled, the following firewall rules are created:
- Name:
CertSec_HTTPS_Redirect - Direction: Outbound
- Protocol: TCP
- Port: 443
- Action: Allow (with redirection to proxy)
These rules are automatically removed when deactivated.
When automatic redirection is enabled, system proxy settings are temporarily changed:
- Proxy:
127.0.0.1:8888(or your configured port) - Bypass: Local addresses and browser traffic
Settings are restored when deactivated.
- ProxyService: Local HTTPS proxy for connection monitoring
- CertificateStore: Persistent storage of certificate data
- CertificateValidator: Validation and certificate pinning
- TrafficRedirector: Automatic redirection via firewall and system proxy
- ProcessMonitor: Identification of browser vs. non-browser processes
%APPDATA%\Roaming\CertSec\
??? certificates.db - Serialized certificate database
??? events.log - Text-based event logs
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Internet Explorer
- Opera
- Brave
- Vivaldi
- Safari
- Start CertSec with right-click ? "Run as administrator"
- Change the proxy port to a free port (e.g., 8080, 8889)
- Check if the firewall is blocking CertSec
- Make sure the application is using the proxy
- Some servers use load balancers with different certificates
- Disable monitoring for these hosts or mark as trusted
- Process Detection: Process identification is based on netstat and is not 100% reliable
- Certificate Rotation: Legitimate certificate changes require manual confirmation
- Performance: With many simultaneous connections, delays may occur
This project is for demonstration and security research purposes only. It is published under the Apache 2.0 license.
?? Important: This tool should only be used on your own systems. Intercepting and monitoring network traffic without consent may be illegal.