Todos usamos teléfonos en la actualidad, y muchas veces compartimos información confidencial a través de estos dispositivos, lo que puede resultar atractivo para los hackers. En esta ocasión los especialistas del Instituto Internacional de Seguridad Cibernética (IICS) le mostraremos cómo elaborar un dispositivo para escuchar conversaciones usando dispositivo de espionaje empleando componentes realmente simples.
Este proceso es verdaderamente simple y no requiere conocimientos de hacking o el uso de avanzados componentes de hardware, pues solo se necesitan algunas piezas de cualquier radio convencional.
Solo algunas empresas cuentan con permisos gubernamentales para fabricar estos dispositivos, y aunque en teoría deberían apegarse a los requerimientos de los gobiernos, el desarrollo de estos dispositivos es tan fácil que cualquiera puede adquirir y usar uno.
Hay diversos tipos de vigilancia:
- Bugs de radio y GSM
- Uso de mini grabadoras de voz
- Cámaras de video ocultas
- Uso de micrófonos láser
El método que usaremos en esta ocasión consiste en elaborar un bug GSM, un dispositivo de gran alcance y batería de larga duración. Sus características le permiten trabajar en modo de espera por hasta diez días y escuchar hasta 4 horas de llamadas telefónicas.
Pinchar conversaciones
La forma más fácil es esconder algo en el lugar más visible, en algo que no llame la atención. A continuación se presentan algunos interesantes para disfrazar su dispositivo de espionaje.
Estas opciones de escucha también son interesantes porque los objetos en los que se introdujeron los dispositivos de espionaje casi siempre están conectados a la red: de esta manera, el dispositivo de espionaje nunca dejara de funcionar, lo que significa que llevará más tiempo realizar su función: transmitir información.
Si el dispositivo de espionaje funciona solo con su propia batería, tendrá que pensar en en un método para recargarla sin que el dispositivo sea detectado; incluso en las películas de espías esto causa problemas adicionales. Una opción es introducir un bug en una batería externa para cargar un teléfono inteligente. A menudo se lleva consigo, se carga y, si no se carga, se convierte en una fuente de energía para el dispositivo de espionaje.
Montaje del dispositivo de escucha
Para montar el dispositivo necesitamos:
- Módulo GSM Sim 800
- Arduino Pro mini
- Un set Power Bank para cuatro baterías Li-ion 18650
- Dos o tres baterías 18650 (usé dos)
- Un micrófono
- Tarjeta SIM
Para ensamblar correctamente un dispositivo para escuchar, necesita conocer las asignaciones de pines en los mini módulos GSM Sim 800 y Arduino Pro.
A continuación, soldamos la antena al módulo GSM en el enchufe NET.
- Para las salidas MIC+ y micrófono para soldar MIC
- RXD y TXD en el módulo GSM a los pines sexto y séptimo en el Arduino
- Soldamos Vccboth GNDfrom el módulo al Arduino y a los contactos en la batería externa
Después de soldar todos los componentes en sus lugares, debe asegurarse de que el soldado sea correcto: A continuación deberá flashear el controlador.
// Conectamos la biblioteca para la implementación de software del intercambio de protocolo UART
#include <SoftwareSerial.h>
SoftwareSerial SIM800 (7, 6); // RX, TX
// Establecer una variable para almacenar la respuesta del módulo
String _response = "";
configuración vacía () {
// La velocidad del intercambio de datos con la computadora
Serial.begin (19200);
// La velocidad del intercambio de datos con el módem
SIM800.begin (19200);
Serial.println ("¡Iniciar!");
// Enviar AT para establecer la velocidad en baudios
sendATCommand ("AT", verdadero);
// Comandos para configurar el módem en cada inicio
// Activar el identificador de llamadas
_response = sendATCommand ("AT + CLIP = 1", verdadero);
// Opción con DTMF
// _ respuesta = sendATCommand ("AT + DDET = 1", verdadero);
}
String sendATCommand (String cmd, bool en espera) {
// Establecer una variable para almacenar el resultado
String _resp = "";
// Duplica el comando en el monitor de puerto
Serial.println (cmd);
// Envía un comando al módulo
SIM800.println (cmd);
// Si necesita esperar una respuesta, espere a que se envíe la respuesta
if (esperando) {
_resp = waitResponse ();
// Si el modo de eco está desactivado (ATE0), estas tres líneas se pueden comentar
if (_resp.startsWith (cmd)) {
_resp = _resp.substring (_resp.indexOf ("\ r", cmd.length ()) + 2);
}
// Duplicar la respuesta al monitor de puerto
Serial.println (_resp);
}
// Devuelve el resultado. Vacío si hay problema
return _resp;
}
// Función de esperar una respuesta y devolver el resultado
String waitResponse () {
// Variable para almacenar el resultado
String _resp = "";
// Variable para rastrear el tiempo de espera (10 segundos)
_tiempo de espera largo = milis () + 10000;
// Espere 10 segundos por una respuesta y verifique la respuesta o el tiempo de espera
while (! SIM800.available () && millis () <_timeout) {};
// Si hay algo para leer, lee y recuerda
si (SIM800.available ()) {
_resp = SIM800.readString ();
}
// Si ha llegado un tiempo de espera, lo notificamos y devolvemos el resultado
else {
Serial.println ("Tiempo de espera ...");
}
return _resp;
}
bucle vacío () {
// Si el módem envió algo, obtenemos una respuesta para su análisis
si (SIM800.available ()) {
_response = waitResponse ();
// Elimina espacios adicionales al principio y al final e imprime la respuesta en el monitor de puerto
_response.trim ();
Serial.println (_response);
// Lista blanca de teléfonos, puede especificar varios de ellos separados por comas
String whiteListPhones = "+380713337866";
// Si hay una llamada entrante, verifique si hay información sobre la definición del número. Si es así, entonces phoneindex> -1
if (_response.startsWith ("RING")) {
int phoneindex = _response.indexOf ("+ CLIP: \" ");
// Variable para almacenar un número específico
String innerPhone = "";
// Si se encontró información, analice la línea y obtenga el número
if (phoneindex> = 0) {
phoneindex + = 8;
innerPhone = _response.substring (phoneindex, _response.indexOf ("\" ", phoneindex));
// Imprime el número en el monitor de puerto
Serial.println ("Número:" + innerPhone);
}
// Compruebe que la longitud del número sea superior a seis dígitos y el número en la lista
// Si es así, respondemos la llamada, si no, rechazamos la llamada
if (innerPhone.length ()> = 7 && whiteListPhones.indexOf (innerPhone)> = 0) {
sendATCommand ("ATA", verdadero);
}
else {
sendATCommand ("ATH", verdadero);
}
}
}
// Espere los comandos seriales y envíe el comando recibido al módem
if (Serial.available ()) {
SIM800.write (Serial.read ());
};
}
Con el sellado y el firmware adecuados, nuestro dispositivo solo responderá las llamadas entrantes de números móviles autorizados, que están registrados en el firmware. Ahora es el momento de quitar los cables de conexión largos, desoldar los LED de la placa Arduino. A continuación aislaremos el micrófono con termorretráctil, le perforamos un agujero en la carcasa de la batería externa y lo colocamos junto con dos tableros al pegamento termofusible, en lugar de una batería 18650.
En el ejemplo mostrado en el artículo, se usaron dos baterías, pero puede usar tres si lo desea; habrá suficiente espacio.
Hemos ensamblado un dispositivo de espionaje GSM en una caja de batería externa. Por supuesto, no es perfecto, pero hay varias formas de mejorarlo.
- Tome un estuche con una mejor capacidad de batería
- Para una mayor autonomía, ponga el módulo GSM en modo de suspensión y, cuando presione el botón de encendido de la batería, active sus funciones
- Envíe un mensaje al propietario de las llamadas cuando presione un botón en una batería externa
Conclusiones
Hemos diseñado y ensamblado un dispositivo completamente capaz de escuchar conversaciones en un cuarto. El costo de este dispositivo casero es mucho menor que el de aquellos desarrollados por grandes compañías de inteligencia o disponibles en Internet. Si decide replicar este dispositivo tenga en cuenta que la privacidad de los usuarios es inviolable, por lo que no deberá hacer esto con fines maliciosos.
Es un conocido experto en seguridad móvil y análisis de malware. Estudió Ciencias de la Computación en la NYU y comenzó a trabajar como analista de seguridad cibernética en 2003. Trabaja activamente como experto en antimalware. También trabajó para empresas de seguridad como Kaspersky Lab. Su trabajo diario incluye investigar sobre nuevos incidentes de malware y ciberseguridad. También tiene un profundo nivel de conocimiento en seguridad móvil y vulnerabilidades móviles.
Envía tips de noticias a info@noticiasseguridad.com o www.instagram.com/iicsorg/
También puedes encontrarnos en Telegram www.t.me/noticiasciberseguridad