kali linux 入门(1) 基于win10和docker的环境搭建

摘要:
拼接式清扫器可以检查执法人员的驾驶室,配备了一个便携式急救箱,配备了最先进的工具和复印件,安装了一个跟踪测试盘dc3,用户可以使用最先进的扫描工具和最新的扫描工具,检查人员可以使用最新的工具和最先进的设备,通过屏幕屏幕屏幕屏幕显示最新的屏幕显示菜单渗透测试所需的工具可以在各种Linux操作系统中找到,然后手动安装。其中,典型的操作系统是本书中使用的KaliLinux。KaliLinux以前称为BackTrackLinux发行版。KaliLinux是一个基于Debian的Linux发行版,包括许多安全和取证相关的工具。它由OffensiveSecurity Ltd维护和资助,并由OffensieSecurity的MatiAhroni和DevonKearns通过重写BackTrack首次完成。KaliLinux有32位和64位映像,可用于x86指令集。用户可以通过硬盘、LiveCD或LiveUSB运行KaliLinux操作系统。
1. 前言

渗透测试并没有一个标准的定义。国外一些安全组织达成共识的通用说法是,渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析。这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
渗透测试与其他评估方法不同。通常的评估方法是根据已知信息资源或其他被评估对象,去发现所有相关的安全问题。渗透测试是根据已知可利用的安全漏洞,去发现是否存在相应的信息资源。相比较而言,通常评估方法对评估结果更具有全面性,而渗透测试更注重安全漏洞的严重性。
渗透测试有黑盒和白盒两种测试方法。黑盒测试是指在对基础设施不知情的情况下进行测试。白盒测试是指在完全了解结构的情况下进行测试。不论测试方法是否相同,渗透测试通常具有两个显著特点:

  • 渗透测试是一个渐进的且逐步深入的过程。
  • 渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

了解了渗透测试的概念后,接下来就要学习进行渗透测试所使用的各种工具。在做渗透测试之前,需要先了解渗透所需的工具。渗透测试所需的工具如表所示。

splintunhidescrub
pscanexaminerht
flawfindersrmdriftnet
ratsnwipebinwalk
ddrescuefirstaidkit-guiscalpel
gpartedxmountpdfcrack
testdiskdc3ddwipe
foremostafftoolssafecopy
sectool-guiscanmemhfsutils
unhidesleuthkitcmospwd
examinermacchangersecuirty-menus
srmngrepnc6
nwipentfs-3gmc
firstaidkit-guintfsprogsscreen
net-snmppcapdiffopenvas-scanner
hexeditnetsedrkhunter
irssidnstoplabrea
powertopsslstripnebula
muttbonesitripwire
nanoproxychainsprelude-lml
vim-enhancedprewikkaiftop
wgetprelude-managerscamper
yum-utilspicviz-guiiptraf-ng
mcabbertelnetiperf
firstaidkit-plugin-allonensshnethogs
vnstatdnstraceruperf
aircrack-ngchkrootkitnload
airsnortaidentop
kismetpadstrafshow
weplabcowpattywavemon

渗透测试所需的工具可以在各种Linux操作系统中找到,然后手动安装这些工具。由于工具繁杂,安装这些工具,会变成一个浩大的工程。为了方便用户进行渗透方面的工作,有人将所有的工具都预装在一个Linux系统。其中,典型的操作系统就是本书所使用的Kali Linux。

该系统主要用于渗透测试。它预装了许多渗透测试软件,包括nmap端口扫描器、Wireshark(数据包分析器)、John the Ripper(密码破解)及Aircrack-ng(一套用于对无线局域网进行渗透测试的软件)。

Kali Linux的前身是BackTrack Linux发行版。Kali Linux是一个基于Debian的Linux发行版,包括很多安全和取证方面的相关工具。它由Offensive Security Ltd维护和资助,最先由Offensive Security的MatiAharoni和Devon Kearns通过重写Back Track来完成。Back Track是基于Ubuntu的一个Linux发行版。

