Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016

0.1  本系列教程说明

本系列教程,采用的大纲母本为《Understanding Network Hacks Attack and Defense with Python》一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇到的问题而作。由于原书很多地方过于简略,笔者根据实际测试情况和最新的技术发展对内容做了大量的变更,当然最重要的是个人偏好。教程同时提供图文和视频教程两种方式,供不同喜好的同学选择。由于教程仍在创作过程中,在整套教程完结前,感兴趣的同学请关注我的微信订阅号(xuanhun521,下方二维码),我会第一时间在订阅号推送图文教程和视频教程。问题讨论请加qq群:Hacking (1群):303242737   Hacking (2群):147098303。

图1  xuanhun521 微信订阅号

0.2 前言

关于虚拟机安装Kali Linux已经是老生常谈了,我之前的博文(Kali Linux渗透测试实战 1.2 环境安装及初始化)和视频教程(Kali Linux web渗透测试--初级教程1)都详细的介绍过。相对之前的文章和教程,本次采用的系统是最新的Kali Linux 2016.1,在安装上没什么区别,配置上需要注意的是采用新的更新源。即便如此,为照顾没有接触过Kali Linux的同学,本篇文章还是会尽可能详尽的描述每一个步骤和细节。

至于为什么要使用Kali Linux来作为开发环境,简单的讲,Kali Linux为我们提供了Python黑帽编程所需要的所有测试工具,可以更加方便的搭建目标环境。

当然你可以选择你喜欢的系统,windows或者Mac OS,Ubuntu都可以,毕竟使用Kali Linux在更新源方面有一点点障碍,但是为了学习安全,客服这点障碍还是值得的。

1.1 映像文件下载

下载地址:https://www.kali.org/downloads/

图2  Kali Linux 镜像列表

根据自己的环境选择对应的操作系统镜像,如果是64位系统请尽量下载64位文件。

1.2  系统安装

镜像下载成功之后,就该开始我们漫长的安装过程了。

首先打开VMWare,新建虚拟机。

图3 新建虚拟机

选择Custom,单击下一步,如图4。

图4

选择最新软件版本,下一步,如图5。

图5

选择从ISO文件安装系统,单击浏览安装,从文件选择框选择你的映像文件,如图6。

图6 选择映像文件

单击“下一步”。操作系统类型选择“Linux”和“Debian7-64bit”(32位系统选择Debian7)。

图7 选择操作系统类型

单击“下一步”。填写虚拟机名称,打开文件浏览对话框,选择文件存储位置。

图8 配置虚拟机文件存储

单击“下一步”。配置CPU和内核。如图9。

图9 配置CPU

这里需要根据你电脑的实际配置去衡量虚拟机的配置,否则会影响电脑的性能,接下来的内存配置也一样。

单击“下一步”。配置内存。

图10  配置内存

单击“下一步”,配置网络类型。如果你的网络支持DHCP,可以选择桥接方式,否则选择NAT方式。

图11 选择网络类型

单击“下一步”,选择IO类型。

图12 选择IO类型

单击“下一步”,选择磁盘类型。

图13 选择磁盘类型

单击“下一步”,选择新建虚拟磁盘,如图14。

图14

单击“下一步”,设置磁盘大小和存储方式。这里一定要注意,磁盘大小一定要大于20G,否则会出现无法启动的问题。我在之前的博文里也提到过这个问题,不过还是被很多同学忽略。如图15。

图15  设置虚拟磁盘大小

单击“下一步”,设置虚拟磁盘文件存储位置。如图16。

图16 设置虚拟磁盘存储位置

单击“下一步”,如图17。

图17  确认信息

单击“完成”,如图18,启动虚拟机。

图 18

选择 Graphical install,如图19。

图19

回车。选择语言,如图19。

图20  选择语言

单击“Continue”。选择“是”,如图21。

图21

单击“继续”。选择国家和地区,如图22。

图22

单击“继续”。配置键盘类型,如图23。

图23

单击“继续”。安装程序开始加载组件,如图24。

图24

组件加载完成后开始配置主机名,按个人喜好随便填写就好了,如图25。

图25

单击继续。配置域名,随便填写就可以了,这些之后需要的时候都可以改,如图26.

图26  配置域名

单击“继续”。为root账号设置密码,如图27。

图27  设置root密码

单击继续。系统会设置时间,完毕之后,选择磁盘分区方法。这里根据个人能力来选择,可以默认整个磁盘,也可以自定义分区。如图28.

图28

单击继续,选择分区。这里我选择的是整个磁盘安装,所以只有一个选项,如图29。

图29

单击继续。选择默认项就可以了。如图30.

图30

单击“继续”,选择写入磁盘,如图31。

图31

单击“继续”,选择“是”,如图32。

图32

单击“继续”。开始安装系统,如图33。

图33

安装过程中,会出现是否选择网络镜像的选项,记得一定要选“否”,如图34。

图34

单击“继续”。选择是,将grub安装在MBR记录上。如图35。

图35

单击“继续”。选择唯一的设备。如图36.

图36

单击“继续”。MBR写完之后,出现安装过程完成的界面。如图37.

图37

单击“继续”。结束安装进程。系统重启,如图38.

图38

安装过程正式结束,我们输入账户root和安装过程中设置的密码进入系统,开始配置阶段。

图39

图40

1.3  系统配置

由于我们当前的需求是开发Python程序,所以系统配置相对渗透测试会简单很多,只需要配置更新源,更新系统,安装VMWare增强工具,配置共享目录。

1.3.1 更新系统

打开终端,输入如下命令:

vim /etc/apt/sources.list

