# Blog do CAOTI

Local para compartilhamento de ideias e projetos

# VDI

Projetos e ideias relacionadas a Infraestrutura de Desktop Virtual

# VDI Remoto com Raspberry Pi e VPN Forcepoint

<p class="callout info">Versão do Hardware tratado no documento: Raspberry Pi 3B+  
Versão do Software tratado no documento: Raspbian GNU/Linux 10 (buster)</p>

### 1.0) Introdução

Diante da perspectiva crescente de trabalho remoto e de acesso a poder de computação, dados e serviços independente do local, iniciamos experimentos para proporcionar estes recursos através de técnicas de VDI ( Infraestrutura de Desktop Virtual) utilizando o Raspberry Pi e Firewall Forcepoint de forma a proporcionar um acesso barato e livre aos recursos internos da instituição.

Através da solução abaixo, podemos criar um acesso a uma estação Windows remota e segura utilizando apenas um Raspberry Pi e alguns softwares Livres pré configurados.

<p class="callout warning">O acesso remoto a uma estação Windows exigirá a aquisição de licenciamento para tal com a Microsoft.</p>

<p class="callout warning">Os experimentos demonstrados abaixo fazem referencia a conexão de VDI com estação da Reitoria do IFSP e deve ser adaptada para outros ambientes.</p>

#### 2.0) Implantação em RP3B+ (Raspberry Pi 3B+) com interface gráfica pré instalada

Os procedimentos abaixo permitem a implantação do serviço em um RP3B+ com sistema operacional configurado **com** interface gráfica em sua instalação.

