1. 前言

渗透测试并没有一个标准的定义。国外一些安全组织达成共识的通用说法是,渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析。这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。

渗透测试与其他评估方法不同。通常的评估方法是根据已知信息资源或其他被评估对象,去发现所有相关的安全问题。渗透测试是根据已知可利用的安全漏洞,去发现是否存在相应的信息资源。相比较而言,通常评估方法对评估结果更具有全面性,而渗透测试更注重安全漏洞的严重性。

渗透测试有黑盒和白盒两种测试方法。黑盒测试是指在对基础设施不知情的情况下进行测试。白盒测试是指在完全了解结构的情况下进行测试。不论测试方法是否相同,渗透测试通常具有两个显著特点:

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

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

splint unhide scrub
pscan examiner ht
flawfinder srm driftnet
rats nwipe binwalk
ddrescue firstaidkit-gui scalpel
gparted xmount pdfcrack
testdisk dc3dd wipe
foremost afftools safecopy
sectool-gui scanmem hfsutils
unhide sleuthkit cmospwd
examiner macchanger secuirty-menus
srm ngrep nc6
nwipe ntfs-3g mc
firstaidkit-gui ntfsprogs screen
net-snmp pcapdiff openvas-scanner
hexedit netsed rkhunter
irssi dnstop labrea
powertop sslstrip nebula
mutt bonesi tripwire
nano proxychains prelude-lml
vim-enhanced prewikka iftop
wget prelude-manager scamper
yum-utils picviz-gui iptraf-ng
mcabber telnet iperf
firstaidkit-plugin-all onenssh nethogs
vnstat dnstracer uperf
aircrack-ng chkrootkit nload
airsnort aide ntop
kismet pads trafshow
weplab cowpatty wavemon

渗透测试所需的工具可以在各种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

完成后自动重启

3. 安装Docker

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

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

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

4. 使用Docker

4.1 查看版本等信息

docker info

4.2 run hello world

docker run hello-world

5. 安装Kali

C:\Users\dong> docker pull kalilinux/kali-linux-docker
C:\Users\dong> 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:\Users\dong>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的环境搭建的更多相关文章

  1. Docker Kubernetes 环境搭建

    Docker Kubernetes 环境搭建 节点规划 版本 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 etcd存储版本:etcd-3. ...

  2. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  3. Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建)

    Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建) 具体案例:局域网内有两台主机,一台Linux.一台Windows,现在需要配置一台Cacti监控服务器对这两台 ...

  4. Samsung_tiny4412(驱动笔记01)----linux 3.5,U-Boot,Busybox,SD卡启动环境搭建

    /*********************************************************************************** * * linux 3.5,U ...

  5. Docker Swarm 环境搭建

    Docker Swarm 环境搭建 swarm 使用前提 1.Docker版本1.12+ Docker升级教程:https://www.cnblogs.com/xiangsikai/p/9935894 ...

  6. win10下Spark的环境搭建

    win10下Spark的环境搭建 2018-08-19  18:36:45 一.jdk 1.8.0 安装与配置 二.scala 2.11.8 安装与配置http://www.scala-lang.or ...

  7. 基于IDEA的JavaWeb开发环境搭建

    基于IDEA的JavaWeb开发环境搭建 基于IDEA的JavaWeb开发环境搭建 jdk下载安装配置环境变量 下载 安装 配置环境变量 下载安装激活使用IntelliJ IDEA 下载 安装 激活 ...

  8. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  9. Web渗透测试使用Kali Linux(一)渗透测试概要及环境部署

    渗透测试是利用已经发现的漏洞,采用恶意黑客的惯用手段来尝试对漏洞进行攻击. Kali Linux是BackTrack的进化版,是Linux的衍生版本,专门开发用作渗透测试,其中提供了很多的渗透测试工具 ...

随机推荐

  1. (转)C++实现RTMP协议发送H.264编码及AAC编码的音视频,摄像头直播

    转:http://www.cnblogs.com/haibindev/archive/2011/12/29/2305712.html C++实现RTMP协议发送H.264编码及AAC编码的音视频 RT ...

  2. hdu多校第一场1005(hdu6582)Path 最短路/网络流

    题意: 在无向图上删边,让此图上从起点到终点的最短路长度变大,删边的代价是边长,求最小代价. 题解: 先跑一遍迪杰斯特拉,求出所有点的d[]值,然后在原图上保留所有的边(i,j)仅当i,j满足d[j] ...

  3. BZOJ3211花神游历各国-线段树&树状数组-(HDU4027同类型)

    (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 题意:BZOJ HDU  原题目描述在最下面.  两种操作,1:把区间的数字开方一次,2:区间求和. 思路: 线段树:  显然不能暴力 ...

  4. 秦曾昌人工智能课程---5、KNN和朴素贝叶斯

    秦曾昌人工智能课程---5.KNN和朴素贝叶斯 一.总结 一句话总结: 拟合和概率:构建机器学习模型,一般有拟合和概率两种方式 轻学无用:一定要保证学有所用,要深入学习,比如之前做的安卓,一定要学通, ...

  5. mac 安装配置使用 mongoldb

    mac 安装配置使用 mongoldb 安装和配置 brew install mongos brew install mongo # 密码就是用户的密码 # 配置数据文件 //如果不配置会出现错误62 ...

  6. Thread状态

  7. 20140412 iphone不完美越狱 无限黑屏解决

    1.不完美越狱 工具:爱思助手.cydia 方法: 爱思助手刷6.1.3固件 一键越狱->关机越狱 高手工具->不完全越狱引导 进入手机后,打开cydia,下载insomnia防黑屏插件 ...

  8. 什么是css块级元素和内联元素

    CSS文档流与块级元素(block).内联元素(inline),文档流这个概念理解了它,一堆CSS布局的理论都 变得易于理解,并且体会到CSS这套设计的合理性所在. 文档流 将窗体自上而下分成一行行, ...

  9. spark-sql性能优化之——动态实现多个列应用同一个函数

    在对一个dataframe的多个列实现应用同一个函数时,是否能动态的指定? 例如: 对A,B,C三列实现分组统计 1.初始化spark,构建DF val spark = SparkSession.bu ...

  10. liunx crontab 参数代表含义

    * * * * * (下面的字体对应) 分钟 小时 几号 月份 星期几 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作. 逗号(,): ...