为什么黑客都用python(123个黑客必备的Python工具)
文章开始前首先让我们来了解一下什么是Python。
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
重点是,Python 是一种对初学者非常友好的语言,从应用程序开发到文字处理、web甚至是游戏能提供支持,不少人也会将Python作为黑客攻击语言。
为何Python会被选用为黑客语言呢?
1.支持功能强大的黑客攻击模块。如前所述,Python 的优点之一是拥有丰富多样的库。Python 提供多种库,用于支持黑客攻击,比如 pydbg、scapy、sqlmap、httplib 等。目前,这些库被广泛应用于各种黑客攻击。
2.能够访问各种 API。Python 提供了 ctypes 库, 借 助 它, 黑 客 可 以 访 问 Windows、OS X、Linux、Solaris、FreeBSD、OpenBSD 等系统提供的 DLL 与共享库。
3.大量黑客攻击工具提供 Python API。最具代表性的黑客攻击工具有 sqlmap、Nmap、Metasploit 等,它们都提供 Python 扩展接口。黑客使用 Python 可以将这些工具打造得更强大。
4.易学易用。Python 语言易学易用,这对黑客攻击而言是个巨大的优势。一般来说,要成为一名黑客,必须掌握 3~4 种编程语言。Python 语言易学易用且拥有各种强大功能,这使它成为黑客攻击语言的不二之选。
Python 语言的优点
目前,Python 在各领域都有着广泛的应用。由此可见,作为一种编程开发语言,Python 拥有众多优点,其语法简单易学且支持多种库,相同代码可以运行于多种平台。
■ 易学易用
学习一种新编程语言时,往往会遇到各种各样的问题。为了解决这些问题,Python 语言做了大量努力。比如,Python 中不必声明变量类型,而在运行时动态确定。此外,也不需要用户对内存进行管理,这些工作由解释器自动执行。
■ 功能强大
Python 是开源语言,全世界开发人员一直在自发改进 Python,不断开发创建各种功能强大的库。其他语言中要使用数十行代码才能完成的功能,在 Python 中只需要使用简单的几行代码即可搞定。
■ 扩展性良好
Windows、UNIX、Mac、Android 操作系统都可以使用 Python,只需在目标操作系统中安装相应解释器即可。Python 内置多种编程接口,借助它可以在 Python 中使用其他语言开发的 API,对功能进行无限扩展。
■ 开发速度快
Python 语法简单,且拥有大量功能强大的库,与其他编程语言相比,使用Python 能够更快速地开发应用程序。在竞争激烈且对开发速度有严格要求的行业,使用 Python 进行开发是十分必要的。
程序语言初期培训中,往往大量使用 Python 语言。因为 Python 语言易学,且拥有各种功能。网络上有大量关于学习 Python 的社区,从这些社区还能下载拥有丰富功能的各种模块。
Python黑客攻击优点
从事黑客攻击需要具备三方面知识:
第一是背景知识,需要理解语言结构、操作系统、网络、计算机体系结构等原理;第二必须能够熟练使用各种黑客攻击工具,寻找系统漏洞并实施攻击是一项重复性工作,灵活使用各种黑客攻击工具可以将这项工作自动化,并以人们易于理解的图形方式展现复杂的系统结构;第三必须掌握某种编程语言,无论黑客攻击工具多么强大,进行高难度黑客攻击时,必须亲自编写适合自己使用的工具,此时需要掌握编程语言。
比如 Python语言,它具有如下优点:
支持功能强大的黑客攻击模块。
如前所述,Python 的优点之一是拥有丰富多样的库。Python 提供多种库,用于支持黑客攻击,比如 pydbg、scapy、sqlmap、httplib 等。目前,这些库被广泛应用于各种黑客攻击。能够访问各种 API。
Python 提供了 ctypes 库, 借 助 它, 黑 客 可 以 访 问 Windows、OS X、Linux、Solaris、FreeBSD、OpenBSD 等系统提供的 DLL 与共享库。大量黑客攻击工具提供 Python API。
最具代表性的黑客攻击工具有 sqlmap、Nmap、Metasploit 等,它们都提供 Python 扩展接口。黑客使用 Python 可以将这些工具打造得更强大。易学易用。
Python 语言易学易用,这对黑客攻击而言是个巨大的优势。一般来说,要成为一名黑客,必须掌握 3~4 种编程语言。其中最具代表性的是 C 语言与汇编语言,它们在分析系统与程序行为的过程中起着核心作用。此外,黑客还需要掌握另外一种编程语言,用于编写符合自身需要的黑客攻击工具。Python 语言易学易用且拥有各种强大功能,这使它成为黑客攻击语言的不二之选。
作为黑客攻击语言,Python 拥有众多优点,初学者选择 Python 可以先人一步。
Python 黑客攻击用途
Python 提供了丰富多样的模块,这些模块几乎可以直接用于所有黑客攻击领域。对于黑客攻击模块不提供的领域,可以借由 ctypes 调用操作系统提供的原生 API。简言之,使用 Python 几乎可以攻击所有领域,比如应用程序、Web、网络、系统等,下面分别介绍各领域 Python 黑客攻击技术。
应用程序黑客攻击:可以向运行中的应用程序插入任意 DLL 或者源代码,拦截用户的键盘输入以盗取密码。此外,还可以将黑客攻击代码插入图片文件,在网络散布传播。
Web 黑客攻击:可以创建网页爬虫,收集 Web 页面包含的链接,实现 SQL 注入,向处理用户输入的部分注入错误代码。使用 Python 可以实现简单的网络浏览器功能,通过操纵 HTTP 包,上传 Web shell 攻击所需文件。
网络黑客攻击:可以实施网络踩点,搜索系统开放的端口,收集并分析网络上的数据包,进行网络嗅探。伪装服务器地址,实施 IP 欺骗攻击,非法盗取敏感信息。也可以大量发送数据包,实施拒绝服务式攻击,使服务器陷入瘫痪,无法正常对外提供服务。
系统黑客攻击:黑客可以编写后门程序以控制用户 PC,开发用于搜索并修改 PC 注册表的功能。还可以利用应用程序的错误,通过缓冲区溢出或格式字符串实施攻击。
那么,Python难学么?
如果你是毫无基础,甚至英文和数学都不尽人意的人,那么自学这条路对你来说将会非常艰难。毕竟什么都不懂的情况下,往往会因为挫败感强而逐渐失去学习的兴趣。
如果你了解一些基础知识,英文和逻辑也还可以的话,那么,不难!一点都不难。相比其他的编程语言,这简直就是“婴儿学步”的程度。
只需要你做到以下几步。
1、Python相关书籍若干本;
2、了解Python基础数据类型;
3、熟悉各种类型的操作方法;
4、理解函数和类的概念。
5、练习练习再练习,毕竟实践才能出成果嘛。
学习Python需要多长时间?
最快3-4个月,最慢一年,你就能流畅的使用这门编程语言去做你想做的项目。
精通Python需要多长时间?
任何知识都是基础入门比较快,达到精通的程序是需要时间的,这是一个逐渐激烈的过程。
想要对一门语言得心应手,除了了解它之外,还需要通过大量的时间、大量的问题,来积累经验。不仅是看别人的源码,同时也将资金的源码分享出去。不断的动手去编写代码,不停的去实践,不停的去修改,不停的总结经验,最终才能熟能生巧,达到精通。
如果有一天,当你遇到一个问题的时候,你能想出多种解决方法,并且迅速而准确的选出最有效率的那一个,就证明你已经对这门语言很精通了。
说了这么多,Python怎么学呢?
网上有很多的视频教程,再买两本python3基础入门的书籍就可以了。
123个黑客必备的Python工具
本文中列举了123个Python渗透测试工具,当然不仅于渗透~
如果你想参与漏洞研究、逆向工程和渗透,我建议你时候用Python语言。Python已经有很多完善可用的库,我将在这里把他们列出来。
这个清单里的工具大部分都是Python写成的,一部分是现有C库的Python绑定,这些库在Python中都可以简单使用。
一些强力工具(pentest frameworks、bluetooth smashers、web application vulnerability scanners、war-dialers等)被排除在外,原因是部分工具在德国法律上有一点争议——就算最高法院曾经认定过。这个清单的主要目的是为了帮助白帽黑客,所以我还是怂一点。
Network
Scapy, Scapy3k:发送,嗅探和剖析并伪造网络数据包,可以做交互式应用或单纯的作为库来使用
pypcap, Pcapy and pylibpcap:几个不同的libpcap捆绑Python库
libdnet:低级别的网络路由器,可用于接口查找和以太网帧转发
dpkt: 快速、轻量级的数据包创建、解析工具,适用于基本TCP/IP协议
Impacket: 探测和解码网络数据包,支持更高级别协议比如NMB和SMB
pynids:libnids封装提供嗅探,IP碎片整理,TCP流重组和端口扫描检测
Dirtbags py-pcap:无需libpcap即可读取pcap文件
flowgrep:通过正则表达式查找数据包中的 Payloads
Knock Subdomain Scan:通过字典枚举目标域上的子域名
SubBrute: 快速子域枚举工具
Mallory:可扩展的TCP / UDP中间代理,支持即时修改非标准协议
Pytbull:灵活的IDS / IPS测试框架(配有300多个测试用例)
Spoodle:大量子域名+Poodle漏洞扫描器
SMBMap:枚举域中的Samba共享驱动器
调试和逆向工程
Paimei:逆向工程框架,包含PyDBG, PIDA, pGRAPH
Immunity Debugger:可脚本化的GUI和命令行调试工具
mona.py:Immunity Debugger 中的扩展,用于代替 pvefindaddr
IDAPython:DA pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行
PyEMU:全脚本实现的英特尔32位仿真器,用于恶意软件分析
pefile:读取并处理 PE 文件
pydasm:ibdasm x86反汇编库的Python接口
PyDbgEng:Python封装的微软视窗操作系统调试引擎
uhooker:截获 DLL 或内存中任意地址可执行文件的 API 调用
diStorm:AMD64平台下的反汇编库,通过BSD许可
Frida:一个动态的工具框架,可以将脚本注入到运行的进程中
python-ptrace: Python语言写成的应用ptrace的调试器(Linux,BSD和Darwin系统调用跟踪进程)
vdb / vtrace:vtrace是一个Python实现的跨平台进程调试API,vdb是一个应用该API的调试器
Androguard:安卓应用程序的逆向分析工具
Capstone:一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台
Keystone:一个轻量级的多平台多架构支持的汇编框架
PyBFD:GNU 二进制文件描述(BFD)库的 Python 接口
CHIPSEC:分析硬件,系统固件(BIOS / UEFI)和平台组件等PC平台安全性的框架。
模糊测试
afl-python:用于纯Python代码的American fuzzy lop
Sulley:一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的
Peach Fuzzing Platform:扩展的模糊测试框架(v2版本 是用 Python 语言编写的)
antiparser:模糊测试和故障注入的 API
TAOF:(The Art of Fuzzing, 模糊的艺术)包含 ProxyFuzz, 一个中间人网络模糊测试工具
untidy:针对 XML 模糊测试工具
Powerfuzzer:高度自动化和可完全定制的 Web 模糊测试工具
SMUDGE
Mistress:基于预设模式,侦测实时文件格式和侦测畸形数据中的协议
Fuzzbox:媒体多编码器的模糊测试
Forensic Fuzzing Tools:通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性
Windows IPC Fuzzing Tools:使用 Windows 进程间通信机制进行模糊测试的工具
WSBang:基于 Web 服务自动化测试 SOAP 安全性
Construct:用于解析和构建数据格式(二进制或文本)的库
fuzzer.py (feliam):由 Felipe Andres Manzano 编写的简单模糊测试工具
Fusil:用于编写模糊测试程序的 Python 库
Web
Requests:优雅,简单,人性化的 HTTP 库
lxml:便于使用的XML、HTML处理库,类似于Requests
HTTPie:人性化的类似 cURL 命令行的 HTTP 客户端
ProxMon:处理代理日志和报告发现的问题
WSMap:寻找 Web 服务器和发现文件
Twill:从命令行界面浏览网页。支持自动化网络测试
Ghost.py:Python 写的 WebKit Web 客户端
Windmill:Web 测试工具帮助你轻松实现自动化调试 Web 应用
FunkLoad:Web 功能和负载测试
spynner:Python 写的 Web浏览模块支持 Javascript/AJAX
python-spidermonkey:是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数
mitmproxy:支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量
pathod / pathoc:病态的守护程序/客户端,用于折磨HTTP客户端和服务器
spidy:简单的命令行网页抓取器,具有页面下载和单词刮除功能
取证
Volatility:从 RAM 中提取数据
Rekall: Google 开发的内存分析框架
LibForensics:数字取证应用程序库
TrIDLib:Python 实现的从二进制签名中识别文件类型
aft:安卓取证工具集恶意软件分析
恶意软件分析
pyew:命令行十六进制编辑器和反汇编工具,主要用于分析恶意软件
Exefilter:过滤 E-mail,网页和文件中的特定文件格式。可以检测很多常见文件格式,也可以移除文档内容
pyClamAV:增加你 Python 软件的病毒检测能力
jsunpack-n:通用 JavaScript 解释器,通过模仿浏览器功能来检测针对目标浏览器和浏览器插件的漏洞利用
yara-python:对恶意软件样本进行识别和分类
phoneyc:纯 Python 实现的蜜罐
CapTipper:分析,研究和重放 PCAP 文件中的 HTTP 恶意流量
peepdf:Python 编写的PDF文件分析工具,可以帮助检测恶意的PDF文件
Didier Stevens' PDF tools:析,识别和创建 PDF 文件(包含PDFiD,pdf-parser,make-pdf 和 mPDF)
Opaf:开放 PDF 分析框架,可以将 PDF 转化为 XML 树从而进行分析和修改
Origapy:Ruby 工具Origami的 Python 接口,用于审查 PDF 文件
pyPDF2:Python PDF 工具包包含:信息提取,拆分,合并,制作,加密和解密等等
PDFMiner:从 PDF 文件中提取文本
python-poppler-qt4:Python 写的 Poppler PDF 库,支持 Qt4
杂项
InlineEgg:使用 Python 编写的具有一系列小功能的工具箱
Exomind:一种旨在通过社交网络提供针对性攻击的工具。(原文是:围绕社交网络服务、搜索引擎和即时消息为中心创建装饰图形、开源智能模块的框架(framework for building decorated graphs and developing open-source intelligence modules and ideas, centered on social network services, search engines and instant messaging)感觉直接翻译原文不太到位,所以我找了一下官网,发现官网描述简单粗暴:)
RevHosts:枚举指定 IP 地址包含的虚拟hosts
simplejson:JSON 编码和解码器,例如使用Google's AJAX API
PyMangle:命令行工具和一个创建用于渗透测试使用字典的库
Hachoir:查看和编辑二进制流
py-mangle: 重复项
wmiexec.py:通过WMI快速轻松地执行Powershell命令
Pentestly:Python和Powershell内部渗透测试框架
hacklib: 黑客爱好者的工具包:词语破解,密码猜测,反向外壳等简单工具
其他有用的库或工具
IPython: 增强的交互式Python shell,具有许多功能,用于对象内省,系统shell访问以及自己的特殊命令系统
Beautiful Soup: 用于抓取的优化版HTML解析器
matplotlib: 制作2维图形
Mayavi: 三维科学数据的可视化与绘图
RTGraph3D: 在三维空间中创建动态图
Twisted: 事件驱动的网络引擎
Suds: 用于web服务的轻量级SOAP客户端
M2Crypto: 最完整的OpenSSL包装
NetworkX: 图像库(边、节点)
Pandas:提供高性能,易于使用的数据结构和数据分析工具的库
pyparsing:通用解析模块
lxml:Python中用来处理XML和HTML的功能最多、最宜于使用的库
Whoosh:用Python实现的快速,有特色的全文索引和搜索库
Pexpect: 控制和自动化其他程序,类似于Don Libes`Expect`系统
Sikuli:使用屏幕截图实现搜索和自动化GUI的可视化技术,可在Jython中运行
PyQt and PySide:ython 捆绑的 Qt 应用程序框架和 GUI 库
书籍
Violent Python 作者:TJ O'Connor。一本黑客、取证分析师、渗透测试员和安全工程师的cookbook
Grey Hat Python 作者:Justin Seitz。用于黑客和逆向工程的Python编程书
Black Hat Python 作者:Justin Seitz。用于黑客和渗透测试的Python编程书
Python Penetration Testing Essentials 作者:Mohit。使用Python的特性实现最佳渗透效果
Python for Secret Agents 作者:Steven F. Lott。使用Python分析,加密和发现智能数据
Python Web Penetration Testing Cookbook 作者:Cameron Buchanan等。超过60个用于Web应用程序测试的Python用例
Learning Penetration Testing with Python 作者:Christopher Duffy。利用Python脚本执行有效和高效的渗透测试
Python Forensics 作者:Chet Hosmer。发明和共享数字取证技术的工作台
The Beginner's Guide to IDAPython 作者:Alexander Hanel
演讲、幻灯片和文章
Python & Reverse Engineering Software 作者:Alexander Hanel
Python Arsenal for Reverse Engineering 作者:Dmitriy Evdokimov于2016年RUCTF
更多
SecurityTube Python Scripting Expert (SPSE) 是一个Vivek Ramachandran提供认证的在线课堂
SANS提供了课程SEC573: Python for Penetration Testers.
Python Arsenal for Reverse Engineering 是一个有大量逆向工程工具的合集
一篇来源于SANS的关于可用于取证分析的Python库的文章(PDF)
想要找到更多Python库,请查看PyPI的Python包索引
————终于完了,由于我对Python安全领域基本不熟悉,所以翻这个还挺费劲的。。。如果有大牛发现错误请指出来。。。
下一篇:Python原始套接字编程实例解析