《Violent Python》第一章Introduction(2)中文版(乌云

  • A+
所属分类:WooYun-Zone

介绍信息:http://zone.wooyun.org/content/23138

第一章 介绍

本章内容 :

1.建立Python开发环境

2.Python语言简介

3.变量,字符串,列表,字典介绍

4.使用用网络,迭代器,异常处理,模块等

5.写第一个Python程序,字典密码破解器

6.写第二个Python程序,压缩文件密码暴力破解

对我来说,武术的非凡之处在于它的简单。简单是最美的,而武术也没有什么特别之处;以无法为有法,以有限为无限,是为武术最高境界!

                                                                                    ——截拳道宗师 李小龙

引文:用python 进行的一次渗透测试

最近,我的一个朋友对一家世界财富500强公司的计算机安全系统进行了渗透测试。虽然该公司已建立和保持一个了优秀的安全机制,但他最终还是发现了一个存在漏洞而未打补丁的服务器。几分钟之内,他用开源工具入侵了这个系统并获得管理权。然后,他扫描了剩下的服务器以及客户机,并没有发现任何额外的漏洞

从这一点看,他的测试似乎结束了,但是真正的渗透测试才刚刚开始。

他打开了自己常用的文本编辑器,写下了一个Python测试脚本,利用这个脚本发现了其余存在漏洞的服务器,几分钟后,他获得了网络上超过一千台机器的管理权,然而,在这样做时,他随后产生了一个难以管理的问题。 他知道,系统管理员会注意到他的攻击并拒绝再让他访问。所以,他赶紧想办法在自己已经控制的服务器上,安装永久的后门。

检查了一下自己渗透测试用到的文件后,我的朋友意识到他的这台客户机存在着很重要的域控制器。以此得知,管理员使用了一个完全独立的管理账户登陆域控制器,我的朋友写了一个小脚本检查1000台机器上已经登录的用户,过了一会,我的朋友被告知,域管理员登录到了一个机器。他的监测基本完成,我的朋友现在知道在哪里继续他的攻击了。

我朋友的迅速反应和他在压力下能创造性的思考的能力,促使他成为了一个渗透测试者。他为了成功入侵这个世界500强公司,自己写了脚本工具。

一个小的Python脚本帮助他入侵了一千多个工作站。另一个小脚本允许他在管理员发现前成功triage。一个真正的渗透测试者会编写自己的工具来解决所遇到的问题。所以,让我们以安装开发环境为开始,学习如何打造自己的工具吧!

建立开发环境

Python的下载网站(http://www.python.org/download/)提供了Python在Windows,Mac OS X和Linux上的安装包。如果您运行的是Mac OS X或Linux,Python的解释器已经预先安装在了系统上。安装包为程序开发者提供了Python解释器,标准库和几个内置模块。 Python标准库和内置模块提供的功能范围广泛,包括内建的数据类型,异常处理,数字和数学模块,文件处理功能,如加密服务,与操作系统互操作性,网络数据处理,并与IP协议交互,还包括许多其他有用模块。同时,程序开发者可以很容易地安装任何第三方软件包。

第三方软件包的完整列表可在(http://pypi.python.org/pypi/) 上看到

安装第三方库

在第二章中,我们将利用python的python-nmap包来处理的NMAP的结果。下面的例子描述了如何下载和安装python-nmap包(或其他任何包,真的)。一旦我们已经保存了包到本地,我们解压这个包,并进入压缩后的目录中。在工录中,我们执行python setup.py命令来安装python-nmap包。安装大多数第三方包将遵循下载,解压,执行python setup.py命令进行安装的相同的步骤。

programmer:∼# wget http://xael.org/norman/python/python-nmap/python-

nmap-0.2.4.tar.gz-On map.tar.gz

--2012-04-24 15:51:51--http://xael.org/norman/python/python-nmap/

python-nmap-0.2.4.tar.gz

Resolving xael.org... 194.36.166.10

Connecting to xael.org|194.36.166.10|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 29620 (29K) [application/x-gzip]

Saving to: 'nmap.tar.gz'

100%[==================================================

===================================================

=============>] 29,620 60.8K/s in 0.5s

2012-04-24 15:51:52 (60.8 KB/s) - 'nmap.tar.gz' saved [29620/29620]

programmer:∼# tar -xzf nmap.tar.gz

programmer:∼# cd python-nmap-0.2.4/

programmer:∼/python-nmap-0.2.4# python setup.py install

running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.6

creating build/lib.linux-x86_64-2.6/nmap

copying nmap/__init__.py -> build/lib.linux-x86_64-2.6/nmap

copying nmap/example.py -> build/lib.linux-x86_64-2.6/nmap

copying nmap/nmap.py -> build/lib.linux-x86_64-2.6/nmap

running install_lib

creating /usr/local/lib/python2.6/dist-packages/nmap

copying build/lib.linux-x86_64-2.6/nmap/__init__.py -> /usr/local/lib/

python2.6/dist-packages/nmap

copying build/lib.linux-x86_64-2.6/nmap/example.py -> /usr/local/lib/

python2.6/dist-packages/nmap

copying build/lib.linux-x86_64-2.6/nmap/nmap.py -> /usr/local/lib/

python2.6/dist-packages/nmap

byte-compiling /usr/local/lib/python2.6/dist-packages/nmap/__init__.py

to __init__.pyc

byte-compiling /usr/local/lib/python2.6/dist-packages/nmap/example.py

to example.pyc

byte-compiling /usr/local/lib/python2.6/dist-packages/nmap/nmap.py to

nmap.pyc

running install_egg_info

Writing /usr/local/lib/python2.6/dist-packages/python_nmap-0.2.4.egg-

info

为了能够更简单的安装python的包,python提供了easy_install模块。运行这个简单的安装程序,程序将会在python库中寻找这个包,如果发现则下载它并自动安装

programmer:∼ # easy_install python-nmap

Searching for python-nmap

Readinghttp://pypi.python.org/simple/python-nmap/

Readinghttp://xael.org/norman/python/python-nmap/

Best match: python-nmap 0.2.4

Downloadinghttp://xael.org/norman/python/python-nmap/python-nmap-

0.2.4.tar.gz

Processing python-nmap-0.2.4.tar.gz

Running python-nmap-0.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_

install-rtyUSS/python-nmap-0.2.4/egg-dist-tmp-EOPENs

zip_safe flag not set; analyzing archive contents...

Adding python-nmap 0.2.4 to easy-install.pth file

Installed /usr/local/lib/python2.6/dist-packages/python_nmap-0.2.4-

py2.6.egg

Processing dependencies for python-nmap

Finished processing dependencies for python-nmap

为了快速建立一个开发环境,我们建议您从http://www.backtrack-linux.org/downloads/下载最新的BackTrack Linux的渗透测试专版的复制版。他提供了丰富的渗透测试工具,例如forensic,Web,网络分析和无线攻击。之后的几个例子中。可能会用到一些早已内置在BackTrack的工具或库。当在本书的例子中,需要用到标准库和内置模块之外的第三方包的时候,文章将会提供包的下载网站。

设置一个开发环境时,提前下载好所有的这些第三方模块会是有用的。在BackTrack上,您可以通过执行

easy_install命令来安装额外需要的库,这将会在Linux下,下载大多数例子中用到的库。

programmer:∼ # easy_install pyPdf python-nmap pygeoip mechanize

BeautifulSoup4

第五章用到了一些明确的不能从easy_install下载的的蓝牙库。您可以使用包管理器下载并安装这些库。

attacker# apt-get install python-bluez bluetooth python-obexftp

Reading package lists... Done

Building dependency tree

Reading state information... Done

<..SNIPPED..>

Unpacking bluetooth (from .../bluetooth_4.60-0ubuntu8_all.deb)

Selecting previously deselected package python-bluez.

Unpacking python-bluez (from .../python-bluez_0.18-1_amd64.deb)

Setting up bluetooth (4.60-0ubuntu8) ...

Setting up python-bluez (0.18-1) ...

Processing triggers for python-central

此外,第五章和第七章中的几个例子需要一个Windows版的Python下载器。最新的Windows版的Python下载器,请访问http://www.python.org/getit/

最近几年python源代码已经延伸成了2.x和3.x两个分支。Python的原作者Guido van Rossum试图清理代码使语言变得更一致,这个行为打破了python 2.x版本与之后版本的兼容性,例如作者对prin语句的更改。在本书出版时,BackTrack 5 R2把Python 2.6.5作为稳定的python版本。

programmer# python -V

Python 2.6.5

  1. 1#

    crown丶prince (我用双手成就你的梦想) | 2015-09-25 18:00

    希望能得到大家的回复与支持!同时翻译中的小错误欢迎大家指出,相互学习

  2. 2#

    roker (0.0) | 2015-09-25 18:04

    支持。已感谢。对这种无私的分享精神一直充满敬意:)

  3. 3#

    crown丶prince (我用双手成就你的梦想) | 2015-09-25 18:08

    @roker 谢谢 请期待后续的更新

  4. 4#

    林枫 | 2015-09-26 06:38

    期待后续的更新

  5. 5#

    10457793 (看啥看) | 2015-09-26 07:43

    坚持更新哦

  6. 6#

    浮生 | 2015-09-28 10:47

    《Violent Python》第一章Introduction(2)中文版(乌云

  7. 7#

    浮生 | 2015-09-28 10:49

    百度+google,轻松得到,里面还包括代码和原稿,楼主没有找到,不代表别人找不到

  8. 8#

    小歪 | 2015-09-28 12:37

    @浮生 能给出下载链接吗?  或者给出搜索关键字

  9. 9#

    Evi1cg (有起伏的道路才能看到更多的风景。) | 2015-09-28 13:24

    链接: http://pan.baidu.com/s/1sjOgOkX 密码: ih76

  10. 10#

    crown丶prince (我用双手成就你的梦想) | 2015-09-28 17:29

    @浮生 你好 你看到的那个是第一作者 草帽小子分享的初稿 目前发布在乌云的是我和他修订 补充的完整版

  11. 11#

    crown丶prince (我用双手成就你的梦想) | 2015-09-28 17:31

    @小歪 你好 那位同学的是第一作者 草帽小子翻译的第一版的初稿 代码及一些地方有所不完整 目前发布在乌云的是我和他共同翻译的完整版 敬请期待

  12. 12#

    crown丶prince (我用双手成就你的梦想) | 2015-09-28 19:18

    @浮生 你好!首先很感谢你对我和草帽小子先生翻译的《Violent Python》的关注,我们一直在努力:)
    其次 对于你说这本书的翻译之前已经有中文版,我想给出如下说明:

    第一,你可以查看你那份文件目录中的《Violent Python中文版.pdf》,这份pdf的第一张封面中应该已经清楚标出了如下图所示内容,之所以你能得到这份文件,是因为草帽小子先生翻译出来第一版后,很想将文件分享出去,便在例如乌云python板块的群里等地方进行了内部的分享交流
    《Violent Python》第一章Introduction(2)中文版(乌云

    对于这份文件,我和草帽小子先生会在此基础上进行修改,发到乌云的这个就是修改后的、在文章内容、代码示例等方面进行改进后的版本,详细的可以看第一章,以及之后的一些小细节的修改,以及原版中每一章开头的小故事的补充。

    最后,像大家说明我们这版本是如何翻译的:
    由于草帽小子(第一译者)已经翻译完成了原版的大部分内容
    但这一版本中,补充了第一章他之前未翻译的部分以及每章的小故事。
    同时,我们会对之前翻译的版本的一些语句做出更大的优化!
    希望能得到大家的持续关注!

    最后的最后,我想这么说:
    乌云zone是一个崇尚技术分享的平台,在这里更多的应该是对于技术的讨论,对于技术的讨论,比如对我们翻译内容的建议,我们会鼎力支持。
    同时,请大家期这发到乌云zone的这一相对完美的《Violent Python》中文版吧,我们会持续更新

  13. 13#

    crown丶prince (我用双手成就你的梦想) | 2015-09-28 19:22

    @Evi1cg 你好!首先很感谢你对我和草帽小子先生翻译的《Violent Python》的关注,我们一直在努力:)
    其次 对于你给出的这本书我们翻译的中文版的第一版的链接,我想给出如下说明:【详情请看我给@浮生 先生在楼上的答复】

    发到乌云的这一版本,我们最终也会给出完整版的下载链接,但是我们目前也在每周更新一章,所以敬请期待!

    对于这一版本,我和草帽小子先生会在原来基础上进行修改,发到乌云的这个就是修改后的、在文章内容、代码示例等方面进行改进后的版本,详细的可以看第一章,以及之后的一些小细节的修改,以及原版中每一章开头的小故事的补充。

  14. 14#

    crown丶prince (我用双手成就你的梦想) | 2015-09-28 19:23

    @小歪 你好!首先很感谢你对我和草帽小子先生翻译的《Violent Python》的关注,我们一直在努力:)
    其次 对于你所看到的这本书的第一版本的链接,即我们之前翻译的这本书的初稿(部分地方待补充,部分地方待优化,我想给出如下说明:【详情请看我给@浮生 先生在楼上的答复】

    发到乌云的这一版本,我们最终也会给出完整版的下载链接,但是我们目前也在每周更新一章,所以敬请期待!

    对于这一版本,我和草帽小子先生会在原来基础上进行修改,发到乌云的这个就是修改后的、在文章内容、代码示例等方面进行改进后的版本,详细的可以看第一章,以及之后的一些小细节的修改,以及原版中每一章开头的小故事的补充。

  15. 15#

    Evi1cg (有起伏的道路才能看到更多的风景。) | 2015-09-29 08:13

    @crown丶prince 恩 期待中 希望尽早出word或者PDF版

  16. 16#

    crown丶prince (我用双手成就你的梦想) | 2015-09-29 12:43

    @Evi1cg 好的,感谢支持,我们现在每周更新一章,全书翻译完成后会发表Word版和pdf版,敬请期待每周的更新!

  17. 17#

    沦沦 | 2015-09-29 14:13

    多谢共享

  18. 18#

    船长 | 2015-09-30 09:19

    辛苦了 共享精神赞一个