标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-3194] 作者: ecawen 发表于: [2022-10-24]
本文共 [690] 位读者顶过
本教程是针对的是windows上面的安装,至于其他系统的安装有时间的话会贴出来,本教程翻译自OpenRCE/Sulley-GitHub-Wiki官网教程,但是里面有一些错误我会更正指出。值得一提是,我是在win10 64位系统下面完成本次安装和运行(64位系统运行安装32位程序是可以的,反之却不行的哟),所以本教程对任何系统都适用。[出自:jiwo.org]
咱们先来看看安装Sulley需要什么的工具,如下表: 库/工具 描述 下载链接 MinGW MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。 MinGW|MinGW预编译的二进制安装包 Python 这个就不多解释了,整个Sulley都是用python来写的,推荐python版本2.7.9中的32位版本 因为对于后面的库来说兼容性最强,安装的时候bug也少 Python 2.7.9 x86 |Python 2.7.9 x64 Git 这个工具不用多说了,用来获取Sulley源项目 Git Pydbg 我们使用的Sulley是OpenRCE里面三大项目之一,作为三大项目的另一知名项目,它的影响力是很大的,它是用纯python来编写的,32位调试器,相当于WinDbg. git clone https://github.com/Fitblip/pydbg.git (是OpenRCE/pydbg的一个分支,包含安装脚本) libdasm Pydbg依赖于pydasm,libdasm包含pydasm。所以我们必须安装编译libdasm,值得注意的是sulley官网给的libdasm的下载链接已经失效了,在这里我们给出新的链接 libdasm google上的,可能要翻墙|我自己上传的 PCapy 和pypcap一样都是不同的封装,都是用的libpcap;pcapy是某些人对pypcap不满才搞出来的,更容易使用的版本。 git clone https://github.com/CoreSecurity/pcapy.git WinPcap winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。它用于windows系统下的直接的网络编程。 WinPcap Impacket Python第三方网络协议实现包,提供很多底层接口,实现例如NMB, SMB1-3 and MS-DCERPC等底层的协议 git clone https://github.com/CoreSecurity/impacket.git 所以,我们要完成sulley的安装,必须完成 pydbg(调试模块) pcapy(抓包模块) Impacket(网络协议包模块,底层网络) Step 1 下载和安装MinGW 推荐直接使用预编译好的二进制安装包,如果您使用了第一种方式,在安装界面选择package里面勾选:1)mingw32-base - Base Package 2)mingw32-gcc-g++ - C++ Compiler 3)mingw32-gcc-objc - Objective-C Compiler 安装MinGW的过程和一般程序的安装过程一样,值得注意的是在勾选界面进行如图所示的选择就可以了: Step 2 下载和安装Python 安装过程我就不详细说了,网上有很多教程的,这里我还是推荐安装2.7.9 32位版本。 Step 3 下载和安装Git(可选) 这是可选的步骤,如果你下载了Git,那么获取github上面的项目会变得简单,因为后面的项目只会用到git clone这个命令;如果你没下载Git,那也没关系,在之后的git clone https://xxxxx.com命令直接打开https://xxxxx.com这个网站就行,然后点击右上角的download下载zip包就行啦。 Step 4 设置环境变量 接下来就是配置环境变量,使得git python MinGW命令能在cmd中使用,如图: Step 5 git下载pydbg并安装 通过git clone https://github.com/Fitblip/pydbg.git 命令来获取pydbg的最新版本,如图: 往后的git clone命令的结果图片就不贴出来了,都是这样操作的 接着,进入pydbg目录,在cmd目录下执行python setup.py install命令,如图: 是不是感觉已经安装完pydbg了?其实并没有,就像上文说的,pydbg依赖于libdasm,所以是没有完全安装完的,如果我们此时进入python命令行,执行import pydbg命令会出现Import Error错误!,如图: Step 6 下载libdasm并安装 这一步就是安装libdasm,先安装其extension模块,再安装其主要模块,这里是非常容易出现错误的地方,如果出现了什么bug可以在底下评论,大家一起解决。 下载的libdasm解压后目录\pydasm\>python setup.py build_ext -c mingw32 running build_ext building 'pydasm' extension ...省略... 1 2 3 4 下载的libdasm解压后目录\pydasm\>python setup.py install running install running build running build_ext running install_lib copying build\lib.win32-2.7\pydasm.pyd -> C:\python27\Lib\site-packages running install_egg_info Writing C:\python27\Lib\site-packages\pydasm-1.5-py2.7.egg-info ...省略... 1 2 3 4 5 6 7 8 9 如图所示: 我们现在试试import pydbg和import pydasm会不会出错,如下图:如图所示: Step 7 下载Sulley并验证 我们开始下载Sulley主工程,git clone https://github.com/OpenRCE/sulley.git 下载完以后进入sulley目录,运行如下命令来检测process_monitor.py是否能运行,没有import errors: 下载Sulley所在目录>python process_monitor.py ERR> USAGE: process_monitor.py <-c|--crash_bin FILENAME> filename to serialize crash bin class to [-p|--proc_name NAME] process name to search for and attach to [-i|--ignore_pid PID] ignore this PID when searching for the target process [-l|--log_level LEVEL] log level (default 1), increase for more verbosity [--port PORT] TCP port to bind this agent to 1 2 3 4 5 6 7 Step 8 下载Pcapy和WinPcap Dev Kit git clone https://github.com/CoreSecurity/pcapy.git 和下载 WinPcap Dev Kit(WinPcap开发者版本,主要使用到这里的头文件和lib),并把下载的WinPack放在c:\Sulley\目录下(当然你可以选择自己的方式)。 Step 9 编译安装pcapy 进入pcapy的目录,运行以下代码: pcapy的目录>python setup.py build_ext -c mingw32 -I "C:\sulley\WpdPack\Include" -L "C:\sulley\WpdPack\Lib"(主要是包含这两个目录) running build_ext building 'pcapy' extension creating build creating build\temp.win32-2.7 creating build\temp.win32-2.7\Release creating build\temp.win32-2.7\Release\win32 ...省略... pcapy的目录>python setup.py install running install running build running build_ext running install_lib copying build\lib.win32-2.7\pcapy.pyd -> C:\python27\Lib\site-packages running install_data creating C:\python27\share creating C:\python27\share\doc creating C:\python27\share\doc\pcapy copying README -> C:\python27\share\doc\pcapy ...省略... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 这里是非常容易出现错误的地方,如果出现了什么bug可以在底下评论,大家一起解决。 Step 10 下载和安装WinPcap 您是不是感觉已经pcapy安装完了呢,其实并没有,如果此时我们进Python命令行执行import pcapy命令会发现Import Error:DLL not fond错误,如图: 这是因为我们还没有安装WinPcap,这些DLL就缺失了,下载WinPcap,然后进行安装(一直next就ok拉),最后我们再次运行一下import pcapy命令,就会发现没有任何问题啦,如图: Step 11 下载和安装Impacket git clone https://github.com/CoreSecurity/impacket.git下载Impacket包,然后进入目录执行install命令: Impacket的目录>python setup.py install running install running build running build_py creating build creating build\lib creating build\lib\impacket copying impacket\ImpactDecoder.py -> build\lib\impacket copying impacket\ImpactPacket.py -> build\lib\impacket copying impacket\nmb.py -> build\lib\impacket copying impacket\ntlm.py -> build\lib\impacket copying impacket\smb.py -> build\lib\impacket copying impacket\structure.py -> build\lib\impacket copying impacket\uuid.py -> build\lib\impacket copying impacket\__init__.py -> build\lib\impacket creating build\lib\impacket\dcerpc ...省略... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Step 12 最后一步-运行network_monitor.py 最后就是运行network_monitor.py来确保模块安装成功!如图所示: 其中Network Device List就是网卡列表啦,OK,大功告成!我们可以start fuzzing! PS:在这里我提供安装sulley所需的上述所有的安装包供大家下载,懒人必备:所有安装包打包 后记 Sulley的安装步骤就是麻烦,接下来我会更新两篇内容,一篇是主要介绍一下sulley的一些概念,第二篇真实案例,来对那些有漏洞的ftp服务器来进行fuzz测试,希望大家继续关注。 |