<p class="callout info">Esta solução possui como pré-requisito a implantação da VPN C2S com a reitoria, os procedimentos para tal podem ser encontrados [AQUI](https://manuais.ifsp.edu.br/books/forcepoint-firewall/page/cliente-vpn-c2s-com-strongswan-no-linux).</p>

##### 2.1) Instalação dos pacotes necessários

Instale o software necessário para realizar a conexão remota com Windows via protocolo RDP com os comandos abaixo:

```shell
sudo apt-get update && sudo apt-get install rdesktop
```

##### 2.2) Configuração e inicialização do serviço

Agora vamos criar um serviço do SystemD que ficará encarregado de verificar se a conexão VPN já está pronto para utilização e iniciará o serviço de conexão Remote Desktop:

Crie e edite o arquivo "**/lib/systemd/system/remote.service"**:

```shell
sudo nano /lib/systemd/system/remote.service
```

Adicione o conteúdo a seguir no arquivo:

```shell
[Unit]
Description=Remote Desktop
Requires=network-online.target

[Service]
Type=idle
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/pi/.Xauthority
ExecStart=/usr/bin/rdesktop -k pt-br -n <HOSTNAME-DO-RASPBERRY-PI> -g 100% -z -r sound:local -x 0x80 -u <USUARIO-REMOTO> -P -f <IP-DO-SERVIDOR-DE-DESTINO>
ExecStartPre=/bin/sh -c 'until ping -c1 <IP-DO-SERVIDOR-DE-DESTINO>; do sleep 1; done;'
Restart=always
RestartSec=3

[Install]
WantedBy=graphical.target
```

<p class="callout info">Não se esqueça de alterar os parâmetros para seu ambiente.</p>

O serviço acima fará todas as checagens necessárias e também irá reiniciar o terminal remoto caso ele seja fechado pelo cliente.

Agora temos que instalar o serviço e inicializa-lo:

Reload das configurações do serviço:

```shell
sudo systemctl daemon-reload
```

Instalação do serviço:

```shell
sudo systemctl enable remote.service
```

Iniciar o serviço:

```shell
systemctl start remote.service
```

<p class="callout success">DICA: Você pode verificar o status do serviço trocando o "start" do comando anterior por "status"</p>

Está feito! ao reiniciar o equipamento, se estiver tudo certo, o sistema irá inicializar e logo em seguida realizar a conexão RDP com a estação remota!

#### 3.0) Implantação em RP3B+ (Raspberry Pi 3B+) sem interface gráfica pré instalada

<p class="callout info">Fonte: [SITE](https://hsavior.eu/2020/03/20/windows-10-pro-terminal-server-raspberry-pi-thin-client/)</p>

<p class="callout danger">Até o presente momento esta solução não foi validada completamente pela nossa equipe.</p>

Os procedimentos abaixo permitem a implantação do serviço em um RP3B+ com sistema operacional configurado **sem** interface gráfica em sua instalação.

##### 3.1) Instalação dos pacotes necessários

Instale o software necessário para realizar a conexão remota com Windows via protocolo RDP com os comandos abaixo:

```shell
sudo apt-get update && sudo apt-get install xinit xserver-xorg xserver-xorg-video-fbdev rdesktop
```

##### 3.2) Configuração e inicialização do serviço

Crie o arquivo **".xinitrc"** que irá servir para executarmos o Remote Desktop automaticamente, uma vez que o ambiente gráfico inicie:

```shell
nano /home/pi/.xinitrc
```

Adicione a seguinte linha neste arquivo e salve (Substitua o IP com o o endereço IP do seu Desktop, lembre de configura-lo com um IP Fixo para que você não tenha que ficar mudando isso no futuro):

```shell
exec /usr/bin/rdesktop -k pt-br -n <HOSTNAME-DO-RASPBERRY-PI> -g <RESOLUCAO-DESEJADA> -z -r sound:local -x 1 -u <USUARIO-REMOTO> -f <IP-DO-SERVIDOR-DE-DESTINO>
```

Agora vamos criar um serviço do SystemD que ficará encarregado de verificar se a conexão VPN já está pronto para utilização e iniciará o serviço de conexão Remote Desktop:

Crie e edite o arquivo "**/lib/systemd/system/remote.service"**:

```shell
sudo nano /lib/systemd/system/remote.service
```

Adicione o conteúdo a seguir no arquivo:

```shell
[Unit]
Description=Remote Desktop
Requires=network-online.target

[Service]
Type=idle
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/pi/.Xauthority
ExecStart=xinit /home/pi/.xinitrc
ExecStartPre=/bin/sh -c 'until ping -c1 <IP-DO-SERVIDOR-DE-DESTINO>; do sleep 1; done;'
Restart=always
RestartSec=3
KillMode=process
TimeoutSec=infinity

[Install]
WantedBy=graphical.target​
```

<p class="callout info">Não se esqueça de alterar os parâmetros para seu ambiente.</p>

O serviço acima fará todas as checagens necessárias e também irá reiniciar o terminal remoto caso ele seja fechado pelo cliente.

Agora temos que instalar o serviço e inicializa-lo:

Reload das configurações do serviço:

```shell
sudo systemctl daemon-reload
```

Instalação do serviço:

```shell
sudo systemctl enable remote.service
```

Iniciar o serviço:

```shell
systemctl start remote.service
```

<p class="callout success">DICA: Você pode verificar o status do serviço trocando o "start" do comando anterior por "status"</p>

Está feito! ao reiniciar o equipamento, se estiver tudo certo, o sistema irá inicializar e logo em seguida realizar a conexão RDP com a estação remota!

#### 4.0) Aumento do tempo de espera por login na estação remota

<p class="callout info">Fonte: [SITE](https://hsavior.eu/2020/03/20/windows-10-pro-terminal-server-raspberry-pi-thin-client/)</p>

Para que a tela de login fique esperando as credenciais por mais tempo (normalmente 1 minuto), você pode criar uma chave no registro do Windows.

Crie uma chave DWORD chamada **LogonTimeout** no container:

**Computer\\HKEY\_LOCAL\_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp**

Coloque o valor da chave em segundos (3600 segundos = 1 hora):

[![image-1601583746008.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2020-10/scaled-1680-/image-1601583746008.png)](https://manuais.ifsp.edu.br/uploads/images/gallery/2020-10/image-1601583746008.png)

Dessa forma quando o Raspberry Pi iniciar e a sessão RDP começar ele aguardará por 1 hora até que você faça o login.

Se você não logar em tempo, o rdesktop vai fechar, reinicie o Raspberry Pi ou o serviço remote.service:

```shell
sudo systemctl restart remote.service
```

#### 5.0) Extras

##### 5.1) Escala de tela

Se o seu Raspberry Pi não estiver preenchendo a tela inteira quando ligado a um monitor, exibindo barras pretas nas laterais, execute a seguinte alteração:

Altere o arquivo de configuração padrão do RP:

```shell
sudo nano /boot/config.txt
```

Em seguida descomente a linha abaixo e salve as alterações:

```shell
...
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1
...
```

Reinicie o equipamento e a tela deve agora estar com a cobertura correta.

##### 5.2) Login sem senha no RDP do Windows Server

Para que o login sem senha funcione no Windows server, de forma a apresentar a tela de login somente após a conexão RDP, execute as seguinte alteração no sistema:

 Você deve **desabilitar** o "Network Level Authentication (NLA)" logo após ativar a permissão para acesso remoto via RDP:

[![image-1602092599567.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2020-10/scaled-1680-/image-1602092599567.png)](https://manuais.ifsp.edu.br/uploads/images/gallery/2020-10/image-1602092599567.png)

##### 5.3) Raspberry Pi reiniciando sem motivo

O superaquecimento pode ser uma das causas de reboot aleatório do equipamento, assim como uma fonte de energia insuficiente e/ou equipamentos que demandam muita energia ligados ao USB ou GPIO do equipamento, tais como HDs externos, etc.

Para verificar que houve throttling (redução de frequência do processador devido a temperatura), execute:

```shell
sudo vcgencmd get_throttled
```

Se o resultado for **0x0** está tudo bem neste quesito, caso não seja é melhor verificar a refrigeração do equipamento.

# Linux Desktop

Capitulo com dicas e tutoriais gerais relacionados ao uso de Linux no Desktop

# Tutorial: Montar e Desmontar Volumes BitLocker no Linux

<p class="callout info">Este tutorial ensina como **detectar, montar e desmontar unidades BitLocker** no Linux Mint usando `dislocker` e um script automatizado.</p>

---

## Requisitos

- Sistema testado: Linux Mint 20/21/22 (ou compatível)
- `dislocker` instalado:

```bash
sudo apt update
sudo apt install dislocker -y
```

- Permissões de sudo para montar e criar diretórios em `/mnt` e `/media/$USER`.

---

## 1. O Script `bitlocker-manager.sh`

O script permite **montar e desmontar volumes BitLocker** automaticamente.

### Conteúdo do Script

```bash
#!/bin/bash
set -e

WORK_BASE="/mnt"
MOUNT_BASE="/media/$USER"

usage() {
    echo "Uso: $0 [mount|umount]"
    echo "  mount   - Desbloqueia e monta o volume BitLocker"
    echo "  umount  - Desmonta volumes BitLocker montados"
    exit 1
}

if [ $# -ne 1 ]; then
    usage
fi

MODE="$1"

if [ "$MODE" == "mount" ]; then
    device=$(lsblk -o NAME,FSTYPE -r | grep -i "BitLocker" | awk '{print $1}' | head -n 1)
    if [ -z "$device" ]; then
        echo "[!] Nenhuma partição BitLocker detectada."
        exit 1
    fi
    device="/dev/$device"
    echo "[*] Volume BitLocker detectado em: $device"

    read -sp "Digite a senha ou chave de recuperação do BitLocker: " input
    echo

    # Detecta se é chave de recuperação (48 dígitos)
    clean_input=$(echo "$input" | tr -d '-') # Remove hífens, se houver
    if [[ "$clean_input" =~ ^[0-9]{48}$ ]]; then
        auth_param="-p$clean_input"
        echo "[*] Detectado chave de recuperação."
    else
        auth_param="-u$input"
        echo "[*] Detectada senha do BitLocker."
    fi

    mapper_dir="$WORK_BASE/bitlk-$(basename $device)"
    mount_dir="$MOUNT_BASE/bitlocker-$(basename $device)"

    sudo mkdir -p "$mapper_dir" "$mount_dir"

    echo "[*] Desbloqueando com dislocker..."
    sudo dislocker -V "$device" $auth_param -- "$mapper_dir"

    echo "[*] Montando NTFS..."
    sudo mount -o loop "$mapper_dir/dislocker-file" "$mount_dir"

    echo "[✓] Volume BitLocker montado em: $mount_dir"

elif [ "$MODE" == "umount" ]; then
    for dir in "$MOUNT_BASE"/bitlocker-*; do
        if mountpoint -q "$dir"; then
            echo "[*] Desmontando NTFS em $dir ..."
            sudo umount "$dir" || echo "[!] Falha ao desmontar $dir"
        fi

        mapper_dir="$WORK_BASE/$(basename $dir | sed 's/bitlocker-/bitlk-/')"
        if mountpoint -q "$mapper_dir"; then
            echo "[*] Desmontando mapper em $mapper_dir ..."
            sudo umount "$mapper_dir" || echo "[!] Falha ao desmontar $mapper_dir"
        fi

        # limpa diretórios
        sudo rmdir "$dir" 2>/dev/null || true
        sudo rmdir "$mapper_dir" 2>/dev/null || true

        echo "[✓] Desmontagem concluída para $dir"
    done
else
    usage
fi
```

---

## 2. Como usar o Script

### 2.1 Preparação

Salve o script em seu computador, por exemplo:

```bash
nano ~/bitlocker-manager.sh
```

Cole o conteúdo acima e salve.

Torne o script executável:

```bash
chmod +x ~/bitlocker-manager.sh
```

---

### 2.2 Montar Volume BitLocker

Insira a unidade BitLocker USB.

Execute o script no modo `mount`:

```bash
~/bitlocker-manager.sh mount
```

Digite a **senha ou chave de recuperação** quando solicitado.

Se tudo der certo, o volume será montado em:

```
/media/<seu_usuario>/bitlocker-<nome_dispositivo>
```

Você pode acessar os arquivos normalmente pelo gerenciador de arquivos.

---

### 2.3 Desmontar Volume BitLocker

Para desmontar, rode o script no modo `umount`:

```bash
~/bitlocker-manager.sh umount
```

O script vai:

- Desmontar o volume NTFS.
- Desmontar o mapper do `dislocker`.
- Limpar os diretórios temporários.

---

## 3. Observações Importantes

- **UAS e discos Seagate:** Alguns discos Seagate podem travar portas USB no Linux Mint devido ao driver UAS. Se ocorrer travamento, siga este procedimento:

```bash
echo "options usb-storage quirks=0bc2:2322:u" | sudo tee /etc/modprobe.d/seagate-uas-blacklist.conf
sudo update-initramfs -u
sudo reboot
```

- **Senha vs Chave de Recuperação:**
    
    
    - Use `-u` para senha do BitLocker.
    - Use `-p` para chave de recuperação de 48 dígitos (sem hífens).
- **Diretórios `/mnt/bitlk-*` e `/media/$USER/bitlocker-*`** são criados automaticamente pelo script.

---

## 4. Benefícios do Script

- Evita rodar manualmente vários comandos `dislocker` + `mount`.
- Permite montar **vários volumes** de forma segura.
- Inclui modo de desmontagem para limpeza automática.
- Integra facilmente no workflow do usuário Linux Mint.

# Forcepoint

Capitulo com dicas e tutoriais gerais relacionados aos produtos Forcepoint

# Desativando o Módulo da VPN Forcepoint na Interface do WSL2 no Windows 11

##### **Introdução**

Alguns usuários enfrentam problemas ao utilizar o **Windows Subsystem for Linux 2 (WSL2)** quando a **VPN Forcepoint** está ativa. Isso ocorre porque o módulo da VPN é automaticamente instalado em todas as interfaces de rede, incluindo a interface virtual do WSL2, o que pode bloquear o tráfego de rede dentro do ambiente Linux.

Como a interface do WSL2 não aparece na interface gráfica do Windows, a remoção do módulo da VPN precisa ser feita via **PowerShell**.

Este tutorial ensina como desativar o módulo da VPN **apenas** na interface do WSL2, sem afetar outras conexões de rede do sistema.

---

#### **Passo 1: Abrir o PowerShell Como Administrador**

1. Pressione `Win + X` e clique em **Terminal do Windows (Admin)** ou **PowerShell (Admin)**.
2. Confirme a execução como administrador, caso solicitado.

---

##### **Passo 2: Identificar o Nome da Interface de Rede do WSL2**

O WSL2 cria uma interface virtual chamada **vEthernet (WSL)**, mas seu nome exato pode variar. Para listar todas as interfaces, incluindo as ocultas, execute o seguinte comando no PowerShell:

```powershell
Get-NetAdapter -IncludeHidden | Format-Table -AutoSize
```

Isso exibirá todas as interfaces de rede disponíveis. Procure por um nome semelhante a:

```
vEthernet (WSL (Hyper-V firewall))
```

Anote esse nome, pois ele será necessário nos próximos passos.

---

##### **Passo 3: Listar os Módulos Ativos na Interface do WSL2**

Agora que sabemos o nome da interface do WSL2, podemos listar os módulos de rede ativos nela. Execute:

```powershell
Get-NetAdapterBinding -Name "vEthernet (WSL (Hyper-V firewall))" | Format-Table -AutoSize
```

Isso retornará uma lista de componentes ativos na interface. Algo semelhante a:

```
Name                                      DisplayName                                       ComponentID       Enabled
----                                      -----------                                       -----------       -------
vEthernet (WSL (Hyper-V firewall))        Cliente para redes Microsoft                     ms_msclient       True
vEthernet (WSL (Hyper-V firewall))        Protocolo TCP/IPv4                               ms_tcpip          True
vEthernet (WSL (Hyper-V firewall))        Forcepoint VPN Client Driver                         sgra_vpn          True
```

O **ComponentID** do módulo da VPN Forcepoint geralmente é **"sgra\_vpn"**, mas pode variar conforme a versão do software.

---

##### **Passo 4: Desativar o Módulo da VPN Somente no WSL2**

Agora que identificamos o módulo da VPN, podemos desativá-lo apenas na interface do WSL2. Para isso, execute:

```powershell
Disable-NetAdapterBinding -Name "vEthernet (WSL (Hyper-V firewall))" -ComponentID "sgra_vpn"
```

Isso desativará o módulo **somente** na interface do WSL2, sem afetar as demais conexões de rede.

---

##### **Passo 5: Confirmar Que o Módulo Foi Desativado**

Para garantir que a configuração foi aplicada corretamente, execute novamente:

```powershell
Get-NetAdapterBinding -Name "vEthernet (WSL (Hyper-V firewall))" | Format-Table -AutoSize
```

Verifique se o campo **Enabled** para `sgra_vpn` agora está **False**:

```
Name                                      DisplayName                                       ComponentID       Enabled
----                                      -----------                                       -----------       -------
vEthernet (WSL (Hyper-V firewall))        Cliente para redes Microsoft                     ms_msclient       True
vEthernet (WSL (Hyper-V firewall))        Protocolo TCP/IPv4                               ms_tcpip          True
vEthernet (WSL (Hyper-V firewall))        Driver da VPN Forcepoint                         sgra_vpn          False
```

---

##### **Passo 6: Reiniciar o WSL2**

Para aplicar as mudanças, reinicie o WSL2 com o comando:

```powershell
wsl --shutdown

```

Depois, inicie o WSL (ou abra sua distro instalada) novamente e teste a conexão de rede:

```powershell
ping google.com
```

Se o ping responder normalmente, o problema foi resolvido! ?

---

##### **Passo 7: Como Reativar o Módulo da VPN (Se Necessário)**

Caso precise reativar o módulo da VPN no WSL2, basta executar o seguinte comando:

```powershell
Enable-NetAdapterBinding -Name "vEthernet (WSL (Hyper-V firewall))" -ComponentID "sgra_vpn"
```

E reiniciar o WSL novamente:

```powershell
wsl --shutdown
```

# Case de estudo: Anatomia de um incidente cibernético

Caso de estudo técnico com base no cenário de incidente cibernético envolvendo rede e ativos, onde ativos comprometidos podem executar atividades maliciosas na rede interna, causando impactos severos aos princípios de segurança da informação na infraestrutura afetada.

Caso de estudo elaborado por:

- Ado Cardoso da Silva - Analista de TI - IFSP - DTI/CAOTI/CASC - Membro titular da ETIR/IFSP

Colaboração:

- Ewiston Nascimento Mattos - Técnico em TI - IFSP - CTI/BRI

# Apresentação da Equipe de Prevenção, Tratamento e Resposta a Incidentes Cibernéticos do IFSP

<p class="callout info">**Apresentação da ETIR/IFSP:**</p>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/58eimage.png)![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/ktMimage.png)

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/NTCimage.png)

# O Incidente

<p class="callout info">**Descrição resumida do ambiente e cenário do case de incidente:**</p>

- <p class="callout warning">Explorações e comprometimento de dispositivos do tipo TvBox;</p>

- <p class="callout warning">Comprometimento das redes onde estavam inseridos estes dispositivos por malware;</p>

- <p class="callout warning">Conexão desses dispositivos à Botnet BadBox2.0 e o recebimento de instruções dos servidores de “Comando e Controle” do malware para ações maliciosas na infraestrutura;</p>

# Como realizar a identificação de incidentes com estas características?

<p class="callout info">**Os principais sintomas quantitativos e qualitativos:**</p>

<p class="callout warning">**1)** Queda no desempenho da rede local e link de internet;</p>

<p class="callout warning">**2)** Queda de desempenho de um determinado host;</p>

<p class="callout warning">**3)** Detecção do consumo excessivo de recursos de ativos de rede, principalmente do firewall de borda (conexões, cpu, memória e tráfego);</p>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/RZPimage.png)

