<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)程?

          共 1232字,需瀏覽 3分鐘

           ·

          2020-09-17 17:43

          ? 開源Linux

          長按二維碼加關(guān)注~

          上一篇:IPv6技術(shù)白皮書(附PDF下載)

          總有朋友問隱藏Linux進(jìn)程的方法,我說你想隱藏到什么程度,是大隱于內(nèi)核,還是小隱于用戶。網(wǎng)上通篇論述的無外乎 hookprocfs 或者類似的用戶態(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)然無法顯示。

          原文來自:http://suo.im/5MkTUh

          - End -

          關(guān)注「開源Linux」加星標(biāo),提升IT技能

          瀏覽 84
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  中文人妻无码一区二区三区不卡 | 青青青视频免费 | igao在线视频 | 91色图 | 亚洲日韩欧美性爱 |