
Einige Pentest-Tools. Installieren und halten Sie einige Pentesting-Tools auf dem neuesten Stand. Ich habe dies verwendet, um meine OSCP-Prüfung zu bestehen.
Verwalten Sie alle Ihre Pentest-Tools an einem Ort und halten Sie sie mit einem Befehl auf dem neuesten Stand 😎
Das Ziel von sometools ist es, alle Ihre Tools zu verwalten, die nicht in Kali enthalten sind oder für die sudo apt install nicht verfügbar ist. Sometools funktioniert besser, wenn Tools ein Repo sind, kann aber angepasst werden, um auch ohne zu funktionieren.
Ich suchte nach einer Möglichkeit, einige Tools zu verwalten und auf dem neuesten Stand zu halten, die nicht in Kali-Linux enthalten sind. Zum Beispiel suchte ich nach einer einfachen Möglichkeit, Privilege-Escalation-Skripte zu verwalten. Eines Tages sah ich sec-tools von eugenekolo (das Sie am Ende der Seite sehen können) und es gab mir die Motivation, sofort mit der Arbeit an meinem eigenen zu beginnen. Meine Hauptmotivation war der check-update-all Befehl, mit dem Sie alle Ihre installierten Tools problemlos aktualisieren können.
Aber denken Sie daran, dass es anders ist. Ich habe dies für Leute entwickelt, die mit Kali arbeiten. Es sollte auf anderen Distributionen funktionieren, aber ich habe Tools wie Burp Suite oder SQLmap nicht aufgenommen, weil sie standardmäßig in Kali enthalten sind.
$ git clone https://github.com/som3canadian/Some-Tools $ cd Some-Tools $ ./sometools.sh setup
$ ./sometools.sh list
## Grundlegende Verwendung

**Hinweis**: Es ist nicht erforderlich, die Kategorienamen anzugeben, wenn Sie ein Tool verwenden. Verwenden Sie einfach den Toolnamen oder die ID. Sie können die Tool-ID sehen, indem Sie `./sometools.sh list` ausführen.
Die am häufigsten verwendeten Aktionen sind:
- 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
Das bin-Verzeichnis wird beim Ausführen der Setup-Aktion erstellt. Dies wird der Verzeichnispfad sein, den wir zu unserem Shell-$PATH (your/install/dir/Some-Tools/bin) hinzufügen. In das bin-Verzeichnis werden wir Kopien (Symlinks) von Tools ablegen, die wir auf unserer Maschine überall ausführbar haben möchten. Zum Beispiel bei einem Tool wie unicorn.py möchtest du vielleicht unicorn von überall aus ausführen können.
Die Setup-Aktion wird dabei auch bin/PrivEsc-Lin und bin/PrivEsc-Win erstellen. In diesem Verzeichnis werden wir unsere Privilegieneskalations-Skripte aufbewahren. Wenn du also deine Tools verwenden möchtest, kannst du einen Python-HTTP-Server starten und die gewünschten Skripte schnell hochladen. Die Skripte in diesen Ordnern werden gleichzeitig mit der Aktualisierung des/der Tools über die check-update-Aktion aktualisiert.
Hinweis:
setup (Setup-Prozess):
.bashrc oder .zshrc (die integrierte Setup-Aktion funktioniert nicht, wenn Sie keine dieser beiden Shells verwenden)echo $PATH ausführen.sometools.sh lesen, um ein besseres Verständnis zu erhalten. ```bash
$ ./sometools.sh setupinstall und install-all:
./sometools.sh list ausführen..installed-Datei im Tool-Verzeichnis erstellt. Diese Datei hilft uns bei unserer Aktion list-installed. ```bash
$ ./sometools.sh list # see which tool can be install