<p class="callout warning">**4)** Logs do firewall apresentando sucessivas conexões originadas nas redes internas e destinadas a redes externas (internet); Mas também podem haver cenário com sucessivas conexões de rede interna para rede interna, indicando possíveis reconhecimentos do ambiente, deslocamentos laterais ou exiltração de dados.</p>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/z2oimage.png)

<p class="callout warning">**5)** Verificação das requisições resolvidas pelo servidor de DNS;</p>

Podem apontar domínios e IPs ainda não identificados, por estarem agindo de maneira mais furtiva, usando técnicas de evasão de defesas ou por não terem atingirem números altos de conexões e/ou não causado impactos no desempenho da rede ou do host.

[![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/SI5image.png)](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/SI5image.png)

IP relacionado a um dos endereços externos ligados a este cenário de incidente, identificados como malicioso. Ele realiza requisições ao servidor DNS para resolver um domínio igualmente malicioso, que tenta se passar pelo "hotmail.com" como "hltmail.com" usando técnica chamada "<span class="T286Pc" data-processed="true" data-sfc-cp="">typosquatting</span>", tentando explorar um erro de digitação do usuário ou sua desatenção ao lê-lo.

Por isso é importante realizar o mesmo monitoramento de IPs que já explicamos no firewall, também sobre o servidor de DNS e armazenar logs das resoluções de DNS realizadas. Elas são um outro grande indicador para incidentes com estas características.

