covfefe靶機測試
本篇博客記錄的是covfefe靶機測試過程。
環境:kali linux,vm station, 靶機
下面開始尋找flag之路
- 首先在攻擊機中查看一下本機的ip地址,爲尋找局域網中的主機做好準備
ifconfig
可以看到攻擊機的ip地址網絡號爲192.168.56 主機號爲150
- 然後用nmap去尋找目標ip地址(掃描主機號爲1~255的ip地址)
nmap -v -sn 192.168.56.1/24
從返回的結果可以看到 192.168.56.151地址是開放的。
- 尋找開放的服務
nmap -sV 192.168.56.151
可以發現目標主機開放了http和ssh服務
- 訪問http服務
通過瀏覽器去看一下頁面信息
發現沒有正常的回顯,於是接着去掃描一下隱藏頁面
dirb http://192.168.56.151:31337
可以看到有一些經典的文件(比如robots.txt)
去瀏覽器中訪問一下robots.txt
得到了一些網站不希望瀏覽器訪問的頁面地址,首先訪問一下/taxes
得到第一個flag。
- 訪問ssh服務
我們首先通過瀏覽器去看一下ssh的服務信息(上面掃描出了一個/.ssh網頁)
發現可以下載id_rsa(私鑰)和authorized_keys(認證信息),將下載到的文件保存到桌面。
可以看一下authorized_keys,發現登錄的用戶是simon
首先嚐試着登錄一下ssh(先賦予文件寫權限)
ssh -i 祕鑰文件 用戶名@ip地址
oh!要密碼。我們得破解這個私鑰
- 破解ssh的密碼
這裏用到的工具是john,首先,我們可以查看一下id_rsa,發現它是AES加密的,在用john破解之前,得先將其轉化爲john能處理的SHA加密的文件,這裏用到ssh2john命令
ssh2john id_rsa > crack
注意:若提示ssh2john命令無法找到,是因爲沒有將它加到環境變量中,可以先看一下ssh2john的位置(kali中默認是安裝了的)。
然後將它添加到環境變量中:(這裏是臨時添加變量,重啓後就無效,一直有效需要修改/etc/profile)
export PATH=$PATH:/usr/share/john
接着用john命令破解,這個命令會默認從利用kali中自帶的字典去破解,如果破解口令有某種特徵,建議自己生成字典去跑,這樣速度快多了
可以看到密碼是starwars
接着我們去登錄ssh
發現成功的以simon用戶登錄了。
- 關注root
接下來取root目錄下看看,發現了有一個flag.txt
嘗試看看文件的內容,發現沒有權限查看。看來需要提升到root權限纔行。
root目錄下有一個.c的文件,看一下它裏面的內容
這裏藏了第二個flag。讀一下源碼:執行這個程序後,會讓你輸入一個字符串,存放在大小爲20的緩衝區中,然後取其前5個字符和Simon字符串進行比較,成功的話會執行execve(cmd)命令,cmd的路徑爲/usr/local/sbin/message
- 溢出提權
可以發現這個.c文件是沒有辦法編譯的,先找一下可以執行的位二進制文件
fiind /-perm -4000 2>/etc/null
可以發現一個read_message的可執行文件,應該就是read_message.c編譯後的文件。根據上面的源碼分析我們執行這個程序,然後輸入Simon000000000000000/bin/sh
(前5個字符爲Simon和authorized數組匹配,然後緊跟着15個0將緩衝區填滿,然後加上/bin/sh溢出提權)
whoami //參看以下,已經提升爲root了
最後切換到/root目錄
cat flag.txt