
VPN mesh ponto a ponto criptografada para perícia forense móvel remota, permitindo aquisição sem fio via ADB e libimobiledevice, monitoramento de rede e detecção de intrusões através de NAT e firewalls.
MESH é uma ferramenta de rede para apoiar a aquisição forense lógica remota em dispositivos móveis
MESH fornece aos analistas um caminho direto e criptografado para dispositivos móveis para depuração sem fio, monitoramento de rede e aquisição forense, mesmo quando esses dispositivos estão atrás de NAT, firewalls ou redes móveis restritivas. Ele constrói uma sobreposição privada para que um dispositivo remoto se comporte como se estivesse na mesma sub-rede local. Não requer servidores VPN centrais, encaminhamento de portas ou infraestrutura permanente para manter ou defender. Isso permite monitoramento e aquisição de rede remota, contínua e fácil pela internet, com ferramentas como MVT e AndroidQF.
As malhas são efêmeras e controladas pelo analista: traga dispositivos online, colete e, em seguida, desmonte a rede. Nada fica em execução, o que apoia a prevenção de atividade de fingerprinting.
[!IMPORTANT] Alpha Público: Atualmente em alpha público e em desenvolvimento ativo. Uma penetração completa de terceiros foi concluída e corrigimos todas as vulnerabilidades principais. As coisas podem mudar e devem ser esperadas mudanças significativas. Atualmente requer algum nível de conhecimento técnico. Por favor, relate bugs ou preocupações de segurança através de GitHub Issues."
Para documentação completa:
https://docs.meshforensics.org/
docker compose, não docker-compose legado). Instruções de instalação.sudo snap install task --classicbrew install go-task[!NOTE] A maioria das operações de tempo de execução funciona com
docker composesimples, mas as tarefas de configuração interativa (gerenciamento de.env, template de configuração, rotação de chaves de autenticação) requerem go-task.
git clone https://github.com/BARGHEST-ngo/mesh.git
cd MESH
task build
task controlPlane
task controlPlane guia você pela configuração interativamente e inicia todos os serviços necessários. Para a maioria dos usuários, selecionar Efêmera com um domínio Automático é a rota recomendada - não requer configuração de servidor ou DNS.
Escolha um tipo de implantação. Um plano de controle efêmero é executado em sua estação de trabalho e é acessível pela internet através de um túnel seguro. Um plano de controle persistente é executado em um servidor dedicado voltado para a internet que você gerencia.
Escolha um domínio. Selecionar Automático permite que o MESH provisione um endereço HTTPS público para você. Selecione Manual se você quiser usar seu próprio domínio.
Insira a chave de API. Se você escolheu um domínio Automático, será solicitado a inserir uma chave de API. Esta será fornecida a você pela equipe do Barghest; entre em contato conosco para solicitar acesso.
Confirme a configuração. Revise as configurações geradas antes de o MESH iniciar.
Se essas configurações estiverem incorretas, ou se a configuração foi interrompida, exclua .env e execute task controlPlane para começar novamente.
CONTROL_PLANE_TYPE=Ephemeral
PROXY_DOMAIN_TYPE=Automatic
MESH_SUBDOMAIN=<random 10 character slug>
FRP_AUTH_TOKEN=<secret token>
CONTROL_PLANE_URL=https://<slug>.tunnels.meshforensics.app
LOGIN_URL=https://<slug>.tunnels.meshforensics.app
Os contêineres iniciam e uma chave de API é gerada. Quando todos os serviços estiverem íntegros, o MESH imprime uma chave de API de uso único para fazer login na interface web.
Control plane API key (enter this in the web UI to log in):
<SECRET API KEY>
Navegue até a URL do seu plano de controle e insira a chave de API quando solicitado para fazer login.
https://<slug>.tunnels.meshforensics.app
A interface web é servida via HTTPS com um certificado emitido automaticamente pelo Let's Encrypt.
[!IMPORTANT] A ACL padrão permite que nós de cada rede conversem entre si. Implantações de produção devem usar políticas restritivas. Modifique-as na guia ACL.
Sua rede MESH agora está pronta para aceitar nós.
Consulte a documentação para inscrição de nós e fluxos de trabalho forenses.
task down destrói a rede MESH, desconectando todos os usuários e, se você escolheu uma implantação Efêmera com um domínio Automático, estes e todos os vestígios são removidos e não podem mais ser acessados.
MESH é um fork fortemente modificado do protocolo Tailscale, mas não requer infraestrutura Tailscale.
Para estabelecer um canal ponto a ponto criptografado de ponta a ponta, é criado usando furar buracos UDP. Se o UDP estiver indisponível ou bloqueado, ele cairá em relays HTTPs criptografados de ponta a ponta chamados relays DERP. Os servidores do protocolo DERP DERP (Designated Encrypted Relay for Packets) retransmitem tráfego entre nós quando uma conexão ponto a ponto direta não pode ser estabelecida.
MESH segue o mesmo modelo. Por padrão, se um operador não configurou sua própria infraestrutura DERP (o que pode ser feito usando o plano de controle do MESH), o MESH usa os servidores DERP públicos do Tailscale para garantir conectividade confiável, especialmente em ambientes de rede restritivos. No entanto, o MESH não requer infraestrutura Tailscale: os operadores podem implantar e usar seus próprios servidores DERP através do plano de controle, que inclui uma implementação DERP embutida. Isso torna o MESH totalmente auto-hospedável quando desejado.
Os servidores DERP atuam puramente como relays de transporte. Eles facilitam a conectividade entre dispositivos, mas não têm visibilidade dos dados trocados, que permanecem criptografados de ponta a ponta.
As melhorias incluem (mas não se limitam a):
O plano de controle é responsável apenas pela descoberta de pares e troca de chaves. O tráfego forense flui diretamente entre os endpoints sempre que possível.
Arquiteturas tradicionais de VPN e hub-and-spoke introduzem:
MESH separa a coordenação do transporte de dados:
MESH é otimizado para ambientes transitórios e de alto risco, não para redes empresariais permanentes.
android-client — APK do endpoint Androidcontrol-plane — Servidor de coordenaçãoanalyst — Cliente CLI do analistaFluxo de trabalho:
mesh-analyst-client.main.MESH é licenciado sob a GNU Affero General Public License v3.0 ou posterior (AGPL-3.0-or-later).
Partes deste software são um trabalho derivado de Tailscale, que é licenciado sob a Licença BSD 3-Clause. Os direitos autorais originais do Tailscale e a licença são preservados de acordo com os requisitos da BSD-3-Clause. O código AmneziaWG/Wireguard é licenciado sob a licença MIT. Veja .licenses/ para detalhes.
Todas as modificações e adições por BARGHEST são Copyright (c) BARGHEST e licenciadas sob AGPL-3.0-or-later.
WireGuard é uma marca registrada de Jason A. Donenfeld.