miércoles, 25 de abril de 2018

[Schneider] "Descarga Denegada."

En mi entrada anterior presente unos simples pasos para conectar con PLC de la firma Schneider con UnityXL





Básicamente:
Establecemos la dirección IP del device y nos conectamos







y en este punto un pequeño hallazgo.

Un operador (o responsable técnico) si es la primera vez que se conecta, los mas probable es que desee descargar su lógica ("Transferir el Proyecto")



Recientemente descubrí que si uno envia cierta trama (valida) en el momento de esta transferencia, se  suspende la descarga instantáneamente.
Para lo cual simplemente, el operador o responsable técnico simplemente tendrá que reiniciar el proceso de descarga.

y esto es totalmente valido para cada vez que re inyectemos "44 \ x62 \ x00 \ x00 \ x00 \ x08 \ x00 \ x5a \ x01 \ x34 \ x00 \ x01 \ x14 \ x00" , (el byte 13 va random ), no quedara mas que reiniciar el proceso de descarga, por cada vez que esta inyección es recibida.

Teniendo esto claro, imaginen un escenario en donde se envía esta trama en un bucle apuntando a un PLC en particular durante "n" tiempo.


Video POC:
Arme un simple script en Python que envia esa trama. Aqui un vídeo (Calidad mala) en su primera versión, para evidenciar el hallazgo:






python script:

git: https://github.com/ezelf/negationUnityProXL
Negando el acceso al servicio (que aun esta arriba )



Esta tool le pasamos por argumento, el host del PLC  y el tiempo que quiero que este perdure en envió de nuestra trama.

usr@pwn:~/negationUnityProXL/python negation.py --host 87.1**.1**.*6 --sid 00 --min 30 --interval 2








Saludos,
@Capitan_alfa


No hay comentarios.:

Publicar un comentario