Termineter
Termineter is a Python framework for security testing of smart meters using C1218 and C1219 protocols over an ANSI type-2 optical probe. It supports modules for tasks like brute forcing credentials, enumerating tables, and dumping data from C12.19 compliant devices.
Description
Termineter provides a platform for assessing the security of smart meters commonly found in North America, which use C1219-2007 with 7-bit character sets. The tool communicates via serial interface with an ANSI type-2 optical probe, enabling interaction with meter identification, user IDs, and C12.19 tables.
Use cases include brute forcing login credentials, enumerating valid user IDs, checking table differences, dumping tables to CSV, and parsing identification information. These capabilities help identify vulnerabilities in smart meter implementations during penetration testing or security audits.
The framework loads 17 modules by default and supports resource files for scripted testing. Logging levels allow control over output verbosity, making it suitable for both interactive and automated assessments.
How It Works
Termineter implements C1218 and C1219 protocols for communication over optical interfaces with smart meters. It connects via serial to an ANSI type-2 optical probe, supporting C1219-2007 7-bit character sets prevalent in North American meters. Modules interact with device tables using C12.19 standards, performing operations like enumeration, dumping, and brute forcing through structured protocol commands.
Installation
sudo apt install termineterFlags
Examples
terminetertermineter > show modulestermineter -htermineter -vtermineter -L DEBUGtermineter -r resource_filetermineter > brute_force_login