目錄
- 演示案例:
- Redis數據庫權限提升-計劃任務
- PostgreSQL數據庫權限提升
- Windows2008&7令牌竊取提升-本地
- Windows2003&10進程注入提升-本地
- pinjector進程注入工具針對-win2008以前操作系統
- pexec64 32進程注入工具針對-win2008及后操作系統- (佛系)
- 涉及資源:
postgersql是基于兩個漏洞的,一個是2018年出現的,一個是2019年出現的,所導致的提權問題;redis提權漏洞是因為自身的配置導致的問題,網上公開的三種提權方式,redis一般默認安裝在linux上面,所以大部分就是寫ssh,來嘗試登錄linux服務器來提權,下面兩種用的比較少,第一種用的比較多,利用計劃任務執行命令反彈shell
這五個數據庫基本上是我們目前在網上比較主流的幾種數據庫了,還要算上mogondb,但是那些數據庫有的是沒有提權漏洞的,還有一些比較冷門的數據庫就沒有講
演示案例:
Redis數據庫權限提升-計劃任務
Redis服務因配置不當,可被攻擊者惡意利用。黑客借助 Redis 內置命令,可將現有數據惡意清空; 如果 Redis 以 root 身份運行,黑客可往服務器上寫入 SSH公鑰文件,直接登錄服務器。
連接(未授權或有密碼)-利用如下方法提權
參考: https://blog.csdn.net/fly_hps/article/details/80937837
(1).利用計劃任務執行命令反彈shell
(2).寫ssh-keygen公鑰然后使用私鑰登陸
(3).權限較低往web物理路徑寫webshell
修復方案:
注意: 以下操作,均需重啟 Redis 后才能生效。
綁定需要訪問數據庫的IP。 將127.0.0.1修改為需要訪問此數據庫的IP地址設置訪問密碼。在 Redis.conf中requirepass 字段后,設置添加訪問密碼。修改Redis服務運行賬號。以較低權限賬號運行Redis服務,禁用賬號的登錄權限。
我們要去了解一下關系與非關系數據庫的區別
https://www.cnblogs.com/suncan0/p/4735129.html
不是說mysql好或者是redis數據庫好,而是看它的應用場景,我們攻擊不同的應用,它選擇的數據庫類型也會不同,常規網站肯定是mysql、oracle、mssql了,可能一些其它應用的是分布式的redis,這主要是數據庫應用的差異
PostgreSQL數據庫權限提升
PostgreSQL 是一款關系型數據庫。其9.3到11版本中存在一處”特性”,管理員或具有"COPY TO/FROM PROGRAN"權限的用戶,可以使用這個特性執行任意命令。
提權利用的是漏洞: CVE-2019-9193 CVE-2018-1058
連接-利用漏洞-執行-提權
參考: https://vulhub.org/#/environments/postgres/
修復方案: 升級版本或打上補丁
漏洞復現參考文章:
低權限提權:https://vulhub.org/#/environments/postgres/CVE-2018-1058/
高權限提權:https://vulhub.org/#/environments/postgres/CVE-2019-9193/
它的攻擊過程首先是建立連接,密碼一般是翻它的配置文件,直接翻到的,連接上去之后,在利用這兩個漏洞,看一下這個版本是不是符合的,是否可以進行漏洞提權
redis數據庫在navicat上不能直接連接
各數據庫高權限用戶:mysql里面是root,mssql是sa,oracle是dba,postgresql是postgres
如果我們提權不成功,那就說明對方打好了補丁,它有些防護攔截了
提權之后是不是最高權限,要看它的安裝情況
Windows2008&7令牌竊取提升-本地
進行遠程過程調用時請求提升權限,然后調用它從而生成特權安全令牌以執行特權操作。當系統允許令牌不僅用于進程本身,還用于原始請求進程時,漏洞就會出現。
本地提權實驗: 獲取會話-利用模塊-竊取令牌-提權
Microsoft windows XP Professional SP3和之前版本
Windows Server 2003 SP2和之前的版本
Windows Server 2003 x64和x64 sP2
windows Server 2003(用于基于Itanium的系統sP2和先前版本)
Windows Server 2008 x32 x64
Windows Server 2008 (用于基于Itanium的系統)
Windows vista sP1和之前的版本
Windows vista x64 SP1和之前的版本
use incognito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"
一個進程在執行的時候,是某個用戶執行的,這個時候就竊取用戶的令牌,來對用戶的權限進行復制的操作
令牌竊取在2008之后的操作系統上已經被修復了,沒有什么作用了
我們得到了本地用戶權限之后,它不是administrator或system,我們用上令牌竊取加上用戶權限,直接擴大到system,令牌竊取有工具,但是大部分用的是msfconsole,因為它里面有集成的東西,比較方便
在內網里面,system和administrator還是有些區別的,比如內核木馬這些,只有system才能去搞,其它的就搞不來
我們監聽一個會話,這個會話基于接收反彈shell,我們要滿足提權的前提條件,我取得了計算機上普通用戶的權限,然后我用這個普通用戶權限實現了提權的操作
來等待一個6677端口上的接收
這個木馬生成了,我們在win7服務器上運行它
有時候接收不成功,可能是因為端口問題,換一個端口就可以了
可以直接在網上搜服務器安裝msf,非常簡單,基本上一條命令就完事了
https://www.nhooo.com/note/qa3svg.html
阿里云選個2核4G,阿里云的好處是對國外的地址下載是很快的
竊取成功了
令牌竊取支持的windows版本比較少,win2008以上,比如,win10、2012基本上就很難實現了,它有實現的可能性,但是成功的機率很低,因為有些系統上面是把一些東西給關了,比如UNC用戶控制開關,也就是說在高版本系統上面,這個令牌竊取是沒什么軟用的
沒必要去追求原理,簡單的學一下攻擊流程就足夠了,針對普通用戶到system權限獲取的一種方式,針對win2008及以下版本的攻擊方法,你把這個記住就可以了
Windows2003&10進程注入提升-本地
進程注入提權是本地提權方式的一種較為老的安全技術了,利用的是注入進程的所有者實現權限共享機制,這類技術主要利用在windows2008之前操作系統上,所以我們需要學習后續的本地提權更多的手法才能有針對高版本的系統。
每個進程在運行的時候,有個pid值,后面有個對應的用戶名,就相當于這個用戶正在運行這個進程,然后你會發現有些進程對應的用戶名是system,進程注入其實就是利用注入到這個進程之后,享有system權限,把system權限釋放出來,就這么個攻擊手段,這個攻擊手段只適用于win2008之前的操作系統,這里還不包括2008,比令牌竊取還要老,還要不太實用
進程注入的成功機率很佛性,具體要看操作系統是不是原版,還有操作系統有沒有安裝一些東西,才可能成功的意思
pinjector進程注入工具針對-win2008以前操作系統
在msf里面也是有這個功能截取的地方
獲取當前計算機上面的線程列表,然后獲取進程對應的權限
system都是我們的目標,我們把pid值記下來,注入到這個進程里面,就會在本地開放8888端口,然后8888端口對應的就是cmd,只要有人連接8888端口,就會將cmd反彈給對方
這個時候開nc連接8888端口,看一下權限
這個就是典型的進程注入,針對的是win2008,它跟sc、at命令、ps命令差不多的道理,只是說它用到的是系統自身的注入,那些命令用到的是系統的計劃任務攻擊,雜七雜八的,總的來說都是進行權限提升,就是利用的東西不一樣
其實很多培訓的,講的都是老東西,不要在網上看了一些東西就覺得厲害,一模一樣的
pexec64 32進程注入工具針對-win2008及后操作系統- (佛系)
pexec是可以進行權限提升和權限降低的,在本地win10測試了一下,提權沒有成功,降權是成功了
如果我們是使用虛擬機或者初次安裝操作系統的話,可能要安裝一下組件,因為pexec是用C++寫的,有些電腦初次安裝虛擬機的話,它沒有安裝庫運行不了,它會提示少了dll文件
直接執行注入到進程里面去,注入進去之后,直接用nc連接本地的9999端口就實現了,這個本地就是目標地址
可以用火絨劍查看當前電腦進程,獲取PID
pexec注入了,權限沒有正確獲取到
涉及資源:
https://www.blib.cn/soft/pexec.zip
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
https://www.tarasco.org/security/Process_Injector/processinjector.zip
https://www.cnblogs.com/LyShark/p/13785619.html