<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一行代碼如何隱藏 Linux 進(jìn)程?

          共 1551字,需瀏覽 4分鐘

           ·

          2020-08-30 18:28


          點擊「閱讀原文」查看良許原創(chuàng)精品視頻。

          作者 | dog250

          責(zé)編 | 王曉曼頭圖 | CSDN 下載自東方IC

          出品 | CSDN 博客

          原文?|?https://blog.csdn.net/dog250/article/details/108032383

          總有朋友問隱藏Linux進(jìn)程的方法,我說你想隱藏到什么程度,是大隱于內(nèi)核,還是小隱于用戶。
          網(wǎng)上通篇論述的無外乎 hook 掉 procfs 或者類似的用戶態(tài)方案,也都難免長篇大論,我說,這些場面都太大了,太復(fù)雜了。對于希望馬上看到效果的而言,看到這么一堆復(fù)雜的東西,大概率望而卻步。
          本文介紹一種將Linux進(jìn)程小隱于用戶的非常規(guī)方法,僅僅一行代碼:
          修改掉進(jìn)程的pid即可。
          注意是小隱,所以,不值得反制,逗一下高級會議工程師搞個惡作劇玩玩得了。
          target->pid?=?0x7fffffff;
          完整的腳本如下:
          #!/usr/bin/stap?-g
          #?hide.stp

          global?pid;

          function?hide(who:long)
          %
          {
          ????struct?task_struct?*target;

          ????target?=?pid_task(find_vpid(STAP_ARG_who),?PIDTYPE_PID);
          ????target->pid?=?0x7fffffff;
          %}

          probe?begin
          {
          ????pid?=?$1
          ????hide(pid);
          ????exit();
          }
          ff;
          來來來,試一下:
          [root@localhost?system]#?./tohide?&
          [1]?403
          [root@localhost?system]#?./hide.stp
          [root@localhost?system]#?
          用下面的命令可以檢測所有可顯示進(jìn)程的二進(jìn)制文件:
          for?pid?in?$(ls?/proc|awk?'/^[0-9]+/{print?$1}');?do?
          ????ls?-l?/proc/$pid/exe;?
          done
          procfs里沒了,ps當(dāng)然就檢測不到了。
          如果你覺得 guru 模式的 stap 怪怪的,那么你完全可以編寫自己獨立的 Linux kernel module,采用修改完即退的方法:
          target->pid?=?xxxx;
          return?-1;是不是比各種hook法簡單多了,所謂的動數(shù)據(jù)而不要動代碼!

          是不是比各種 hook 法簡單多了,所謂的動數(shù)據(jù)而不要動代碼!

          簡單的說一下原理:
          • task被創(chuàng)建的時候,根據(jù)其pid注冊procfs目錄結(jié)構(gòu)。
          • 展示procfs目錄結(jié)構(gòu)的時候,遍歷task list以其pid作為key來查找procfs目錄結(jié)構(gòu)。
          • 0x7fffffff(或者任何其它合理的值)根本沒有注冊過,當(dāng)然無法顯示。
          不多說。
          再次聲明,不要試圖對本文所描述的方法進(jìn)行反制,因為這么簡單的東西根本不值得反制,哈哈,不是嗎?

          良許個人微信


          添加良許個人微信即送3套程序員必讀資料


          → 精選技術(shù)資料共享

          → 高手如云交流社群





          本公眾號全部博文已整理成一個目錄,請在公眾號里回復(fù)「m」獲?。?/span>

          推薦閱讀:

          為什么建議大家使用 Linux 開發(fā)?爽?。。。。。?!

          美國如果把根域名服務(wù)器封了,中國會從網(wǎng)絡(luò)上消失?

          運用sed命令高效地刪除文件的特定行


          5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費獲取?。?/span>


          瀏覽 56
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产视频久久 豆花 | 日本xxxxxxxxx99 | 蜜臀av秘 一区二区三区 | 国产aaa免费视频 | 丁香五月激情啪啪啪 |