Kali Linux有32位和64位的镜像,可用于x86指令集。同时它还有基于ARM架构的镜像,可用于树莓派和三星的ARM Chromebook。用户可通过硬盘、Live CD或Live USB来运行Kali Linux操作系统。


Docker最近推出了可以运行在Win10和Mac上的稳定版本,让我们赶紧来体验一下如何在docker上安装kali linux,这样比安装虚拟机实在是方便很多。

 

2. 安装准备

需要的条件为: 64bit Windows 10,开启Hyper-V

 

2.1 下载Docker for Windows

从官网的下面地址可以下载

https://download.docker.com/win/stable/InstallDocker.msi

 

2.2 开启win10的Hyper-V

控制面板 -> 程序 -> 启用或关闭Windows功能 -> 选中Hyper-V

kali linux 入门(1) 基于win10和docker的环境搭建第1张

完成后自动重启

 

3. 安装Docker

用刚才下载的安装包安装,安装完成后,启动Docker

如果没有开启Hyper-V,启动Docker的时候会提示开启Hyper-V

kali linux 入门(1) 基于win10和docker的环境搭建第2张

 

如果启动的时候,提示内存不足,启动失败,可以在设定中调节VM内存大小

kali linux 入门(1) 基于win10和docker的环境搭建第3张

 

4. 使用Docker

4.1 查看版本等信息

docker info

kali linux 入门(1) 基于win10和docker的环境搭建第4张

 

4.2 run hello world

docker run hello-world

kali linux 入门(1) 基于win10和docker的环境搭建第5张


5. 安装Kali 
C:Usersdong> docker pull kalilinux/kali-linux-docker
C:Usersdong> docker run -t -i kalilinux/kali-linux-docker /bin/bash
root@0129d62d2319:/# apt-get update && apt-get install metasploit-framework
依次执行上述命令即可。首先拉取最新的kali 镜像到本地,然后构建容器并且进入到容器,进入bash。安装metasploit framework.
几乎每一个玩渗透的人都会接触到metasploit framework,简称msf。这是一个渗透测试框架,用ruby语言写的,该框架集成了很多可用的exploit,比如著名的ms08_067等。你可以在这个框架下进行一系列的渗透测试,利用现有的payload,如meterpreter等进一步拿取对方的shell。安装需要比较长的时间,请耐心等待。

成功之后显示如下:
Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/10/main ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    /usr/lib/postgresql/10/bin/pg_ctl -D /var/lib/postgresql/10/main -l logfile start

Ver Cluster Port Status Owner    Data directory              Log file
10  main    5432 down   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: using /usr/share/postgresql/10/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
invoke-rc.d: could not determine current runlevel
Setting up postgresql (10+189) ...
Setting up git (1:2.15.1-3) ...
Setting up curl (7.58.0-2) ...
Setting up python3 (3.6.4-1) ...
Setting up ruby-test-unit (3.2.5-1) ...
Setting up lsb-release (9.20170808) ...
Setting up python3-lib2to3 (3.6.4-2) ...
Setting up libruby2.3:amd64 (2.3.6-2) ...
Setting up dh-python (2.20170125) ...
Setting up python3-distutils (3.6.4-2) ...
Setting up python3.6 (3.6.4-3) ...
Setting up ruby2.3 (2.3.6-2) ...
Setting up ruby2.3-dev:amd64 (2.3.6-2) ...
Setting up ruby-dev:amd64 (1:2.3.3) ...
Setting up ruby (1:2.3.3) ...
Setting up ruby-thor (0.19.4-1) ...
Setting up ruby-json (2.1.0+dfsg-1+b1) ...
Setting up ruby-net-http-persistent (2.9.4-1) ...
Setting up rake (12.3.0-1) ...
Setting up ruby-molinillo (0.5.0-2) ...
Setting up ruby-bundler (1.15.1-1) ...
Setting up bundler (1.15.1-1) ...
Setting up metasploit-framework (4.16.35-0kali1) ...
update-alternatives: using /usr/share/metasploit-framework/msfconsole to provide /usr/bin/msfconsole (msfconsole) in auto mode
update-alternatives: using /usr/share/metasploit-framework/msfd to provide /usr/bin/msfd (msfd) in auto mode
update-alternatives: using /usr/share/metasploit-framework/msfdb to provide /usr/bin/msfdb (msfdb) in auto mode
update-alternatives: using /usr/share/metasploit-framework/msfrpc to provide /usr/bin/msfrpc (msfrpc) in auto mode
update-alternatives: using /usr/share/metasploit-framework/msfrpcd to provide /usr/bin/msfrpcd (msfrpcd) in auto mode
update-alternatives: using /usr/share/metasploit-framework/msfupdate to provide /usr/bin/msfupdate (msfupdate) in auto mode
update-alternatives: using /usr/share/metasploit-framework/msfvenom to provide /usr/bin/msfvenom (msfvenom) in auto mode
Processing triggers for libc-bin (2.26-4) ...
Processing triggers for ca-certificates (20170717) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Processing triggers for systemd (236-3) ...
root@1b4c0d84e023:/#
安装之后执行新起一个CMD窗口,执行docker ps查看目前运行的容器:
C:Usersdong>docker ps
CONTAINER ID        IMAGE                         COMMAND             CREATED             STATUS              PORTS               NAMES
1b4c0d84e023        kalilinux/kali-linux-docker   "/bin/bash"         9 minutes ago       Up 9 minutes                            frosty_goodall



