Forum Moderators: open
Why post in this forum now? Because until tonight's rabid run-through, I never really saw the hits as bot-like. But tonight's hit rate from a single host suddenly resembled how freaked out some search- and spambots act when they're denied.
adsl-nn-nnn-nn-nnn.dsl.lsan03.sbcglobal.net
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
07/08 20:25:19 /directory/(null)
07/08 20:25:19 /directory/(null)
07/08 20:25:19 /directory/(null)
07/08 20:25:19 /directory/(null)
07/08 20:25:19 /directory/(null)
07/08 20:25:19 /directory/(null)
07/08 20:25:27 /directory/(null)
07/08 20:25:27 /directory/(null)
07/08 20:25:33 /directory/(null)
07/08 20:25:33 /directory/(null)
07/08 20:25:33 /directory/(null)
07/08 20:25:37 /directory/(null)
07/08 20:25:38 /directory/(null)
07/08 20:25:38 /directory/(null)
07/08 20:25:38 /directory/(null)
07/08 20:25:38 /directory/(null)
07/08 20:25:39 /directory/(null)
07/08 20:25:39 /directory/(null)
07/08 20:25:39 /directory/(null)
07/08 20:25:39 /directory/(null)
07/08 20:25:44 /directory/(null)
For those still following along (or awake, ahem:), I've had 56 "/(null)" hits thus far this month, including the above. Thoughts? Anyone?... Bueller?... Bueller?
71.164.229.20x - - [05/Jun/2009:10:25:26 -0500] "GET /(null) HTTP/1.1" 403 0 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618)"
Jim
My condolences on the Window$ $erver$ thing... ;)
Jim
From checking up on trinity yesterday it seems to be some kind of spoofing option for MSIE 8 to allow users to make it look like MSIE 7: apparently some sites don't work with MSIE 8. Shades of Mozilla? :)
I do know I get a lot of suspect hits from seemingly "real" browsers with trinity in the UA, usually with bad headers.
It's possible that the /(null) requests are sent only to Apache servers, but that seems on its face to be unlikely, as it would require special code in the client to examine the server's identifying response headers and behave accordingly. Hopefully, we can get enough reports here from other Webmasters on Windows servers to get a sufficiently-large sample to answer to that question.
Jim
No time pattern, no geo pattern, no other browser configuration or add-on patterns. The only similarity I see is that none include a referring site or SE and they all are for the default page even though I have many entrance pages.
83.93.194.*** - - [08/Jul/2009:03:38:49 -0700] "GET www.my-site.com/(null) HTTP/1.1" 403 479 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)"
94.194.52.*** - - [08/Jul/2009:07:18:07 -0700] "GET www.my-site.com/(null) HTTP/1.1" 403 478 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.2)"
24.8.156.*** - - [08/Jul/2009:12:50:06 -0700] "GET www.my-site.com/(null) HTTP/1.1" 403 478 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)"
71.136.34.** - - [08/Jul/2009:13:37:31 -0700] "GET www.my-site.com/(null) HTTP/1.1" 403 478 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)"
24.29.76.*** - - [08/Jul/2009:14:39:56 -0700] "GET www.my-site.com/(null) HTTP/1.1" 403 478 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727; InfoPath.2)"
98.116.207.*** - - [08/Jul/2009:19:13:35 -0700] "GET www.my-site.com/(null) HTTP/1.1" 403 480 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.30729; .NET CLR 3.5.21022; .NET CLR 3.5.30729)"
Trident is the MSIE rendering engine
It's possible that the /(null) requests are sent only to Apache servers, but that seems on its face to be unlikely
@Gary: I may be misunderstanding your comment but the UAs are all different but for having "MSIE 8.0" and more specifically "Trident/4.0" in the string. However, not all Trident/4.0-containing UAs request "/(null)" files. I'd be surprised if you grepped more than a few dozen "/(null)" requests a month in any one site's 2009 logs.
@keyplyr: Sooner or later, I reckon you'll see hits to subdirectories. I consistently see a mix of top level and multiple subdirs now. The mix made me wonder if the nulls might be bookmark- or favicon-related but it's too inconsistent. FWIW, I also thought Trident might be burping when it encountered older code but that doesn't fit across all visitors either.
This is beginning to sound like a case for Sherlock Holmes. Or House, M.D. :)
81.76.50.nnn - - [10/Jul/2009:07:59:01 +0100] "GET /(null) HTTP/1.1" 404 4801 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)" 0 example.com "-" "-"
81.76.50.nnn - - [10/Jul/2009:07:59:26 +0100] "GET /articles/(null) HTTP/1.1" 404 5110 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)" 0 example.com "-" "-"
No other log entries for 81.76.50.nnn. It just gets those null pages and moves on.
So for example with a PHP app using example.com/(null) will setup the $_SERVER variables, some including the (null) string. Now depending what the web scripts do, may expose the server path if they are errors, or include the string with an error page.
This can quickly tell an attacker of the server response and whether or not the application handles the 404 with custom html content or a custom redirect. If you don't redirect then the 404 is typically invoked. If the 404 is a custom page they can check if the response includes the null string.
I tested this with some popular cms and cart packages and in several cases I can see that (null) thing been included with the error or redirect page. The next thing they could do is to try xss against these scripts.
Here is an example from a 404 page I checked following the url with the null on a popular CMS.
<form action="/(null)" accept-charset="UTF-8" method="post" id="search-theme-form">
see where the (null) ended up? It means there was no filtering on that request and the application passed it blindly to the client. It is parameter propagation and can be used for all sort of things.
The pattern changes: sometimes it's lots of hits from one IP, other times lots of IPs at one or two apiece.
What I've found is that the UAs of the attackers are generally non-Trident MSIE and show as very basic (unpatched) MSIE UAs for most machines since 2000.
Not that this UA is a guide in itself: my 2000 server is fully patched (as much as any MS OS can be) and is still showing the same UA it arrived with. The difference with the php hits is a lack of certain headers.
Still, who needs MSIE with Firefox around? :)
The majority of the requests include the trident 4/0 in the UA. There were few instances without. Here are a couple of real ones:
150.70.84.#*$! - - [14/Jun/2009:15:05:45 -0400] "GET /shutters/(null) HTTP/1.0" 301 0 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
67.223.204.#*$! - - [20/Jun/2009:09:14:13 -0400] "GET /(null) HTTP/1.1" 301 5 "-" "-"
But these aren't real browsers by any means though as the headers are invalid. So theoretically at least anyone could setup a fake UA and request a url with this pattern.
the site root-of.tld was just launched and seen seen only few visitors a day(2 weeks). I will try to track the person since I know all the people that visit the site.