– root@injetionsec:~#

Protocolos SCADA é alguns attack vectors

27.02.2014 (7:10 pm) – Filed under: Scada ::

Bem galera os protocolos utilizados nesses sistemas SCADA como já ate citamos em outros posts compõem,dentro os mais conhecidos são:

– MODBUS
– Ethernet/IP
– PROFIBUS
– ControlNet
– Infinet
– HART
– UCA
– Fieldbus
– Distributed Network Protocol (DNP)
– Utility Communications Architecture (UCA)
– Inter-Control Center Communications Protocol (ICCP)
– Telecontrol Application Service Element (TASE)

A maioria dos sistemas SCADA hoje utilizam protocolos que são inseguros ,mal implementados em seus fornecedores  o que resulta nesse insegurança,podemos encontrar tipicas fraquezas hoje:

* não requerem qualquer autenticação
* não necessitam de qualquer autorização
* sem criptografia
* não são adequados em lidar com erros e exceções

Com isso abrimos um leque de vetores de riscos

* Dados interceptados
* Dados que podem ser manipulados
* DDoS
* Spoofing de endereço
* request não solicitado
* Hijacking
* Modificação do registro dos dados
* Acesso não autorizado

E isso podemos levar a vários resultados desastrosos :

* Alterando assim uma outra forma na tela do HMI que pode causar para operador tomadas de deseições incorretas
* Permite acesso não autorizado de pessoas podendo assim assumir os sistemas SCADA
* Interrompimento do processos do sistema SCADA

E isso galera vemos essas vulnerabilidades são uma ponta do iceberg .

Problemas em rede,alguns comandos

25.02.2014 (3:17 pm) – Filed under: Redes ::

Bem galera abaixo, um resuminho bem básico e quais comandos podemos usar para resolver alguns possíveis problemas

9er9we8u

 

Espero que ajudem um pouco =]

Criminosos usarem cartões para fazer pagamento sem saber o PIN do cartão

23.02.2014 (1:42 pm) – Filed under: Vulnerabilidade ::

9hefh

Uma falha encontrada no protocolo permite criminosos usarem cartões para fazer um pagamento sem saber o PIN do cartão,para mais informações acesse

Fonte: www.cl.cam.ac.uk

Coreia do Sul desenvolve Stuxnet semelhante para destruir as instalações nucleares norte-coreanas

23.02.2014 (12:55 am) – Filed under: Worm ::

A fim destruir instalações nucleares norte-coreanas, a Coreia do Sul decidiu desenvolver suas próprias ferramentas de ataque cibernético,tipico Stuxnet  têm sido proposto pelo Ministério da Defesa do país, o mesmo software Stuxnet que foi projetado para atacar e destruir as usinas nucleares iranianas. (…)

A primeira parte do plano da Coréia do Sul,é de continuar  a realização de operações de propaganda on-line, colocando em rede social norte-coreana e os serviços de mídia social, mais infomações.

Fonte: hackread

Diretórios do Linux/Unix

17.02.2014 (5:57 pm) – Filed under: Linux ::

Bem galera vamos falar um pouco desses diretórios que sistemas linux/unix ,sendo assim mais complexo que o do windows

/ ; diretorio raiz, e acomoda todos os diretorios

/bin ; arquivos executaveis e comandos essenciais para sistema,

/boot ; onde fica os arquivos estaticos necessarios para carregar o sistema,como a imagem do kernel,onde tem o arquivo de mapa dos setores

/dev ; diretorio de arquivos dos dispositivos como,cd/dvd-rom,portas,disquetas,discos e etc, mapeamento de cada dispositivo possa ser usado pelo usuario

/etc ; arquivo de configuraçoes do linux, e são unicos para cada sistema,possui dois subdiretorios como :
x11 – arquivo de configuração para interface grafica do linux
sk – são os arquivos padrões

/home ; alguns sistemas nem tem, e onde fica os diretorios locais de cada usuario com suas devidas permissões

/lib ; localizado as bibliotecas do linux,funções e procedimentos dos mesmo, onde e utilizados pelos programas e cada versão do linux acompanha cada versão de biblioteca

/mnt ; ponto de montagem de dispositivos no sistema

/proc ; informações do kernel e dos processos,seria um mapeamento de sistema de arquivo virtual,como porta de I/O,interrupções, e etc,não e um diretorio em si.

/opt ; este diretorio e onde ficam os aplicativos que não fazem parte da distribuição do linux

