Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DevAudit — Herramienta de auditoría de seguridad de código abierto, multiplataforma y multipropósito | Kitploit
Herramientas/GitHubGitHub/sonatype-nexus-community/devaudit
Escáneres de VulnerabilidadesSeguridad de ContenedoresAnálisis Estático de Código (SAST)Análisis de CódigoAuditoría de ConfiguraciónSeguridad WebSeguridad de RedesSeguridad en la NubeDevSecOpsSeguridad de Bases de DatosArchived
359747hace 3 añosRevisado por Kitploit
GitHub
sonatype-nexus-community/devaudit

DevAudit

Herramienta de auditoría de seguridad de código abierto, multiplataforma y multipropósito

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Nota: DevAudit utiliza la base de datos de OSS Index, la cual tiene ciertos límites de tasa. Si notas que estás alcanzando el límite, por favor abre un issue. Los usuarios autenticados tienen un límite más alto, y pronto implementaremos autenticación en DevAudit. La mayoría de los usuarios no autenticados probablemente no notarán el límite para muchos casos de uso. Normalmente solo se activa en proyectos mucho más grandes o con volúmenes elevados de paquetes.

DevAudit: Auditoría de Desarrollo

Obtén la última versión desde la página de versiones.

Captura de pantalla de auditoría de fuente de paquetes de DevAudit

Captura de pantalla de auditoría de fuente de paquetes dpkg en Wheezy con DevAudit