免责声明:文章转载自《kali linux 入门(1) 基于win10和docker的环境搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇STM32 ADC转换时间Angular Cookies 操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Debian软件包管理系统

Debian包管理系统 Debian包管理系统也许是类Unix系统上最为复杂的包管理系统。Debian的机制是网络透明的(也就是他可以通过网络透明的安装远程器上的软件包),而Debian也是第一个进行使用这样打包系统的发行版本。RH的up2date是最近的与Debian相似的软件功能,而Slackware Linux并没有达到真正的网络透明的程度。熟...

Linux基础知识(一)

    本篇主要介绍Linux操作系统相关知识以及其常用命令等。 一、操作系统的基本知识   一般而言,现代计算机计算机系统是一个复杂的系统,故若程序员需要掌握该系统的每一个细节例如如何通过代码去调用音响等这些事情,那可能不再编写代码了,这种情况会严重影响程序员的开发效率。 并且管理这些部件并加以优化使用,是一件极富挑战性的工作,于是,计算安装了一层软件(...

DOCKER 从入门到放弃(五)

添加docker启动参数修改存储大小 添加--storage-opt 参数设置thin-pool和元数据大小--storage-opt dm.loopmetadatasize=10G --storage-opt dm.loopdatasize=400G 修改thin-pool池大小为400g,元数据大小为10g [root@docker opt]# cat...

linux基础学习(二)ls命令以及文件访问权限例(-rw-r-r--)

ls命令 命令选项 作用 ll 显示文件得详细信息 ls -a 显示文件和隐藏文件 ls -t 以文件和目录的更改时间排序 ls -m 用“,”号区隔每个文件目录名称 ll 是ls-l的一个别命 -rw-r-r--. 1 root root 214 4月 17 20:54 mytest1 最左面的-rw-r-r--表示用户对文...

学习使用linux下tags文件

ctags可以分析程序生成tag文件为vim所用,从而在编写程序时实现函数原型、数据结构声明等快速跳转,很是方便。首先确定你的Linux 系统里安装了ctags。没有的话,请先安装ctags。如果是Debian或者Ubuntu系统,直接在终端上运行:sudo apt-get install ctags装好ctags后,找一个源码目录,在终端上运行如下命令,...

docker一键搭建Nginx+PHP环境(含自动部署命令)

文章的主要部分是一步一步的教程,文章的最后是我整理好的一键安装命令,自动下载并安装docker,构建镜像,启动容器集群(压缩包内注释覆盖范围达到80%) 大家可以看完教程亲自尝试下,也可以直接执行一键安装命令,整个过程大概10分钟左右,我在四台不同的机器上执行过该命令,由于网络原因,5-15分钟不等。 如本文章内容与通过一键安装下载的不同,以一键安装的为...