/root ; e o diretorio home do super-usuario alguns sistemas linux podem utiliza-los

/sbin ; arquivos essencias para sistema como aplicativos para manutenção e configuração da maquina, e somente o root tem acesso aos arquivos, o gerenciador de boot fica nesse diretorio

/tmp ; diretorio temporario, a cada reboot e apagado

/usr ; arquivos pertencentes ao usuarios e é a segunda maior hierarquia de diretorios

/var ; variavel,onde e guardado todas as info do sistemas, como logs do sistemas

Veja abaixo como são os diretórios

O FHS (Filesystem Hierarchy Standard) : e definido os principais diretórios de um sistema Linux,é mantido pela Free Standard Groups, que contém engenheiros de empresas como Red Hat, IBM, Dell e HP. Hoje em dia, 99% dos sistemas Linux trabalham com o FHS (provavelmente todos Linux que você conhece usam);padrão melhor entre os diretorios assim sendo portavel para qualquer distribuição linux.

Como um CLP opera

17.02.2014 (3:08 pm) – Filed under: CLPs ::

O CLP funciona sequencialmente,primeiro, ele “verifica” o estado dos dispositivos ligados às suas entradas,discretas ou reais; digitais ou analógicas,depois ele “executa” a lógica interna de seu programa e assim determina o estado dos dispositivos ligados às suas saídas ,ao terminar a Fase 3, o CLP volta à Fase 1 e assim por diante vejamos abaixo

908r3r

O scan de um CLP e tipo uma leitura cíclica, correspondendo ao tempo decorrido entre a leitura das entradas e a atualização das saídas,então o programa que vai definir o automatismo é constituído por uma série de instruções e funções onde são operados os bits de memória do CLP,estas instruções e funções, serão introduzidas na memória do CLP, através de um computador com software que gera e envia o programa do computador ao CLP.

Os CLPs têm, basicamente, dois modos de operação: o modo RUN – é o modo normal de funcionamento do CLP, neste modo o CLP executa o programa contido na memória e no modo PROGRAM ou STOP – é o modo para iniciar o programa no CLP. Estes modos de funcionamento são selecionados através de uma chave que geralmente está na frente do CLP ou através do software de programação.As áreas de memória têm designações diversas, as instruções e funções têm mnemônicas e códigos diferentes e a sequência de teclas na console destinadas à programação difere de marca para marca. No entanto, conhecendo um modelo, facilmente nos integramos no modo de funcionamento de um outro, pela simples consulta do respectivo manual, uma vez que a lógica de programação dos sistemas existentes no mercado não difere no seu essencial.

Bitcoin começa a ganhar espaço no brasil

15.02.2014 (11:09 pm) – Filed under: Noticias ::

O programador André Horta, de 30 anos, levou seu Honda Fit a uma oficina de Belo Horizonte para uma revisão mecânica que custou R$ 430. Para quitar a fatura, André não usou cartão de débito ou crédito, cheque ou mesmo dinheiro vivo. O pagamento nem foi feito exatamente em reais. Diego Silva, o dono da concessionária, recebeu um total de 0,22 bitcoins, a moeda virtual mais conhecida da internet e que pode ser um modelo para uma revolução nos meios de pagamentos e recebimentos em todo o mundo,mais informações podem ser acessadas.

Fonte: g1.globo

 

Protocolo Modbus – Parte 2

14.02.2014 (11:37 pm) – Filed under: Modbus ::

Vamos falar mais detalhadamente desse protocolo modbus,ele é utilizado no nível da camada de aplicação  e foi inicialmente desenvolvido para ser utilizado na comunicação dos CLPs com os sensores e os atuadores,nos anos 70 e recentemente tornou-se GPL (General Public License). Atualmente, o Modbus é mantido pela Modbus-IDA que é formada por um grupo de usuários e fornecedores independentes.

Comunicação Serial e Formato dos Pacotes

O Modbus foi desenvolvido para dispositivos que utilizavam meios de comunicação serial,sua comunicação pode  ser realizada de duas formas: RTU (Remote Terminal Unit) e ASCII (American Standard Code for Information Interchange) é possuem um formato de pacote específico, que é o mesmo para requisição ou para resposta. As formas RTU e ASCII diferenciam-se na representação dos seus dados.Cada pacote Modbus serial é composto de seis campos que são representados por dados binários, no modo RTU, e por caracteres, no modo ASCII. Estes campos são definidos veja abaixo:

• Início: indica o começo do pacote;
• Endereço: indica qual dispositivo receberá ou enviará o pacote. A faixa de endereços válidos dos dispositivos varia de 0 a 247, sendo o endereço 0 (zero) utilizado para mensagens que são enviadas para todos os dispositivos slaves;
• Função: este campo representa o objetivo do pacote;
• Dados: campo onde os dados serão alocados,este campo tem o seu conteúdo de acordo com o campo Função do pacote;
• Controle: é responsável pela detecção de erros no pacote
• Fim: finaliza os  dispositivos

No modo RTU, o campo Início é representado por um intervalo de silêncio. Os campos, de Endereço e de Função, são representados por 8 bits. O campo Dados depende da função e cada informação é representada por 8 bits também, podendo conter
inúmeras informações  dentro de um mesmo pacote,a verificação de erro neste modo é realizada através do algoritmo de CRC (Cyclic Redundancy Check), sendo representado por 16 bits. O campo Fim é representado pelo mesmo conteúdo do campo Início, um intervalo de silêncio.

77y4t4

 

O campo Início, no modo ASCII, é definido pelo caractere “:”(0x3A em hexadecimal).Os campos, de Endereço e de Função, são representados por dois caracteres. O campo Dados, no modo ASCII, é representado por uma quantidade variável  de caracteres. O
campo Controle é representado por dois caracteres ASCII e utiliza o algoritmo de LRC (Longitudinal Redundancy Check) para detecção de erros. O fim do pacote é representado por um par de caracteres de CR (Carriage Return) e de LF (Line Feed) (0x0D e 0x0A em hexadecimal respectivamente). Os campos dos pacotes RTU e ASCII podem ser visualizados nas figuras acima

Protocolo Modbus – Parte 1

14.02.2014 (4:46 pm) – Filed under: Modbus ::

Para criar seu próprio fuzzer você primeiro deve entender o seu protocolo alvo,o modbus é um protocolo de comunicação industrial projetado pela Modicon,agora Schneider Electric,o modbus normalmente e usado para conectar um sistema SCADA a um dispositivo RTU ou PLC,os primeiros foram projetado para comunicação com base em interfaces seriais.
//
//
Ele inclui Modbus RTU / ASCII, que é usado para comunicação serial e Modbus TCP / IP que usam TCP / IP para comunicação do Modbus.A versão inicial do Modbus tem uma estrutura de pacotes geral que contém, endereço, código da função, dados e verificação de erros.

//
//

> Frame geral do Modbus
Vemos que temos dois elementos, ADU que é cabeçalho do pacote e PDU que é a carga útil do pacote. Temos o ID da transação, ID do protocolo e comprimento contem dois bytes, enquanto comprimento e código de função são apenas um byte.A estrutura de pacotes é simples, os ID protocolo Modbus é sempre 0×0000. O comprimento do pacote real do Modbus TCP tem menos de 6 byte e UnitID de um pacote Modbus é normalmente 0×00 ou 0xFF.

//
//

> Frame do TCP do modbus
Por conta do design muito antigo o Modbus não suporta qualquer criptografia e não têm qualquer proteção contra ataques de response,sua comunicação contem dispositivo slave e dispositivo master,os dispositivo master do Modbus geralmente se referem ao cliente do Modbus que podem ser máquina ou dispositivo de SCADA HMI,e o Modbus slave referem-se a uma RTU ou PLC dispositivos.

//
//

> Rede modbus
E uma das vulnerabilidades deste protocolo é a possibilidade de impressões digitais através de sua porta padrão TCP 502. você pode determinar 43 protocolo,assim identificando os PLCs e obtendo as informações como o tipo de dispositivo, fabricante, versão e outras informações úteis para futuros ataques.

Para facilitar nossa vida temos Modscan que e um scanner que busca vulnerabilidades de todos os dispositivos de rede SCADA e procura identificá-los. ModScan é um scanner MODBUS / TCP você pode ver os dispositivos que utilizam a porta para MODBUS / TCP na rede e encontrar-los.

Referencias: sigint | digitalbond | wikipedia

Demonstração de vulnerabilidades em sistema SCADA

14.02.2014 (4:05 pm) – Filed under: Scada ::

Estava vagando na net e achei interessante essa demonstração “Demonstração de vulnerabilidades em sistemas SCADA” que foi realizado no Black Hat 2013.