什么是渗透测试?
再授权的前提条件下,模拟黑客的真实攻击方法对系统和网络进行非破坏性质的攻击测试,从而找出信息系统中存在的缺陷和漏洞。
Kali
关于Kali—一个让普通人直接成为传闻中的黑客
Kali是基于Debian的Linux发行版操作系统,拥有超过300个渗透测试工具,拥有开源Git树等,甚至还集成了600多种黑客工具,完全可以想象到它的强大。此外大家还可以永久免费使用Kali操作系统!
Kali官网:https://www.kali.org/
Kali用的好,lao饭吃到饱,学习网络安全技术请务必遵守相关法律法规
Kali提供了针对各种主流平台的下载:
Kali的安装与使用:
Kali的工具大全:https://www.kali.org/tools/
网络配置(编辑—虚拟机网络编辑器):
什么是docker?
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
docker和虚拟机的区别
vm虚拟机是一个完整的操作系统
docker直接在宿主主机的操作系统上调用硬件资源,而不是虚拟化操作系统和硬件资源。
kali安装docker:
sudo apt install -y docker.io
apt是debian系统的软件包管理器(kali和ubuntu其实也是debian的分支)
使用示例:
apt install firefox(安装火狐浏览器)
apt remove firefox(卸载火狐浏览器)
apt upgrade firefox(升级火狐浏览器)
windows能不能安装docker?当然可以
https://www.docker.com/products/docker-desktop
为kali配置docker加速器
阿里云镜像加速器:https://help.aliyun.com/document_detail/60750.html
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker的基础命令:
启动docker服务 systemctl start docker
列出镜像 docker images
列出容器 docker ps -a / docker container ls -a
删除镜像 docker rmi [image_id]
删除容器 docker rm [container_id]
访问dockerhub的dvwa镜像
1.下载镜像:
docker pull vulnerables/web-dvwa
2.通过镜像启动容器
docker run --rm -it -p 80:80 vulnerables/web-dvwa
-p 80:80 :将容器里的80端口映射到kali的80端口(网站服务)
关闭容器:docker stop [container_id]
开启容器:docker start [container_id]
现在我们直接在网站中输入我们的IP地址就可直接进入了
登录DVWA 账号密码:admin/password
我们点击创建和重启数据库:
这样DVWA就搭建完成了
修改request请求参数远程执行命令
输入127.0.0.1——>执行命令ping 127.0.0.1,怎样才能利用这个网站
输入127.0.0.1 & whoami——>执行命令ping 127.0.0.1 执行命令whoami——>获取whoami的命令执行结果
我们可以看到whoami的结果:www-data(低权限用户)
https://github.com/Medicean/VulApps
https://hub.docker.com/r/medicean/vulapps
搭建方式在每个漏洞的README文件下都可以查看
以 Struts2 S2-037 漏洞环境为例:
通过 S2-037漏洞环境的 README文件 得知 tag 为
s_struts2_s2-037
- 获取镜像:
docker pull medicean/vulapps:s_struts2_s2-037
如果获取速度慢,推荐使用 中科大 Docker Mirrors 或者使用 阿里云 Mirrors(加速器)
- 创建并启动容器
docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-037
访问
http://127.0.0.1/
即可访问启动好的 s2-037 环境,快拿出 exp 工具尝试一下吧。
搭建完成:
1.通过docker拉取镜像vulfocus/vulfocus
docker pull vulfocus/vulfocus:latest
2.开启靶场
docker create -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=172.17.0.1 vulfocus/vulfocus
参数介绍:
注意:此处有坑(-p铅笔拿到端口代表物理机的端口,后边的端口是docker端口)
-v /var/run/docker.sock:/var/run/docker.sock 为docker交互连接
unix://var/run/docker.sock进行连接,也可以通过tcp://xxx.xxx.xxx.xxx:2375进行连接(必须开放2375端口)
-e VUL_IP=xx.xx.xx.xx为Docker服务器IP,不能为127.0.0.1
3.上述步骤只算添加了docker容器,并未进行启动,需要通过命令docker container start 接上述命令给出的容器id前四位即可
4.此时靶场开启打开浏览器访问ip加88端口即可打开
默认账号密码admin/admin
在镜像管理,本地导入中就可以导入你所有的本地靶场了,也可以在添加中选择添加下载。
在首页启动发现有flag,这个flag我们去找一下
docker ps
docker exec -it 0edfd8 /bin/bash
拿到flag后,恭喜通关!
t=“image-20220713115934932” style=“zoom:67%;” />
在首页启动发现有flag,这个flag我们去找一下
docker ps
docker exec -it 0edfd8 /bin/bash
[外链图片转存中…(img-E35SB0Ri-1657685473140)]
拿到flag后,恭喜通关!
[外链图片转存中…(img-y5PN3mwk-1657685473141)]