Kamerka Reconocimiento Automatizado para ICS

En entradas anteriores hablamos un poco sobre los Industrial Control System utilizando Shodan y explicamos las fases del CyberKillChain, en esta ocasión vamos a continuar con el reconocimiento utilizando una herramienta poderosa llamada Kamerka y desarrollada woj-ciech la importancia de esta herramienta en lugar de utilizar solamente shodan es la facilidad que tiene al contar con consultas prefabricadas y solo debemos seleccionar la categoría que deseamos probar.

Existe una versión ligera que podemos acceder en https://lite.kamerka.io/, no obstante no podemos personalizar las búsquedas.

Entre sus Características encontramos

  • Más de 100 dispositivos de ICS
  • Sección de gallerias categorizadas
  • Mapas interactivos con google maps
  • Soporte de google street view
  • Altamente configurable para pruebas con queries o exploits
  • Soporte para Escaneaos de map en formato XML
  • Etc.
Requerimientos
  • Google Maps API
  • Un VPS con 2 vcpu y 8 Gib de memoria
  • Recordar restringir el uso del api a los its del VPS
  • Cuenta de shodan académica o pagada
  • Opcional WHOISXML and Binary Edge API
  • No habilitar el modo debug si esta en producción
1. Instalación

Clonamos el repositorio a nuestro VPS

git clone https://github.com/woj-ciech/Kamerka-GUI.git

1

Debemos agregar las api en el archivo keys.json

2

Utilizaremos el editor de nuestra preferencia y reemplazamos donde corresponde las API (Google Maps y Shodan)

3

Instalaremos los dependencias con pip3 sino esta instalado lo instalamos en conjunto con las demás requerimientos

apt install python3-pip -y
pip3 install -r requirements.txt
apt-get install redis redis-server -y

4

Ejecutamos los siguientes comando en orden

python3 manage.py makemigrations

5

python3 manage.py migrate

6

El siguiente comando iniciara el servidor de Kamerka por lo que debemos dejarlo en ejecución y utilizamos otra ventana o lo ponemos en el background

python3 manage.py runserver

7

**Nota: **Si observamos el puerto utilizado es el 8000 debemos modificar los settings de Kamerka para permitir el acceso a ese puerto y abrir en nuestro proveedor de cloud o bajamos el puerto utilizando un port fowarding

Nosotros vamos a utilizar un port forwarding

ssh -L:8000:localhost:8000 jam620@172.177.5.32

8

Por último debemos a implementar Celery

celery -A kamerka worker --loglevel=info

9

  1. Búsqueda de ICS

Ahora vamos a realizar la búsqueda de Modbus y otros protocolos y chicheamos en search

10

Una vez termine de realizar la consulta debemos ver lo siguiente, mientras se realiza la búsqueda en algunas ocasiones no se actualiza inmediamamente

11

Una vez se termine de actualizar y realizar la búsqueda nos debe salir algo como esto

12

A la izquierda del menu en search podemos desplegar el resultado en una vista de tablas

13

Para ver el Mapa seleccionamos el menu Maps al lado izquierdo, como observamos hay 38 resultados

14

Podemos seleccionar el punto y nos despliega los ips y el tipo de ICS

15

De igual manera podemos acercarnos y vemos las ubicaciones en las diferentes provincias

16

Al seleccionar un punto podemos ver más datos, donde si añadimos otros apis podemos ver información relacionada a twitter o imágenes de flicker

17

Además que nos proporciona un resumen tipo intel

18

Podemos realizar un scaneo con nmap, si lo tenemos instalado

19

Para finalizar la herramienta para hacer un reconocimiento automatizado es recomendable, además podemos observar que cuenta con una interfaz amigable, podemos realizar búsquedas con queries predefinidos o agregarles los nuestros. Por último recordar no exponer en producción sin antes analizar el código es un deber de todos.