Linux下提權經常使用小命令

有些新手朋友在拿到一個webshell後若是看到服務器是Linux或Unix操做系統的就直接放棄提權,認爲Linux或Unix下的提權很難,不是你們能作的,其實Linux下的提權並無不少人想象的那麼難,你真去嘗試作了,也許你就會發現Linux下的提權並不難,尤爲是一些簡單的提權方法是很容易學會的。Linux下的提權我知道的比較簡單的方法都是在命令行下完成的,不少新手叉子可能根本沒接觸過Linux下的一些經常使用命令,今天危險漫步就給你們介紹一些Linux下提權過程當中經常使用到的Linux命令,因爲我也是剛學了幾個Linux命令,介紹的不對或不全的還請你們多多指正和諒解。web

 

對你們來講,在Linux下的提權最簡單也是最有效的方法就是經過本地溢出漏洞提權。找到合適的漏洞利用程序在命令行下運行一下就完成了提權。shell

 

因爲Linux下的提權大可能是在命令行下進行的,所以要提權首先要獲得一個執行命令的地方。咱們最早獲得的是一個webshell,好比PhpSpy。儘管不少Webshell提供了在Linux下執行命令的功能,但每每只能執行一些不須要交互的命令,所以咱們首先要獲得一個可執行交互命令的窗口,用到的方法是反彈shell到本地。PhpSpy自帶了這個功能,名爲「Back Connect」。編程

 

要想反彈回shell,你須要一臺有公網lP的電腦(固然了,只有內網IP的電腦作了端口映射也能夠),而後在你要反彈回來的電腦上首先用nc來監聽要反彈回來的端口,若是要反彈回來的端口爲12345,就執行nc -vv -|-p 12345來監聽12345端口。瀏覽器

 

而後回到PhpSpy中的」Back Connec」,在「Your IP」後面自動識別除了你當前電腦的公網IP,若是要反彈到別的電腦上請輸入要反彈電腦的IP,我這裏要反彈到本機,就不須要修改了,「You Port」是你要反彈電腦上正在監聽的端口,默認爲12345,知道我上面爲何在本機監聽12345端口了吧,就是在這裏不須要修改「Your Port」了,固然,你也能夠在本地監聽123456端口,而後把「Your Port」也修改爲對應的123456端口就好了。點「Start」按鈕進行反彈,過一下子本機的監聽窗口看到相似信息就說明反彈成功了,獲得了一個可執行交互命令的窗口。接下來執行命令的效果和在Ubuntu的終端中執行命令的效果幾乎徹底相同,因此我在Ubuntu 10.10的終端中執行經常使用的提權中用到的命令來給你們演示。bash

 

 

 

在反彈回來的權限較低的shell的命令窗口中有權限執行的命令有:   服務器

 

一、uname網絡

 

輸出一組系統信息。若是不跟隨選項,則視爲只附加-s選項。常跟的參數有-a,在個人Ubuntu編程語言

 

10.10的終端中執行uname-a命令後顯示,其中最前面的Linux表示是基於Linux內核的,2.6.35-28是具體的內核版本號。這個內核版本號很是重要,由於若是是採用溢出漏洞提權的話內核版本號是尋找溢出漏洞利用程序最重要的參考信息,根據當前的內核版本號尋找適用於這個版本號的漏洞利用程序。網站

 

二、pwd操作系統

 

得到當前目錄,在用webshell上傳漏洞和用程序前執行一下pwd命令得到當前目錄,把漏洞利用程序直接上傳到當前目錄,在執行漏洞利用程序時就能夠免去輸入目錄的麻煩。執行pwd命令後顯示/home/test,說明當前目錄爲/home/test/。

 

另外,經過webshell好比PhpSpy的「Back Connect」反彈回來的shell默認的當前目錄爲webshell所在的目錄。

 

三、ifconfig

 

顯示網絡配置信息,好比顯示有哪些網卡,每塊網卡的配置信息(IP地址、MAC地址、子網掩碼)等,經常使用參數-a執行ifconfig-a命令後顯示。從信息能夠知道,當前系統共有一塊網卡etho,IP地址爲192.168.19.138,子網掩碼爲255.255.255.0。

 

四、netstat

 

顯示當前的網絡鏈接狀態,與Windows系統下的netstat命令寫法相同,功能也差很少。

 

執行netstat後顯示了不少網絡鏈接的信息。

 

五、ps

 

ps是用來報告程序執行情況的指令,你能夠搭配kill指令隨時中斷,刪除沒必要要的程序。經常使用的參數有a,u,x

 

a 顯示現行終端機下的全部程序,包括其餘用戶的程序。

 

u 以用戶爲主的格式來顯示程序情況。

 

x 顯示全部程序,不以終端機來區分。

 

執行ps aux命令後顯示,顯示了程序的進程id,CPU佔用率等詳細信息,若是要結束某個程

 

