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.