
Algunas herramientas de pentest. Instala y mantén actualizadas algunas herramientas de pentesting. Usé esto para aprobar mi examen OSCP.
Gestiona todas tus herramientas de pentest en un solo lugar y mantenlas actualizadas con un solo comando 😎
El objetivo de sometools es poder gestionar todas tus herramientas que no están incluidas en Kali o para las que sudo apt install no está disponible. Sometools funciona mejor si las herramientas son un repositorio, pero se puede ajustar para funcionar sin él.
Estaba buscando una forma de gestionar y mantener actualizadas algunas herramientas que no están incluidas en Kali-Linux. Por ejemplo, buscaba una forma sencilla de gestionar scripts de escalada de privilegios. Un día vi sec-tools de eugenekolo (que puedes ver al final de la página) y me dio la motivación para empezar a trabajar en el mío de inmediato. Mi motivación principal fue el comando check-update-all, que te permite actualizar todas tus herramientas instaladas sin problemas.
Pero ten en cuenta que es diferente. Lo construí para personas que trabajan con Kali. Debería funcionar en otras distribuciones, pero no incluí herramientas como Burp Suite o SQLmap porque vienen por defecto en Kali.
$ git clone https://github.com/som3canadian/Some-Tools $ cd Some-Tools $ ./sometools.sh setup
$ ./sometools.sh list
## Uso básico

**Nota**: No es necesario especificar los nombres de las categorías al usar una herramienta. Simplemente usa el nombre o ID de la herramienta. Puedes ver el ID de la herramienta ejecutando `./sometools.sh list`
Las acciones más utilizadas son:
- list
- install
- check-update-all
- git-search
- self-update```bash
# Inital setup. Should be the first command
$ ./sometools.sh setup
# List all available tools
$ ./sometools.sh list
# List all available tools of a category
$ ./sometools.sh list-cat Utilities
# List install tool(s)
$ ./sometools.sh list-installed
# List installed tools accessible from anywhere on your machine
$ ./sometool.sh list-bin
# Install a tool
$ ./sometools.sh install unicorn
# Using ID instead of tool name
$ ./sometools.sh install 4
# Install all tools of a Category
$ ./sometools.sh install-cat PrivEsc-Win
# Install All tools
$ ./sometools.sh install all
# Check update for all installed tools
# check-update-all command is the main reason why I made this
$ ./sometools.sh check-update-all
# Check for update
$ ./sometools.sh check-update PEAS
# Using ID instead of tool name
$ ./sometools.sh check-update 9
# Search for a tool on github
$ ./sometools.sh git-search LinEnum
# Search for a PoC in the PoC-in-GitHub tool
$ ./sometools.sh search-poc
# Show README.md of an installed tool
$ ./sometools.sh info unicorn
# Using ID instead of tool name
$ ./sometools.sh info 4
# Add a new tool
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin
# Uninstall a tool
$ ./sometools.sh uninstall unicorn
# Using ID instead of tool name
$ ./sometools.sh uninstall 4
# Unistall all tools of a Category
$ ./sometools.sh uninstall-cat PrivEsc-Win
# Update some-tools
$ ./sometools.sh self-update
# Delete all installed tools, remove bin directory and delete our modification in .zshrc or .bashrc
$ ./sometools.sh complete-uninstall
El directorio bin se creará al realizar la acción de configuración. Esta será la ruta del directorio que agregaremos a nuestro shell $PATH (your/install/dir/Some-Tools/bin). En el directorio bin pondremos copias (enlaces simbólicos) de las herramientas que queramos que sean ejecutables en cualquier lugar de nuestra máquina. Por ejemplo, una herramienta como unicorn.py, puede que quieras ejecutar unicorn desde cualquier lugar.
La acción de configuración también creará bin/PrivEsc-Lin y bin/PrivEsc-Win en el proceso. En este directorio guardaremos nuestros scripts de escalada de privilegios. Así que, cuando quieras usar tus herramientas, puedes iniciar un servidor HTTP de Python y cargar rápidamente los scripts que desees. Los scripts en esas carpetas se actualizarán al mismo tiempo que actualices la(s) herramienta(s) con la acción check-update.
| Categoría | Herramienta | Descripción |
|---|---|---|
| Evasión | Bashfuscator | Un framework de ofuscación Bash completamente configurable y extensible. |
| Evasión | Chimera | Chimera es un script de ofuscación de PowerShell diseñado para evadir AMSI y soluciones antivirus comerciales. |
| Evasión | PyFuscation | Ofusca scripts de PowerShell reemplazando nombres de funciones, variables y parámetros. |
| Evasión | tvasion | 🎭 Evasión antivirus basada en cambio de firma de archivo mediante cifrado AES con PowerShell y C#... |
| Evasión | unicorn | Unicorn es una herramienta simple para usar un ataque de degradación de PowerShell e inyectar shellcode directamente en la memoria... |
| Explotación-Win | windows-kernel-exploits | windows-kernel-exploits Windows平台提权漏洞集合 |
| Escalada de Privilegios-Lin | BeRoot | Proyecto de escalada de privilegios - Windows / Linux / Mac |
| Escalada de Privilegios-Lin | LinEnum | Enumeración local de Linux scripteada <> Chequeos de escalada de privilegios |
| Escalada de Privilegios-Lin | LinPwn | Herramienta interactiva de post-explotación |
| Escalada de Privilegios-Lin | PEAS |
Nota:
setup (Proceso de Configuración):
.bashrc o .zshrc (la acción de configuración incorporada no funcionará si no estás usando uno de los dos shells).echo $PATHsometools.sh para tener una mejor comprensión. ```bash
$ ./sometools.sh setupinstall y install-all:
./sometools.sh list..installed en el directorio de la herramienta. Este archivo nos ayudará con nuestra acción list-installed. ```bash
$ ./sometools.sh list # see which tool can be install$ ./sometools.sh install LinEnum
$ ./sometools.sh install 7
$ ./sometools.sh install-all
install-cat and uninstall-cat:
$ ./sometools.sh install-cat PrivEsc-Win
$ ./sometools.sh uninstall-cat PrivEsc-Win
check-update y check-update-all:
.git), puedes crear un archivo update-tool.sh con tus instrucciones especiales (el archivo debe llamarse update-tool.sh)../sometools.sh list. ```bash
$ ./sometools.sh list-installed # list currently installed tool(s)
$ ./sometools.sh check-update LinEnum$ ./sometools.sh check-update 7
$ ./sometools.sh check-update-all
¿Por qué dos check-git? check-git.sh solo indica si la herramienta está desactualizada o no. Si detectamos una versión más reciente, te pediremos que ejecutes check-git-action.sh.
git-search
sortSearch si lo deseas)$ ./sometools.sh git-search LinEnum 15


