1. 程式人生 > >CTF訓練 SSH服務(1)

CTF訓練 SSH服務(1)

CTF-SSH私密洩露

實驗環境

  • 執行在Oracle VM VirtulBox上的靶場:192.168.88.142
  • Kali攻擊機:192.168.88.143

實驗內容

  1. 對於只是給定一個對應IP地址的靶場機器,我們首先需要對其進行掃描,探測開放的服務,使用命令nmap -sV IP對靶機進行掃描,探測開放的服務: 在這裡插入圖片描述

  2. 對於開放http服務的大埠,可以採取http://ip:port/的形式訪問: 在這裡插入圖片描述

  3. 檢視原始碼獲取對應資訊;如果沒有flag資訊,使用工具探測隱藏頁面: 在這裡插入圖片描述 4.dirb http://ip:port/ 對這個服務的隱藏檔案進行探測,成功探測到五個隱藏檔案(隱藏起來的肯定有問題): 在這裡插入圖片描述

    5.針對隱藏的頁面進行分析,這裡有一個robots.txt檔案,訪問這個url: 在這裡插入圖片描述 在這裡插入圖片描述 6.分別檢視robots.txt頁面上顯示的不允許訪問的頁面,當訪問到http://192.168.88.142:31337/taxes這個頁面時就得到了第一個flag值: 在這裡插入圖片描述 7.繼續對隱藏的頁面進行分析,下面我們看敏感目錄.ssh(ssh服務的作用是讓遠端計算機登入到本地ssh服務上,進行遠端操作) 在這裡插入圖片描述 在這裡插入圖片描述 8.上面這個這目錄中有私鑰和公鑰,SS服務公鑰認證原理,將私鑰(‘id_rsa’)和公鑰(‘id_rsa_pub’)進行對比,對比成功則執行服務,下面嘗試是否存在這樣一個id_rsa私鑰檔案,我們發現訪問id_rsa(私鑰)和authorized_keys(認證關鍵字)檔案可以進行下載(公鑰不用下載),這裡就存在私鑰洩露: 在這裡插入圖片描述
    在這裡插入圖片描述 9.上面將ssh的私鑰和認證關鍵字下載了下來,下面就可以利用這些資訊來嘗試ssh登陸,ssh登陸需要私鑰和使用者名稱,這裡的ssh私鑰就是上面名為id_rsa的檔案,但是不知道使用者名稱,所以想到這裡我們上面下載的另一個檔案authorized_keys,點選檢視這個檔案裡的內容: 在這裡插入圖片描述 10.可以看到上面選中的藍色部分,發現了使用者名稱simon,下面使用下載下來的私鑰和使用者名稱simon進行登陸,首先對賦予id_rsa檔案可讀可寫的許可權,使用命令:chmod 600 id_rsa,賦予id_rsa可讀可寫許可權,然後使用命令:ssh -i id_isa 使用者名稱@ssh 靶場機器IP地址: 在這裡插入圖片描述
    11.發現需要密碼,所以還需要將私鑰資訊id_rsa轉化為john(工具)可以識別的資訊,使用命令:ssh2john 需要轉化的檔案 > 生成的檔案。 在這裡插入圖片描述 12.下面使用字典解密生成的rsacrack檔案: zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack 在這裡插入圖片描述 13.使用上面的命令得到了解密的檔案starwars,使用這個密碼檔案和simon使用者名稱進行登陸: 在這裡插入圖片描述 14.看到已經登陸成功了,嘗試進入root目錄下檢視檔案: 在這裡插入圖片描述 15.發現這裡的flag.txt,沒有訪問的許可權,所以需要提升許可權,首先查詢具有root許可權的檔案:find / -perm -4000 2>/dev/null 在這裡插入圖片描述 16.發現上面bin目錄下有一個read_message的檔案跟root目錄下的read_message.c檔案類似,而bin目錄主要放置應用程式工具的必備執行檔案,所以再去檢視一下read_message.c的檔案內容: 在這裡插入圖片描述 17.這裡對上面的程式碼進行分析簡單的分析,首先定義了一個數組,char program[] = “/usr/local/sbin/message”;這個目錄具有root許可權。再定義了一個空陣列buf,這個buf陣列在後面利用gets(buf)函式獲取使用者的輸入,最後定義了一個authorized陣列內容為Simon”,定義陣列完成之後,接下來使用條件語句進行判斷,我們輸入的字元和定義的authorized陣列中的內容(Simon)進行對比前5個字元,所以這裡的name應該就是’Simon’。下面對這個read_message程式進行執行,並使用Simon進行驗證: 在這裡插入圖片描述 18.嘗試通過溢位進入系統的bin目錄: 在這裡插入圖片描述 上面我們通過溢拿到管理員許可權,所以就能夠檢視到flag.txt文件中的內容啦,這一次針對SSH服務私密洩露 的CTF訓練就到此結束啦。。。。。