With malware dependency on domain name systems (DNS) and the use of domain generation algorithms (DGAs) on the rise, we’ve also seen an increase in the use of sinkholing as a defense and intelligence-gathering technique.
Sinkholing is a tactic used to redirect traffic from infected machines to a system under the control of a defender or researcher. Generally, sinkholing takes two forms: internal (where you only manipulate victim machines within your own organization) and external (where you manipulate victim machines on the Internet).
Internal sinkholing is valuable to identify infected machines on the network and to sever the adversarial control of them. Organizations generally have complete control over their networks, so they can redirect traffic bound for an external malicious IP to an internal sinkhole, as well as use malicious-domain lists and their internal DNS resolver to redirect traffic. It can be valuable for many reasons, from defense to intelligence.
For instance, seeing traffic redirected from an internal victim would provide the ability to see attributes of the traffic such as user-agent or path that could be fed into Web proxies to find other victims or to block the traffic outright.
The more controversial option is external sinkholing, which usually involves registering known malicious domains. This can be accomplished by picking up malicious domains as they expire or by registering domains in a DGA, as adversaries generally do not register all that’s available.
While sinkholing may seem complicated, generally most malware uses HTTP/HTTPS to communicate with its controller. This means running a sinkhole can be as simple as running Apache or nginx on the appropriate ports and monitoring the access logs.
Simple Execution, Complex Risks
Although sinkholing is simple to execute, complex risks can be involved. First, some obvious legal issues may crop up with external sinkholing; for example, victim machines are now contacting a server you control. If, for instance, you use external sinkholing to control victim machines that do not belong to your organization -- even if it’s for benefit -- it’s a criminal act in most jurisdictions. This holds true even if there is a “self-destruct” feature in the malware that will uninstall itself when given the command to do so.
In addition, a “legitimate” sinkhole can be indistinguishable from a malicious controller. To counter this, many sinkholes will self-identify as such, usually from reverse DNS or by using name-servers that make it clear they are not malicious systems.
Another issue is victim notification. A sinkhole operator has visibility into which organizations and networks have infected machines, and many of those networks are likely unaware they have an infection. To address this, most defenders and researchers find a mechanism to report to victims that they have a problem. For example, they run victim IP addresses through an IP to ASN (access service network) service and report the information to the appropriate contacts. Shadowserver, which operates its own sinkholes, even offers a service that allows network owners to receive reports on their networks.
Finally, there’s the issue of basic operational security. By registering a domain in a DGA, the adversary is able to determine that their DGA has been reversed and people are monitoring them. While not common, some adversaries do frequently change their DGAs when they feel their infrastructure is getting too much attention. For example, during the CryptoLocker investigation, the ratio of domains registered to sinkholes to domains that were actually malicious was approximately 125:1.
It should also be pointed out that some global top-level domains (TLDs) do not offer WHOIS privacy protection, which means the domain either has to be registered under a fake identity or the identity of a real person.
Reward: Valuable Threat Intelligence
Despite the inherent risks, valuable intelligence can be gained from running an external sinkhole. Just victim counts and geographic distribution alone can be enough to get law enforcement engaged on a particular threat. The ability to see how traffic communicates to a potential controller is also useful for crafting defenses.
Additionally, this information can be important to the security community at large. Organizations generally all face the same threats, and by sharing information gleaned from sinkholing, a certain economy of scale can be realized without the need for all organizations to undertake the same research. Instead, they are able to rely on privately shared information to deal with common threats.
Ultimately, sinkholing is an important tool to have in your arsenal when dealing with emerging threats.