
Alcuni strumenti di pentest. Installa e mantieni aggiornati alcuni strumenti di penetration testing. Ho usato questo per superare il mio esame OSCP.
Gestisci tutti i tuoi strumenti pentest in un unico posto e mantienili aggiornati con un solo comando 😎
L'obiettivo di sometools è gestire tutti gli strumenti che non sono inclusi in Kali o per cui sudo apt install non è disponibile. Sometools funziona meglio se gli strumenti sono un repo ma può essere adattato per funzionare senza.
Cercavo un modo per gestire e mantenere aggiornati alcuni strumenti non inclusi in Kali-Linux. Ad esempio, cercavo un modo semplice per gestire gli script di privilege escalation. Un giorno ho visto sec-tools di eugenekolo (che puoi vedere in fondo alla pagina) e mi ha dato la motivazione per iniziare subito a lavorare sul mio. La mia principale motivazione era il comando check-update-all, che permette di aggiornare senza problemi tutti gli strumenti installati.
Ma tieni presente che è diverso. L'ho creato per persone che lavorano con Kali. Dovrebbe funzionare su altre distribuzioni, ma non ho incluso strumenti come Burp Suite o SQLmap perché sono già presenti in Kali di default.
$ git clone https://github.com/som3canadian/Some-Tools $ cd Some-Tools $ ./sometools.sh setup
$ ./sometools.sh list
## Utilizzo di base

