CtfStudying之SSH私鑰泄露

8/23/19 SSH私鑰泄露

對於只是給定一個對應ip地址的靶場機器,咱們須要對其進行掃描,探測其開放服務。我原來理解的滲透就是找到目標的漏洞,而後利用這些(這種)漏洞,最後拿到機器的最高權限;其實個人理解的有偏差:滲透實際上是針對服務的漏洞探測,而後進行對應的數據包發送,經過構造畸形數據包得到異常回應,根據這些異常回應從而拿到機器的最高權限。服務器

1.探測靶場ip:netdiscover -r ip/netmask  ,而後測試連通性ssh

 

探測到靶場,且可ping通工具

2.掃描已開啓的服務:namp -sV ip測試

 

分析結果:每個服務對應一個端口,端口用來通訊,若是看到特殊端口(3306),對其進行深刻探測。好比那種大端口(http服務端口),就可採用某些手段進行訪問。搜索引擎

3.發現開啓http服務大端口,採用形式訪問:http://ip:port/spa

 

查看一下大端口號313373d

返回的對應界面沒有flag值。先看看頁面源代碼吧。發現源代碼裏面也沒有flag值:blog

4.探測是否有隱藏頁面:dirb http://ip:port/索引

 

看到了比較敏感的.ssh和robots.txt文件ip

Robots.txt:存放搜索引擎容許或者不被容許的的文件

 

打開每個文件試試,找到第一個flag:

 

5.Robots.txt目前沒有價值了,繼續挖掘ssh信息,不斷訪問獲取更多泄露的ssh密鑰信息。

ssh 的驗證:客戶端公鑰與服務器私鑰進行對比,對比成功則驗證經過,可遠程登陸

 

打開ssh文件發現裏面有三個內容,因此咱們應該思考這三個內容裏面了是否包含了更多的內容,繼續加「/」,試一試能否下載

而後發現,個人天,竟然所有都有內容且可下載:

公鑰能夠不下載,畢竟是任何人均可以訪問的。

6.如今已經有了公鑰和私鑰,那麼嘗試登錄一下遠程服務器

首先切換到存放這些文件的位置:

 

查看權限:ls -alh

查詢結果:可讀可寫

 

而後開始嘗試遠程登陸:ssh -i (私鑰) 用戶名@ip

結果發現,,沒有用戶名,而後咱們就在咱們下載好的認證文件裏面找到了用戶名

 

那麼就是:ssh -I id_rsa simon@192.168.43.42

 

觀察這三個點:告訴咱們不能創建遠程鏈接,只能識別,yes;644告訴咱們權限不夠;再一次告訴咱們沒有創建鏈接,權限拒絕。

7.能夠識別可是鏈接沒法創建,嘗試提高權限:chmod 600 id_rsa

從新賦予讀寫權限,接下來從新登陸:

 

可是這一次,又出現了新的關卡:須要輸入鏈接密碼,只有三次機會;可是咱們不知道密碼,只有一個私鑰以及認證文件。咱們能夠經過這兩個文件,看看是否有其餘信息。進一步探取私鑰信息

 =======================================

在這裏插播一個電腦小問題,我仍是單獨開一篇文章記錄我這些充滿神奇力量、能給我帶來毀滅性驚喜的設備們吧。耳機OK,筆記本外放OK,可是兩者相結合就是噩夢開始了:

筆記本聲卡OK,耳機OK,可是耳機插進筆記本就是無聲:

解決方案:控制面板—》這啥管理器—》設置—》選擇單獨(反正能讓他重啓就好了)

 

最後,見證奇蹟的時刻,插頭已塞入插孔!因此,每個提醒,都應該關注一下下面的詳情。。以防將來的驚喜我都找不到來源。。

 

8.進一步探取私鑰信息

解密ssh密鑰信息

使用ssh2John 將id_rsa密鑰信息轉換爲可識別的信息

 ssh2john id_rsa > isacrack #使用John這個工具,將id_rsa 這個文件轉化爲isacrack這個文件,位置和前者相同;

 

解密該文件,利用字典解密isacrack信息,使用zcat這個工具:

zcat/usr/share/wordlists/rockyou.txt.gz |john –pipe –rules isacrack /#使用zcat來取得usr/share/wordlists/這個路徑下,/rockyou.txt.gz的文件密碼,管道標誌符,使用John這個工具使用isacrack這個字典的規則

 

這個文件貌似只能開一次,而後密碼就在starwars裏面,接下來繼續嘗試登錄

9.使用starwars密碼登錄

Ssh -i (私鑰) name@ip

 

登錄成功,還看到了robots.txt文件

可是咱們仍是沒有得到想要的flag文件,務必記住root這個文件夾很重要

切到root目錄下,發現有咱們想要的flag文件,可是咱們沒有權限閱讀:

這個時候的查看權限ls -alh,還有提權chmod命令就無論用了。。。由於這些命令只限於本機,或者說拿到靶機的很高的權限。

 

10.提高權限,Simon只是爲普通用戶,咱們要獲得root權限,因此咱們要查看哪些文件具備root權限:

find /-perm -4000 2>/dev/null #從根目錄開始,查找具備執行權限的文件(-perm 4000),避免錯誤輸出(2>/dev/null)

 

注意啊,輸入錯誤可能就是錯誤!

咱們選擇我的以爲有意義的文件進行查閱,從而進一步得出:

第二個flag出現:

 

這裏有一段C語言代碼,也有flag2,讀出來了說不定就是flag值。理解代碼的意思之後,運行代碼

 

11.進一步提權,咱們經過溢出(我本身想的??),讓程序執行很是規操做:

20字符/bin/sh #首先這個文件擁有root權限,其次咱們將其切換到bin/sh這個遠程文件夾裏面,可創建遠程鏈接(???)

第三個flag出現

 

相關文章
相關標籤/搜索