Researcher starts poking around with nmap, and realizes the internet is bursting at the seams with unbelievably insecure devices. Seeing an opportunity for some research, said researcher whips up a carefully-designed-to-be-benign botnet “virus.” It scans computers looking to see if it can log in with one of four sadly common username / password combinations. The result? A (deliberately temporary) infection of 420,000 different embedded systems, which all proceed to start port-scanning the entire IPv4 address space and sending back results.
In the process the researcher learns that “As a rule of thumb, if you believe that ‘nobody would connect that to the Internet, really nobody’, there are at least 1000 people who did.” This includes “x86 equipment with crypto accelerator cards, industrial control systems, and physical door security systems.”
“An anonymous researcher has taken an unorthodox approach to achieve the dream of mapping out the entire remaining IPv4 internet – and in doing so broken enough laws around the world to potentially put him or her behind bars for thousands of years.
To scan the IPv4 address space, billions of pings must be sent to discover all the connected computers, and this realistically requires a lot of machines to do the scanning. While noodling around with an Nmap scripting engine, the researcher noticed a lot of virtually unsecured IPv4 devices: they only required a trivial admin/admin or root/root username-password login, or no password at all. What if these could be used as a temporary botnet to perform the scan?
“I did not want to ask myself for the rest of my life how much fun it could have been or if the infrastructure I imagined in my head would have worked as expected,” the report “Internet Census 2012” states.
“I saw the chance to really work on an Internet scale, command hundred thousands of devices with a click of my mouse, portscan and map the whole Internet in a way nobody had done before, basically have fun with computers and the Internet in a way very few people ever will.”
The report states that the software, written in C, was made up of two executable parts 46KB and 60KB in size: one part was a telnet scanner that tried to log into the vulnerable devices and propagate; the second part contained the control code to assign scan ranges and feed the results back.
The executables were only temporarily present in the infected devices: a reboot would wipe the injected code completely, and we’re told the software didn’t intercept normal internet traffic running though the device or any intranet-connected systems.
The code was set to run as lowest possible priority in the infected device to avoid interference and included a watchdog to make sure normal operations of the host weren’t overloaded. It also carried a readme file with a description of the project and an email address for the owner, or law enforcement, to get in touch if it was discovered.
After releasing the code overnight the report’s writer found 420,000 suitable botnet endpoints, accounting for around a quarter of the total number of suitable IPv4 systems with enough CPU and RAM and which ran Linux. The botnet was able to spread quickly and efficiently just using the four login combinations and was soon reporting back in healthy numbers.
“While everybody is talking about high-class exploits and cyberwar, four simple stupid default telnet passwords can give you access to hundreds of thousands of consumer as well as tens of thousands of industrial devices all over the world,” the unnamed researcher stated in the report.
The vast majority of infected systems were consumer routers or set-top boxes, but the software also encountered Cisco and Juniper hardware, x86 equipment with crypto accelerator cards, industrial control systems, and physical door security systems.
“A lot of devices and services we have seen during our research should never be connected to the public Internet at all. As a rule of thumb, if you believe that ‘nobody would connect that to the Internet, really nobody’, there are at least 1000 people who did,” the report states.
“Whenever you think ‘that shouldn’t be on the Internet but will probably be found a few times’ it’s there a few hundred thousand times. Like half a million printers, or a Million Webcams, or devices that have root as a root password.”
In all the project took nearly six months and the full scan was concluded by October last year. The report estimates that the remaining number of active IPv4 addresses is around 1.3 billion, out a total of around 4.3 billion. The complete scan data, all 9TB or it, is available for download, but not the botnet which created it.
“The actual research itself is noteworthy in that it is the most comprehensive Internet-wide scan. I’d like to see more projects of this kind, conducted legally, and sharing information about the real state of play on the internet,” said Mark Schloesser, security researcher at Rapid7 in an emailed statement.
“While the Internet Census 2012 provides interesting data, the way it was collated is highly illegal in most countries. Using insecure configurations and default passwords to gain access to remote devices and run code on them is unethical, and taking precautions to not interfere with any normal operation of the devices being used doesn’t make it OK,”
He has a point. Monday’s sentence of three years and five months in prison for Andrew Auernheimer, a member of the grey-hat hacking collective Goatse Security, after he used a server vulnerability to expose iPad user accounts is causing great concern to some in the security research industry.
The two situations aren’t exactly the same, but a strict interpretation of the law in both the US and elsewhere would make the Carna botnet used highly illegal and each node could be worth its own charge to an over-zealous prosecutor. No wonder the researcher in question wishes to remain anonymous.”