self-update:
pull möchten. ```bash
$ ./sometools.sh self-updateuninstall:
./sometools.sh list angezeigt wird. ```bash
$ ./sometools.sh uninstall unicorn$ ./sometools.sh uninstall 4
add-tool:
install-tool.sh, uninstall-tool.sh und .gitignore.add-tool-Aktion für Sie erstellt.Zsh-Funktionen enthalten keine Pentest-Tools, sie enthalten kleine Skripte, die meinen Arbeitsablauf sehr unterstützen und ich dachte, dass sie auch für andere nützlich sein könnten.
Vielleicht könnte es mit anderen Shells verwendet werden, aber ich verwende es mit zsh.
Dies wird nicht während des Einrichtungsprozesses gesetzt. Sie müssen es manuell einstellen. Wie ? Indem Sie den folgenden Ausschnitt zu Ihrer .zshrc-Datei hinzufügen.```bash
fpath=(~/path/of/sometools/Zsh-Functions $fpath); autoload -U $fpath[1]/*(.:t)
- mkcd: mkdir und cd
- mv: Verschiebe eine Datei/einen Ordner in dein aktuelles Verzeichnis (mit einem Argument)
- op: Öffne Datei oder Ordner im Dateimanager (`op .`, um das aktuelle Verzeichnis zu öffnen)
## Sonstiges
- Wenn du die ID-Nummer anstelle des Tool-Namens verwendest, stelle sicher, dass du die ID-Nummer von `./sometools.sh list` und nicht von `./sometools.sh list-installed` verwendest.
- Wenn du ein neues Tool hinzufügst, das spezifische Update-Anweisungen benötigt, kannst du die Datei `update-tool.sh` im Tool-Verzeichnis erstellen (wie die Dateien install-tool.sh und uninstall-tool.sh). Wenn du check-update ausführst, wird das Skript some-tools.sh dies berücksichtigen.
- Du **kannst** nicht denselben Namen für zwei Tools verwenden. Das wird Probleme verursachen. Bei der add-tool-Aktion prüfen wir das. Eine Lösung wäre, bei einer Aktion den Kategorienamen anzugeben, aber das **möchte ich wirklich nicht**. Da es einfach ist, einen anderen Namen zu verwenden, habe ich derzeit nicht die Absicht, eine Lösung zu entwickeln, die es erlaubt, denselben Namen für mehrere Tools zu verwenden.
- Einige der Tools, die du installierst, könnten nach `sudo`-Berechtigungen fragen!
- Die im Repository enthaltene Datei `check-git.sh` ist für die Aktionen check-update und check-update-all.
- Ich baue dies in meiner Freizeit, es könnten Fehler enthalten sein. Wenn die Sterne zu wachsen beginnen, werde ich vielleicht mehr Zeit und Mühe investieren.
## Lizenz
Die einzelnen Tools sind alle unter ihren eigenen Lizenzen lizenziert. Was Some-Tools betrifft, so ist es unter der GNU General Public License v3.0 lizenziert.
⭐ Wenn du es nützlich findest, gib ihm einen Stern oben auf dieser Seite ⭐ oder du kannst mir einen ☕ kaufen. Danke 🔥😎
<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>
## Danksagungen
- Entstanden aus der Idee von <https://github.com/eugenekolo/sec-tools> und <https://github.com/zardus/ctf-tools>.
- Vagrant-Box von: [nicmilot](https://app.vagrantup.com/nicmilot/boxes/kali-full-2020). Du kannst seine anderen Vagrant-Boxen sehen wie: [pwk-kali-2018](https://app.vagrantup.com/nicmilot/boxes/pwk-kali-2018) für VMware Fusion und [Metapsloitable3](https://app.vagrantup.com/nicmilot/boxes/metasploitable3-win2008-vmware) ebenfalls für VMware Fusion.
| Kategorie | Tool | Beschreibung |
|---|
| Evasion | Bashfuscator | Ein vollständig konfigurierbares und erweiterbares Bash-Verschleierungs-Framework. |
| Evasion | Chimera | Chimera ist ein PowerShell-Verschleierungsskript, das entwickelt wurde, um AMSI und kommerzielle Antivirenlösungen zu umgehen. |
| Evasion | PyFuscation | Verschleiern Sie PowerShell-Skripte, indem Sie Funktionsnamen, Variablen und Parameter ersetzen. |
| Evasion | tvasion | 🎭 Antivirus-Umgehung basierend auf Dateisignaturänderung durch AES-Verschlüsselung mit PowerShell und C#... |
| Evasion | unicorn | Unicorn ist ein einfaches Tool zur Durchführung eines PowerShell-Downgrade-Angriffs und zum direkten Injizieren von Shellcode in den Speicher... |
| Exploit-Win | windows-kernel-exploits | windows-kernel-exploits Sammlung von Windows-Privilegien-Eskalations-Schwachstellen |
| PrivEsc-Lin | BeRoot | Privilegien-Eskalationsprojekt - Windows / Linux / Mac |
| PrivEsc-Lin | LinEnum | Skriptgestützte lokale Linux-Enumeration <> Privilegien-Eskalationsprüfungen |
| PrivEsc-Lin | LinPwn | Interaktives Post-Exploitation-Tool |
| PrivEsc-Lin | PEAS | PEASS - Privilegien-Eskalations-Awesome-Skripte-SUITE |
| PrivEsc-Lin | SUID3NUM | Ein eigenständiges Python-Skript, das die integrierten Module von Python nutzt, um SUID-Binärdateien aufzulisten... |
| PrivEsc-Lin | SetUID | Meine persönliche Anleitung zur Privilegieneskalation |
| PrivEsc-Lin | linux-enum-mod | Nur eine Sammlung von Pentest-Material |
| PrivEsc-Lin | linux-exploit-suggester | Linux-Privilegien-Eskalations-Audit-Tool |
| PrivEsc-Lin | linux-exploit-suggester-2 | Next-Generation Linux-Kernel-Exploit-Vorschlags-Tool |
| PrivEsc-Lin | linuxprivchecker | Ein Linux-Privilegien-Eskalations-Check-Skript |
| PrivEsc-Lin | lse | Linux-Enumerationstool für Pentesting und CTFs mit Ausführlichkeitsstufen |
| PrivEsc-Lin | pspy | Überwachen Sie Linux-Prozesse ohne Root-Berechtigungen |
| PrivEsc-Lin | setuid-wrapper | Ein einfaches Setuid-Wrapper-Programm, das Shell-Skripte mit erhöhten Privilegien starten soll. |
| PrivEsc-Lin | unix-privesc-check | Automatisch exportiert von code.google.com/p/unix-privesc-check |
| PrivEsc-Win | Ghostpack-CompiledBinaries | Kompilierte Binärdateien für Ghostpack (.NET v4.0) |
| PrivEsc-Win | JAWS | JAWS - Just Another Windows (Enum) Script |
| PrivEsc-Win | Powerless | nuWindows-Privilegien-Eskalations-(Enumeration-)Skript, entwickelt mit OSCP-Labs (Legacy-Windows) im Hinterkopf |
| PrivEsc-Win | Privesc | Windows-Batch-Skript, das Fehlkonfigurationen findet, die zu Privilegieneskalation führen können. |
| PrivEsc-Win | SessionGopher | SessionGopher ist ein PowerShell-Tool, das WMI verwendet, um gespeicherte Sitzungsinformationen für den Fernzugriff zu extrahieren... |
| PrivEsc-Win | Sherlock | PowerShell-Skript, um fehlende Software-Patches für lokale Privilegien-Eskalations-Schwachstellen schnell zu finden. |
| PrivEsc-Win | WinPwn | Automatisierung für interne Windows-Penetrationstests / AD-Sicherheit |
| PrivEsc-Win | Windows-Privilege-Escalation | Windows-Privilegien-Eskalationstechniken und -Skripte |
| PrivEsc-Win | Windows-Exploit-Suggester | Dieses Tool vergleicht die Patch-Level eines Ziels mit der Microsoft-Schwachstellendatenbank... |
| PrivEsc-Win | mimikatz | Ein kleines Tool, um mit der Windows-Sicherheit zu spielen |
| PrivEsc-Win | wesng | Windows Exploit Suggester - Nächste Generation |
| PrivEsc-Win | windows-privesc-check | Eigenständige ausführbare Datei zur Überprüfung auf einfache Privilegien-Eskalationsvektoren auf Windows-Systemen |
| Utilities | GraphQLmap | GraphQLmap ist eine Scripting-Engine zur Interaktion mit einem GraphQL-Endpunkt für Pentest-Zwecke. |
| Utilities | PoC-in-GitHub | 📡 Automatische Sammlung von PoCs von GitHub. ⚠️ Vorsicht vor Malware. |
| Utilities | SirepRAT | Remote-Befehlsausführung als SYSTEM auf Windows IoT Core (Versionen verfügbar für Python2.7 <> Python3) |
| Utilities | Windows-Tools | Einige Windows-Tools. |
| Utilities | chisel | Ein schneller TCP/UDP-Tunnel über HTTP |
| Utilities | crackhash | Crackhash ist ein Tool, das versucht, verschiedene Hash-Typen mit kostenlosen Online-Diensten zu knacken. |
| Utilities | cryptz | 🔒 [ Mehrfachverschlüsselung / -entschlüsselung ] 🔓 |
| Utilities | decodify | Erkennt und dekodiert codierte Zeichenfolgen rekursiv. |
| Utilities | enum4linux-ng | Eine nächste Generation von enum4linux (ein Windows/Samba-Enumerationstool) mit zusätzlichen Funktionen ... |
| Utilities | evil-winrm | Die ultimative WinRM-Shell für Hacking/Pentesting |
| Utilities | haiti | 🔑 Hash-Typ-Identifikator (CLI <> lib) |
| Utilities | impacket | Impacket ist eine Sammlung von Python-Klassen für die Arbeit mit Netzwerkprotokollen. |
| Utilities | nishang | Nishang - Offensives PowerShell für Red Teams, Penetrationstests und offensive Sicherheit. |
| Utilities | nmapAutomator | Ein Skript, das Sie im Hintergrund ausführen können! |
| Utilities | pypykatz | Mimikatz-Implementierung in reinem Python |
| Utilities | revshellgen | Reverse-Shell-Generator, geschrieben in Python 3. |
| Utilities | snmp | SNMP-Datensammlungsskripte |
| Web | byp4xx | Python-Skript zum Umgehen von HTTP-40X-Antworten... |
| Web | fuxploider | Scanner und Ausnutzungstool für Datei-Upload-Schwachstellen. |
| Web | LFISuite | Vollautomatischer LFI-Exploiter (+ Reverse Shell) und Scanner. |
| Web | MyJWT | Ein CLI zum Knacken und Testen von Schwachstellen bei JSON Web Token (JWT) |
| Web | php-reverse-shell | PHP-Reverse-Shell-Skript. Funktioniert unter Linux, macOS und Windows. |
| Web | windows-php-reverse-shell | Einfache PHP-Reverse-Shell, implementiert mit Binärdateien. |
| Web | wwwolf-php-webshell | WhiteWinterWolf's PHP-Web-Shell |
| Web | malicious-wordpress-plugin | Erzeugt einfach ein WordPress-Plugin, das Ihnen nach dem Hochladen eine Reverse-Shell gewährt. |
| Web | whitepass | Whitepass-Whitelist-/Ratenlimit-Umgehungsimplementierungen in Webanwendungen/APIs |
| Web | wordpress-exploit-framework | Ein Ruby-Framework, das zur Penetrationstestung von WordPress-Systemen entwickelt wurde. |
$ ./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 und check-update-all:
.git-Verzeichnis), können Sie eine update-tool.sh-Datei mit Ihren speziellen Anweisungen erstellen (die Datei muss update-tool.sh heißen)../sometools.sh list ausführen. ```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
Why two check-git ? check-git.sh only tell if the tool is behind or not. If we detect a newer version, we will ask to execute check-git-action.sh.
git-search
sortSearch ändern, wenn du möchtest)$ ./sometools.sh git-search LinEnum 15
lsePrivEsc-Lin.gitignoreinstall-tool.sh an Ihre Bedürfnisse anpassen. Wenn Sie das tun, wird die Aktion check-update nicht "out of the box" funktionieren (da wir kein .git-Verzeichnis finden). Lösung: Sie können eine Datei mit dem Namen update-tool.sh (im Tool-Verzeichnis) erstellen und Ihre Update-Befehle darin platzieren. Das Skript some-tools.sh wird diesen Dateinamen erkennen, wenn die Aktion check-update verwendet wird. Vergessen Sie nicht, Ihrer neuen Datei mit chmod +x Ausführungsrechte zu geben..gitignore wird Ihren Tool-Namen und .installed enthalten. Warum? Weil wir kein Git-Repository in ein anderes Repository pushen wollen und wir die .installed-Datei nicht pushen wollen. ```bash
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin$ ./sometools.sh add-tool LinEnum PrivEsc-Lin
install-tool und update-tool mit Github API
Manchmal müssen Tools über die releases/latest-Seite heruntergeladen werden, wie pspy von DominicBreuker. Um also immer die neueste Version aktualisieren und herunterladen zu können, benötigte der Prozess eine kleine Wendung mit der Github API. Wenn Sie ein neues Tool mit diesem Muster hinzufügen, können Sie die untenstehende Funktion in Ihren install-tool.sh- und update-tool.sh-Dateien verwenden. ```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 angezeigt wird.info-Aktion verwendet wird, die bat-Binärdatei zu erkennen. Falls sie erkannt wird, wirst du zwischen bat oder cat gefragt.cat wird standardmäßig verwendet, ohne nachzufragen, wenn kein bat erkannt wird. ```bash
$ ./sometools.sh info LinEnum$ ./sometools.sh info 7
complete-uninstall:
.zshrc oder .bashrc löschen..zshrc oder .bashrc-Datei löschen. Wenn Sie also unterwegs einige Änderungen vorgenommen haben, bleiben diese erhalten..zshrc- oder .bashrc-Dateien haben. Eine endet mit .backup, die wir beim ersten Setup erstellt haben, und die zweite, .backup2, bevor der Abschnitt sometools im vollständigen Deinstallationsprozess gelöscht wird. ```bash
$ ./sometools.sh complete-uninstall