Steve Gibson accidentally creates DoS tool
ShieldsUp ripe for malicious use
Techno hypemeister Steve Gibson, who clamored for headlines some months back with a dramatic prediction that the misuse of Win-XP's raw sockets would destabilize the entire Internet, has made his own inadvertent contribution to the malicious hackers' tool chest.
Gibson's Web site is littered with hyped-up bells and whistles to mystify the unsophisticated technophile, most of which are harmless; but one of his little magicians' props can be misused to launch a denial of service attack, a security researcher has discovered.
It turns out that his port scanner, ShieldsUp, can easily be directed at arbitrary IP addresses while returning the scan results to the initial user. Thus the tool would become an effective proxy for performing anonymous port scans. Even better, if such an attack were scripted, it would be possible to tie up a Web site with a torrent of Gibson's mighty NanoProbes.
The ShieldsUp flaw was mentioned briefly during a recent Blackhat session regarding the secure development of Web applications by researcher 'Thor' from HammerOfGod.com.
How it works
The problem here is a weak method of determining the ShieldsUp user's IP, which Gibson alludes to in his instructions. "If your IP address is incorrectly determined the wrong machine will be mistakenly tested," he warns. [Gibson's emphasis]
So it's clear that Stevarino can foresee the problem; he just doesn't care enough, or know enough, to fix it properly.
"Gibson has chosen to use a simple hidden tag in the client-side HTML code to identify the IP address that is passed to the scanning engine. Though the client's IP address is hashed, it is trivial to alter the value of the hidden tag in order to request that a different IP address be scanned. The true IP address is never checked in the HTTP header during the scan, and ShieldsUp happily scans the other box while returning the result set into browser of the box the called for the scan," HammerOfGod member 'Magni' says.
But it gets better. Gibson's finger-in-the-dike solution is a little download called "IP Agent" which will ensure that ShieldsUp gets your IP right. Ironically, this little toy makes it even easier to misuse the scanning service.
"We can easily bypass the need to crack the hash by simply using the 'IP Agent' supplied by Gibson....the IP Agent now supports multiple client IP addresses. One simply needs to bind arbitrary IP addresses to a local interface, and perform a scan request. In this case, ShieldsUp presents friendly command buttons listing the IP addresses bound to the local interfaces, and allows you to select any one that you want scanned. Again, no other checking is done, and SheildsUp will scan whatever IP address you ask it to, and report the results into your own browser," Magni observes.
Furthermore, "multiple post requests can be easily scripted to perform scans against a site in attempts to perform a denial of service attack against a host. In these cases, with sufficient requests generated, one could ask grc.com to attack another site, and it will comply."
The IP Agent doesn't even need to be hacked. It will accommodate malicious users straight out of the box.
"One would have hoped that instead of spending so much time expounding on the theoretical denial of service capabilities of Raw Sockets, [Gibson would have used] that time to properly develop his own application in order to prevent the same. In order to prevent the malicious use of Gibson's site to attack our systems, we have blocked Gibson's subnet at the border."
We found this exploit preposterously easy to execute, so perhaps you should do the same. ®