NeoSploit, unlike the Blackhole kit, will serve up the exploit multiple times to the victim before the compromise occurs. Why does this happen? I have no idea, but in the future will hopefully find out.
Generally I see NeoSploit serve up a single exploit 3-5 times, this behavior has been adapted recently with addition of the new Java 0-day (referenced here by Daryl at Kahu Security). Now it looks like the kit is serving up two exploits, both served up multiple times to the victim.
2012-09-10T19:36:13 200 text/html 513:7947 GET hxxp://minigamesobihais[.]org/gf3ztv8/?2
2012-09-10T19:36:18 200 application/octet-stream 373:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:18 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:19 200 application/octet-stream 330:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:19 200 application/octet-stream 330:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:33 200 application/octet-stream 373:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:33 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:34 200 application/octet-stream 373:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:34 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:35 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:36 200 application/octet-stream 298:161052 GET hxxp://minigamesobihais[.]org/gf3ztv8/?2826a54d96e538d05740570d530e0c53020c040d5557045f0708065355040052;1;1
2012-09-10T19:36:37 200 text/html 300:226 GET hxxp://minigamesobihais[.]org/gf3ztv8/?2826a54d96e538d05740570d530e0c53020c040d5557045f0708065355040052;1;1;1
2012-09-10T19:36:18 200 application/octet-stream 373:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:18 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:19 200 application/octet-stream 330:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:19 200 application/octet-stream 330:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:33 200 application/octet-stream 373:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:33 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:34 200 application/octet-stream 373:3757 GET hxxp://minigamesobihais[.]org/gf3ztv8/?659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
2012-09-10T19:36:34 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:35 200 application/octet-stream 373:6623 GET hxxp://minigamesobihais[.]org/gf3ztv8/?4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
2012-09-10T19:36:36 200 application/octet-stream 298:161052 GET hxxp://minigamesobihais[.]org/gf3ztv8/?2826a54d96e538d05740570d530e0c53020c040d5557045f0708065355040052;1;1
2012-09-10T19:36:37 200 text/html 300:226 GET hxxp://minigamesobihais[.]org/gf3ztv8/?2826a54d96e538d05740570d530e0c53020c040d5557045f0708065355040052;1;1;1
I was able to grab the exploits from this interaction and run them through Virus Total.
First up:
659fdb537a47b1d90651585d56590d0406010f5d5000050803050d0350530105
1/42 detections
AhnLab-V3 with Java/Cve-2012-1723
Older but extremely effective java exploit.
Second up:
4e466b7c405c14f15606420d04590f540451020d020007580155005302530355
5faee8c1d7a9b0e5e6ea52720a958794
3/41 detections
Kaspersky
HEUR:Exploit.Java.CVE-2012-4681.gen
And here we have the the Java 0-day.
As for the payload, we saw this medfos served up at the end.
2/41 detections
Fortinet
W32/Medfos.ALI!tr
Traffic generated by Medfos looked like this: http://IP
/file/id=BwBwAAEAOuxqCQEFABcAAABWAAAAAAAAAAAAAACMDA... (truncated due to bad bad formatting)
Always interesting to see what shows up after a successful encounter.
Reading Daryl's writeup again, he goes into the deobfuscation and tears through the kit, which is awesome. If you're not following him on twitter (@kahusecurity) or reading his blog and you're in security, you need to do it NOW! (Seriously now!)
It would be interesting to see if there is a way, like Emerging Threats has done with the Blackhole kit, to build a sig off the number of landing page.
Granted the way we've been attacking it is building a rule off of exploit delivery URI, load URI, and post-load URI patterns.
Exploit sig:
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CURRENT_EVENTS Neosploit Exploit URI Request (by bare query parameter
pattern)"; flow:established,to_server; content:"/?"; http_uri;
pcre:"/\/\?\d[0-9a-f]{50,68}$/U"; classtype:attempted-user;
reference:url,www.google.com; sid:*******; rev:2; )
Load URI sig:
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CURRENT_EVENTS Neosploit Load URI Request (by bare query parameter
pattern)"; flow:established,to_server; content:"/?"; http_uri;
content:"|3b|"; distance:0; http_uri; content:"|3b|"; distance:0;
http_uri; pcre:"/\/\?\d[0-9a-f]{50,68}\;\d+\;\d+$/U";
classtype:attempted-user; reference:url,www.google.com; sid:*****;
rev:2; )
Post-load URI sig:
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CURRENT_EVENTS Neosploit Post-Load URI Request (by bare query parameter
pattern)"; flow:established,to_server; content:"/?"; http_uri;
content:"|3b|"; distance:0; http_uri; content:"|3b|"; distance:0;
http_uri; content:"|3b|"; distance:0; http_uri;
pcre:"/\/\?\d[0-9a-f]{50,68}\;\d+\;\d+\;\d+$/U";
classtype:attempted-user; reference:url,www.google.com; sid:******;
rev:2; )
Again, these are experimental rules.
More on NeoSploit as I can find it.
-Paul
@demon117