Tabla de contenidos

  • Acerca de
  • Características
  • Requisitos
  • Instalación
  • Conceptos
  • Uso básico
  • Objetivos de auditoría
  • Entornos
  • Opciones del programa
  • Uso con Docker
  • Solución de problemas
  • Problemas conocidos
  • Acerca de

    DevAudit es una herramienta de auditoría de seguridad de código abierto, multiplataforma y multipropósito, dirigida a desarrolladores y equipos que adoptan DevOps y DevSecOps. Detecta vulnerabilidades de seguridad en múltiples niveles de la pila de soluciones. DevAudit ofrece una amplia gama de capacidades de auditoría que automatizan prácticas de seguridad e implementan la auditoría de seguridad en el ciclo de vida del desarrollo de software. DevAudit puede escanear su sistema operativo y las dependencias de paquetes de aplicaciones, las configuraciones de aplicaciones y servidores de aplicaciones, y el código de la aplicación, en busca de posibles vulnerabilidades basadas en datos agregados por proveedores como OSS Index y Vulners a partir de una amplia variedad de fuentes y feeds de datos como el feed de datos CVE de la Base Nacional de Vulnerabilidades (NVD), el feed de avisos de seguridad de Debian, los avisos de seguridad de Drupal y muchos otros.

    DevAudit ayuda a los desarrolladores a abordar al menos 4 de los riesgos del OWASP Top 10 para el desarrollo de aplicaciones web:

    • A9 Uso de componentes con vulnerabilidades conocidas
    • A5 Configuración de seguridad incorrecta
    • A6 Exposición de datos sensibles
    • A2 Autenticación y gestión de sesiones rotas

    así como riesgos clasificados por MITRE en el diccionario CWE como CWE-2 Entorno y CWE-200 Divulgación de información

    Captura de pantalla de auditoría de aplicación ASP.NET con DevAudit A medida que el desarrollo avanza y sus capacidades maduran, DevAudit podrá abordar los otros riesgos de las listas OWASP Top 10 y CWE, como Inyección y XSS. Con el enfoque en aplicaciones web, en la nube y distribuidas multi-usuario, el desarrollo de software hoy en día es cada vez más complejo, con problemas de seguridad y vulnerabilidades potenciales que surgen en todos los niveles de la pila de la que dependen los desarrolladores para entregar aplicaciones. El objetivo de DevAudit es proporcionar una plataforma para automatizar la implementación de revisiones de seguridad y mejores prácticas en todos los niveles de la pila de soluciones, desde las dependencias de paquetes de bibliotecas hasta la configuración de aplicaciones y servidores y el código fuente.

    Características

    • Multiplataforma con imagen Docker también disponible. DevAudit se ejecuta en Windows y Linux, con soporte planeado para *BSD, Mac y ARM Linux. Solo se requiere una versión actualizada de .NET o Mono para ejecutar DevAudit. También se puede obtener una imagen Docker de DevAudit desde Docker Hub y ejecutarla sin necesidad de instalar Mono.

    • Interfaz CLI. DevAudit tiene una interfaz CLI con una opción para salida no interactiva y se puede integrar fácilmente en pipelines de compilación CI o como tareas de línea de comandos posteriores a la compilación en IDEs de desarrolladores. Ya se ha comenzado a trabajar en la integración de la biblioteca central de auditoría en GUIs de IDE con la extensión Audit.Net para Visual Studio.

    • Datos de vulnerabilidades actualizados continuamente. DevAudit utiliza proveedores de datos backend como OSS Index y Vulners que proporcionan datos de vulnerabilidades actualizados continuamente, recopilados de una amplia gama de fuentes y feeds de datos de seguridad, como los feeds CVE de NVD, los avisos de seguridad de Drupal, etc. Se agregará soporte para proveedores adicionales de vulnerabilidades y datos de paquetes como vFeed y Libraries.io.

    • Auditar dependencias de paquetes del sistema operativo y de desarrollo. DevAudit audita aplicaciones de Windows y paquetes instalados mediante MSI de Windows, Chocolatey y OneGet, así como paquetes de Debian, Ubuntu y CentOS Linux instalados mediante Dpkg, RPM y YUM, en busca de vulnerabilidades reportadas para versiones específicas de las aplicaciones y paquetes. Para dependencias de paquetes de desarrollo y bibliotecas, DevAudit audita dependencias de NuGet v2 para .NET, dependencias de Yarn/NPM y Bower para nodejs, y dependencias de paquetes de Composer para PHP. Se agrega soporte para otros gestores de paquetes de diferentes idiomas de forma regular.

    • Auditar configuraciones de servidores de aplicaciones. DevAudit audita la versión del servidor y la configuración del servidor para OpenSSH sshd, Apache httpd, MySQL/MariaDB, PostgreSQL y Nginx, con muchos más por venir. La auditoría de configuración se basa en la biblioteca Alpheus y se realiza mediante análisis sintáctico completo de los archivos de configuración del servidor. Las reglas de configuración del servidor se almacenan en archivos de texto YAML y se pueden personalizar según las necesidades de los desarrolladores. Se agrega soporte para muchos más servidores y aplicaciones, y tipos de análisis como la auditoría de bases de datos de forma regular.

    • Auditar configuraciones de aplicaciones. DevAudit audita aplicaciones ASP.NET de Microsoft y detecta vulnerabilidades presentes en la configuración de la aplicación. Las reglas de configuración de la aplicación se almacenan en archivos de texto YAML y se pueden personalizar según las necesidades de los desarrolladores. Próximamente se incluirá la auditoría de configuración de aplicaciones como Drupal, WordPress y DNN CMS.

    • Auditar código de aplicaciones mediante análisis estático. DevAudit actualmente admite análisis estático de bytecode .NET CIL. Los analizadores residen en archivos de script externos y se pueden personalizar completamente según las necesidades del desarrollador. Próximamente se incluirá soporte para análisis de código fuente de C# mediante Roslyn, código fuente de PHP7 y muchos más lenguajes y herramientas externas de análisis estático de código.

    • Auditoría remota sin agentes. DevAudit puede conectarse a hosts remotos a través de SSH con características de auditoría idénticas disponibles en entornos remotos y locales. Solo se requiere un inicio de sesión SSH válido para auditar hosts remotos, y DevAudit ejecutándose en Windows puede conectarse y auditar hosts Linux a través de SSH. En Windows, DevAudit también puede conectarse de forma remota y auditar otras máquinas Windows mediante WinRM.

    • Auditoría de contenedores Docker sin agentes. DevAudit puede auditar contenedores Docker en ejecución desde el host Docker con características idénticas disponibles en entornos de contenedores y locales.

    • Auditoría de repositorios de GitHub. DevAudit puede conectarse directamente a un repositorio de proyectos alojado en GitHub y realizar auditorías de fuente de paquetes y configuración de aplicaciones.

    • Soporte para PowerShell. DevAudit también se puede ejecutar dentro del entorno de administración del sistema PowerShell como cmdlets. El trabajo en el soporte de PowerShell está actualmente en pausa, pero se reanudará en un futuro cercano con soporte para PowerShell multiplataforma tanto en Windows como en Linux.

    Requisitos

    DevAudit es una aplicación .NET 4.6. Para instalarlo localmente en su máquina, necesitará el runtime de Microsoft .NET Framework 4.6 en Windows, o Mono 4.4+ en Linux. .NET 4.6 ya debería estar instalado en la mayoría de las versiones recientes de Windows; si no es así, está disponible como una característica de Windows que se puede activar o instalar desde el applet de Programas y Características del Panel de control en Windows de consumo, o desde la opción Agregar roles y características en Administrador del servidor en versiones de servidor de Windows. Para versiones anteriores de Windows, el instalador de .NET 4.6 de Microsoft se puede encontrar aquí.

    En Linux, la versión mínima de Mono compatible es 4.4. Aunque DevAudit se ejecuta en Mono 4 (con un problema conocido), se recomienda instalar Mono 5. Mono 5 trae muchas mejoras en los componentes de compilación y tiempo de ejecución de Mono que benefician a DevAudit.

    Los paquetes de Mono existentes proporcionados por su distribución probablemente aún no sean Mono 5, por lo que deberá instalar paquetes de Mono manualmente para poder usar Mono 5. Las instrucciones de instalación para los paquetes más recientes proporcionados por el proyecto Mono para varias distribuciones importantes de Linux están aquí. Se recomienda tener instalado el paquete mono-devel, ya que esto reducirá las posibilidades de que falten ensamblados.

    Alternativamente, en Linux puede usar la imagen Docker de DevAudit si no desea instalar Mono y ya tiene Docker instalado en su máquina.

    Instalación

    DevAudit se puede instalar mediante los siguientes métodos:

    • Compilando desde el código fuente.
    • Usando un archivo de distribución binaria descargado de Github para Windows o Linux.
    • Usando el instalador MSI de la versión descargado de Github para Windows.
    • Usando el gestor de paquetes Chocolatey en Windows.
    • Descargando la imagen ossindex/devaudit desde Docker Hub en Linux.

    Compilar desde el código fuente en Linux

    1. Requisitos previos: Mono 4.4+ (se recomienda Mono 5) y el paquete mono-devel que proporciona el compilador y otras herramientas necesarias para compilar aplicaciones Mono. Su distribución debería tener paquetes para al menos Mono versión 4.4 o superior; de lo contrario, las instrucciones de instalación manual para los paquetes más recientes proporcionados por el proyecto Mono para varias distribuciones importantes de Linux están aquí.

    2. Clone el repositorio de DevAudit desde https://github.com/OSSIndex/DevAudit.git

    3. Ejecute el script build.sh en el directorio raíz de DevAudit. DevAudit debería compilarse sin errores.

    4. Ejecute ./devaudit --help y debería ver la versión de DevAudit y la pantalla de ayuda impresa.

    Tenga en cuenta que NuGet en Linux puede salir ocasionalmente con Error: NameResolutionFailure, lo que parece ser un problema transitorio al contactar los servidores que contienen los paquetes NuGet. Simplemente ejecute ./build.sh nuevamente hasta que la compilación se complete normalmente.

    Compilar desde el código fuente en Windows

    1. Requisitos previos: Debe tener uno de los siguientes:

      • Un SDK o paquete de desarrollador de .NET Framework 4.6.
      • Visual Studio 2015.
    2. Clone el repositorio de DevAudit desde https://github.com/OSSIndex/DevAudit.git

    3. Desde una línea de comandos de Visual Studio 2015 o .NET, ejecute el script build.cmd en el directorio raíz de DevAudit. DevAudit debería compilarse sin errores.

    4. Ejecute ./devaudit --help y debería ver la versión de DevAudit y la pantalla de ayuda impresa.

    Instalar desde los archivos de distribución en Windows o Linux

    1. Requisitos previos: Debe tener Mono 4.4+ en Linux o .NET 4.6 en Windows.

    2. Descargue el último archivo de distribución para Windows o Linux desde la página de versiones del proyecto. Descomprima este archivo en un directorio.

    3. Desde el directorio donde descomprimió el archivo de distribución, ejecute devaudit --help en Windows o ./devaudit --help en Linux. Debería ver la versión y la pantalla de ayuda impresa.

    4. (Opcional) Agregue el directorio de instalación de DevAudit a su variable de entorno PATH

    Instalar usando el instalador MSI en Windows

    El instalador MSI para una versión se puede encontrar en la página de versiones de Github.

    1. Haga clic en el enlace de versiones cerca de la parte superior de la página.
    2. Identifique la versión que desea instalar.
    3. Debería verse un enlace "DevAudit.exe" para cada versión que tenga un instalador precompilado.
    4. Descargue el archivo y ejecute el instalador. Se le guiará a través de una instalación simple.
    5. Abra una nueva ventana de símbolo del sistema o PowerShell para que DevAudit esté en la ruta.
    6. Ejecute DevAudit.

    Instalar usando Chocolatey en Windows

    DevAudit también está disponible en Chocolatey.

    1. Instale Chocolatey.
    2. Abra una consola de administrador o una ventana de PowerShell.
    3. Escriba choco install devaudit
    4. Ejecute DevAudit.

    Instalar usando Docker en Linux

    Descargue la imagen de DevAudit desde Docker Hub: docker pull ossindex/devaudit. La imagen etiquetada como ossindex/devaudit:latest (que es la imagen predeterminada que se descarga) está construida a partir de la versión más reciente, mientras que ossindex/devaudit:unstable está construida en la rama master del código fuente y contiene las adiciones más recientes, aunque con menos pruebas.

    Conceptos

    Objetivo de auditoría

    Representa un grupo lógico de funciones de auditoría. DevAudit actualmente admite los siguientes objetivos de auditoría:

    • Fuente de paquetes. Una fuente de paquetes gestiona las dependencias de aplicaciones y bibliotecas mediante un gestor de paquetes. Los gestores de paquetes instalan, eliminan o actualizan aplicaciones y dependencias de bibliotecas para un sistema operativo como Debian Linux, o para un lenguaje o marco de desarrollo como .NET o nodejs. Ejemplos de fuentes de paquetes son dpkg, yum, Chocolatey, Composer y Bower. DevAudit audita los nombres y versiones de los paquetes instalados en busca de vulnerabilidades reportadas para versiones específicas de esos paquetes.
    • Aplicación. Una aplicación como Drupal o una aplicación personalizada construida con un marco como ASP.NET. DevAudit audita las aplicaciones y sus módulos y complementos en busca de vulnerabilidades reportadas para versiones específicas de los binarios de la aplicación, módulos y complementos. DevAudit también puede auditar las configuraciones de las aplicaciones en busca de vulnerabilidades conocidas y realizar análisis estático en el código de la aplicación buscando debilidades conocidas.
    • Servidor de aplicaciones. Los servidores de aplicaciones proporcionan servicios o demonios que se ejecutan continuamente, como un servidor web o de base de datos, para que otras aplicaciones los utilicen, o para que los usuarios accedan a servicios como la autenticación. Ejemplos de servidores de aplicaciones son los servidores OpenSSH sshd y Apache httpd. DevAudit puede auditar los binarios del servidor de aplicaciones, módulos y complementos en busca de vulnerabilidades reportadas para versiones específicas, así como auditar las configuraciones del servidor en busca de vulnerabilidades y debilidades conocidas en la configuración del servidor.

    Entorno de auditoría

    Representa un entorno lógico donde se ejecutan las auditorías contra los objetivos de auditoría. Los entornos de auditoría abstraen las operaciones de E/S y ejecución de comandos necesarias para una auditoría y permiten realizar funciones idénticas contra los objetivos de auditoría independientemente de la ubicación física o de red donde se encuentren los archivos y ejecutables del objetivo. Actualmente se admiten los siguientes entornos:

    • Local. Este es el entorno de auditoría predeterminado donde las auditorías se ejecutan en la máquina local.
    • SSH. Las auditorías se ejecutan en un host remoto conectado a través de SSH. No es necesario tener DevAudit instalado en el host remoto.
    • WinRM. Las auditorías se ejecutan en un host remoto Windows conectado a través de WinRM. No es necesario tener DevAudit instalado en el host remoto.
    • Docker. Las auditorías se ejecutan en un contenedor Docker en ejecución. No es necesario tener DevAudit instalado en la imagen del contenedor.
    • GitHub. Las auditorías se ejecutan directamente en el sistema de archivos del repositorio de un proyecto de GitHub. No es necesario clonar o descargar el proyecto localmente para realizar la auditoría.

    Opciones de auditoría

    Son diferentes opciones que se pueden habilitar para la auditoría. Puede especificar opciones que se apliquen al programa DevAudit, por ejemplo, para ejecutar en modo no interactivo, así como opciones que se apliquen al objetivo, por ejemplo, si establece la opción AppDevMode para auditar aplicaciones ASP.NET en true, ciertas reglas de auditoría no se habilitarán.

    Uso básico

    La CLI es la interfaz principal del programa DevAudit y es adecuada tanto para uso interactivo como no interactivo en tareas programadas, scripts de shell, pipelines de compilación CI y tareas posteriores a la compilación en IDEs de desarrolladores. La sintaxis básica de la CLI de DevAudit es:

    root@kitploit:~
    devaudit TARGET [ENVIRONMENT] | [OPTIONS]
    

    donde TARGET especifica el objetivo de auditoría, ENVIRONMENT especifica el entorno de auditoría y OPTIONS especifica las opciones para el objetivo y entorno de auditoría. Hay 2 formas de especificar opciones: las opciones del programa y las opciones generales de auditoría que se aplican a más de un objetivo se pueden especificar directamente en la línea de comandos como parámetros. Las opciones específicas del objetivo se pueden especificar con la opción -o utilizando el formato: -o OPCION1=VALOR1,OPCION2=VALOR2,.... con comas delimitando cada par clave-valor de opción.

    Si está redirigiendo la salida del programa a un archivo, debe usar siempre la opción -n --non-interactive para deshabilitar cualquier función interactiva de la interfaz de usuario y animaciones.

    Al especificar rutas de archivo, un prefijo @ antes de una ruta indica a DevAudit que esta ruta es relativa al directorio raíz del objetivo de auditoría. Por ejemplo, si especifica: -r c:\myproject -b @bin\Debug\app2.exe DevAudit considera la ruta al archivo binario como c:\myproject\bin\Debug\app2.exe.

    Objetivos de auditoría

    Fuentes de paquetes

    • msi Realiza una auditoría de paquetes de la fuente de paquetes MSI de Windows Installer en máquinas Windows.

    • npm Realiza una auditoría de paquetes del archivo package.json de NPM.

    • choco Realiza una auditoría de paquetes instalados por el gestor de paquetes Choco.

    • oneget Realiza una auditoría de paquetes de la fuente de paquetes OneGet del sistema en Windows.

    • nuget Realiza una auditoría de paquetes de una fuente de paquetes NuGet v2. Debe especificar la ubicación del archivo packages.config de NuGet que desea auditar usando la opción -f o --file; de lo contrario, se buscará este archivo en el directorio actual.

    • bower Realiza una auditoría de paquetes de una fuente de paquetes Bower. Debe especificar la ubicación del archivo packages.json de Bower que desea auditar usando la opción -f o --file; de lo contrario, se buscará este archivo en el directorio actual.- composer Realizar una auditoría de paquetes de una fuente de paquetes Composer. Debes especificar la ubicación del archivo composer.json de Composer que deseas auditar usando la opción -f o --file; de lo contrario, se buscará este archivo en el directorio actual.

    • dpkg Realizar una auditoría de paquetes de la fuente de paquetes dpkg del sistema en Debian Linux y derivados.

    • rpm Realizar una auditoría de paquetes de la fuente de paquetes RPM del sistema en RedHat Linux y derivados.

    • yum Realizar una auditoría de paquetes de la fuente de paquetes Yum del sistema en RedHat Linux y derivados.

    Para cada fuente de paquetes se pueden usar las siguientes opciones de auditoría generales:

    • -f --file Especifica la ubicación del archivo de configuración del gestor de paquetes si es necesario. Las fuentes de paquetes NuGet, Bower y Composer requieren esta opción.

    • --list-packages Solo lista los paquetes en la fuente de paquetes escaneados por DevAudit.

    • --list-artifacts Solo lista los artefactos encontrados en OSS Index para los paquetes escaneados por DevAudit.

    Las fuentes de paquetes etiquetadas como [Experimental] solo están disponibles en la rama master del código fuente y pueden tener soporte limitado del backend de OSS Index. Sin embargo, siempre puedes listar los paquetes escaneados y los artefactos disponibles en OSS Index usando las opciones list-packages y list-artifacts.

    Aplicaciones

    • aspnet Realizar una auditoría de aplicación en una aplicación ASP.NET. Las opciones relevantes son:

      • -r --root-directory Especifica el directorio raíz de la aplicación. Este es simplemente el directorio de nivel superior de la aplicación que contiene archivos como Global.asax y Web.config.
      • -b --application-binary Especifica el binario de la aplicación. Este es el ensamblado .NET que contiene el bytecode .NET de la aplicación. Este archivo suele ser un .DLL y se encuentra en la subcarpeta bin del directorio raíz de la aplicación ASP.NET.
      • --config-file o -o AppConfig=configuration-file Especifica el archivo de configuración de la aplicación ASP.NET. Este archivo suele llamarse Web.config y se encuentra en el directorio raíz de la aplicación. Puedes sobrescribir el valor predeterminado @Web.config con esta opción.
      • -o AppDevMode=enabled Especifica que el modo de desarrollo de la aplicación debe estar habilitado para la auditoría. Este modo se puede usar al auditar una aplicación que está en desarrollo. Ciertas reglas de configuración etiquetadas como deshabilitadas para AppDevMode (por ejemplo, ejecutar la aplicación en modo de depuración ASP.NET) no se habilitarán durante la auditoría.
    • netfx Realizar una auditoría de aplicación en una aplicación .NET. Las opciones relevantes son:

      • -r --root-directory Especifica el directorio raíz de la aplicación. Este es simplemente el directorio de nivel superior de la aplicación que contiene archivos como App.config.
      • -b --application-binary Especifica el binario de la aplicación. Este es el ensamblado .NET que contiene el bytecode .NET de la aplicación. Este archivo suele ser un .DLL y se encuentra en la subcarpeta bin del directorio raíz de la aplicación ASP.NET.
      • --config-file o -o AppConfig=configuration-file Especifica el archivo de configuración de la aplicación .NET. Este archivo suele llamarse App.config y se encuentra en el directorio raíz de la aplicación. Puedes sobrescribir el valor predeterminado @App.config con esta opción.
      • -o GendarmeRules=RuleLibrary Especifica que el analizador estático Gendarme debe habilitarse para la auditoría con reglas de la biblioteca de reglas especificada. Por ejemplo: devaudit netfx -r /home/allisterb/vbot-debian/vbot.core -b @bin/Debug/vbot.core.dll --skip-packages-audit -o GendarmeRules=Gendarme.Rules.Naming ejecutará el analizador estático Gendarme en el ensamblado vbot.core.dll usando reglas de la biblioteca Gendarme.Rules.Naming. La lista completa de bibliotecas de reglas es (tomada de la wiki de Gendarme):
      • Gendarme.Rules.BadPractice
      • Gendarme.Rules.Concurrency
      • Gendarme.Rules.Correctness
      • Gendarme.Rules.Design
      • Gendarme.Rules.Design.Generic
      • Gendarme.Rules.Design.Linq
      • Gendarme.Rules.Exceptions
      • Gendarme.Rules.Gendarme
      • Gendarme.Rules.Globalization
      • Gendarme.Rules.Interoperability
      • Gendarme.Rules.Interoperability.Com
      • Gendarme.Rules.Maintainability
      • Gendarme.Rules.NUnit
      • Gendarme.Rules.Naming
      • Gendarme.Rules.Performance
      • Gendarme.Rules.Portability
      • Gendarme.Rules.Security
      • Gendarme.Rules.Security.Cas
    • drupal7 Realizar una auditoría de aplicación en una aplicación Drupal 7.

      • -r --root-directory Especifica el directorio raíz de la aplicación. Este es simplemente el directorio de nivel superior de tu instalación de Drupal 7.
    • drupal8 Realizar una auditoría de aplicación en una aplicación Drupal 8.

      • -r --root-directory Especifica el directorio raíz de la aplicación. Este es simplemente el directorio de nivel superior de tu instalación de Drupal 8.

    Todas las aplicaciones también admiten las siguientes opciones comunes para auditar los módulos o plugins de la aplicación:

    • --list-packages Solo lista los plugins o módulos de la aplicación escaneados por DevAudit.

    • --list-artifacts Solo lista los artefactos encontrados en OSS Index para los plugins y módulos de la aplicación escaneados por DevAudit.

    • --skip-packages-audit Solo realiza una auditoría de configuración o análisis de código de la aplicación y omite la auditoría de paquetes.

    Servidores de Aplicaciones

    • sshd Realizar una auditoría de servidor de aplicaciones en un servidor compatible con OpenSSH sshd.

    • httpd Realizar una auditoría de servidor de aplicaciones en un servidor compatible con Apache httpd.

    • mysql Realizar una auditoría de servidor de aplicaciones en un servidor compatible con MySQL (como MariaDB u Oracle MySQL).

    • nginx Realizar una auditoría de servidor de aplicaciones en un servidor Nginx.

    • pgsql Realizar una auditoría de servidor de aplicaciones en un servidor PostgreSQL.

    Este es un ejemplo de línea de comandos para una auditoría de servidor de aplicaciones: ./devaudit httpd -i httpd-2.2 -r /usr/local/apache2/ --config-file @conf/httpd.conf -b @bin/httpd que audita un servidor Apache Httpd ejecutándose en un contenedor Docker llamado httpd-2.2.

    Las siguientes son opciones de auditoría comunes a todos los servidores de aplicaciones:

    • -r --root-directory Especifica el directorio raíz del servidor. Este es simplemente el nivel superior del sistema de archivos de tu servidor y por defecto es / a menos que desees una raíz de servidor diferente.
    • --config-file Especifica el archivo de configuración del servidor. Por ejemplo, en la auditoría anterior, el archivo de configuración de Apache se encuentra en /usr/local/apache2/conf/httpd.conf. Si no especificas el archivo de configuración, DevAudit intentará detectar automáticamente el archivo de configuración del servidor seleccionado.
    • -b --application-binary Especifica el binario del servidor. Por ejemplo, en la auditoría anterior, el binario de Apache se encuentra en /usr/local/apache2/bin/httpd. Si no especificas la ruta del binario, DevAudit intentará detectar automáticamente el binario del servidor para el servidor seleccionado.

    Los servidores de aplicaciones también admiten las siguientes opciones comunes para auditar los módulos o plugins del servidor:

    • --list-packages Solo lista los plugins o módulos de la aplicación escaneados por DevAudit.

    • --list-artifacts Solo lista los artefactos encontrados en OSS Index para los plugins y módulos de la aplicación escaneados por DevAudit.

    • --skip-packages-audit Solo realiza una auditoría de configuración del servidor y omite la auditoría de paquetes.

    Entornos

    Actualmente hay 5 entornos de auditoría compatibles: local, hosts remotos a través de SSH, hosts remotos a través de WinRM, contenedores Docker y GitHub. Los entornos locales se usan por defecto cuando no se especifican otras opciones de entorno.

    SSH

    El entorno SSH permite realizar auditorías en cualquier host remoto accesible a través de SSH sin necesidad de instalar DevAudit en el host remoto. Los entornos SSH son multiplataforma: puedes conectarte a un host remoto Linux desde una máquina Windows que ejecute DevAudit. Un entorno SSH se crea con las siguientes opciones: -s SERVER [--ssh-port PORT] -u USER [-k KEYFILE] [-p | --password-text PASSWORD]

    -s SERVER Especifica el host remoto o IP al que conectarse a través de SSH.

    -u USER Especifica el usuario con el que iniciar sesión en el servidor.

    --ssh-port PORT Especifica el puerto en el host remoto al que conectarse. El valor predeterminado es 22.

    -k KEYFILE Especifica el archivo de clave privada compatible con OpenSSH que se usará para conectarse al servidor remoto. Actualmente solo se admiten claves RSA o DSA en archivos en formato PEM.

    -p Proporciona un aviso con eco local deshabilitado para la entrada interactiva de la contraseña del servidor o la frase de contraseña del archivo de clave.

    --password-text PASSWORD Especifica la contraseña de usuario o la frase de contraseña del archivo de clave como texto plano en la línea de comandos. Ten en cuenta que en Linux, cuando tu contraseña contiene caracteres especiales, debes encerrar el texto en la línea de comandos usando comillas simples como 'MyPa<ss' para evitar que el shell interprete los caracteres especiales.

    WinRM

    El entorno WinRM permite realizar auditorías en cualquier host remoto Windows accesible a través de WinRM sin necesidad de instalar DevAudit en el host remoto. Los entornos WinRM actualmente solo están disponibles en máquinas Windows que ejecutan DevAudit. Un entorno WinRM se crea con las siguientes opciones: -w IP -u USER [-p | --password-text PASSWORD]

    -w IP Especifica la IP remota a la que conectarse a través de WinRM.

    -u USER Especifica el usuario con el que iniciar sesión en el servidor.

    -p Proporciona un aviso con eco local deshabilitado para la entrada interactiva de la contraseña del servidor o la frase de contraseña del archivo de clave.

    --password-text PASSWORD Especifica la contraseña del servidor o la frase de contraseña del archivo de clave como texto plano en la línea de comandos.

    Docker

    Esta sección explica cómo auditar imágenes Docker usando DevAudit instalado en la máquina local. Para ejecutar DevAudit como una aplicación Docker contenerizada, consulta la sección siguiente sobre Uso de Docker.

    Un entorno de auditoría Docker se especifica con la siguiente opción: -i CONTAINER_NAME | -i CONTAINER_ID

    Captura de pantalla de DevAudit auditando un contenedor Docker CONTAINER_(NAME|ID) Especifica el nombre o id de un contenedor Docker en ejecución al que conectarse. El contenedor ya debe estar en ejecución, ya que DevAudit no sabe cómo iniciar el contenedor con el nombre o el estado que requieras.

    GitHub

    El entorno de auditoría GitHub permite realizar auditorías directamente en un repositorio de proyectos de GitHub. Un entorno GitHub se crea con la opción -g: -g "Owner=OWNER,Name=NAME,Branch=BRANCH"

    OWNER Especifica el propietario del proyecto

    NAME Especifica el nombre del proyecto

    PATH Especifica la rama del proyecto a la que conectarse

    Puedes usar las opciones -r, --config-file y -f como de costumbre para especificar la ruta a los archivos y directorios del sistema de archivos necesarios para la auditoría. Por ejemplo, el siguiente comando: devaudit aspnet -g "Owner=Dnnsoftware,Name=Dnn.Platforn,Branch=Release/9.0.2" -r /Website --config-file @web.config realizará una auditoría ASP.NET en este repositorio https://github.com/dnnsoftware/Dnn.Platform/ usando la carpeta fuente /Website como directorio raíz y el archivo web.config como archivo de configuración ASP.NET. Ten en cuenta que los nombres de archivo distinguen entre mayúsculas y minúsculas en la mayoría de los entornos.

    Captura de pantalla de una auditoría de proyecto GitHub

    Opciones del Programa

    -n --non-interactive Ejecuta DevAudit en modo no interactivo con todas las funciones interactivas y animaciones de la CLI deshabilitadas. Este modo es necesario para ejecutar DevAudit en scripts de shell, por ejemplo; de lo contrario, se producirán errores cuando DevAudit intente usar funciones interactivas de la consola.

    -d --debug Ejecuta DevAudit en modo de depuración. Esto imprimirá una variedad de mensajes informativos y de diagnóstico. Este modo se utiliza para solucionar errores y fallos de DevAudit.

    Uso de Docker

    DevAudit también se distribuye como una aplicación Docker contenerizada, lo que permite a los usuarios en Linux ejecutar DevAudit sin necesidad de instalar Mono y compilar desde el código fuente. Para extraer la imagen Docker de DevAudit desde Docker Hub:

    docker pull ossindex/devaudit[:label]

    Las imágenes actuales tienen aproximadamente 131 MB comprimidas. Por defecto, se extrae la imagen etiquetada como latest, que es la versión más reciente del programa. También está disponible una imagen unstable que sigue la rama master del código fuente. Para ejecutar DevAudit como una aplicación contenerizada:

    root@kitploit:~
    docker run -i -t ossindex/devaudit TARGET [ENVIRONMENT] | [OPTIONS]
    

    Las opciones Docker -i y -t son necesarias para ejecutar DevAudit de forma interactiva. Si no especificas estas opciones, entonces debes ejecutar DevAudit en modo no interactivo usando la opción -n de DevAudit.

    Debes montar cualquier directorio en la máquina host Docker al que DevAudit necesite acceder en el contenedor Docker de DevAudit usando la opción -v de Docker. Si montas tu directorio raíz local en un punto de montaje llamado /hostroot en la imagen Docker, entonces DevAudit puede acceder a archivos y directorios en tu máquina local usando las mismas rutas locales. Por ejemplo:

    docker run -i -t -v /:/hostroot:ro ossindex/devaudit netfx -r /home/allisterb/vbot-debian/vbot.core

    permitirá que el contenedor Docker de DevAudit audite el directorio local /home/allisterb/vbot-debian/vbot.core. Debes montar tu raíz local de esta manera para auditar otros contenedores Docker desde el contenedor DevAudit, por ejemplo:

    docker run -i -t -v /:/hostroot:ro ossindex/devaudit mysql -i myapp1 -r / --config-file /etc/my.cnf --skip-packages-audit

    ejecutará una auditoría MySQL en un contenedor Docker llamado myapp1 desde el contenedor ossindex/devaudit.

    Si no necesitas montar todo tu directorio raíz, entonces puedes montar solo el directorio necesario para la auditoría. Por ejemplo:

    docker run -i -t -v /home/allisterb/vbot-debian/vbot.core:/vbot:ro ossindex/devaudit netfx -r /vbot -b @bin/Debug/vbot.core.dll

    montará en modo solo lectura el directorio /home/allisterb/vbot-debian/vbot.core como /vbot en el contenedor DevAudit, lo que permite a DevAudit acceder a él como el directorio raíz de auditoría para una auditoría de aplicación netfx en /vbot.

    Si deseas usar archivos de clave privada en el host Docker local para una auditoría a través de SSH, puedes montar tu directorio que contiene el archivo de clave necesario y luego indicarle a DevAudit que use esa ruta de archivo, por ejemplo:

    docker -i -t -v /home/allisterb/.ssh:/ssh:ro run ossindex/devaudit dpkg -s localhost -u allisterb -p -k /ssh/mykey.key

    montará el directorio que contiene los archivos de clave en /ssh y permitirá que el contenedor DevAudit los use.

    Ten en cuenta que actualmente no es posible que el contenedor Docker audite fuentes de paquetes del sistema operativo como dpkg o rpm, o servidores de aplicaciones como OpenSSH sshd en el host Docker local sin montar tu directorio raíz local en /hostroot como se describió anteriormente. DevAudit debe hacer chroot en tu directorio raíz local desde el contenedor Docker al ejecutar ejecutables como dpkg o binarios de servidor como sshd y httpd. También debes montar tu raíz local como se describió anteriormente para auditar otros contenedores Docker desde el contenedor DevAudit, ya que DevAudit también necesita hacer chroot en tu raíz local para ejecutar comandos Docker locales y comunicarse con tus otros contenedores.

    Para ejecutar auditorías a través de SSH desde el contenedor DevAudit, no es necesario montar la raíz local en /hostroot.

    Solución de Problemas

    Si encuentras un error u otro problema con DevAudit, hay un par de cosas que puedes habilitar para ayudarnos a resolverlo:

    • Usa la opción -d para habilitar la salida de depuración. Se emitirá información de diagnóstico durante la ejecución de la auditoría.
    • En Linux, usa la variable DEVAUDIT_TRACE para habilitar el seguimiento de la ejecución del programa. El valor de esta variable debe tener el formato para seguimiento de Mono, por ejemplo, puedes establecer DEVAUDIT_TRACE=N:DevAudit.AuditLibrary para rastrear todas las llamadas realizadas a la biblioteca de auditoría durante una auditoría.

    Problemas Conocidos

    • En Windows debes usar la opción de programa -n --non-interactive al canalizar o redirigir la salida del programa a un archivo; de lo contrario, se producirá un bloqueo. Este comportamiento puede cambiarse en el futuro para que el modo no interactivo sea el predeterminado.
    • Parece haber un problema al usar la aplicación de consola de Windows ConEmu y las compilaciones Cygwin del cliente OpenSSH al conectarse por SSH a hosts Linux remotos para ejecutar aplicaciones Mono. Si ejecutas DevAudit de esta manera, es posible que notes secuencias extrañas que aparecen a veces al final de la salida de la consola. También puedes tener problemas durante la entrada interactiva del teclado, como al ingresar contraseñas para auditorías SSH donde parece que se envía la contraseña incorrecta. Si tienes problemas para ingresar contraseñas para auditorías SSH usando ConEmu cuando trabajas de forma remota, intenta mantener presionada la tecla de retroceso durante uno o dos segundos para limpiar el búfer de entrada antes de ingresar tu contraseña.
    Descargar herramienta
  • Gendarme.Rules.Serialization
  • Gendarme.Rules.Smells
  • Gendarme.Rules.Ui