# Juntando o quebra cabeças e entendendo a anatomia

Cruzamento do endereço IP suspeito, identificado como maior gerador de conexões, com as informações de inteligência da plataforma [https://virustotal.com](https://virustotal.com) e o desenvolvimento de pensamento analítico sobre os ativos que compõe o cenário.

<p class="callout info">**Análise de reputação do endereço IP identificado:**</p>

VirusTotal confirmou a ligação da reputação desse CIDR do endereços IP com casos de malware, incluindo domínio maliciosos que estes IPs já foram vinculados, e através de informações indexadas em uma terceira plataforma de inteligência, apontada nos indicadores, que ao ser consultada detalhou ainda mais, como sendo um "malware" ligado a uma "Botnet".

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/RJRimage.png)

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/hb3image.png)

<p class="callout info">**Que tipo de dispositivo da rede originou tais requisições e quais as características sistêmicas desse dispositivo?**</p>

Dispositivo identificado, conforme a gestão de ativos, incluindo sua localização, como uma TvBox MXQ-PRO 4K, confirmado de forma presencial e visual. O dispositivo possui sistema operacional Android na versão 10.1.

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/PV8image.png)

<p class="callout info">**Com o conjunto de informações que temos até aqui, existe algo em fontes abertas que pode refinar ainda mais nossa detecção?**</p>

