Pip3line是一款针对RawBytes数据的安全工具,该工具不仅允许广大研究人员轻松查看和修改RawBytes数据,而且还可以对数据执行各种转换、快速源码搜索和网络代理拦截等。
该工具专为渗透测试和逆向工程分析人员设计,当前支持的转换列表包括常见的解码,例如Base64/32/hex转简单密码,并包含了常见的哈希算法和模糊处理技术。
支持的转换
1、Base32 2、Base64 3、基于自己的基本翻转算法 4、二进制编码 5、字节转整型 6、Cisco secret 7解密/加密 7、CRC32 8、Cut 9、FIX协议解析器(v4.4) 10、十六进制 11、用于JavaScript模糊处理的层次结构 12、HMAC计算 13、Int转时间戳 14、Int64转时间戳 15、IPv4转换 16、IPv4和IPv6的网络掩码计算 17、Md4/Md5/Sha1(内置) 18、NTLMSSP消息解析 19、数据填充 20、正则表达式 21、ROT 22、替换加密算法 23、Oracle/MySql/MSSql/Postgres/Javascript级联字符串 24、URL编码 25、XOR 26、XmlQuery 27、Zlib压缩
工具下载
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/metrodango/pip3line.git
广大研究人员可以直接访问该项目的【https://github.com/metrodango/pip3line/releases】下载针对Windows操作系统的预编译工具版本。
$ brew tap metrodango/pip3line
$ brew install pip3line
如果遇到关于丢失共享库libtransform的错误,请确保homebrew代码库目录位于PATH路径中,或创建一个指向/usr/local/lib的软链。
Gentoo
将项目中的「extras/gentoo_package/pip3line-TEMPLATE.ebuild」模板ebuild拷贝到一个本地Gentoo库中,并提供相关的版本信息,例如:
pip3line-9999.ebuild (for the github based ebuild)
pip3line-3.7.0.ebuild (for a specific version)
然后运行下列命令即可:
$ emerge -pv pip3line
Python 2.7 & 3插件使用
使用你自己的代码编辑器创建一个Python文件,代码初始架构如下:
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
def pip3line_transform(inputData):
""" Take a bytearray as input and returns a bytearray"""
# if you need to convert to a Python 'string'
string = inputData.decode('utf-8')
# Some code ......
# just remember to convert it back to a bytearray
return bytearray(string, 'utf-8')
pip3line_transform function函数会由Pip3line自动调用,我们需要做的是使用Python 2.7/3模块转换来加载该函数。
假设使用gzip和bz2样例作为起始入口点,参考的实现代码如下:
#!/usr/bin/env python3
#-*- coding: UTF-8 -*-
import gzip
Pip3line_is_two_ways = True
def pip3line_transform(inputData):
ret = None
if (Pip3line_INBOUND):
ret = bytearray(gzip.compress(inputData))
else:
ret = bytearray(gzip.decompress(inputData))
return ret
许可证协议
本项目的开发与发布遵循BSD-3-Clause开源许可协议。
项目地址
Pip3line:
https://github.com/metrodango/pip3line
参考资料:
https://metrodango.github.io/pip3line/index.html