第一章 基础环境搭建
实验环境
- 工具
- 目标靶机
准备虚拟机
Kali Linux
Kali Linux 是渗透测试安全工具的集合,集成了市面上常用的安全工具;基于Debian Linux 发行版进行封装的;是每个安全从业者必备武器之一。
Kali Linux 的获取
- 可以下载ISO镜像 然后通过ISO 镜像安装,安装过程比较耗时。
- 也可以直接下载虚拟机版本,解压之后进入文件夹直接打开
.vmx
文件,即可打开虚拟机。 - (建议)直接打开
ova
文件,导入Kali 虚拟机。
Kali 的账密
root 用户是Linux 系统的最高权限用户。
- 2019 年(包含)之前
root:toor
- 2020 年之后
kali:kali
额外工具
- Nessus
- OpenVAS
- AWVS
- vulhub
WINDOWS 的准备
Windows 2008 R2
作为目标靶场。
系统信息 | 系统详情 |
---|---|
OS 名称 | Microsoft Windows Server 2008 R2 Enterprise |
OS 版本 | 6.1.7600 暂缺 Build 7600 |
简要配置
- 隐藏已知文件类型的扩展名
- 更改盘符
Windows 2003
作为目标靶场。
系统信息 | 系统详情 |
---|---|
OS 名称 | Microsoft® Windows® Server 2003, Enterprise Edition |
OS 版本 | 5.2.3790 Service Pack 2 Build 3790 |
Windows 7
工具集合。
大家根据实际情况,如果条件有限,可以用Windows 2008 代替,也就是说在Windows 2008 下的所有操作都可以在Windows 2008 下完成。
系统信息 | 系统详情 |
---|---|
OS 名称 | Microsoft Windows 7 旗舰版 |
OS 版本 | 6.1.7601 Service Pack 1 Build 7601 |
前置知识
- Windows
- 网络
- Linux
- Python
Web 服务器搭建
为什么搭建Web 服务器呢?
- 后续课程以Web 渗透为主;
- 大部分情况下不能以公网服务器作为目标,
非授权测试
是违法的; - 需要一个本地靶场和本地Web 服务器;
- (建议)使用Web 套件搭建服务器,比如
phpStudy
。
phpStudy 安装
phpStudy 是一个套件,集成开发环境,包括
- Web 服务器(Apache HTTPD)
- 后端脚本语言(PHP)
- 数据库(MySQL)
一键安装。可以从官网下载。
(建议)使用phpStudy 2016 版,将phpStudy 安装到Win 2k8 虚拟机中。
phpStudy 控制面板说明
phpStudy 运行模式
- 系统服务:把Apache HTTPD 和MySQL 注册成系统服务,并且开机自启动,如果安装WAF ,必须使用此模式。
- (建议)非服务模式:把Apache 和MySQL 作为普通程序运行,开机需要点击启动。
phpStudy 服务版本切换
- (默认)php-5.4.45 + Apache
Web 根目录
- 路径:
D:\phpStudy_2016\WWW
PHP 探针
- l.php
- ll.php
PHP 配置
查看服务器环境:
<?php
phpinfo(); //是PHP 的一个函数,这个函数会说明Web 服务器环境的相关信息。
?>
PHP 配置文件:
php.ini
D:\phpStudy_2016\php\php-5.4.45\php.ini
PHP 时区问题:
date.timezone = Asia/Shanghai ;911
Apache 配置
配置文件:
httpd.conf
D:\phpStudy_2016\Apache\conf\httpd.conf
MySQL 配置
配置文件:
my.ini
D:\phpStudy_2016\MySQL\my.ini
默认账密 root:root
管理mysql 数据库的几种方式:
- phpMyAdmin
- MySQL-Front
- cmd 命令行
安装一个网站
cms.zip
,将源代码解压放到Web 根目录下,访问的时候发现有一个警告,警告提示无法连接数据。
修改网站数据库配置文件
\cms\include\database.inc.php
//数据库配置文件
define ('DB_TYPE','mysql');
define ('DB_HOST','localhost');
define ('DB_USER','root');
define ('DB_PWD','root');//MySQL 数据库的密码为root,
//此处密码的需要根据MySQL 的配置来填写
define ('DB_NAME','cms');
define ('DB_CHARSET','utf8');
直接访问网站。
创建数据库
mysql -uroot -proot;
create database cms;# 创建数据库
use cms;# 选择数据库
source D:/phpStudy_2016/WWW/cms/install.sql;;#导入数据库文件
再次访问网站。
Windows 7 工具准备
准备一些安全工具:
- Kali Linux
- Windows 7
安装基础环境
安装java 环境
找到JDK 安装包jdk-8u121-windows-x64.exe
,安装完成之后,暂时不需要配置JAVA 环境变量即可使用。
C:\Users\AJEST>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
C:\Users\AJEST>
安装火狐浏览器插件
需要一个浏览器,这里首选火狐浏览器,因为火狐浏览器支持很多扩展插件。
插件 | 说明 |
---|---|
hackbar | 安装其他版本 |
Proxy Switcher and Manager | 代理切换工具 |
BurpSuite
Burp Suite 的作用就是作为一个代理服务器,拦截、修改或监听浏览器与服务器之间的HTTP 流量,可以从HTTP 流量中分析目标网站的安全问题。
- Burp Suite
- burp
- bp
运行该工具需要java 环境。
Bp 的启动
两种方式启动
- 从启动器启动BurpSuite 即可。
- 在同级目录下新建一个bat 脚本,命名为
startbp.bat
,文件的内容如下,
java -noverify -Xbootclasspath/p:burp-loader-keygen-2020_2_1.jar -jar burpsuite_pro_v2020.2.1.jar
双击此bat 脚本,即可启动bp。
Bp 的核心功能
burp 的使用,要从核心模块Proxy
模块说起。
把burp 作为一个中间人
,转发浏览器与服务器之间的HTTP 流量。
- 让Burp 作为
中间人
,转发浏览器到服务器的流量,开启代理服务器。 - 让浏览器流量,通过Burp 发送到Web 服务器。
其他工具
psiphon3
漏洞初探
phpStudy_2016-2018_rce_backdoor
1. 漏洞描述
攻击者可以利用该漏洞执行人PHP 命令,也可以称作phpStudy 后门
。
2. 漏洞等级
高危
3. 影响版本
- phpStudy 2016
- phpStudy 2018
4. 漏洞复现
- 基础环境
组件 | 版本 |
---|---|
OS | Windows 2008 R2 x64 |
Web Server | phpStudy 2016(特别版) |
- 利用代码
Accept-Charset: c3lzdGVtKCd3aG9hbWknKTs=
Accept-Encoding: gzip,deflate
几个问题
- 启动Burp Suite 的bat 脚本可以用记事本来编写,脚本的内容在启动器中。启动器是比较小的jar 包。
- Bp 的压缩包用压缩软件解压,得到两个jar 包,这两个jar 包要用java 程序来运行的,否则有的时候会自动解压。
- 建议大家直接下载Kali 官网封装好vm 虚拟机,直接解压运行,不需要再次安装vm-tools。
- 系统没有激活,没有影响。
- 工具尽量安装在虚拟机中。
b Server | phpStudy 2016(特别版) |
- 利用代码
Accept-Charset: c3lzdGVtKCd3aG9hbWknKTs=
Accept-Encoding: gzip,deflate
几个问题
- 启动Burp Suite 的bat 脚本可以用记事本来编写,脚本的内容在启动器中。启动器是比较小的jar 包。
- Bp 的压缩包用压缩软件解压,得到两个jar 包,这两个jar 包要用java 程序来运行的,否则有的时候会自动解压。
- 建议大家直接下载Kali 官网封装好vm 虚拟机,直接解压运行,不需要再次安装vm-tools。
- 系统没有激活,没有影响。
- 工具尽量安装在虚拟机中。