Herramienta de fuzzing Guía de desarrollo de Sulley (1) -Instalar Sulley (varias imágenes, súper detalladas)

    Este tutorial es para la instalación en Windows. En cuanto a la instalación de otros sistemas, se publicará si hay tiempo. Este tutorial está traducido del tutorial del sitio web oficial OpenRCE / Sulley-GitHub-Wiki , pero hay algunos errores en él que corregiré y señalaré. Vale la pena mencionar que win10 64位系统completé esta instalación y operación a continuación (los sistemas de 64 bits pueden ejecutar e instalar programas de 32 bits, pero no al revés), por lo que este tutorial es aplicable a cualquier sistema.
    Primero echemos un vistazo a las herramientas necesarias para instalar Sulley, como se muestra en la siguiente tabla:

Bibliotecas / Herramientas descripción Enlace de descarga
MinGW MinGW es la abreviatura de Minimalist GNU para Windows. Es una colección de bibliotecas de importación y archivos de encabezado específicos de Windows disponibles y distribuidos libremente utilizando el conjunto de herramientas GNU, lo que le permite generar programas nativos de Windows en plataformas GNU / Linux y Windows sin la necesidad de un C Runtime de terceros (C Runtime) Biblioteca. MinGW | Paquete de instalación binario precompilado de MinGW
Pitón No explicaré esto mucho. Todo el Sulley está escrito en Python. Se recomienda la versión de 32 bits de Python 2.7.9 porque tiene la compatibilidad más sólida para las bibliotecas posteriores y tiene menos errores durante la instalación. Python 2.7.9 x86 | Python 2.7.9 x64
Git No hace falta decir que esta herramienta se utiliza para obtener proyectos fuente de Sulley Git
Pydbg El Sulley que usamos es uno de los tres proyectos principales en OpenRCE. Como otro proyecto muy conocido de los tres proyectos principales, su influencia es muy grande. Está escrito en python puro y un depurador de 32 bits, que es equivalente a WinDbg. git clone https://github.com/Fitblip/pydbg.git (es una rama de OpenRCE / pydbg, incluido el script de instalación)
libdasm Pydbg depende de pydasm, libdasm incluye pydasm. Entonces debemos instalar y compilar libdasm. Vale la pena señalar que el enlace de descarga de libdasm proporcionado por el sitio web oficial de sulley ha caducado. Aquí le damos un nuevo enlace libdasm en google, puede que tenga que pasar por encima del muro | Lo subí yo mismo
PCapy Al igual que pypcap, ambos son paquetes diferentes y ambos usan libpcap; pcapy es una versión que es más fácil de usar porque algunas personas no están satisfechas con pypcap. clon de git https://github.com/CoreSecurity/pcapy.git
WinPcap winpcap (captura de paquetes de Windows) es un sistema de acceso a la red pública y gratuito bajo la plataforma Windows. El propósito de desarrollar winpcap es proporcionar a las aplicaciones win32 la capacidad de acceder a la red subyacente. Se utiliza para la programación de red directa en el sistema Windows. WinPcap
Impacket Paquete de implementación de protocolo de red de terceros Python, que proporciona muchas interfaces de bajo nivel para implementar protocolos de bajo nivel como NMB, SMB1-3 y MS-DCERPC clon de git https://github.com/CoreSecurity/impacket.git

    Por tanto, debemos completar la instalación de sulley

  • pydbg (módulo de depuración)
  • pcapy (módulo de captura de paquetes)
  • Impacket (módulo de paquete de protocolo de red, red subyacente)

Paso 1 Descargue e instale MinGW

    Se recomienda usar el paquete de instalación binario precompilado directamente. Si usa el primer método, seleccione el paquete en la interfaz de instalación: 1) mingw32-base-Base Package 2) mingw32-gcc-g ++ - C ++ Compiler 3) mingw32 -gcc-objc-Objective-C Compilador

    El proceso de instalación de MinGW es el mismo que el proceso de instalación de programas generales. Vale la pena señalar que puede seleccionar como se muestra en la figura en la interfaz de verificación:sulley-MinGW

Paso 2 descarga e instala Python

    No entraré en detalles sobre el proceso de instalación. Hay muchos tutoriales en Internet. Aquí todavía recomiendo instalar la versión 2.7.9 de 32 bits.

