
Algumas ferramentas de Pentest. Instale e mantenha atualizadas algumas ferramentas de pentest. Eu usei isso para passar no meu exame OSCP.
Gerencie todas as suas ferramentas de pentest em um só lugar e mantenha-as atualizadas com um comando 😎
O objetivo do sometools é ser capaz de gerenciar todas as suas ferramentas que não estão incluídas no Kali ou para as quais sudo apt install não está disponível. O sometools funciona melhor se as ferramentas forem um repositório, mas pode ser ajustado para funcionar sem isso.
Eu estava procurando uma maneira de gerenciar e manter atualizadas algumas ferramentas que não estão incluídas no Kali-Linux. Por exemplo, eu procurava uma maneira fácil de gerenciar scripts de escalação de privilégios. Um dia, vi o sec-tools do eugenekolo (que você pode ver no final da página) e isso me deu motivação para começar a trabalhar no meu imediatamente. Minha principal motivação foi o comando check-update-all, que permite atualizar todas as ferramentas instaladas de forma suave.
Mas lembre-se de que é diferente. Eu construí isso para pessoas que trabalham com Kali. Deve funcionar em outras distribuições, mas não incluí ferramentas como Burp Suite ou SQLmap porque elas vêm no Kali por padrão.
$ git clone https://github.com/som3canadian/Some-Tools $ cd Some-Tools $ ./sometools.sh setup
$ ./sometools.sh list
## Uso básico

