搭漏洞环境难?虚拟机/容器了解一下

李志宽
• 阅读 1342

搭漏洞环境难?虚拟机/容器了解一下

前言

先说说 Kali Linux 的一个问题,有些同学问我 Kali 环境怎么搭,他弄了好久都没配置好,安装过程老出错,我感觉非常惊讶。Kali 虽然是点历史遗留问题,我在几年前玩的时候用 ISO 文件搭建也真的有很多坑,但是现在都阔以下载虚拟机版本的 Kali VM 呀,下载完一导入,改一下网卡,开箱即用。

我把这个方法告诉他之后,他的表情是:还能这样操作?

搭漏洞环境难?虚拟机/容器了解一下

作为一个渗透人员,快速搭建渗透测试环境是非常重要的一环,总不能将时间浪费在搭建上面吧?当然也不能随便找个站日,给自己带来一些负面的影响。而常用的漏洞搭建方式有 VM 虚拟机和 Docker,使用过程都非常简单。先说说 VM 虚拟机吧

VM 虚拟机

在各种漏洞虚拟机的网页中的说明页面中一般会有用户名密码之类的信息,仔细阅读就行。一般来说,Windows 域环境 、 Kali、基本的 *nix 系统就够你玩好久了,所以除下列两个之外,你一般还需要 Windows 各个脆弱版本的 ISO,基本的 *nix 系统镜像等等。使用 VMware 或者 VirtualBox 都行。(请查看文末链接或点击)

1.Kali虚拟机版[1]

2.klionsec:完整单域实战演练环境下载

3.Windows国外渗透工具包CommandVM[2]

4.52破解论坛专用破解虚拟机[3]

Docker

说完了 VM,来讲讲 Docker。有的同学可能不太熟悉,用简单几句稍做科普一下:

1.Docker 是一种虚拟机,但很轻量,效率更高

2.Docker 比 VM 启动快得多多多多多,打开/重启/关闭容器很快

3.迁移方便,你可以日完之后给别人x(?,并且下一次想x的时候还是一样的感觉(?

4.Docker 环境隔离,不会x错地方(?

搭漏洞环境难?虚拟机/容器了解一下

5.最爽的是 Docker 有很多封装好的镜像,可以直接拿来使用,并且学会了 Dockerfile/docker-compose (搜索一下,有非常多的资料)的编写,搭建 web 环境会十分快速,省了很多事儿,具体是啥坑可能以后你会知道的,虚拟机搭环境太令人心碎了……6.另外,Docker 在运维中用得很多,因此学会了之后,如果安全做不下去你以后可以转运维了(误

搭漏洞环境难?虚拟机/容器了解一下

关于 docker 的基础教程,我推荐到 https://www.runoob.com/docker/ 进行学习,基础使用非常简单。在搭渗透环境的时候,无需太过关注性能方面的问题(主要实现的是事务逻辑),所以不用太深入了解 docker,基本上会 dokcer run 起来、映射个端口就行。

另外,我推荐在 Linux 下安装 Docker,因为 Windows 下的 Docker 基于 Hyper-V,无法和 VMware 共存,而 VMware 个人感觉是最好用的虚拟机软件……

Docker 关于渗透的资源海了去了,最值得推荐的、最符合国人的就是 Vulhub[4] 了,基本上大的漏洞都有相应的 Dockerfile,只要进入到漏洞的目录下 Docker 运行即可,文档也比较清晰,方便快捷。

除此之外,在 hub.docker.com 和 Github 上进行搜索,有现成的、丰富的基础环境资源/漏洞复现资源。

总结

为了达成即用即走、快速恢复、环境隔离的目的,用 Docker 是最理想的,但是 Docker 并不支持搭建 Windows 的“虚拟机”,是因为 Docker 只是一个共享内核的、Linux下的一个特殊进程,因此 Windows 环境只能老老实实用 VMware/VirtualBox。

Docker 的方便之处在于,比如说 dvwa/webgoat 等常见的靶机,也可以直接通过 docker search 搜索,docker pull 拉下来,docker run 走起来,三步即可搭建环境,用完了一删就完事了。

在渗透测试学习的过程中,学会一些好的方法,能够节省相当多的一部分时间,Docker 就是其中一种。新的一周,继续加油吧 ovo

搭漏洞环境难?虚拟机/容器了解一下

References

【全套工具包】

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
李志宽
李志宽
Lv1
男 · 长沙幻音科技有限公司 · 网络安全工程师
李志宽、前百创作者、渗透测试专家、闷骚男一位、有自己的摇滚乐队
文章
89
粉丝
25
获赞
43