Paso 3 descarga e instala Git (opcional)

    Este es un paso opcional. Si descarga Git, será más fácil obtener el proyecto en github, porque los siguientes proyectos solo usarán el comando git clone; si no descarga Git, está bien. El comando git clone https://xxxxx.com abre directamente el sitio web https://xxxxx.com y luego haz clic en descargar en la esquina superior derecha para descargar el paquete zip.

Paso 4 establecer variables de entorno

    El siguiente paso es configurar las variables de entorno para que el comando git python MinGW se pueda usar en cmd, como se muestra en la figura:Variable ambiental

Paso 5 git descargar pydbg e instalar

Obtenga la última versión de pydbg a     través del comando git clone https://github.com/Fitblip/pydbg.git , como se muestra en la figura:ir pydbg

Las imágenes de resultado de los siguientes comandos git clone no se publicarán, todos se operan así

    Luego, ingrese al directorio pydbg y ejecute el comando python setup.py install en el directorio cmd , como se muestra en la figura:instalar pydbg

    ¿Cree que se ha instalado pydbg? En realidad no. Como se mencionó anteriormente, pydbg depende de libdasm, por lo que no está completamente instalado. Si ingresamos la línea de comando de Python en este momento y ejecutamos el comando import pydbg, se producirá un error de importación. , Como se muestra en la figura:error de importación

Paso 6 Descarga e instala libdasm

    Este paso es instalar libdasm, primero instale su módulo de extensión y luego instale su módulo principal. Este es un lugar muy fácil para cometer errores. Si hay algún error, puede comentar a continuación y podemos resolverlo juntos.

下载的libdasm解压后目录\pydasm\>python setup.py build_ext -c mingw32
 running build_ext
 building 'pydasm' extension
...省略...
下载的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
 ...省略...

como muestra la imagen:instalar pydasm

    Intentemos ahora si la importación de pydbg y la importación de pydasm fallan, como se muestra en la siguiente figura:éxito

Paso 7 Descargue Sulley y verifique

    Comenzamos a descargar el proyecto principal de Sulley, git clone https://github.com/OpenRCE/sulley.git Después de descargar, ingrese al directorio sulley y ejecute el siguiente comando para verificar si process_monitor.py se puede ejecutar sin errores de importación:

下载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

Paso 8 Descargue Pcapy y WinPcap Dev Kit

    git clone https://github.com/CoreSecurity/pcapy.git y descargue WinPcap Dev Kit (versión de desarrollador de WinPcap, use principalmente los archivos de encabezado y lib aquí), y coloque el WinPack descargado en el directorio c: \ Sulley \ Siguiente (por supuesto, puede elegir su propio camino).

Paso 9 compila e instala pcapy

    Vaya al directorio pcapy y ejecute el siguiente código:

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
...省略...

pcapy

Este es un lugar muy fácil para cometer errores. Si hay algún error, puede comentarlo a continuación y podemos resolverlo juntos.

Paso 10 Descargue e instale WinPcap

    ¿Sientes que se ha instalado pcapy, pero no es así? Si entramos en la línea de comandos de Python y ejecutamos el comando import pcapy, encontraremos Error de importación: DLL not fond error, como se muestra en la figura:error

    Esto se debe a que aún no hemos instalado WinPcap, faltan estas DLL, descargue WinPcap y luego instálelo (siempre tire al lado de ok), y finalmente ejecutamos el comando import pcapy nuevamente, y encontraremos que no hay problema, como se muestra en la figura:
éxito

Paso 11 Descargue e instale Impacket

    git clone https://github.com/CoreSecurity/impacket.git para descargar el paquete Impacket, luego ingrese el directorio y ejecute el comando de instalación:

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
...省略...

Paso 12 El último paso es ejecutar network_monitor.py

    Finalmente, ejecute network_monitor.py para asegurarse de que el módulo se haya instalado correctamente. Como se muestra en la figura: la
red
    Lista de dispositivos de red es la lista de tarjetas de red, OK, ¡ya está! ¡Podemos empezar a confundirnos !

PD: Aquí proporciono todos los paquetes de instalación anteriores necesarios para instalar sulley para que todos los descarguen. Lazy debe: empaquetar todos los paquetes de instalación

posdata

    Los pasos de instalación de Sulley son problemáticos. A continuación, actualizaré dos artículos. Uno es principalmente para presentar algunos conceptos de Sulley, y el segundo caso real es realizar pruebas fuzz en esos servidores ftp vulnerables. Espero que sigan prestando atención. .

Supongo que te gusta

Origin blog.csdn.net/u012397189/article/details/76084919
Recomendado
Clasificación