**Nota**: Não é necessário especificar os nomes das categorias ao usar uma ferramenta. Basta usar o nome da ferramenta ou ID. Você pode ver o ID da ferramenta fazendo `./sometools.sh list`
As ações mais usadas são:
- 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
O diretório bin será criado ao realizar a ação de configuração. Este será o caminho do diretório que adicionaremos ao nosso $PATH do shell (seu/diretorio/instalacao/Some-Tools/bin). No diretório bin, colocaremos cópias (links simbólicos) das ferramentas que queremos executáveis em qualquer lugar da nossa máquina. Por exemplo, uma ferramenta como unicorn.py, você pode querer executar unicorn de qualquer lugar.
A ação de configuração também criará bin/PrivEsc-Lin e bin/PrivEsc-Win durante o processo. Neste diretório, manteremos nossos scripts de escalonamento de privilégios. Assim, quando quiser usar suas ferramentas, você pode iniciar um servidor HTTP Python e carregar rapidamente os scripts desejados. Os scripts nessas pastas serão atualizados ao mesmo tempo que você atualizar a(s) ferramenta(s) com a ação check-update.
| Categoria | Ferramenta | Descrição |
|---|---|---|
| Evasão | Bashfuscator | Um framework de ofuscação Bash totalmente configurável e extensível. |
| Evasão | Chimera | Chimera é um script de ofuscação PowerShell projetado para contornar AMSI e soluções antivírus comerciais. |
| Evasão | PyFuscation | Ofusca scripts PowerShell substituindo nomes de funções, variáveis e parâmetros. |
| Evasão | tvasion | 🎭 Evasão antivírus baseada em mudança de assinatura de arquivo via criptografia AES com PowerShell e C#... |
| Evasão | unicorn | Unicorn é uma ferramenta simples para usar um ataque de downgrade do PowerShell e injetar shellcode diretamente na memória... |
| Exploit-Win | windows-kernel-exploits | windows-kernel-exploits Windows平台提权漏洞集合 |
| PrivEsc-Lin | BeRoot | Projeto de Escalonamento de Privilégios - Windows / Linux / Mac |
| PrivEsc-Lin | LinEnum | Enumeração Local Linux Scriptada <> Verificações de Escalonamento de Privilégios |
| PrivEsc-Lin | LinPwn | Ferramenta Interativa de Pós-Exploração |
| PrivEsc-Lin | PEAS | PEASS - Conjunto de Scripts Incríveis para Escalonamento de Privilégios |
| PrivEsc-Lin | SUID3NUM | Um script Python independente que utiliza módulos internos do Python para enumerar binários SUID... |
| PrivEsc-Lin | SetUID | Meu guia pessoal para obter escalonamento de privilégios |
| PrivEsc-Lin | linux-enum-mod | Apenas uma coleção de material de testes de penetração |
| PrivEsc-Lin | linux-exploit-suggester | Ferramenta de auditoria de escalonamento de privilégios Linux |
| PrivEsc-Lin | linux-exploit-suggester-2 | Sugeridor de Exploits para Kernel Linux de Próxima Geração |
| PrivEsc-Lin | linuxprivchecker | Um Script de Verificação de Escalonamento de Privilégios Linux |
| PrivEsc-Lin | lse | Ferramenta de enumeração Linux para testes de penetração e CTFs com níveis de verbosidade |
| PrivEsc-Lin | pspy | Monitora processos Linux sem permissões root |
| PrivEsc-Lin | setuid-wrapper | Um programa wrapper setuid simples, destinado a lançar scripts de shell com privilégios elevados. |
| PrivEsc-Lin | unix-privesc-check | Exportado automaticamente de code.google.com/p/unix-privesc-check |
| PrivEsc-Win | Ghostpack-CompiledBinaries | Binários Compilados para Ghostpack (.NET v4.0) |
| PrivEsc-Win | JAWS | JAWS - Apenas Mais um Script de Enumeração Windows |
| PrivEsc-Win | Powerless | Script de enumeração de escalonamento de privilégios Windows projetado pensando nos laboratórios OSCP (Windows legado) |
| PrivEsc-Win | Privesc | Script batch Windows que encontra problemas de configuração incorreta que podem levar ao escalonamento de privilégios. |
| PrivEsc-Win | SessionGopher | SessionGopher é uma ferramenta PowerShell que usa WMI para extrair informações de sessão salvas para acesso remoto... |
| PrivEsc-Win | Sherlock | Script PowerShell para encontrar rapidamente patches de software ausentes para vulnerabilidades de escalonamento de privilégios locais. |
| PrivEsc-Win | WinPwn | Automação para Testes de Penetração Windows internos / Segurança de Diretório Ativo |
| PrivEsc-Win | Windows-Privilege-Escalation | Técnicas e Scripts de Escalonamento de Privilégios Windows |
| PrivEsc-Win | Windows-Exploit-Suggester | Esta ferramenta compara os níveis de patch de um alvo com o banco de dados de vulnerabilidades da Microsoft... |
| PrivEsc-Win | mimikatz | Uma pequena ferramenta para brincar com a segurança do Windows |
| PrivEsc-Win | wesng | Sugeridor de Exploits Windows - Próxima Geração |
| PrivEsc-Win | windows-privesc-check | Executável Independente para Verificar Vetores Simples de Escalonamento de Privilégios em Sistemas Windows |
| Utilitários | GraphQLmap | GraphQLmap é um motor de script para interagir com um endpoint graphql para fins de testes de penetração. |
| Utilitários | PoC-in-GitHub | 📡 Coleta automática de PoC do GitHub. ⚠️ Cuidado com Malware. |
| Utilitários | SirepRAT | Execução Remota de Comandos como SYSTEM no Windows IoT Core (lançamentos disponíveis para Python2.7 <> Python3) |
| Utilitários | Windows-Tools | Algumas Ferramentas Windows. |
| Utilitários | chisel | Um túnel TCP/UDP rápido sobre HTTP |
| Utilitários | crackhash | Crackhash é uma ferramenta que tenta quebrar diferentes tipos de hashes usando serviços online gratuitos. |
| Utilitários | cryptz | 🔒 [ Criptografia / Descriptografia Múltipla ] 🔓 |
| Utilitários | decodify | Detecta e decodifica strings codificadas, recursivamente. |
| Utilitários | enum4linux-ng | Uma versão de próxima geração do enum4linux (uma ferramenta de enumeração Windows/Samba) com recursos adicionais ... |
| Utilitários | evil-winrm | O shell WinRM definitivo para hacking/testes de penetração |
| Utilitários | haiti | 🔑 Identificador de tipo de hash (CLI <> lib) |
| Utilitários | impacket | Impacket é uma coleção de classes Python para trabalhar com protocolos de rede. |
| Utilitários | nishang | Nishang - PowerShell Ofensivo para red team, testes de penetração e segurança ofensiva. |
| Utilitários | nmapAutomator | Um script que você pode executar em segundo plano! |
| Utilitários | pypykatz | Implementação do Mimikatz em Python puro |
| Utilitários | revshellgen | Gerador de Reverse Shell escrito em Python 3. |
| Utilitários | snmp | Scripts de coleta de dados SNMP |
| Web | byp4xx | Script Python para contornar respostas HTTP 40X... |
| Web | fuxploider | Scanner e ferramenta de exploração de vulnerabilidades de upload de arquivos. |
| Web | LFISuite | Explorador de LFI Totalmente Automático (+ Reverse Shell) e Scanner. |
| Web | MyJWT | Um CLI para quebrar e testar vulnerabilidades em JSON Web Token (JWT) |
| Web | php-reverse-shell | Script de reverse shell PHP. Funciona em Linux, macOS e Windows. |
| Web | windows-php-reverse-shell | Reverse shell PHP simples implementado usando binário . |
| Web | wwwolf-php-webshell | Web shell PHP do WhiteWinterWolf |
| Web | malicious-wordpress-plugin | Simplesmente gera um plugin WordPress que lhe concederá um reverse shell assim que for enviado. |
| Web | whitepass | Whitepass Bypass de Implementações de Whitelist/Ratelimit em Aplicações Web/APIs |
| Web | wordpress-exploit-framework | Um framework Ruby projetado para auxiliar nos testes de penetração de sistemas WordPress. |
Nota:
setup (Processo de Configuração):
.bashrc ou .zshrc (a ação de configuração embutida não funcionará se você não estiver usando um dos dois shells)echo $PATHsometools.sh para entender melhor. ```bash
$ ./sometools.sh setupinstall e install-all:
./sometools.sh list..installed no diretório da ferramenta. Este arquivo nos ajudará com nossa ação 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 and check-update-all:
.git), você pode criar um arquivo update-tool.sh com suas instruções especiais (o arquivo deve ser nomeado 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 que dois check-git ? check-git.sh apenas informa se a ferramenta está desatualizada ou não. Se detectarmos uma versão mais recente, pediremos para executar check-git-action.sh.
git-search
sortSearch se desejar)$ ./sometools.sh git-search LinEnum 15


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 criará para você.lse no diretório PrivEsc-Lin. Talvez seja necessário alterar o arquivo .gitignore no diretório da sua ferramenta.install-tool.sh para atender às suas necessidades. Se fizer isso, a ação check-update não funcionará "de fábrica" (porque não encontraremos nenhum diretório .git). Solução: você pode criar um arquivo chamado update-tool.sh (no diretório da ferramenta) e colocar seus comandos de atualização nele. O script some-tools.sh detectará este nome de arquivo ao usar a ação check-update. Não se esqueça de chmod +x no seu novo arquivo..gitignore conterá o nome da sua ferramenta e .installed. Por quê? Porque não queremos enviar um repositório git para outro repositório e não queremos enviar o arquivo .installed. ```bash
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin$ ./sometools.sh add-tool LinEnum PrivEsc-Lin
install-tool and update-tool with Github API
Às vezes, as ferramentas precisam ser baixadas via página releases/latest, como o pspy do DominicBreuker. Para conseguir sempre atualizar e baixar a versão mais recente, o processo precisou de um pequeno ajuste com a Github API. Se você adicionar uma nova ferramenta usando esse padrão, pode usar a função abaixo nos seus arquivos 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 é usada, some-tools tentará detetar o binário bat. Se o fizer, perguntará entre bat ou cat.cat será usado por predefinição sem perguntar se não for detetado bat. ```bash
$ ./sometools.sh info LinEnum$ ./sometools.sh info 7
complete-uninstall:
.zshrc ou .bashrc..zshrc ou .bashrc. Assim, se você fez algumas modificações ao longo do caminho, elas serão mantidas..zshrc ou .bashrc. Um terminando com .backup que criamos na configuração inicial e o segundo, .backup2, antes de eliminar a secção sometools no processo de desinstalação completa. ```bash
$ ./sometools.sh complete-uninstallAs funções Zsh não contêm nenhuma ferramenta de pentest, elas contêm pequenos scripts que ajudam muito meu fluxo de trabalho e pensei que seriam úteis para outras pessoas também.
Talvez possa ser usado com outros shells, mas eu uso com zsh.
Isso não será configurado durante o processo de instalação. Você precisa configurá-lo manualmente. Como? Adicionando o trecho abaixo ao seu arquivo .zshrc.```bash
fpath=(~/path/of/sometools/Zsh-Functions $fpath); autoload -U $fpath[1]/*(.:t)
- mkcd: mkdir e cd
- mv: mover um ficheiro/pasta para o seu diretório atual (com um argumento)
- op: abrir ficheiro ou pasta no gestor de ficheiros (`op .` para abrir o diretório atual)
## Outros
- Ao usar o número de ID em vez do nome da ferramenta, certifique-se de usar o número de ID de `./sometools.sh list` e não de `./sometools.sh list-installed`
- Se adicionar uma nova ferramenta que precise de instruções de atualização específicas, pode criar o ficheiro `update-tool.sh` no diretório da ferramenta (como os ficheiros install-tool.sh e uninstall-tool.sh). Quando verificar atualizações, o script some-tools.sh irá considerá-lo.
- Você **não pode** usar o mesmo nome para duas ferramentas. Isso causará problemas. Ao usar a ação add-tool, verificaremos isso. Uma solução para isso seria especificar o nome da categoria ao usar uma ação, mas eu **realmente não quero isso**. Como usar um nome diferente é fácil, não tenho intenção no momento de desenvolver uma solução que nos permita usar o mesmo nome para várias ferramentas.
- Algumas das ferramentas que instalará podem pedir permissões `sudo`!
- O ficheiro `check-git.sh` incluído no repositório é para as ações check-update e check-update-all.
- Estou a construir isto no meu tempo livre, pode ter alguns bugs. Se as estrelas começarem a crescer, poderei dedicar mais tempo e esforço.
## Licença
As ferramentas individuais são todas licenciadas sob suas próprias licenças. Quanto ao Some-Tools, é licenciado sob a GNU General Public License v3.0.
⭐ Se achar útil, deixe uma estrela no topo desta página ⭐ ou pode comprar-me um ☕. Obrigado 🔥😎
<a href="https://www.buymeacoffee.com/somecanadian" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/3722/eecc7380590efb5bd32637f86ef07884b0e9f1f82f7dbf8b2bc7e8410d721225.png" alt="Compre-me um Café" height="51" width="217"></a>
## Agradecimentos
- Construído a partir da ideia de <https://github.com/eugenekolo/sec-tools> e <https://github.com/zardus/ctf-tools>.
- Vagrant box por: [nicmilot](https://app.vagrantup.com/nicmilot/boxes/kali-full-2020). Pode ver outras vagrant boxes dele como: [pwk-kali-2018](https://app.vagrantup.com/nicmilot/boxes/pwk-kali-2018) para VMware Fusion e [Metapsloitable3](https://app.vagrantup.com/nicmilot/boxes/metasploitable3-win2008-vmware) também para VMware Fusion.