**Nota**: Non è necessario specificare i nomi delle categorie quando si utilizza uno strumento. Basta usare il nome o l'ID dello strumento. Puoi vedere l'ID dello strumento eseguendo `./sometools.sh list`
Le azioni più utilizzate sono:
- 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
La directory bin verrà creata durante l'azione di setup. Questo sarà il percorso che aggiungeremo al nostro $PATH della shell (your/install/dir/Some-Tools/bin). Nella directory bin inseriremo copie (symlink) degli strumenti che vogliamo eseguibili ovunque sulla nostra macchina. Ad esempio, per uno strumento come unicorn.py, potresti voler eseguire unicorn da qualsiasi posizione.
L'azione di setup creerà anche bin/PrivEsc-Lin e bin/PrivEsc-Win nel processo. In questa directory conserveremo i nostri script di escalation dei privilegi. Quindi, quando vorrai usare i tuoi strumenti, potrai avviare un server HTTP Python e caricare rapidamente gli script desiderati. Gli script in quelle cartelle verranno aggiornati contemporaneamente all'aggiornamento degli strumenti con l'azione check-update.
Note:
setup (Processo di setup):
.bashrc o .zshrc (l'azione di setup integrata non funzionerà se non stai usando una di queste due shell)echo $PATHsometools.sh per capire meglio. ```bash
$ ./sometools.sh setupinstall e install-all:
./sometools.sh list..installed nella directory dello strumento. Questo file ci aiuterà con l'azione list-installed. ```bash
$ ./sometools.sh list # see which tool can be install

self-update:
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 e .gitignore.add-tool creerà per te.Le funzioni Zsh non contengono strumenti pentest, contengono piccoli script che aiutano molto il mio flusso di lavoro e ho pensato che potessero essere utili anche ad altri.
Forse potrebbe essere usato con altre shell, ma io lo uso con zsh.
Questo non verrà impostato durante il processo di installazione. Devi impostarlo manualmente. Come ? Aggiungendo il frammento qui sotto al tuo file .zshrc.```bash
fpath=(~/path/of/sometools/Zsh-Functions $fpath); autoload -U $fpath[1]/*(.:t)
- mkcd: mkdir e cd
- mv: sposta un file/cartella nella directory corrente (con un argomento)
- op: apri file o cartella nel file manager (`op .` per aprire la directory corrente)
## Altri
- Quando si utilizza il numero ID invece del nome dello strumento, assicurati di usare il numero ID da `./sometools.sh list` e non da `./sometools.sh list-installed`
- Se aggiungi un nuovo strumento che necessita di istruzioni di aggiornamento specifiche, puoi creare il file `update-tool.sh` nella directory dello strumento (come i file install-tool.sh e uninstall-tool.sh). Quando eseguirai check-update, lo script some-tools.sh lo prenderà in considerazione.
- Non **puoi** usare lo stesso nome per due strumenti. Causerà problemi. Quando usi l'azione add-tool, controlleremo per questo. Una soluzione sarebbe specificare il nome della categoria quando si usa un'azione, ma **non lo voglio assolutamente**. Poiché usare un nome diverso è facile, al momento non ho intenzione di sviluppare una soluzione che ci permetta di usare lo stesso nome per più strumenti.
- Alcuni degli strumenti che installerai potrebbero chiederti i permessi `sudo` !
- Il file `check-git.sh` incluso nel repository è per le azioni check-update e check-update-all.
- Sto sviluppando questo nel mio tempo libero, potrebbero esserci alcuni bug. Se le stelle inizieranno a crescere, potrei dedicare più tempo e impegno.
## Licenza
I singoli strumenti sono tutti concessi in licenza secondo le proprie licenze. Per quanto riguarda Some-Tools, è concesso in licenza sotto GNU General Public License v3.0.
⭐ Se lo trovi utile, metti una stella in cima a questa pagina ⭐ oppure puoi offrirmi un ☕. Grazie 🔥😎
<a href="https://www.buymeacoffee.com/somecanadian" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/3722/eecc7380590efb5bd32637f86ef07884b0e9f1f82f7dbf8b2bc7e8410d721225.png" alt="Buy Me A Coffee" height="51" width="217"></a>
## Riconoscimenti
- Costruito partendo dall'idea di <https://github.com/eugenekolo/sec-tools> e <https://github.com/zardus/ctf-tools>.
- Vagrant box di: [nicmilot](https://app.vagrantup.com/nicmilot/boxes/kali-full-2020). Puoi vedere le sue altre vagrant box come: [pwk-kali-2018](https://app.vagrantup.com/nicmilot/boxes/pwk-kali-2018) per VMware Fusion e [Metapsloitable3](https://app.vagrantup.com/nicmilot/boxes/metasploitable3-win2008-vmware) anche per VMware Fusion.
| Category | Tool | Description |
|---|
| Evasione | Bashfuscator | Un framework di offuscamento Bash completamente configurabile ed estendibile. |
| Evasione | Chimera | Chimera è uno script di offuscamento PowerShell progettato per bypassare AMSI e soluzioni antivirus commerciali. |
| Evasione | PyFuscation | Offusca script PowerShell sostituendo nomi di funzioni, variabili e parametri. |
| Evasione | tvasion | 🎭 Evasione antivirus basata sul cambiamento della firma del file tramite crittografia AES con PowerShell e C#... |
| Evasione | unicorn | Unicorn è un semplice strumento per utilizzare un attacco di downgrade di PowerShell e iniettare shellcode direttamente in memoria... |
| Exploit-Win | windows-kernel-exploits | windows-kernel-exploits Windows平台提权漏洞集合 |
| PrivEsc-Lin | BeRoot | Progetto di escalation dei privilegi - Windows / Linux / Mac |
| PrivEsc-Lin | LinEnum | Enumerazione locale Linux scriptata e controlli di escalation dei privilegi |
| PrivEsc-Lin | LinPwn | Strumento interativo di post-sfruttamento |
| PrivEsc-Lin | PEAS | PEASS - Suite di script fantastici per l'escalation dei privilegi |
| PrivEsc-Lin | SUID3NUM | Uno script Python standalone che utilizza i moduli built-in di Python per enumerare i binari SUID... |
| PrivEsc-Lin | SetUID | La mia guida personale per ottenere privesc |
| PrivEsc-Lin | linux-enum-mod | Solo una raccolta di cose per pentest |
| PrivEsc-Lin | linux-exploit-suggester | Strumento di auditing per l'escalation dei privilegi Linux |
| PrivEsc-Lin | linux-exploit-suggester-2 | Suggeritore di exploit per kernel Linux di nuova generazione |
| PrivEsc-Lin | linuxprivchecker | Uno script di controllo per l'escalation dei privilegi Linux |
| PrivEsc-Lin | lse | Strumento di enumerazione Linux per pentesting e CTF con livelli di dettaglio |
| PrivEsc-Lin | pspy | Monitora i processi Linux senza permessi di root |
| PrivEsc-Lin | setuid-wrapper | Un semplice programma wrapper setuid, pensato per lanciare script shell con privilegi elevati. |
| PrivEsc-Lin | unix-privesc-check | Esportato automaticamente da code.google.com/p/unix-privesc-check |
| PrivEsc-Win | Ghostpack-CompiledBinaries | Binari compilati per Ghostpack (.NET v4.0) |
| PrivEsc-Win | JAWS | JAWS - Just Another Windows (Enum) Script |
| PrivEsc-Win | Powerless | Script di escalation dei privilegi (enumerazione) per Windows, progettato pensando ai laboratori OSCP (Windows legacy) |
| PrivEsc-Win | Privesc | Script batch Windows che trova problemi di configurazione errata che possono portare all'escalation dei privilegi. |
| PrivEsc-Win | SessionGopher | SessionGopher è uno strumento PowerShell che utilizza WMI per estrarre informazioni sulle sessioni salvate per l'accesso remoto... |
| PrivEsc-Win | Sherlock | Script PowerShell per trovare rapidamente patch software mancanti per vulnerabilità di escalation dei privilegi locale. |
| PrivEsc-Win | WinPwn | Automazione per test di penetrazione Windows interni / sicurezza AD |
| PrivEsc-Win | Windows-Privilege-Escalation | Tecniche e script per l'escalation dei privilegi Windows |
| PrivEsc-Win | Windows-Exploit-Suggester | Questo strumento confronta i livelli di patch di un target con il database delle vulnerabilità Microsoft... |
| PrivEsc-Win | mimikatz | Un piccolo strumento per giocare con la sicurezza di Windows |
| PrivEsc-Win | wesng | Windows Exploit Suggester - Nuova generazione |
| PrivEsc-Win | windows-privesc-check | Eseguibile autonomo per verificare vettori semplici di escalation dei privilegi su sistemi Windows |
| Utility | GraphQLmap | GraphQLmap è un motore di scripting per interagire con un endpoint GraphQL a scopo di pentesting. |
| Utility | PoC-in-GitHub | 📡 Raccolta automatica di PoC da GitHub. ⚠️ Attenzione al malware. |
| Utility | SirepRAT | Esecuzione di comandi remoti come SYSTEM su Windows IoT Core (versioni disponibili per Python2.7 <> Python3) |
| Utility | Windows-Tools | Alcuni strumenti Windows. |
| Utility | chisel | Un tunnel TCP/UDP veloce su HTTP |
| Utility | crackhash | Crackhash è uno strumento che tenta di decifrare diversi tipi di hash utilizzando servizi online gratuiti. |
| Utility | cryptz | 🔒 [ Crittografia / Decifratura multipla ] 🔓 |
| Utility | decodify | Rileva e decodifica stringhe codificate, ricorsivamente. |
| Utility | enum4linux-ng | Una versione di nuova generazione di enum4linux (uno strumento di enumerazione Windows/Samba) con funzionalità aggiuntive... |
| Utility | evil-winrm | La shell WinRM definitiva per hacking/pentesting |
| Utility | haiti | 🔑 Identificatore di tipo di hash (CLI <> lib) |
| Utility | impacket | Impacket è una raccolta di classi Python per lavorare con protocolli di rete. |
| Utility | nishang | Nishang - PowerShell offensivo per red team, penetration testing e sicurezza offensiva. |
| Utility | nmapAutomator | Uno script che puoi eseguire in background! |
| Utility | pypykatz | Implementazione di Mimikatz in puro Python |
| Utility | revshellgen | Generatore di reverse shell scritto in Python 3. |
| Utility | snmp | Script per la raccolta di dati SNMP |
| Web | byp4xx | Pyhton script for HTTP 40X responses bypassing... |
| Web | fuxploider | Scanner di vulnerabilità di upload di file e strumento di sfruttamento. |
| Web | LFISuite | Sfruttatore LFI totalmente automatico (+ Reverse Shell) e scanner. |
| Web | MyJWT | Un CLI per decifrare e testare vulnerabilità sui Json Web Token (JWT) |
| Web | php-reverse-shell | Script di reverse shell in PHP. Funziona su Linux, macOS e Windows. |
| Web | windows-php-reverse-shell | Semplice reverse shell PHP implementata utilizzando binario. |
| Web | wwwolf-php-webshell | Web shell PHP di WhiteWinterWolf |
| Web | malicious-wordpress-plugin | Genera semplicemente un plugin WordPress che ti darà una reverse shell una volta caricato. |
| Web | whitepass | Whitepass: bypassa implementazioni di whitelist/ratelimit in applicazioni web/API |
| Web | wordpress-exploit-framework | Un framework Ruby progettato per aiutare nel penetration testing di sistemi WordPress. |
$ ./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 e check-update-all:
.git), puoi creare un file update-tool.sh con le tue istruzioni speciali (il file deve chiamarsi 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
Perché due check-git? check-git.sh dice solo se lo strumento è indietro o meno. Se rileviamo una versione più recente, chiederemo di eseguire check-git-action.sh.
git-search
sortSearch se lo desideri)$ ./sometools.sh git-search LinEnum 15
lsePrivEsc-Lin.gitignoreinstall-tool.sh per adattarlo alle tue esigenze. Se lo fai, l'azione check-update non funzionerà "out of the box" (perché non troveremo alcuna directory .git). Soluzione: puoi creare un file chiamato update-tool.sh (nella directory dello strumento) e inserire i comandi di aggiornamento. Lo script some-tools.sh rileverà questo nome file quando usa l'azione check-update. Non dimenticare di chmod +x il tuo nuovo file..gitignore conterrà il nome del tuo strumento e .installed. Perché? Perché non vogliamo pushare un repository git all'interno di un altro repository e non vogliamo pushare il file .installed. ```bash
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin$ ./sometools.sh add-tool LinEnum PrivEsc-Lin
install-tool e update-tool con API Github
A volte gli strumenti devono essere scaricati tramite la pagina releases/latest, come pspy di DominicBreuker. Quindi, per poter aggiornare e scaricare sempre l'ultima versione, il processo ha avuto bisogno di un piccolo aggiustamento con l'API Github. Se aggiungi un nuovo strumento utilizzando questo pattern, puoi usare la funzione qui sotto nei tuoi file install-tool.sh e 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 tenterà di rilevare il binario bat. Se lo trova, ti chiederà tra bat o cat.cat verrà usato per impostazione predefinita senza chiedere se non viene rilevato bat. ```bash
$ ./sometools.sh info LinEnum$ ./sometools.sh info 7
complete-uninstall:
.zshrc o .bashrc..zshrc o .bashrc. Quindi, se hai apportato modifiche lungo il percorso, verranno mantenute..zshrc o .bashrc. Uno che termina con .backup che abbiamo creato durante la configurazione iniziale e il secondo, .backup2, prima di eliminare la sezione sometools nel processo di disinstallazione completa. ```bash
$ ./sometools.sh complete-uninstall