专栏首页python3python绝技:运用python成为顶

python绝技:运用python成为顶

python绝技:运用python成为顶级黑客

前言

有多少人是因为看了电视,看了那些牛逼的黑客选择成为程序员的。 我貌似也是其中一个,只是自从成为程序员以来,天天都是加班coding,到家就是睡倒床上。兴趣变成了压力。 直到我选择离职,在家修养,才有精力重新把编程变成兴趣。因为Python的无所不能,我选择Python作为主要编程语言。 在这之前已经学过《廖雪峰的python教程》,也看过了《flaskweb实战》,之前还看过《head first in python》,选择《python绝技:运用python成为顶级黑客》这本书,是因为我想知道黑客到底干了啥。

书籍评价

有简单的基础语法介绍,最好还是先有系统学过python再看这本书,会事半功倍。 书籍偏老,2012年的,有些链接失效。另外建议学习期间使用virtualenv, 避免影响到其它项目。 建议看原版,翻译的感觉很一般,有点像是google翻译的。虽然连蒙带猜的看懂,看的有点痛苦,还是建议翻原版,篇幅主要是代码, 英文应该也好看。

有些示例代码可能得相应地改下。譬如pexpect连接ssh那个,代码里是期望提示值是password: 但是我测试的Centos的格式是user@host’s password: 需要自己根据情况去修改下。 ftp破解后,上传文件的代码在python3上执行失败,抛异常了。python2.7没事。 建议用python2.7来运行他的代码。

里面的攻击手段其实已经过期了,仅能参考下。

章节介绍

第一章:语法介绍

从第二章开始我把代码都写了下来,放到了github上。讲了扫描端口,暴力破解ssh,ftp,smb等。参考我的git

第三章:注册表,回收站都是基于windows的。阅读pdf元数据的pypdf在python2.7上可以执行,python3上报错。Skype和Firefox是用sqLite存储的数据。IPhone的GPS信息存储在了consolidated.db(也是SqLite)。

