A new SSH password guessing botnet: dd_ssh
20 August, 2010
Every few months it seems that there is a new variation of a password guessing botnet.
This time around, as reported by the SANS ISC
and also by malwarecity.com,
a botnet called "dd_ssh" has been built up around a vulnerability in phpMyAdmin.
(Here is the vulnerability announcement
from the Debian security list.) Once a vulnerable webserver has been compromised, the
botnet starts scanning random IP addresses for SSH servers and attempts to brute force
passwords for those systems that accept an SSH connection. Although software like
Fail2ban and DenyHosts can offer detection and mitigation by applying thresholds to
the number of failed login attempts in the SSH log and communicate offending source IP's
to a set of interested users, a fundamental problem is that the targeted SSH daemons
are reachable in the first place from arbitrary source IP's. A more powerful
solution is to hide your SSH daemon behind a default-drop firewall policy and only
grant access through Single Packet Authorization.
Any botnet that is scanning for SSH servers will not be able to guess any
passwords or even exploit a zero-day vulnerability in an SSH daemon that is protected
in this way.
Further, SSH brute forcing botnets have shown some innovative techniques where password guessing attempts are spread out over a long period of time and failed passwords are distributed across the botnet. The end result is that each botnet node knows the population of passwords that other nodes have already tried on each targeted SSH daemon, and so new passwords can be tried while still slipping beneath common detection thresholds. The same password never has to be tried twice botnet-wide. It is not clear yet whether the dd_ssh botnet uses a similar password distribution strategy, but either way I intend to stop such guessing games at the earliest stage possible and block all SSH connections by default.