清空sources.list文件内容,输入如下内容:

#kali官方源

deb http://http.kali.org/kali kali-rolling main non-free contrib

#中科大的源

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

保存并退出,先如下命令:

apt-get update & apt-get upgrade

结果如图41所示。

图41

见到图42的画面中的“完成”两个字的时候,证明这一轮更新数据的获取完成了。

图42

这个时候画面会静止在这,不要等,直接回车即可,如图43.

图43

现在真正到了更新系统的核心阶段了,执行以下命令:

apt-get dist-upgrade

在确认界面输入“Y”,如图44。

图44  确认更新

接下来是下载阶段,直到下载完成,如图45。

图45 更新包下载完成

紧接着会出现更新声明的内容,一路回车到100%,然后输入“:q”,进入软件包更新环节,如图46,47所示。

图46

图47

部分软件包可能会有提醒,手动选择下就ok了。

由于网络原因,很可能会更新失败,这个时候通过VPN或者Socks代理进行FQ就很有必要了。如果你觉得在Kali里完成FQ有困难的话,请参考我之前的文章《kali linux 2.0 虚拟机通过宿主机代理实现科学上网-第二弹》,可以保证你能顺利更新。整个更新是一个漫长的过程,要做好充分的心理准备。

所有软件包更新成功后,输入如下命令,重启系统。

reboot

图48

1.3.2 安装vm-tools

重新进入系统后,我们会发现,现在系统桌面环境的分辨率无法调整,只有一个小窗口,虚拟机和外部系统无法共享剪贴板,无法设置共享目录。我们需要安装open-vm-tools来解决这些问题。

启动终端,输入如下命令:

apt-get install open-vm-tools-desktop fuse

图49

安装成功之后,重启系统,就能看到效果了。

1.4  小结

本文作为Python黑帽编程的第一节,好像做了很多与编程本身无关的事情,但是通过Kali系统的安装和更新,我们已经安装了Python以及常用的Python模块,一大批使用Python开发的安全工具。

下一节,我们在Kali上安装Vs Code,用VS Code构建Python开发环境。

1.5 篇文章对应视频教程获取方法

在微信订阅号中,查看文章历史,找到对应的本篇文章,文章结尾有获取视频教程的方法。

由于教程仍在创作过程中,在整套教程完结前,感兴趣的同学请关注我的微信订阅号(xuanhun521,下方二维码),我会第一时间在订阅号推送图文教程和视频教程。问题讨论请加qq群:Hacking (1群):303242737   Hacking (2群):147098303。

关注之后,回复请回复“Python”,获取视频教程和其他相关内容。

系列文章目录:

Python 黑帽编程大纲(变化中)

Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016的更多相关文章

  1. Python 黑帽编程大纲(变化中)

    Python 黑帽编程大纲(预览版) 教程说明: 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Pytho ...

  2. PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)

    上一节(<4.1 SNIFFER(嗅探器)之数据捕获(上)>)中, 我们讲解了通过Raw Socket的方式来编写Sniffer的基本方法. 本节我们继续来编写Sniffer,只不过使用现 ...

  3. Python黑帽编程1.2 基于VS Code构建Python开发环境

    Python黑帽编程1.2  基于VS Code构建Python开发环境 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...

  4. Python黑帽编程1.3 Python运行时与包管理工具

    Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...

  5. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  6. Python黑帽编程 2.0 第二章概述

    Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...

  7. Python黑帽编程3.0 第三章 网络接口层攻击基础知识

    3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP ...

  8. Python黑帽编程 3.1 ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  9. Python黑帽编程 4.1 Sniffer(嗅探器)之数据捕获(上)

    Python黑帽编程 4.1 Sniffer(嗅探器)之数据捕获(上) 网络嗅探,是监听流经本机网卡数据包的一种技术,嗅探器就是利用这种技术进行数据捕获和分析的软件. 编写嗅探器,捕获数据是前置功能, ...

随机推荐

  1. Swif - 可选型

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #4dbf56 } p.p2 { margin: 0.0px 0. ...

  2. getComputedStyle 方法

    一:getComputedStyle getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式声明对象([object CSSStyleDeclarat ...

  3. c语言文件读写操作总结

    C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...

  4. SVN

    你先在本地把包删了,然后提交上级目录就可以了.比如你要删除com.aaa.A这个类.你就把A删了,然后提交aaa就行,如果你要把aaa包删了,你就删了以后提交com这个包.SVN就删掉了 svn提交更 ...

  5. jave ee之 servlet 记录

    1:没有自动生成web.xml文件 解决方法:新建web工程的时候最后会选择是否创建web.xml文件 2:通过url映射无法打开对应网站 <servlet> <servlet-na ...

  6. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

      PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语 ...

  7. Python for Infomatics 第14章 数据库和SQL应用三(译)

    14.5 SQL 总结 到目前为止,我们在Python示例程序中使用了SQL,并且涉及了许多SQL基础.在这一小节中,我们特别审视SQL语言,并对其语法进行回顾. 虽然有很多不同的数据库供应商,但因S ...

  8. The World's Only Advanced Operating System

    The World's Only Advanced Operating System

  9. U-Boot Driver Model领域模型设计

    需求分析 在2014年以前,uboot没有一种类似于linux kernel的设备驱动模型,随着uboot支持的设备越来越多,其一直受到如下问题困扰: 设备初始化流程都独立实现,而且为了集成到系统,需 ...

  10. Curator leader 选举(一)

    要想使用Leader选举功能,需要添加recipes包,可以在maven中添加如下依赖: <dependency> <groupId>org.apache.curator< ...