A few months ago, while searching for malware that uses unusual or unexpected methods of data exfiltration, I stumbled upon a relatively new group of Trojans designed to steal banking credentials for banks based in Central and South America.
The malware ends up in a wide variety of "family" definitions when scanned by various AV products, but it uses the internal name NovoKL (probably Portugese for "new keylogger") in strings dumped from the various samples we've been running in the lab since March. It shares some characteristics with other keyloggers that end up branded in the catch-all "Bancos," or slightly more specific "Broban.AQ" antivirus definitions used by a number of companies (except Symantec, which calls it Infostealer.Escelar).
Unlike most other phishing Trojans, the malware uses SQL commands sent over a connection to a database server as its command-and-control, payload delivery, and data exfiltration mechanism. It also seems to be extensible, as we've observed samples in the lab retrieve multiple, varied payloads, some of which add aditional functionality to the core malware.
All of these samples are delivered through the same database connection protocol, known as Tabular Data Streams, or TDS. The default TCP port number for TDS services is 1433; Connections from the various malware samples to a small number of machines hosted in a Brazilian IP address range all have used this standard port for C&C. While I'm familiar with a wide range of both common and weird, bespoke methods for C&C traffic, I hadn't previously seen malware interacting directly with a database server using the formal language of a SQL query.