Recapitulando através de palavras-chave, quais as informações que temos até aqui?

### <span style="color: rgb(186, 55, 42);">**MALWARE + ANDROID + TVBOX + BOTNET**</span>

O que podemos fazer com estas palavras-chave? Busca em fontes abertas na internet, como por exemplo o próprio buscado do Google, e.... **INFORMAÇÕES VALIOSAS!**

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/YNfimage.png)

Com as informações obtidas em fontes abertas, foi possível identificar precisamente que o modelo da TvBox que estamos analisando, e confirmar que ele possui ligação com a Botnet "ANDROID BADBOX 2.0", pois pertencia a um grupo de dispositivos sabidamente comprometidos, com estudo detalhado por pesquisadores de segurança da informação:

[https://www.bleepingcomputer.com/news/security/badbox-malware-disrupted-on-500k-infected-android-devices/](https://www.bleepingcomputer.com/news/security/badbox-malware-disrupted-on-500k-infected-android-devices/)

[https://www.humansecurity.com/learn/blog/satori-threat-intelligence-disruption-badbox-2-0/](https://www.humansecurity.com/learn/blog/satori-threat-intelligence-disruption-badbox-2-0/)

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/bSDimage.png)

- <p class="callout info">**Reforçando as informações colhidas - Estatística de dispositivos infectados por esta Botnet - <span style="text-decoration: underline;">Geral e por Países:</span>**</p>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/Ju2image.png)

Fonte: https://dashboard.shadowserver.org

**Brasil liderando o número de infecções globais.**

<p class="callout warning">**Como este dispositivo pode operar de maneira maliciosa para comprometer a infraestrutura onde estava inserido?**</p>

- <p class="callout info">**Indicadores de <span style="text-decoration: underline;">EVASÃO</span> de defesas detectados:**</p>
    
    
    - **Durante a detecção e contenção, pode haver a alteração dos Indicadores de Comprometimento (IoC) de rede que identiicam o servidor de Comando e controle do Malware (Ip, geolocalização, ASN, Domínios, etc), como no exemplo abaixo, mas não se limitando apenas a estes:**

<span style="text-decoration: underline;"><span style="color: rgb(224, 62, 45); text-decoration: underline;">**DE:** </span></span>

<span style="text-decoration: underline;">**![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/RJRimage.png)**</span>

<span style="text-decoration: underline;"><span style="color: rgb(224, 62, 45); text-decoration: underline;">**PARA:**</span></span>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/rDPimage.png)

- - **Uso de um único dispositivo, com permissionamento excessivo, para se deslocar lateralmente na rede interna, utilizando protocolos autorizados para mascaramento e não despertar alertas/suspeitas.**
        - Dispositivos TvBox podem ser conectadas a um servidor de conteúdo para apresentação de propagandas ou conteúdos internos, nesse cenário, os dispositivos comprometidos, mantém o envio das requisições ao servidor de conteúdo que originalmente teriam permissão, mascarando o tráfego sobre protocolos legítimo, porém, se comparado com o tráfego legítimo, tem quantidades anormais de conexões.
        - Este host interno (servidor de conteúdo), teria um cenário de vulnerabilidades em aplicações, serviços, e permissões excessivas no acesso à rede privilegiada, que permitiriam aos dispositivos maliciosos executar comandos através dele e a partir daí analisar e comprometer outros dispositivos da infraestrutura em outras redes internas (técnica de pivoting).

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/Csgimage.png)

