Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/ish-app/ish
Utilitários de Propósito GeralSegurança iOS
GitHubish-app/ish

ish

Shell Linux para iOS

Ver RepositórioSite
20.2k1.4k1há 25 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

iSH

Build Status goto counter fuck counter shit counter

Um projeto para obter um shell Linux rodando no iOS, usando emulação de x86 em modo de usuário e tradução de chamadas de sistema.

Para o status atual do projeto, veja a aba de issues e os logs de commits.

  • Página da App Store
  • Beta do TestFlight
  • Servidor do Discord
  • Wiki com ajuda e tutoriais
  • README中文 (如若未能保持最新,请提交PR以更新)

Hackeando

Este projeto possui um submódulo git, certifique-se de clonar com --recurse-submodules ou execute git submodule update --init após clonar.

Você precisará destas coisas para compilar o projeto:

  • Python 3
    • Meson (pip3 install meson)
  • Ninja
  • Clang e LLD (no mac, brew install llvm, no linux, sudo apt install clang lld ou sudo pacman -S clang lld ou algo parecido)
  • sqlite3 (isso é tão comum que já pode estar instalado no linux e com certeza já está no mac. se não, faça algo como sudo apt install libsqlite3-dev)
  • libarchive (brew install libarchive, sudo port install libarchive, sudo apt install libarchive-dev) TODO: empacotar esta dependência

Compilar para iOS

Abra o projeto no Xcode, abra iSH.xcconfig e altere ROOT_BUNDLE_IDENTIFIER para algo único. Você também precisará atualizar o ID da equipe de desenvolvimento nas configurações de compilação do projeto (não do alvo!). Então clique em Run. Existem scripts que devem fazer todo o resto automaticamente. Se encontrar algum problema, abra uma issue e tentarei ajudar.

Compilar ferramenta de linha de comando para teste

Para configurar seu ambiente, cd para o projeto e execute meson build para criar um diretório de compilação em build. Em seguida, cd para o diretório de compilação e execute ninja.

Para configurar um sistema de arquivos Alpine Linux autocontido, baixe o tarball Alpine minirootfs para i386 do site da Alpine e execute ./tools/fakefsify, com o tarball minirootfs como primeiro argumento e o nome do diretório de saída como segundo argumento. Então você pode executar coisas dentro do sistema de arquivos Alpine com ./ish -f alpine /bin/sh, assumindo que o diretório de saída se chama alpine. Se tools/fakefsify não existir no seu diretório de compilação, isso pode ser porque não foi possível encontrar libarchive no seu sistema (veja acima maneiras de instalá-lo.)

Você pode substituir ish por tools/ptraceomatic para executar o programa em um processo real e fazer execução passo a passo e comparar os registradores a cada passo. Eu uso isso para depuração. Requer Linux 64 bits 4.11 ou posterior.

Registro de Logs

O iSH possui vários canais de log que podem ser ativados no momento da compilação. Por padrão, todos estão desativados. Para ativá-los:

  • No Xcode: Defina a configuração ISH_LOG no iSH.xcconfig para uma lista separada por espaços de canais de log.
  • Com Meson (ferramenta de linha de comando para teste): Execute meson configure -Dlog="<lista separada por espaços de canais de log>".

Canais disponíveis:

  • strace: O canal mais útil, registra os parâmetros e o valor de retorno de quase todas as chamadas de sistema.
  • instr: Registra toda instrução executada pelo emulador. Isso diminui muito a velocidade.
  • verbose: Logs de depuração que não se encaixam em outra categoria.
  • Pesquise por DEFAULT_CHANNEL para ver se mais canais de log foram adicionados desde que esta lista foi atualizada.

Uma nota sobre o interpretador

Possivelmente a coisa mais interessante que escrevi como parte do iSH é o interpretador. Não é exatamente um JIT, pois não tem como alvo código de máquina. Em vez disso, ele gera um array de ponteiros para funções chamadas gadgets, e cada gadget termina com uma tailcall para a próxima função; como a técnica de threaded code usada por alguns interpretadores Forth. O resultado é uma aceleração de aproximadamente 3-5x em comparação com a emulação usando um despacho switch mais simples.

Infelizmente, tomei a decisão de escrever quase todos os gadgets em linguagem assembly. Isso foi provavelmente uma boa decisão em relação ao desempenho (embora nunca saberei ao certo), mas uma péssima decisão em relação à legibilidade, manutenibilidade e minha sanidade. A quantidade de porcaria que tive que aturar do compilador/montador/linker é insana. É como se houvesse um demônio lá dentro que garante que meu código esteja suficientemente deformado e, se não, inventa razões estúpidas pelas quais não deveria compilar. Para permanecer são enquanto escrevia este código, tive que ignorar as melhores práticas de estrutura e nomenclatura de código. Você encontrará macros e variáveis com nomes tão descritivos como ss e s e a. Macros do montador aninhados além do aceitável. E para completar, quase não há comentários.

Então um aviso: Exposição prolongada a este código pode causar perda de sanidade, pesadelos sobre macros do GAS e erros do linker, ou qualquer outro número de efeitos colaterais debilitantes. Este código é conhecido pelo Estado da Califórnia por causar câncer, defeitos congênitos e danos reprodutivos.

Baixar ferramenta