I've been monitoring my Apache logs all day for the string "() {". So far Robert Graham's scan is the only match. This is what the log entry looks like:
Someone not wanting to stick out might only probe headers that are less-often logged, but still possibly passed-along as environment variables. Has anyone logged 'HTTP_FROM' in a long while?
Any suggestions on how to best check if they succeeded? I think I'm safe as I upgraded Ubuntu Bash right after the announcement, and run Nginx+Uwsgi instead of Apache with CGI enabled. But Nginx might set some environment variables somewhere as well.
The DHCP attack vector is the one that is scariest to me. We know that dhclient on Linux is vulnerable, but the number of unpatched Linux machines on a public wifi network will likely be too small to be worthwhile to try to capture. Macs on the other hand are prevalent in places like coffee shops, and Apple is notoriously slow to patch security vulnerabilities in their operating systems. Has anyone done much analysis on OS X's vulnerability to this bug?
>Update: Someone is using masscan to deliver malware. They'll likely have compromised most of the system I've found by tomorrow morning. If they using different URLs and fix the Host field, they'll get tons more.
To be vulnerable to this I need to be running CGI scripts right? I have my system set up with reverse nginx proxies and haproxy TCP mode pass through to things like nginx static files and Node.js servers. Can he run his ping command on my servers? I am thinking not.
No, CGI is just the most obvious use of user-controlled environment variables. Other systems may also set environment variables to user-controlled strings for whatever reason. If such a system ever invokes bash, even indirectly or implicitly, with user-controlled environment variables set, that system is vulnerable.
Example non-CGI vulnerable systems from RedHat: CUPS, dhclient.
[+] [-] agwa|11 years ago|reply
[+] [-] gojomo|11 years ago|reply
[+] [-] ProblemFactory|11 years ago|reply
[+] [-] mappu|11 years ago|reply
[+] [-] gojomo|11 years ago|reply
[+] [-] gcr|11 years ago|reply
[+] [-] NamTaf|11 years ago|reply
[+] [-] xnull2guest|11 years ago|reply
Really interested to see where the bug crops up aside from CGI scripts.
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] thefreeman|11 years ago|reply
[+] [-] nwh|11 years ago|reply
[+] [-] joeshaw|11 years ago|reply
[+] [-] rsmarples|11 years ago|reply
[+] [-] wcfields|11 years ago|reply
209.126.230.72 - - [24/Sep/2014:15:04:17 -0700] "GET / HTTP/1.0" 200 62 "() { :; }; ping -c 11 216.75.60.74" "shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-in...
209.126.230.72 - - [24/Sep/2014:17:14:58 -0700] "GET / HTTP/1.0" 200 62 "() { :; }; ping -c 11 209.126.230.74" "shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-in...
[+] [-] lcedp|11 years ago|reply
[+] [-] piran|11 years ago|reply
[+] [-] waynecochran|11 years ago|reply
[+] [-] waynecochran|11 years ago|reply
Bad news.
[+] [-] showsover|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] ilaksh|11 years ago|reply
[+] [-] nitrogen|11 years ago|reply
Example non-CGI vulnerable systems from RedHat: CUPS, dhclient.
[+] [-] jamil0125|11 years ago|reply
[+] [-] jamil0125|11 years ago|reply
[deleted]