- <p class="callout info">**Indicadores de <span style="text-decoration: underline;">COMPROMETIMENTO</span> do ambiente detectados:**</p>
    
    
    - Em mais uma ação de evasão, horas após os primeiros indícios no ambiente analisando em *timeline*, é possível observar que para não ser detectado, o malware evitaria o tráfego para outras sub-redes, que seria inspecionado pelo firewall, comprometendo hosts/serviços da mesma sub-rede onde está inserido, possivelmente explorando vulnerabilidades de serviços desatualizados nos hosts, com comandos ordenados pelo servidor de comando e controle (C2) externo do malware, através dos dispositivos TvBox locais comprometidos, usando seu servidor legítimo local de conteúdos como pivoting para chegar a hosts da rede onde este servidor está inserido.
    - Nesse cenário de exploração interna, o tráfego ocorreu de host para host de uma mesma sub-rede, sem troca de rede e posteriormente outros hosts da mesma sub-rede passam a tentar se conectar com servidor de comando e controle de malware, externamente, sendo aqui um ponto de detecção.

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/ht4image.png)

- A detecção de explorações nesta camada de uma sub-rede / host para host, poderia ser realizada com ferramentas de *Endpoint Detection and Response* (EDRs), *eXtended Detection and Response* (XDRs) com agentes de resposta ativa, *Host-based Intrusion Prevention/Detection System* (HIDS/HIPS), que monitoram o tráfego, e os hosts dentro de uma mesma sub-rede, através de agentes de resposta ativa.

- <p class="callout info">**Representação gráfica:**</p>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/uIcimage.png)

# Medidas de contenção em caso de ocorrência

Ainda é preciso buscar tentativas de evasão do malware na rede. Sim, malwares possuem inteligência em seu código, suficiente para trocar seus servidores de comandos e controle mediante a suspeita e/ou bloqueios. Estes métodos são chamados de **TÉCNICAS DE EVASÃO:**

Assim, utilizando o endereço CIDR completo, que nos foi retornado pela plataforma VirusTotal, ampliamos nossa análise, e outros dispositivos, que não foram identificados inicialmente, passam a ser identificados como comprometidos, se comunicando com tais servidores de comando e controle maliciosos.

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/KDHimage.png)

<p class="callout warning">**Ações de contenção:**</p>

<p class="callout info">**Remoção física e virtual imediata de todos os dispositivos e suas interfaces de rede vinculadas a este tráfego. Mesmo dispositivos que não sejam TvBox, podem ter sido comprometidos pelo malware, através da exploração de vulnerabilidades para se deslocar na rede. O impacto positivo sobre a qualidade e quantidade da rede é imediato:**</p>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/0mGimage.png)

<p class="callout info">**Imediata desconexão/isolamento do segmento de rede onde o incidente foi detectado, evitando contato com as demais redes.**</p>

<p class="callout info">**Bloqueio local vertical (entrada e saída para internet) e horizontal (redes internas) dos ranges de IPs externos envolvidos no incidente.**</p>

<p class="callout info">**Revisão completa de todas as regras de segmentação entre vlans, recriando-as e incluindo a microsegmentação por origem, destino, serviço, porta e protocolo.**</p>

<p class="callout warning">**Recriação do ZERO de todos os serviços afetados (que não sejam TvBox), através de instalações íntegras. TvBox devem permanecer fora da rede (em casos de estudos acadêmicos, devem ser usadas redes totalmente segmentadas, sem contatos com as demais redes, em caso de impossibilidade, tais dispositivos não devem ser utilizados).**</p>

<p class="callout info">**Atualização de todos os serviços e appliances da rede, mesmo os que não afetados pelo incidente;**</p>

<p class="callout warning">**ATENÇÃO REDOBRADA AO MONITORAMENTO DE REDE E DE ACESSOS.**</p>

# Impactos verificados para este tipo de incidente

<p class="callout danger">**Indisponibilidade das redes locais;**</p>

<p class="callout danger">**Comprometimento e a interrupção de serviços diversos da rede local;**</p>

<p class="callout danger">**Possibilidade do roubo de dados sensíveis;**</p>

<p class="callout danger">**Redirecionamento de acessos para sites falsos/malicioso;**</p>

<p class="callout danger">**Risco da implantação e comprometimento da infraestrutura por variantes de ransomwares;**</p>

<p class="callout danger">**Risco de comprometimento de outras redes interconectadas de forma local, remota ou por VPN;**</p>

<p class="callout danger">**Muito retrabalho para as equipes de TI que devem refazer/sanitizar todos os serviços comprometidos e atualizar serviços e appliances que não tenham sido comprometidos, mas estejam sem o update adequado;**</p>

# Aprendizados e recomendações

<p class="callout success">**Para a prevenção e contenção, MICROSEGMENTAÇÃO! É A REGRA PARA VLANS- PRIVILÉGIO MÍNIMO;**</p>

