如何隱藏自己的應用程序在服務器上不被發現?


i pensier stretti&il viso sciolto.   -----------Hemy Wootton《黑客與畫家》

守口如瓶,笑臉相迎               

 

 

 

目錄

1.0 創建單調定時器

1.1 創建單元文件

1.2創建python腳本

1.3執行腳本

1.4通過定時器啟動任務

文檔編寫目的


 

          用來保護公司機密的監控小進程,並且防止黑客盜用,以及獲取員工的登錄日志信息,防止有人惡意搞,或者當員工使用rm -rf等誤刪時禁止,並向主管部門發送郵件。

偽裝系統文件使用定時任務執行python腳本

ps:技術都有兩面性,大家都明白。

 

此時用到的工具是systemd,下面是具體步驟


 

 

1.0 創建單調定時器

 


創建一個文件夾用於存放測試使用的單元數據

   mkdir /home/sy_test

mkdir /home/sy_test

在此目錄下創建定時器

cd /home/sy_test

vim nice.timer

cd /home/sy_test
vim nice.timer

編寫單元文件內容

[Timer]
OnBootSec=1h
OnUnitActiveSec=1d

1h代表開機1小時后啟動

1d代表1day 也就是1天執行一次

[Timer]
OnBootSec=1h
OnUnitActiveSec=1d

1.1 創建單元文件


創建文件

cd /home/sy_test

vim nice.service

cd /home/sy_test
vim nice.service

編寫文件內容

[Unit]

Description = myScript  #描述#

[Service]

ExecStart = /usr/bin/python3 -u mypython.py

WorkingDirectory = /home/sy_test  #腳本所在目錄#

[Unit]

Description = myScript  #描述#

[Service]

ExecStart = /usr/bin/python3 -u mypython.py
WorkingDirectory = /home  #腳本所在目錄#

放入系統可識別的優先級目錄下(具體優先級問題請參照第三篇參考博客)

mv /home/sy_test/nice.service /lib/systemd/system

mv /home/sy_test/nice.service /lib/systemd/system

1.2創建python腳本


vim /home/sy_test/mypython.py

vim /home/sy_test/mypython.py

編寫文件內容

print('you are nice!')

1.3執行腳本


由於是linux系統服務,和配置環境變量一樣有效,能夠在任意目錄執行

sudo systemctl start nice.service

sudo systemctl start nice.service

啟動服務后查看狀態(它這里是狀態其實代表日志)

sudo systemctl status nice.service

sudo systemctl status nice.service

成功運行!接下來停掉服務,然后通過定時器啟動

sudo systemctl stop nice.service

sudo systemctl stop nice.service

當然我們這種小程序,打印跑完就代表程序就結束了,所以你不stop也可以,但是如果是持久性的程序(比如tomcat,nginx,自定義的接口之類的服務),停止才可以在啟動

1.4通過定時器啟動任務


為了更加明顯我這里把之前的nice.timer設置為1m,也就是1分鍾執行一次,並且配置定時任務執行那個服務

vim /home/sy_test/nice.timer

vim /home/sy_test/nice.timer

轉移與關聯

很多小寶貝會好奇,那么定時任務和單元服務文件沒有配置,他們怎么關聯的呢,別慌看↓↓↓↓↓↓↓

定時器單元文件和服務單元文件必須在同一個目錄下,且文件名相同,只是后綴不同一個為.timer,一個為.service

mv /home/sy_test/nice.timer /lib/systemd/system

mv /home/sy_test/nice.timer /lib/systemd/system

啟動定時器

systemctl start nice.timer

systemctl start nice.timer

查看定時器狀態

systemctl status nice.timer

systemctl status nice.timer

定時器啟動成功,接下來咱們來驗證一下是否讓那個python執行了多次

查看服務狀態

sudo systemctl status nice.service

sudo systemctl status nice.service

我沒有手動運行任何關於這個服務的命令,僅僅是看它的狀態,2次都在每分鍾重新執行了,說明很成功

成功!


結語:你規避了你隱藏的服務,無法發現,但是軟件行業沒有銀彈,沒有完美的東西,如果別人也知道這個systemctl可以隱藏服務的話,其實也是可以通過這個找到你的命令的,不過它得查看你的輸入日志。

所以你還得來一步,刪除這區間內的輸入日志

還是那句沒有銀彈,這樣雖然別人不知道你啟動了什么服務,但是還是有問題的,如果別人超級厲害的那種,那這個版本的文件和當前版本的系統命令,以及搭建的所有環境服務所有版本文件進行比對,然后在以超級耐心,一個個比對,放心吧,絕對要花幾個月專注這一件事情,才能把你給找出來。


參考博客:

https://blog.csdn.net/weixin_37766296/article/details/80192633 最簡明扼要的 Systemd 教程

systemctl isolate emergency.target 千萬不要執行,上一篇文章中的開始與執行前面的代碼。我服務器直接ping不通了。

https://www.cnblogs.com/zhaoweihang/p/12102386.html 在linux 用systemctl 執行python腳本

https://my.oschina.net/u/2539854/blog/857219 systemd創建定時任務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM