github上有哪些安全相关的python项目值得一读?

包括但不限于binary web回复内容:
网络

scapy: send, sniff and dissect and forge network packets. usable interactively or as a library

pypcap, pcapy and pylibpcap: several different python bindings for libpcap

libdnet: low-level networking routines, including interface lookup and ethernet frame transmission

dpkt: fast, simple packet creation/parsing, with definitions for the basic tcp/ip protocols

impacket: craft and decode network packets. includes support for higher-level protocols such as nmb and smb

pynids: libnids wrapper offering sniffing, ip defragmentation, tcp stream reassembly and port scan detection

dirtbags py-pcap: read pcap files without libpcap

flowgrep: grep through packet payloads using regular expressions

knock subdomain scan, enumerate subdomains on a target domain through a wordlist

mallory, extensible tcp/udp man-in-the-middle proxy, supports modifying non-standard protocols on the fly

pytbull: flexible ids/ips testing framework (shipped with more than 300 tests)

调试和逆向工程

paimei: reverse engineering framework, includes pydbg, pida, pgraph

immunity debugger: scriptable gui and command line debugger

mona.py: pycommand for immunity debugger that replaces and improves on pvefindaddr

idapython: ida pro plugin that integrates the python programming language, allowing scripts to run in ida pro

pyemu: fully scriptable ia-32 emulator, useful for malware analysis

pefile: read and work with portable executable (aka pe) files

pydasm: python interface to the libdasm x86 disassembling library

pydbgeng: python wrapper for the microsoft windows debugging engine

uhooker: intercept calls to api calls inside dlls, and also arbitrary addresses within the executable file in memory

distorm: disassembler library for amd64, licensed under the bsd license

python-ptrace: debugger using ptrace (linux, bsd and darwin system call to trace processes) written in python

vdb / vtrace: vtrace is a cross-platform process debugging api implemented in python, and vdb is a debugger which uses it

androguard: reverse engineering and analysis of android application

fuzzing

sulley: fuzzer development and fuzz testing framework consisting of multiple extensible components

peach fuzzing platform: extensible fuzzing framework for generation and mutation based fuzzing (v2 was written in python)

antiparser: fuzz testing and fault injection api

taof, (the art of fuzzing) including proxyfuzz, a man-in-the-middle non-deterministic network fuzzer

untidy: general purpose xml fuzzer

powerfuzzer: highly automated and fully customizable web fuzzer (http protocol based application fuzzer)

smudge

mistress: probe file formats on the fly and protocols with malformed data, based on pre-defined patterns

fuzzbox: multi-codec media fuzzer

forensic fuzzing tools: generate fuzzed files, fuzzed file systems, and file systems containing fuzzed files in order to test the robustness of forensics tools and examination systems

windows ipc fuzzing tools: tools used to fuzz applications that use windows interprocess communication mechanisms

wsbang: perform automated security testing of soap based web services

construct: library for parsing and building of data structures (binary or textual). define your data structures in a declarative manner

fuzzer.py (feliam): simple fuzzer by felipe andres manzano

fusil: python library used to write fuzzing programs

web

requests: elegant and simple http library, built for human beings

httpie: human-friendly curl-like command line http client

proxmon: processes proxy logs and reports discovered issues

wsmap: find web service endpoints and discovery files

twill: browse the web from a command-line interface. supports automated web testing

ghost.py: webkit web client written in python

windmill: web testing tool designed to let you painlessly automate and debug your web application

funkload: functional and load web tester

spynner: programmatic web browsing module for python with javascript/ajax support

python-spidermonkey: bridge to the mozilla spidermonkey javascript engine; allows for the evaluation and calling of javascript scripts and functions

mitmproxy: ssl-capable, intercepting http proxy. console interface allows traffic flows to be inspected and edited on the fly

pathod / pathoc: pathological daemon/client for tormenting http clients and servers

取证

volatility: extract digital artifacts from volatile memory (ram) samples

libforensics: library for developing digital forensics applications

tridlib, identify file types from their binary signatures. now includes python binding

aft: android forensic toolkit

恶意程序分析

pyew: command line hexadecimal editor and disassembler, mainly to analyze malware

exefilter: filter file formats in e-mails, web pages or files. detects many common file formats and can remove active content

pyclamav: add virus detection capabilities to your python software

jsunpack-n, generic javascript unpacker: emulates browser functionality to detect exploits that target browser and browser plug-in vulnerabilities

yara-python: identify and classify malware samples

phoneyc: pure python honeyclient implementation

pdf

didier stevens’ pdf tools: analyse, identify and create pdf files (includes pdfid, pdf-parserand make-pdf and mpdf)

opaf: open pdf analysis framework. converts pdf to an xml tree that can be analyzed and modified.

origapy: python wrapper for the origami ruby module which sanitizes pdf files

pypdf: pure python pdf toolkit: extract info, spilt, merge, crop, encrypt, decrypt…

pdfminer: extract text from pdf files

python-poppler-qt4: python binding for the poppler pdf library, including qt4 support

misc

inlineegg: toolbox of classes for writing small assembly programs in 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: enumerate virtual hosts for a given ip address

simplejson: json encoder/decoder, e.g. to use google’s ajax api

pymangle: command line tool and a python library used to create word lists for use with other penetration testing tools

hachoir: view and edit a binary stream field by field

py-mangle: command line tool and a python library used to create word lists for use with other penetration testing tools

其他有用的py库和工具bpython

ipython: enhanced interactive python shell with many features for object introspection, system shell access, and its own special command system

beautiful soup: html parser optimized for screen-scraping

matplotlib: make 2d plots of arrays

mayavi: 3d scientific data visualization and plotting

rtgraph3d: create dynamic graphs in 3d

twisted: event-driven networking engine

suds: lightweight soap client for consuming web services

m2crypto: most complete openssl wrapper

networkx: graph library (edges, nodes)

pandas: library providing high-performance, easy-to-use data structures and data analysis tools

pyparsing: general parsing module

lxml: most feature-rich and easy-to-use library for working with xml and html in the python language

whoosh: fast, featureful full-text indexing and searching library implemented in pure python

pexpect: control and automate other programs, similar to don libes `expect` system

sikuli, visual technology to search and automate guis using screenshots. scriptable injython

pyqt and pyside: python bindings for the qt application framework and gui library

https://github.com/dloss/python-pentest-tools
sqlmap
github 上有人专门整理过列表(dloss/python-pentest-tools · github),虽然并不是很完备,但总体上还是不错的一份单子。另外需要额外提一点,大多数的 python 安全项目只适合看一看,没必要读一读,因为很多安全项目的工程架构、编码规范其实都一般般,了其概要便足够了。
是不是python没有考察,自己总结的一份关于信息安全的开源工具集。wala:对java字节码和javascript提供静态分析pixy:php静态分析工具,(污点分析)clang:编译器的前端工作,负责词法分析和语法分析,生成语法树。llvm:编译器的后端工作,负责中间码的生成,代码优化,机器码的生成。klee: 适用于c语言,静态符号执行工具,建立在llvm之上。magic:静态模型检测工具,适用于c语言blast:静态模型检测工具,适用于c语言java pathfinder: 静态模型检测工具,适用于java语言saturn(stanford): 基于定理证明的静态漏洞检测工具,适用于c语言esc/java:基于定理证明的静态漏洞检测工具,适用于javapeach:大名鼎鼎的fuzz框架。sulley(2012):新一代fuzz框架,python实现。argos:动态污点技术,用于主机蜜罐,检测0day攻击。bitblaze: 静态分析组件vine和动态分析组件temu都是开源。但是线上动态符号执行组件不开源。valgrind:开源虚拟机,用于动态二进制分析。拥有内存分配分析和线程分析等等。动态二进制插桩的代表。只能实现用户态跟踪taintdroid: android动态污点分析工具bap:基于二进制可执行程序反汇编的漏洞模式检测工具。ocaml语言编写。binnavi:基于二进制可执行程序反汇编的漏洞模式检测工具。不能反汇编,需要借助ida pro对二进制文件反汇编。z3:微软开源的约束求解器。具有跨平台特性stp:mit开源协议的开源软件。在符号执行中广泛应用。但只能运行在linux平台下。
逆向工程、二进制分析的工具: qira binaryanalysisplatform/qira · github angr angr/angr · github
the fuck greysign/thefuck · github没有理由不推荐它……
http://awesome-python.com/这个网站上面列出的所有的库,都是一些优秀的第三方python库,大部分托管在github上,都值得去认真阅读。
从题主问题出发,安全+值得读+pythonrequests不错,创宇cos推荐sqlmap,其他答案也有不错的工具。好工具不一定值得读?!本想推荐androguard 不过没读过!

Posted in 未分类

发表评论