序,只須要用命令kill-9 PID就能夠結束,其中PID就是在執行ps aux命令時顯示的程序的PID,固然前提是要有相應的權限。

 

六、gcc

 

不少Linux下的漏洞利用程序都是用C語言寫的,咱們獲得的不少時候是漏洞利用程序的C語言的源代碼,要想獲得可執行程序,須要對源代碼進行編輯,這時候就用到大名鼎鼎的gcc了。個別狀況下可能由於兼容性的緣由必須須要在要提權的Linux主機上編譯漏洞利用程序,這時候也須要用到gcc。GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由GNU開發的編程語言編譯器。它是一套以GPL及LGPL許可證所發行的自由軟件,也是GNU計劃的關鍵部分,亦是自由的類Unix及蘋果電腦Mac OS X操做系統的標準編譯器。GCC原

 

名爲GNUC語言編譯器,由於它本來只能處理C語言,GCC很快地擴展,變得可處理C++,以後也變得可處理Fortran、Pascal、Objective-C、Java,以及Ada與其餘語言。

 

在大多數狀況下,你在本地的Linux系統中編譯好的溢出漏洞利用程序直接上傳到要提權的Linux主機上也能正常使用,不是必需要在要提權的主機上編譯溢出漏洞的利用程序。由於gcc特別強大,功能特別多,用法也特別多,要講全的話估計要一本厚書的篇幅,這裏不可能一一介紹,只介紹Linux提權中經常使用到的兩個方面:

 

(1)gcc-v

 

查看安裝的gcc的版本,咱們的目的是經過執行gcc-v命令確認系統是否安裝了gcc,若是安裝了會顯示安裝的gcc的版本號若是提示找不到命令等說明gcc沒有安裝。Ubuntu 10.10默認安裝了gcc。

 

(2)另外一個用到的重要功能就是把漏洞利用程序的源代碼編譯成可執行程序了。假設溢出漏洞利用程序源代碼文件是exp.c,經過websbell把exp.c上傳到了要提權的Linux主機的當前目錄下,在反彈回來的命令窗口中執行gcc-o exp exp.c,就會把exp.c編程成可執行程序exp,其中-o參數後面跟着的是編譯生成的可執行程序的名字,這裏爲exp,另外一個參數exp.c是要編譯的溢出漏洞利用程序源代碼的文件名,這裏爲exp.c。執行命令後若是沒有錯誤提示就說明編譯成功了。執行一下命令ls,發現可執行文件exp已經生成了。

 

接下來輸入./exp就能夠運行漏洞利用程序exp了,若是溢出成功會顯示,注意下面的那個#,對Linux有點了解的都知道#對應的是root權限,看到#就說明提權成功了,接下來你就能夠以root權限運行各類命令了。

 

在經過溢出漏洞得到root權限後,能執行的命令就多了,不少沒提權前沒權限執行的命令如今均可以執行了。這時候能夠執行一些命令來獲取一些敏感信息或進行留後門清理日誌等操做,方便更好的控制提權成功的服務器。

 

一、cat .bash_history

 

查看該用戶曾經執行過的命令,也就是查看root用戶執行過的命令。由於Linux下不少管理操做都是在命令行下完成的,而正常狀況下用root用戶執行命令的是管理員,經過查看管理員輸入的命令,可能獲得不少敏感信息。       

 

二、cat/etc/passwd cat/etc/shadow

 

分別執行cat/etc/passwd,cat/etc/shadow命令後獲得passwd和shadow的內容,把兩個文件的內容保存到本地用john掛字典嘗試破解root用戶的密碼,具體怎麼破能夠本身查詢相關信息。cat/etc/shadow只有root權限才能執行。

 

三、chmod  

 

在提權成功得到root權限後你若是想下載服務器上的一個文件到本地,個人方法是先執行cp命令把要下載的文件複製到網站的Web目錄下,但複製過去的文件只有root用戶能訪問,直接用瀏覽器下載會提示沒有權限,這時候就須要用到chmod命令了。chmod命令的做用是變動文件或目錄的權限。若是要下載的文件是shadow1,執行命令chmod 777./shadow1後就能夠直接用瀏覽器下載了,不會再有權限問題了。

 

固然,在得到root權限後還能夠作不少事,好比安裝後門,想辦法搞到root用戶的密碼等,惋惜我不會,也和本文的題目「Linux下提權經常使用小命令」關係不大,這裏就不介紹了。在實際提權過程當中用到的命令可能遠不止這麼多,我介紹的都是大路邊的最經常使用的。因爲我對Linux幾乎也是一竅不通,有介紹的不對的地方還請你們諒解。

 

之後你們們遇到Linux主機,不要不敢去嘗試提權,大膽嘗試,每每會有驚喜和收穫。

相關文章
相關標籤/搜索