- Os acessos entre vlans devem ter privilégios mínimos, ao informar apenas a VLAN e definir o acesso como ANY na origem, destino e serviço, você estará liberando o acesso a todo e qualquer serviços e host de uma determinada VLAN para outra;
- Defina exatamente a **Origem (Ip ou grupo pequeno - evite definir uma VLAN) + Serviço + Porta + Protocolo + Destino (Ip ou grupo pequeno - evite definir uma VLAN) exatos;**
    - <span style="color: rgb(224, 62, 45);">**EXEMPLO INSEGURO!**</span><table border="1" style="border-collapse: collapse; width: 100.054%; height: 20.4px;"><colgroup><col style="width: 23.6286%;"></col><col style="width: 19.0506%;"></col><col style="width: 35.9479%;"></col><col style="width: 21.3396%;"></col></colgroup><tbody><tr style="height: 20.4px;"><td class="align-center" style="height: 20.4px;"><span style="color: rgb(224, 62, 45);">**Origem**</span></td><td class="align-center" style="height: 20.4px;"><span style="color: rgb(224, 62, 45);">**Destino**</span></td><td class="align-center" style="height: 20.4px;"><span style="color: rgb(224, 62, 45);">**Serviço (Porta/Protocolo)**</span></td><td class="align-center" style="height: 20.4px;"><span style="color: rgb(224, 62, 45);">**Ação**</span></td></tr><tr><td class="align-center">VLAN1 ou 4.3.2.0/24 ou /16, etc</td><td class="align-center">VLAN2</td><td class="align-center">TODOS (ANY)</td><td class="align-center">LIBERAR (ALLOW)</td></tr></tbody></table>
    - <span style="color: rgb(45, 194, 107);">**EXEMPLO SEGURO!**</span>  
        <table border="1" style="border-collapse: collapse; width: 100.054%;"><colgroup><col style="width: 27.6948%;"></col><col style="width: 26.0518%;"></col><col style="width: 25.2651%;"></col><col style="width: 20.9069%;"></col></colgroup><tbody><tr><td class="align-center" style="height: 20.4px;"><span style="color: rgb(45, 194, 107);">**Origem**</span></td><td class="align-center" style="height: 20.4px;"><span style="color: rgb(45, 194, 107);">**Destino**</span></td><td class="align-center" style="height: 20.4px;"><span style="color: rgb(45, 194, 107);">**Serviço (Porta/Protocolo)**</span></td><td class="align-center" style="height: 20.4px;"><span style="color: rgb(45, 194, 107);">**Ação**</span></td></tr><tr><td>**4.3.3.0/30 (recepção)**
        
        **Ou IPs individualmente, ou grupos pequenos de IPs**
        
        </td><td>**4.3.2.6 (impressora 1)**
        
        **4.3.2.7 (impressora 2)**
        
        </td><td>**JetDirect e PRNREQUEST**</td><td>**LIBERAR (ALLOW)**</td></tr></tbody></table>
- Ataques diversos exploram permissões excessivas na rede para um atacante poder se deslocar lateralmente. Para reduzir esse risco, recomendamos:
    
    
    - Verificação da segmentação das VLANs.
    - Utilize um host Linux conectado a cada VLAN, uma de cada vez, e execute:
        
        ```
        sudo nmap -v -Pn -p- --open ip/16+da+rede+interna
        ```
    - Esse procedimento permite identificar os serviços acessíveis entre VLANs.
        
        Avalie se os acessos identificados são realmente necessários e ajuste as regras de firewall de rede conforme apropriado.
    - <p class="callout success">**A cada regra, sempre faça as seguintes perguntas (elas te salvam):**</p>
        
        
        - Preciso de toda essa vlan como origem de tráfego ou apenas algun(s) host(s) dela?
        - Este host ou esta vlan de origem, precisa acessar todos os hosts ou todas aquelas vlans de destino?
        - Quais serviços essenciais que a origem precisam acessar no destino?!

- <p class="callout warning">**ATENÇÃO TAMBÉM AO CONCEITO DE REGRAS IDA E VOLTA EM FIREWALLS STATEFUL! (armazena o estado de uma sessão/conexão). Se ele permitiu originar uma conexão, ele já sabe que terá volta.**</p>

- - Se o seu firewall opera no modo **stateful**, você não precisa criar regras de volta para o tráfego. Ele armazena o estado das conexões que foram originadas por determinado host e permite que elas sejam retornadas.

<p class="callout success">**ALGUMAS VANTAGENS DO USO DE NGFW em redes (FIREWALL DE PRÓXIMA GERAÇÃO) que fazem diferença neste cenário de incidente:**</p>

- <p class="callout info">**Inspeção profunda de pacotes (DPI):**</p>
    
    
    - Com isso a facilidade na detecção de comportamentos anômalos e padrões maliciosos, mesmo que tentem se ocultar;

- <p class="callout info">**Reconhecimento de aplicativos facilitando bloqueios:**</p>
    
    
    - Você não precisará buscar atualizar listas com IPs, portas e protocolos, que podem mudar rapidamente, essas informações são atualizadas automaticamente pelo atualizados automaticamente pelo fornecedor e suas equipes de segurança da solução diariamente, bastando que você aplique as atualizações.
    - **Consulte se é necessária a aquisição de licenças junto ao fornecedor da solução.**

- <p class="callout info">**Sistema de Prevenção de Intrusão (IPS) e Sistema de Detecção de Intrusão (IDS);**</p>
    
    
    - Padrões e regras de detecção atualizados automaticamente pelo fornecedor e suas equipes de segurança, que podem ser aplicados a cada atualização;
    - **Consulte se é necessária a aquisição de licenças junto ao fornecedor da solução.**

- <p class="callout info">**Integração com inteligência contra ameaças:**</p>
    
    
    - Você não precisará buscar e atualizar listas com categorias, IPs, portas e protocolos, assinaturas e padrões de tráfego que podem mudar rapidamente, estas informações são atualizados automaticamente pelo fornecedor e suas equipes de segurança, bastando aplicar atualizações.
    - **Consulte se é necessária a aquisição de licenças junto ao fornecedor da solução.**

- <p class="callout info">**Detecção e prevenção de malware:**</p>
    
    
    - Informações são atualizados automaticamente pelo fornecedor e suas equipes de segurança, bastando aplicar atualizações.
    - **Consulte se é necessária a aquisição de licenças junto ao fornecedor da solução.**

- <p class="callout info">**Detecção e prevenção comportamental de tráfego:**</p>
    
    
    - Informações são atualizados automaticamente pelo fornecedor e suas equipes de segurança, bastando aplicar atualizações.
    - **Consulte se é necessária a aquisição de licenças junto ao fornecedor da solução.**

- <p class="callout info">**Proteção contra ameaças avançadas:**</p>
    
    
    - Informações são atualizados automaticamente pelo fornecedor e suas equipes de segurança, bastando aplicar atualizações.
    - **Consulte se é necessária a aquisição de licenças junto ao fornecedor da solução.**

<p class="callout success">**Medidas que fazem a diferença na prevenção, tratamento e resposta a esse cenário de incidente:**</p>