auto-actualización:
pull. ```bash
$ ./sometools.sh self-updateuninstall:
./sometools.sh list. ```bash
$ ./sometools.sh uninstall unicorn$ ./sometools.sh uninstall 4
add-tool:
install-tool.sh, uninstall-tool.sh y .gitignore.add-tool creará por ti.lse en el directorio PrivEsc-Lin. Puede que tengas que cambiar el archivo .gitignore en el directorio de tu herramienta.install-tool.sh para que se ajuste a tus necesidades. Si lo haces, la acción check-update no funcionará "de serie" (porque no encontraremos ningún directorio .git). Solución: puedes crear un archivo llamado update-tool.sh (en el directorio de la herramienta) y poner tus comandos de actualización en él. El script some-tools.sh detectará este nombre de archivo al usar la acción check-update. No olvides hacer chmod +x a tu nuevo archivo..gitignore contendrá el nombre de tu herramienta y .installed. ¿Por qué? Porque no queremos enviar un repositorio git a otro repositorio y no queremos enviar el archivo .installed. ```bash
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin$ ./sometools.sh add-tool LinEnum PrivEsc-Lin
install-tool y update-tool con la API de GitHub
A veces es necesario descargar herramientas desde la página de releases/latest, como pspy de DominicBreuker. Por lo tanto, para poder actualizar y descargar siempre la última versión, el proceso necesitó un pequeño giro con la API de GitHub. Si agregas una nueva herramienta usando este patrón, puedes usar la función a continuación en tus archivos install-tool.sh y update-tool.sh. ```bash #!/bin/bash
function gitGetLatestRelease() { gitCounter=0 repoToGet="DominicBreuker/pspy" apiURL="https://api.github.com/repos" while [[ $checkDownloadURL != null ]]; do checkDownloadURL=$(http "$apiURL/$repoToGet/releases/latest" | jq -r ".assets[$gitCounter].browser_download_url") if [[ $checkDownloadURL == null ]]; then break fi # download the release wget "$checkDownloadURL" gitCounter=$((gitCounter + 1)) done } gitGetLatestRelease
info:
./sometools.sh list.info, some-tools intentará detectar el binario bat. Si lo detecta, te preguntará entre bat o cat.cat se usará por defecto sin preguntar si no se detecta bat. ```bash
$ ./sometools.sh info LinEnum$ ./sometools.sh info 7
complete-uninstall:
.zshrc o .bashrc..zshrc o .bashrc. Si realizaste algunas modificaciones en el camino, se conservarán..zshrc o .bashrc. Uno termina en .backup que creamos en la configuración inicial y el segundo, .backup2, antes de eliminar la sección "sometools" en el proceso de desinstalación completa. ```bash
$ ./sometools.sh complete-uninstallLas funciones de Zsh no contienen herramientas de pentest, contienen pequeños scripts que ayudan mucho a mi flujo de trabajo y pensé que podrían ser útiles para otros también.
Quizás se pueda usar con otras shells, pero yo lo uso con zsh.
Esto no se configurará durante el proceso de instalación. Debes hacerlo manualmente. ¿Cómo ? Agregando el fragmento a continuación a tu archivo .zshrc.```bash
fpath=(~/path/of/sometools/Zsh-Functions $fpath); autoload -U $fpath[1]/*(.:t)
- mkcd: mkdir y cd
- mv: mover un archivo/carpeta a tu directorio actual (con un argumento)
- op: abrir archivo o carpeta en el gestor de archivos (`op .` para abrir el directorio actual)
## Otros
- Al usar el número de ID en lugar del nombre de la herramienta, asegúrate de usar el número de ID de `./sometools.sh list` y no de `./sometools.sh list-installed`
- Si agregas una nueva herramienta que necesita instrucciones de actualización específicas, puedes crear el archivo `update-tool.sh` en el directorio de la herramienta (como los archivos install-tool.sh y uninstall-tool.sh). Cuando ejecutes check-update, el script some-tools.sh lo tendrá en cuenta.
- **No puedes** usar el mismo nombre para dos herramientas. Causará problemas. Al usar la acción add-tool, lo comprobaremos. Una solución sería especificar el nombre de la categoría al usar una acción, pero **realmente no quiero eso**. Como usar un nombre diferente es fácil, no tengo intención por el momento de desarrollar una solución que nos permita usar el mismo nombre para múltiples herramientas.
- ¡Algunas de las herramientas que instalarás pueden solicitarte permisos de `sudo`!
- El archivo `check-git.sh` incluido en el repositorio es para las acciones check-update y check-update-all.
- Estoy construyendo esto en mi tiempo libre, puede tener algunos errores. Si las estrellas comienzan a crecer, puedo dedicarle más tiempo y esfuerzo.
## Licencia
Las herramientas individuales tienen todas sus propias licencias. En cuanto a Some-Tools, está licenciado bajo la Licencia Pública General de GNU v3.0.
⭐ Si te resulta útil, dale estrella en la parte superior de esta página ⭐ o puedes invitarme un ☕. ¡Gracias! 🔥😎
<a href="https://www.buymeacoffee.com/somecanadian" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/3722/eecc7380590efb5bd32637f86ef07884b0e9f1f82f7dbf8b2bc7e8410d721225.png" alt="Cómprame un café" height="51" width="217"></a>
## Agradecimientos
- Construido a partir de la idea de <https://github.com/eugenekolo/sec-tools> y <https://github.com/zardus/ctf-tools>.
- Caja de Vagrant por: [nicmilot](https://app.vagrantup.com/nicmilot/boxes/kali-full-2020). Puedes ver sus otras cajas de Vagrant como: [pwk-kali-2018](https://app.vagrantup.com/nicmilot/boxes/pwk-kali-2018) para VMware Fusion y [Metasploitable3](https://app.vagrantup.com/nicmilot/boxes/metasploitable3-win2008-vmware) también para VMware Fusion.
| PEASS - Suite de scripts impresionantes de escalada de privilegios |
| Escalada de Privilegios-Lin | SUID3NUM | Un script de Python independiente que utiliza los módulos incorporados de Python para enumerar binarios SUID... |
| Escalada de Privilegios-Lin | SetUID | Mi guía personal para obtener escalada de privilegios |
| Escalada de Privilegios-Lin | linux-enum-mod | Solo una colección de cosas de pentest |
| Escalada de Privilegios-Lin | linux-exploit-suggester | Herramienta de auditoría de escalada de privilegios de Linux |
| Escalada de Privilegios-Lin | linux-exploit-suggester-2 | Sugeridor de exploits de kernel de Linux de próxima generación |
| Escalada de Privilegios-Lin | linuxprivchecker | Un script de verificación de escalada de privilegios de Linux |
| Escalada de Privilegios-Lin | lse | Herramienta de enumeración de Linux para pentesting y CTFs con niveles de verbosidad |
| Escalada de Privilegios-Lin | pspy | Monitoriza procesos de Linux sin permisos de root |
| Escalada de Privilegios-Lin | setuid-wrapper | Un programa wrapper setuid simple, destinado a lanzar scripts de shell con privilegios elevados. |
| Escalada de Privilegios-Lin | unix-privesc-check | Exportado automáticamente desde code.google.com/p/unix-privesc-check |
| Escalada de Privilegios-Win | Ghostpack-CompiledBinaries | Binarios compilados para Ghostpack (.NET v4.0) |
| Escalada de Privilegios-Win | JAWS | JAWS - Solo otro script de enumeración de Windows |
| Escalada de Privilegios-Win | Powerless | Script de escalada de privilegios (enumeración) de Windows diseñado teniendo en cuenta los laboratorios OSCP (Windows heredado) |
| Escalada de Privilegios-Win | Privesc | Script por lotes de Windows que encuentra problemas de mala configuración que pueden llevar a escalada de privilegios. |
| Escalada de Privilegios-Win | SessionGopher | SessionGopher es una herramienta de PowerShell que utiliza WMI para extraer información de sesiones guardadas para acceso remoto... |
| Escalada de Privilegios-Win | Sherlock | Script de PowerShell para encontrar rápidamente parches de software faltantes para vulnerabilidades de escalada de privilegios locales. |
| Escalada de Privilegios-Win | WinPwn | Automatización para pruebas de penetración internas de Windows / Seguridad de AD |
| Escalada de Privilegios-Win | Windows-Privilege-Escalation | Técnicas y scripts de escalada de privilegios de Windows |
| Escalada de Privilegios-Win | Windows-Exploit-Suggester | Esta herramienta compara los niveles de parches de un objetivo contra la base de datos de vulnerabilidades de Microsoft... |
| Escalada de Privilegios-Win | mimikatz | Una pequeña herramienta para jugar con la seguridad de Windows |
| Escalada de Privilegios-Win | wesng | Sugeridor de exploits de Windows - Próxima generación |
| Escalada de Privilegios-Win | windows-privesc-check | Ejecutable independiente para verificar vectores simples de escalada de privilegios en sistemas Windows |
| Utilidades | GraphQLmap | GraphQLmap es un motor de scripting para interactuar con un endpoint GraphQL con fines de pentesting. |
| Utilidades | PoC-in-GitHub | 📡 Recolección automática de PoC desde GitHub. ⚠️ Cuidado con malware. |
| Utilidades | SirepRAT | Ejecución remota de comandos como SYSTEM en Windows IoT Core (lanzamientos disponibles para Python2.7 <> Python3) |
| Utilidades | Windows-Tools | Algunas herramientas de Windows. |
| Utilidades | chisel | Un túnel TCP/UDP rápido sobre HTTP |
| Utilidades | crackhash | Crackhash es una herramienta que intenta romper diferentes tipos de hashes usando servicios en línea gratuitos. |
| Utilidades | cryptz | 🔒 [ Cifrado / Descifrado múltiple ] 🔓 |
| Utilidades | decodify | Detecta y decodifica cadenas codificadas, recursivamente. |
| Utilidades | enum4linux-ng | Una versión de próxima generación de enum4linux (una herramienta de enumeración de Windows/Samba) con características adicionales... |
| Utilidades | evil-winrm | El shell WinRM definitivo para hacking/pentesting |
| Utilidades | haiti | 🔑 Identificador de tipo de hash (CLI <> lib) |
| Utilidades | impacket | Impacket es una colección de clases de Python para trabajar con protocolos de red. |
| Utilidades | nishang | Nishang - PowerShell ofensivo para equipo rojo, pruebas de penetración y seguridad ofensiva. |
| Utilidades | nmapAutomator | ¡Un script que puedes ejecutar en segundo plano! |
| Utilidades | pypykatz | Implementación de Mimikatz en Python puro |
| Utilidades | revshellgen | Generador de reverse shell escrito en Python 3. |
| Utilidades | snmp | Scripts de recopilación de datos SNMP |
| Web | byp4xx | Script de Python para bypassear respuestas HTTP 40X... |
| Web | fuxploider | Escáner de vulnerabilidades de carga de archivos y herramienta de explotación. |
| Web | LFISuite | Explotador LFI totalmente automático (+ Reverse Shell) y escáner. |
| Web | MyJWT | Una CLI para crackear y probar vulnerabilidades en Json Web Token (JWT) |
| Web | php-reverse-shell | Script de reverse shell en PHP. Funciona en Linux, macOS y Windows. |
| Web | windows-php-reverse-shell | Simple reverse shell en PHP implementado usando binario. |
| Web | wwwolf-php-webshell | Web shell PHP de WhiteWinterWolf |
| Web | malicious-wordpress-plugin | Simplemente genera un plugin de WordPress que te otorgará una reverse shell una vez subido. |
| Web | whitepass | Whitepass Bypass de listas blancas/límites de tasa en aplicaciones web/APIs |
| Web | wordpress-exploit-framework | Un framework de Ruby diseñado para ayudar en las pruebas de penetración de sistemas WordPress. |