How to enumerate shared drives using smb_enumshares

บทนำ (Overview)

จากบทความก่อนหน้าที่กล่าวถึงโปรโตคอล SMB (How to find shared drive access using check_dir_file)  ซึ่งเราสาามารถหา “Shared drive” ของภายในเครือข่ายได้อย่างรวดเร็ว ยังมีอีกวิธีในการค้นหาซึ่งเราเรียกว่าการ “enumerate” นอกจากจะหา “Shared Drive” และชื่อระบบปฎิบัติพร้อม “Version” แล้วถ้าเข้าไปได้จะทำการงัดชื่อไฟล์ออกมาให้เราด้วย เออดี!!! ไม่ต้องเสียเวลาเข้าไปเอง…

ขั้นตอน (Steps)

  1. เข้าใช้งานระบบปฎิบัติการ “Kali” หรือ “Backtrack” Linux
  2. ค้นหาตัวโปรแกรม “smb_enumshares”
    msf > search smb_enumshares
    [!] Database not connected or cache not built, using slow search
    Matching Modules
    ================
       Name                                  Disclosure Date  Rank    Description
       ----                                  ---------------  ----    -----------
       auxiliary/scanner/smb/smb_enumshares                   normal  SMB Share Enumeration
    
  3. เรียกใช้ “Module” ของ “smb_enumshares”
    msf > use auxiliary/scanner/smb/smb_enumshares
    msf auxiliary(smb_enumshares) >
    
  4. ทำการแสดง “options” เพื่อแสดงค่าพารามิเตอร์ที่ต้องตั้ง
    msf auxiliary(smb_enumshares) > show options
    Module options (auxiliary/scanner/smb/smb_enumshares):
       Name             Current Setting  Required  Description
       ----             ---------------  --------  -----------
       LogSpider        3                no        0 = disabled, 1 = CSV, 2 = table (txt), 3 = one liner (txt) (accepted: 0, 1, 2, 3)
       MaxDepth         999              yes       Max number of subdirectories to spider
       RHOSTS                            yes       The target address range or CIDR identifier
       SMBDomain        WORKGROUP        no        The Windows domain to use for authentication
       SMBPass                           no        The password for the specified username
       SMBUser                           no        The username to authenticate as
       ShowFiles        false            yes       Show detailed information when spidering
       SpiderProfiles   true             no        Spider only user profiles when share = C$
       SpiderShares     false            no        Spider shares recursively
       THREADS          1                yes       The number of concurrent threads
       USE_SRVSVC_ONLY  false            yes       List shares only with SRVSVC
    
  5. จากนั้นทำการ set ค่าพารามิเตอร์สำหรับการค้นหาดังนี้
    msf auxiliary(smb_enumshares) > set RHOSTS 192.168.0.0/24
    RHOSTS => 192.168.0.0/24
    msf auxiliary(smb_enumshares) > set SMBDomain ""
    SMBDomain => 
    msf auxiliary(smb_enumshares) > set ShowFiles true
    ShowFiles => true
    msf auxiliary(smb_enumshares) > set SpiderShares true
    SpiderShares => true
    msf auxiliary(smb_enumshares) > show options
    
    Module options (auxiliary/scanner/smb/smb_enumshares):
    
       Name             Current Setting  Required  Description
       ----             ---------------  --------  -----------
       LogSpider        3                no        0 = disabled, 1 = CSV, 2 = table (txt), 3 = one liner (txt) (accepted: 0, 1, 2, 3)
       MaxDepth         999              yes       Max number of subdirectories to spider
       RHOSTS           192.168.0.0/24   yes       The target address range or CIDR identifier
       SMBDomain                         no        The Windows domain to use for authentication
       SMBPass                           no        The password for the specified username
       SMBUser                           no        The username to authenticate as
       ShowFiles        true             yes       Show detailed information when spidering
       SpiderProfiles   true             no        Spider only user profiles when share = C$
       SpiderShares     true             no        Spider shares recursively
       THREADS          1                yes       The number of concurrent threads
       USE_SRVSVC_ONLY  false            yes       List shares only with SRVSVC
    
  6. จากพารามิเตอร์ข้างต้นสามารถอธิบายได้ดังนี้
    • RHOSTS สำหรับการตั้งค่า IP เครื่องเป้าหมายสามารถ set เป็นช่วงของ IP ได้ จาก ตัวอย่าง /24 หมายถึง IP ตั้งแต่ 192.168.0.1 – 192.168.0.255
    • SMBDomain สำหรับเครือข่ายที่ต้องช้ “Domain” เพื่อการ “Authentication” สำหรับการทดสอบอย่างเป็นคนไม่มีสิทธิเลยสามารถ Set ให้ว่างได้ โดยใช้คำสั่ง
      msf auxiliary(check_dir_file) > set SMBDomain ""
      SMBDomain => 
      
    • SMBPass รหัสผ่านของ “Account” ที่ใช้ในการ “Authentication” ซึ่งใช้ในการทดสอบเครือข่ายภายใน
    • SMBUser ของ “Account” ที่ใช่ในการ “Authentication” ซึ่งใช้ในการทดสอบเครือข่ายภายใน
    • ShowFiles แสดงข้อมูลของไฟล์ที่ถูกค้นหา (Spider)
    • SpiderShares ทำการ “Spider” ไปยัง “Sub-Directory” จะลึกลงไปเรื่อย
  7. จากนั้นเรียกใช้คำสั่ง “run” และรอจนกว่าจะ “scan” ครบทุก IP
    msf auxiliary(smb_enumshares) > run
    
  8. ผลจากการทดสอบสามารถตรวจสอบได้ดังภาพ

    smb_enumusers
    ผลการใช้ Module ของ smb_enumusers
  9. ผลการทดสอบเมื่อปิด “SpiderShares”

    smb_enumusers2
    ผลการทดสอบเมื่อปิด SpiderShares

ผลการทดสอบ (Conclusion)

บทสรุปยังคงเป็นเช่นเดิมคือ การเข้าเครื่องระบบปฎิบัติการจะต้องมีการ “Login” และเมื่อ “Login” แล้วและจะต้องมีการตั้งค่าสิทธิเฉพาะผู้มีสิทธิเท่านั้นที่สามารถเข้าไดเรกทรอรี หรือ ไฟล์

ใส่ความเห็น