- <p class="callout info">**Manter atualizados serviços, sistemas, plataformas e appliances internos.**</p>

- <p class="callout info">**NÃO utilização de dispositivos não-homologados pela ANATEL:**</p>
    
    
    - **Se houver necessidade de experimentos, estes obrigatoriamente devem ser realizados em redes isoladas, sem conexão com outras redes internas e sem conexão com a internet.**

- <p class="callout info">**Sempre monitore a saúde da sua rede!** </p>
    
    
    - **Consumo de recursos, número de conexões, consumo de banda, logs do firewall de borda.**
    - **Monitoramento simples e diário da saúde da sua rede, trará excelentes resultados. (top ips de saída, top ip de entrada, consumo de recursos do firewall, número de conexões, revisão periódica das regras, teste entre vlans).**

- <p class="callout info">**Sempre faça o inventário e a gestão dos seus ativos!** </p>
    
    
    - **Você terá a rapidez na resposta a incidentes e informações precisas sob pressão para tomada de decisão e suporte.**

- <p class="callout info">**OBRIGATORIAMENTE use o MFA em contas técnicas e incentive os usuários a fazerem o mesmo.**</p>
    
    
    - **MFA é padrão obrigatório na proteção contra acesssos não autorizados.**

- <p class="callout warning">**Quando for notificado por algum órgão ou entidade ou parceiro, seja por tráfego suspeito, dados expostos, malware, vulnerabilidades ou qualquer outra temática, investigue a causa RAIZ e verifique qual o ativo que é a origem do alerta!**</p>

- <p class="callout info">**Ao efetuar bloqueios de endereços maliciosos:**</p>
    
    
    - **Faça na horizontal (entrada e saída) e na vertical (entre vlans internas).** 
        - **DICA: Tenha uma regra de "pânico" pronta para estes momentos (regra vinculada a uma lista de IPs, bastando apenas incluí-los), fácil e rápida.**
    - <p class="callout danger">**É importante esclarecer que esta ação é emergencial e não substitui a identiicação da causa raiz do incidente, é eficaz somente nas primeiras horas de tratamento de incidentes, visto que os indicadores de comprometimento (IoCs) — como IPs, URLs e ASNs — são dinâmicos. Isso significa que o dispositivo comprometido, ao detectar um padrão de bloqueio, pode restabelecer comunicação com o servidor malicioso por novos endereços, tornando bloqueios pontuais ineficazes.**</p>
        
        
        - <p class="callout danger">**Assim, sem tratar a causa raiz do comprometimento, a infraestrutura continuará sendo comprometida.**</p>
- <p class="callout info">**Utilização de solução Network Access Control (NAC) e soluções de postura e autenticação para controle de acesso à rede.**</p>

- <p class="callout info">**Segurança cibernética deve ser pensada em camadas!**</p>

![image.png](https://manuais.ifsp.edu.br/uploads/images/gallery/2025-12/scaled-1680-/GvJimage.png)

# Referências:

- **BadBox malware disrupted on 500K infected Android devices** - [https://www.bleepingcomputer.com/news/security/badbox-malware-disrupted-on-500k-infected-android-devices/](https://www.bleepingcomputer.com/news/security/badbox-malware-disrupted-on-500k-infected-android-devices/)

- **Satori Threat Intelligence Disruption: BADBOX 2.0 Targets Consumer Devices with Multiple Fraud Schemes** - [https://www.humansecurity.com/learn/blog/satori-threat-intelligence-disruption-badbox-2-0/](https://www.humansecurity.com/learn/blog/satori-threat-intelligence-disruption-badbox-2-0/)

- **The Shadowserver Foundation** - [https://dashboard.shadowserver.org/statistics/combined/visualisation/?date\_range=1&amp;source=sinkhole&amp;source=sinkhole6&amp;dataset=unique\_ips&amp;limit=100&amp;group\_by=geo&amp;count\_as=avg&amp;style=bubble\_diagram&amp;auto\_update=on](https://dashboard.shadowserver.org/statistics/combined/visualisation/?date_range=1&source=sinkhole&source=sinkhole6&dataset=unique_ips&limit=100&group_by=geo&count_as=avg&style=bubble_diagram&auto_update=on)

- **BadBox 2.0: mais de 370 mil TV boxes foram infectadas no Brasil e usadas em fraudes, diz relatório** - [https://g1.globo.com/tecnologia/noticia/2025/03/19/badbox-20-mais-de-370-mil-tv-boxes-foram-infectadas-no-brasil-e-usadas-em-fraudes-diz-relatorio.ghtml](https://g1.globo.com/tecnologia/noticia/2025/03/19/badbox-20-mais-de-370-mil-tv-boxes-foram-infectadas-no-brasil-e-usadas-em-fraudes-diz-relatorio.ghtml)

- **Quais modelos de TV boxes foram alvo do esquema de fraudes BadBox 2.0** - [https://g1.globo.com/tecnologia/noticia/2025/03/21/quais-modelos-de-tv-boxes-foram-alvo-do-esquema-de-fraudes-badbox-2-0.ghtml](https://g1.globo.com/tecnologia/noticia/2025/03/21/quais-modelos-de-tv-boxes-foram-alvo-do-esquema-de-fraudes-badbox-2-0.ghtml)

- **Anatel emite alerta sobre malware "Bad Box 2.0" em TV Boxes piratas** - [https://www.gov.br/anatel/pt-br/assuntos/noticias/anatel-emite-alerta-sobre-malware-bad-box-2-0-em-tv-boxes-piratas](https://www.gov.br/anatel/pt-br/assuntos/noticias/anatel-emite-alerta-sobre-malware-bad-box-2-0-em-tv-boxes-piratas)