# VulnHub: Necromancer ###### tags: `security` > VM image: https://www.vulnhub.com/entry/the-necromancer-1,154/ ## Flag 1 - Flag 6 - 先找到這台 VM 的 IP, 在自己的 Kali 掃, 用 `sudo arp-scan -local` 指令找出隱藏設備的 IP ![](https://i.imgur.com/WzuIsV3.png) - 下 nmap 192.168.100.11, 看有沒有 port 是打開的 ![](https://i.imgur.com/wqJfkWG.png) - UDP scan, 發現 port 666 是打開的 ![](https://i.imgur.com/zXBtgdT.png) - 接著用 nc 指令, 連到這個 port (192.168.100.11 666), -u 表示 UDP mode, 結果出現了奇怪的訊息:You gasp for air! Time is running out! ![](https://i.imgur.com/OEACxcf.png) - 改用 tshark 來分析流量, -i 後面接 interface; 可以發現 192.168.100.11 這台 VM 正嘗試用 TCP protocol 連到我的 Kali VM port 4444 ![](https://i.imgur.com/icRhCDP.png) - 所以我們去監聽 port 4444, 得到一串奇怪的 string ![](https://i.imgur.com/dQxxuam.png) - 發現是 base64 字串, 可以用 base64 -d 指令來解碼, 得到 flag1 ![](https://i.imgur.com/G21qJ7z.png) - 接著把 flag1 丟到 online hash decrypter, 得到 opensesame, 重新連到 port 666 (nc -uv 192.168.100.11 666), 輸入 opensesame, 取得 flag2 ![](https://i.imgur.com/Opmn3wK.png) ![](https://i.imgur.com/g9DqYdD.png) - 根據提示 numeral 80 ? 可能是指連到 port 80, port 80 也就是 http, 打開 browser 輸入 192.168.100.11 發現以下畫面 ![](https://i.imgur.com/9VLcUfA.png) - 出現了一張奇怪的圖, 把它下載下來, file recon 一下, 發現使用 exif standard ![](https://i.imgur.com/jLgBooC.png) - 用 exiftool 掃一下, 找不出所以然; 改用 binwalk 掃一下, 接著用 binwalk -e 把資料分出來, 可以看到有個 feathers 的 txt 檔, 裡面有一串奇怪的字串 ![](https://i.imgur.com/v99kuKb.png) ![](https://i.imgur.com/abfxVvM.png) - 再一次用 base64 解碼, 得到 flag3 ![](https://i.imgur.com/4Z3a8LI.png) - flag3 告訴我們 "Cross the chasm at /amagicbridgeappearsatthechasm", The Chasm 就是 http://192.168.100.11 這個網站, 直接在 URL 後面塞 /amagicbridgeappearsatthechasm, 出現以下畫面 ![](https://i.imgur.com/9hbZZEQ.png) - 同樣把圖片下載下來, 掃一下發現應該是張正常的圖片 ![](https://i.imgur.com/YM2wdrD.png) - 直接用 dirb 指令去掃整個 http://192.168.100.11/amagicbridgeappearsatthechasm 目錄 `dirb <target> <wordlist>`, 發現有一個檔案叫 talisman, 在 URL 輸入後下載下來 ![](https://i.imgur.com/U4IbcaW.png) ![](https://i.imgur.com/E3foscO.png) - 接著用 file 掃一下, 知道是 32-bit 的 ELF ![](https://i.imgur.com/k1VO6io.png) - main 會呼叫 wearTalisman(), 有個奇怪的 function 叫 chantToBreakSpell() print 了很多東西, jump 過去試試, 得到 flag4 ![](https://i.imgur.com/RJAgrb5.png) - 把 flag4 丟到 online hash decrypter, 得到用 MD5 解出的字串 blackmagic; 提示說 "Chant these words at u31337", 所以我們用 nc 的 UDP mode 連到 port 31337, 在裡面貼上 blackmagic, 但顯示 Nothing happen, 改用 echo 的方式, 即 echo "blackmagic" | nc -uv 192.168.100.11 31337, 就可以取得 flag5 ![](https://i.imgur.com/KzZSmvz.png) ![](https://i.imgur.com/8HTVH9X.png) - 根據提示說 /thenecromancerwillabsorbyoursoul, 在 http://192.168.100.1 後面塞 /thenecromancerwillabsorbyoursoul, 即可取得 flag6 ![](https://i.imgur.com/xw0UERv.png) ## Flag 7 (ongoing) - 在網頁找到有個檔案叫 necromancer, 下載下來發現是 bzip2 檔, 把它用 bunzip2 指令解壓縮後, 出現 necromancer.out, 發現是一個 tar 壓縮檔, 用 tar xvf 指令解壓縮後, 最後出現 necromancer.cap, 是一個 pcap 檔, 包含 network traffic 的資訊 ![](https://i.imgur.com/zSflwAp.png) - 打開 wireshark 來進行分析, 首先觀察到封包是採用 802.11 protocol, 為目前無線區域網路的標準, 有關 802.11 詳細介紹可參考 http://www.cs.nthu.edu.tw/~nfhuang/chap13.htm ![](https://i.imgur.com/9jDeG4H.png) - 接著往下滑, 可以觀察到在做驗證等工作, D-Link 和 Samsung 兩個 device 在 handshake; 在 No. 1186 封包中, 可以找到 key 的資訊, 其中 WPA (Wi-Fi Protected Access) 是一種保護 Wi-Fi 存取安全的標準 ![](https://i.imgur.com/hXlsGZW.png) - 要如何破解 key 呢?可以用 Kali 內建的 Aircrack-ng 工具和 /usr/share/wordlist 底下的 rockyou.txt 來解密, 指令是:`aircrack-ng -w <wordlist> <filename>`, 掃完可以得出 key 是 "death2all" ![](https://i.imgur.com/QAQzGgr.png) - 回到 The Door 的網站, 拉到最底下, 提示告訴我們 u161, 所以嘗試連線連到 port 161 (in UDP mode), 貼上 death2all, 看起來沒反應; 但出現一行訊息告訴我們它使用 snmp protocol ![](https://i.imgur.com/5FJTGCN.png) ![](https://i.imgur.com/0QAWfpa.png)