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. 【My Life】写在年末, 我的2013

    [My Life]写在年末, 我的2013 SkySeraph Dec. 30  2013 Email:skyseraph00@163.com 好久没写博客了, 遗忘的历史,遗忘了自我... 岁月拾回 ...

  2. MySql 获取表的字段名

    mysql安装成功后可以看到已经存在mysql.information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库 ...

  3. Linux学习笔记(12)-进程间通信|匿名管道

    Linux的进程间通信有几种方式,包括,管道,信号,信号灯,共享内存,消息队列和套接字等-- 现在一个个的开始学习! ----------------------------------------- ...

  4. SQL 语句与性能之执行顺序

    select * , t3.Name from t1 left join t2 on t1.sysno = t2.Asysno left join t3 on t3.sysno = t2.Bsysno ...

  5. 给mac配置adb 路径

    给mac配置adb 路径 (1)找到对应的adb 所在路径 /Users/***/Library/Android/sdk/platform-tools (2)启动终端,输入 cd $Home (3)输 ...

  6. JDBC

    <java连接数据库> Class.forName("com.mysql.jdbc.Driver")--1:加载驱动 Connection conn=DriverMan ...

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

    14.1 什么是数据库 数据库一种存储结构数据的文件.绝大多数数据库类似字典——映射键和值的关系.最大的区别是数据库是保存在硬盘或其它永久性的存储上,所以在程序结束后它仍然存在.而保存在内存中的字典容 ...

  8. PHP浮点数精度问题

    这一段时间维护一个类似团购的系统,需要处理订单,也就难免会处理金额 所以有很多PHP的坑 被我狠狠的踩了~~ 首先我们要知道浮点数的表示(IEEE 754): 简言之 就是 埋下了一个大坑 等着你跳 ...

  9. Google Play Store —与google服务器通信时出现问题

    机子:MX4 前几天刷完机后出现登录Google Play Store “与google服务器通信时出现问题”,今天试了好几种方法,来总结一下 1.修改最新Hosts文件 2.SmartHosts   ...

  10. CentOS7 编译安装LVS 互为主备 (实测 笔记 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) LVS服务器(两台): 系统:Centos7.0 64位(LVS+keepalived) LvsMaster:1 ...