ssh私鑰泄露攻擊

covfefe靶機測試
本篇博客記錄的是covfefe靶機測試過程。
環境:kali linux,vm station, 靶機

下面開始尋找flag之路

  1. 首先在攻擊機中查看一下本機的ip地址,爲尋找局域網中的主機做好準備
ifconfig

在這裏插入圖片描述
可以看到攻擊機的ip地址網絡號爲192.168.56 主機號爲150

  1. 然後用nmap去尋找目標ip地址(掃描主機號爲1~255的ip地址)
nmap -v -sn 192.168.56.1/24


在這裏插入圖片描述
從返回的結果可以看到 192.168.56.151地址是開放的。

  1. 尋找開放的服務
nmap -sV 192.168.56.151

在這裏插入圖片描述
可以發現目標主機開放了http和ssh服務

  1. 訪問http服務
    通過瀏覽器去看一下頁面信息
    在這裏插入圖片描述
    發現沒有正常的回顯,於是接着去掃描一下隱藏頁面
dirb http://192.168.56.151:31337

在這裏插入圖片描述
可以看到有一些經典的文件(比如robots.txt)
去瀏覽器中訪問一下robots.txt
在這裏插入圖片描述
得到了一些網站不希望瀏覽器訪問的頁面地址,首先訪問一下/taxes
在這裏插入圖片描述
得到第一個flag。

  1. 訪問ssh服務

我們首先通過瀏覽器去看一下ssh的服務信息(上面掃描出了一個/.ssh網頁)
在這裏插入圖片描述
發現可以下載id_rsa(私鑰)和authorized_keys(認證信息),將下載到的文件保存到桌面。
在這裏插入圖片描述
可以看一下authorized_keys,發現登錄的用戶是simon
在這裏插入圖片描述
首先嚐試着登錄一下ssh(先賦予文件寫權限)

ssh -i 祕鑰文件 用戶名@ip地址

在這裏插入圖片描述
oh!要密碼。我們得破解這個私鑰

  1. 破解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用戶登錄了。

  1. 關注root

接下來取root目錄下看看,發現了有一個flag.txt在這裏插入圖片描述
嘗試看看文件的內容,發現沒有權限查看。看來需要提升到root權限纔行。
root目錄下有一個.c的文件,看一下它裏面的內容
在這裏插入圖片描述
這裏藏了第二個flag。讀一下源碼:執行這個程序後,會讓你輸入一個字符串,存放在大小爲20的緩衝區中,然後取其前5個字符和Simon字符串進行比較,成功的話會執行execve(cmd)命令,cmd的路徑爲/usr/local/sbin/message

  1. 溢出提權
    可以發現這個.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

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章