第四章:一个ip到经纬度的数据库,以及相应的解析模块。dpkt不支持3.x,需要注意。 pcap包可以考虑用wireshark抓包生成一个。LOIC这个,得用pcap包才可以用来验证是否是用户下载的。(go2live.cn注:pcap包是服务器开启tcpdump抓包的,问题是谁没事去开启tcpdump呢,这东西一般是我们研发在调试阶段才用的,第三章中有根据firefox本地存储的下载记录取证的,也可以证明是否是用户下载。) 后面都是根据pcap包,做关键词分析,分析是否下载,是否有hive指令,tcp流量是否过高。 需要注意下tcpdump命令, -i 参数是指监听的端口。我的服务器上外网的端口其实是eth1,而不是文中的eth0。 打印TTL时,使用scapy模块报错了(我是mac,通过pip install pcapy和编译安装https://github.com/dugsong/libdnet.git 之后可以运行了,但是在下面的章节中,send调用一直出错,没有解决掉。) FAST流量和DOMAIN流量攻击都是利用DNS。也是通过分析流量包来确认攻击。 从这章可以看出,玩黑客攻防需要对各层协议非常熟悉,然后才能想出正确的方法。 tcp三次握手和syn攻击可以参考图解TCP协议中的三次握手和四次挥手 snot安装:(mac下可以直接brew install snort,前提是你有homebrew, centos7 可以参考centos7(x64)安装snort snot最终还是没有成功(_).(配置文件不会整)

第五章: 开启无线的混杂模式后,就会捕获所有的WiFi流量,包括其它人上网数据。 所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给它或者是它发出的,点击【http://en.wikipedia.org/wiki/Promiscuous_mode】获取更多有关混杂模式的资料。 我的mac已经是混杂模式。还是用的scapy抓包,分析包的数据….. 现在goole全是https,文中的Google的例子抓不到数据了。 接下来的ftp的例子好可怕。以前以为只有提供WiFi的人可以抓包,却原来任何人在开启混杂模式之后都可以, 而ftp传输还是明文的。。真是获取用户名/密码,然后偷取资料的好方法。

利用电脑或手机在重启WiFi后,会从首选网络列表里一个个去尝试链接的特性,可以抓包获取到,分析出电脑或手机的首选网络列表,从而知道连接过哪些网络。

这章同样是建立在流量包分析上。 无人机这个也是通过混杂模式捕获流量之后,分析出通信协议,然后再用Scapy伪造指令发送。 通过scapy命令,可以得到各种公开协议需要的字段,然后就可以伪造了。

蓝牙这块是用的新的蓝牙模块。包括扫描周边的设备。隐藏的蓝牙设备是利用scapy流量抓包到,通过名字查询来确认。(文里仅限制iPhone,利用OUI特征码来识别) mac下通过pip和easy_install 安装PyBluez都失败,通过https://github.com/karulis/pybluez 下载安装成功。 有些制造商非提供RFCOMM的加密功能,利用些问题,可以利用RFCOMM来发送控制命令或者下载设备内容。 运用的就是蓝牙模块。蓝牙模块不光能发现周围的蓝牙设备,也能发现某蓝牙设备提供了哪些服务。其中有个服务是OBEX,类似于FTP,可以上传/下载文件。利用RFCOMM的17信道可以发送AT命令,从而偷取联系人列表。

第六章:WEB侦查 用Mechanize模块提供的功能来浏览网页。 代理这块,我没有成功。可能是这个Mechanize模块在mac上有问题,除了第一个demo,后面的我基本没有跑通,而且我感觉利用Mechanize+Beautiful Soup 不过就是抓取网页然后分析,没啥好神秘的,没有细看了。 匿名邮件利用十分钟邮箱https://10minutemail.com/10MinuteMail/index.html?dswid=-1507 来注册垃圾账户。 接下其实是结合前面的抓取你的社交网络朋友,然后模拟朋友的语气,通过smtp模块发邮件给你。。邮件内容里可以带上一个有问题的网站链接。

第七章:躲避杀毒系统 大多数杀毒软件主要的检测方法是基于签名检测。Metasploit库才是真的强大。 这里提供了一个攻击思路。写个python脚本,分发给潜在受害者,执行后把cmd.exe和TCP的某个端口关联起来。攻击者就可以利用这个tcp端口远程执行cmd命令了。 这么牛B,我忍不住安装了Parallels Desktop, 安装了windows虚拟机验证下。失败了,并没有看到1337端口listening。在线检查恶意软件的http://vscan.novirusthanks.org/ 我是打不开。。 可以换成http://www.virscan.org/。 这一章我是啥也没有学到。。

介绍的包。

1.python-nmap 扫描端口。需要依赖安装nmap包。 2. pexpect 用来和程序交互,通过正则来寻找预期的输出,然后基于预期做出响应。可以写出自动登录ssh等工具。通过附带的pxssh模块更简单。 3. PyPDF 一个优秀的第三方管理 PDF 文件很实用的库,可以从网站 http://pybrary.net/pyPdf/获得。它提供了文档的信息提取,分割,合并,加密 和解密的能力 4. BeautifulSoup 解析html和xml。 5. PIL 图像库。现在用的是Pillow 6. pygeoip, 一个针对特定功能的库,用来查询 GeoLiteCity数据库的(免费的) 。通过ip地址查询得到经纬度。 7. dpkt: 解析网络报文的,如ftp,sctp,bpg,ipv6等 8. scapy:Scapy是一个可以让用户发送、侦听和解析并伪装网络报文的Python程序。这些功能可以用于制作侦测、扫描和攻击网络的工具.文中用到最重要的模块 9. IPy: ip处理模块 10. PyBluez: 蓝牙模块 11. Mechanize:模拟自然浏览器行为来完成与网页之间的交互, 貌似有点老,现在应该是被selenium踢掉了。插一句,之所以要这玩意,应该是为了执行js代码。有些网页的局部是用js动态生成的。 12. Beautiful Soup: 解析html和xml的工具。 13. ctypes库:ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数。 14. pyinstaller, 打包成exe,给没有安装python的用户使用的。

体会

最终的感受是黑客没有想像中的那么神奇。黑客并不是技术达人,相反的,黑客更多的是利用现存的工具。 需要对协议非常熟悉,知道各种漏洞。最主要的是想像力,在没有揭开答案前感觉各种神奇,一旦揭开了答案,你又会觉得不过如此。 有个安全公司的朋友说过,黑客的成功靠的就是想像力+运气。

资源

http://digitaloffense.net/tools/debian-openssl/debian_ssh_dsa_1024_x86.tar.bz2 https://www.rapid7.com/products/metasploit/download/ 代理:http://www.xicidaili.com/ ua:http://www.useragentstring.com/pages/useragentstring.php

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python学习感言

    本人在原来博客上写有学习动机可以看看本人写的内容 https://blog.51cto.com/2491855/2129988 基本感觉就是python可以快速...

    py3study
  • TypeError: object()

    对于上面这个错误,很容易迷惑我们,因为这个错误信息没有很明确的指出,到底是哪段代码除了问题。那这个错误是怎么产生的了,请听我细细道来。

    py3study
  • python之标准库

    在unix系统中,不能只简单将字符串‘~/python’添加到sys.path中,必须使用完整路径。如果你希望将这个操作自动化,可以使用sys.path.exp...

    py3study
  • 新闻发布 sql server代码

    week
  • 996ICU 加油

    近期,有人注册了一个996.icu的域名,并且在这个网站上大举部分互联网公司实行996工作制的行为,还点名批评了风口浪尖的有赞和京东。

    mixlab
  • 【C语言库文件】如何配置图形库

    今天要教大家配置一个头文件,graphics.h ,这个头文件的作用是可以使用我们的编程软件来作图,我先来给大家展示一下可以使用代码做成的各种图形。

    程序员周同学
  • ICCV 2019 | 华科提出对称性约束的校正网络ScRN,显著改进场景文本识别

    导读:这篇文章前天发布过,但其中有部分表述不甚准确,今天已将内容纠正,重发一遍,后续会把前天发的文章删除,保留本文以供参考。

    CV君
  • 用泛型的IEqualityComparer<T>接口去重复项

    写这个源于CSDN一位网友的提问 题目:下列数据放在一个List中,当ID和Name都相同时,去掉重复数据 ID Name 1  张三 1  李三 1  小伟 ...

    Porschev
  • 利用Apache的. htaccess完美解决301重定向.htaccess文件实现301重定向常用的七种方法

    使用.Htaccess文件实现301重定向常用的七种方法 301重定向对广大站长来说并不陌生,从网站建设到目录优化,避免不了对网站目录进行更改,在这种情况下用...

    双面人
  • ICCV 2019 | 华科提出对称限制的校正网络,显著改进场景文本识别

    今天跟大家分享一篇今天刚出的论文Symmetry-constrained Rectification Network for Scene Text Recogn...

    CV君

扫码关注云+社区

领取腾讯云代金券