Trampas de hackers. Detecta hackear temprano con Canarytokens

Honey Tokens (en inglés: "signos / signos / identificadores de miel") es una de las variedades de la idea Honeypot, un cebo para que los intrusos detecten el hecho de un hack o identifiquen su origen. Cuando el atacante ya ha ingresado al sistema, es probable que realice acciones inusuales para el usuario común. Esto se puede usar como una forma de detectar piratería. En este artículo, veremos qué fácil es hacer sus propios disparadores para detectar piratería en una etapa temprana. Tales trampas son útiles para los administradores del sistema e incluso para los usuarios comunes que están preocupados por la privacidad de sus datos.


Antes de la invención de los analizadores de gas, los mineros llevaron un canario con ellos a la mina. Debido al cuerpo pequeño y al rápido metabolismo, las aves reaccionaron a gases peligrosos en el aire mucho antes y advirtieron a los mineros.

¿Por qué se necesita esto?



El pirata informático, una vez en el nuevo sistema, comienza a mirar a su alrededor, mientras un ladrón, al haber penetrado en el apartamento, comienza a abrir todas las cajas en busca de joyas. El atacante no sabe de antemano qué datos particulares son valiosos, pero con una alta probabilidad verificará todas las opciones posibles. Por lo tanto, es importante que las trampas se vean como datos reales y sean lo más atractivas posible para el atacante. Cuanto antes se dé cuenta el propietario de que se dispara la trampa, más pronto se dará cuenta de que fue pirateado y podrá responder.

Servicio Canarytokens


canarytokens.org es un servicio en línea para crear convenientemente sus propios marcadores (hanitokens) para hackear. Admite varias opciones de activación y le permite generar un activador listo para usar con el correo adjunto, donde se enviará una notificación si el activador funcionó.

El servicio es completamente gratuito y se puede generar un desencadenante al instante sin registrarse. También hay una versión autohospedada para aquellos que prefieren guardar secretos en su infraestructura. A continuación, veremos cómo funciona cada uno de los desencadenantes y, al final, implementaremos nuestro propio servidor canarytokens en el contenedor Docker.

Se dispara al abrir un archivo .doc y pdf



Funcionará si el programa abrió el documento para verlo. Yo uso este truco muy a menudo. En cada computadora y unidad flash, tengo documentos con nombres atractivos como Passwords.pdf o Bitcoins.doc. Me encanta ver cómo los contadores con curiosidad examinan todos los archivos de la unidad flash que se les transfiere.
 
Considero que este disparador es el más efectivo y útil para todas las categorías de usuarios, desde profesionales de seguridad de la información hasta principiantes. Casi nadie sabe que un visor de PDF puede transmitir el hecho de abrir un archivo al propietario del documento. Todos se encuentran con esto.
 
Hay varias formas de detectar el hecho de abrir un documento. Canarytokens utiliza una URL específica del documento incrustada en el documento para verificar los certificados SSL revocados (Lista de revocación de certificados). Como resultado, el programa va a esta dirección y se dispara el disparador.

Desencadenar mediante resolución DNS



Este es un desencadenante muy interesante, cuyos beneficios no son evidentes de inmediato. Funcionará si alguien solicita la dirección IP del subdominio generado, que se genera especialmente para que no se pueda adivinar por casualidad o torcer. Por lo tanto, se excluyen las operaciones accidentales. Este activador se utiliza para muchas de las técnicas descritas a continuación, incluso para detectar el hecho de abrir una carpeta y como activador en la base de datos MS SQL. De hecho, hay muchas opciones para usar este disparador.

Disparador de URL



En este caso, es suficiente que una solicitud GET, POST o HEAD se ejecute por referencia. Esto activará el activador. Además de su uso habitual, también se puede usar en scripts para verificar analizadores que siguen enlaces para mostrar vistas previas de contenido. También lo hacen, por ejemplo, los mensajeros instantáneos: simplemente escriba un enlace en el campo de entrada en el que hizo clic desde los servidores de mensajería.

Imagen


La imagen clásica de 1x1 píxeles es conocida por todos los que rastrean la publicidad en línea. El disparador funcionará si se ha cargado un archivo de imagen. Tal píxel se puede insertar en cualquier página html o en una letra. Es conveniente llamarlo desde scripts JS en la página si la condición necesaria ha funcionado. También puede reemplazar el píxel estándar con su propia imagen.

Disparador de correo electrónico



Si llega alguna carta al buzón generado, el disparador funcionará. Es conveniente usar direcciones de correo electrónico, listas de contactos, etc. para monitorear la fuga de bases de datos.

Por ejemplo, puede agregar esta dirección a su lista de contactos y averiguar cuándo su computadora portátil se fusionará con alguna aplicación que solicite acceso a su lista de contactos. . También es posible para todos los empleados agregar diferentes direcciones de activación a las computadoras portátiles en una computadora, teléfono, cliente de correo electrónico y realizar un seguimiento de dónde provienen los contactos.

Se genera especialmente una dirección de correo electrónico que no es predecible, por lo tanto, se excluye la probabilidad de selección y activación accidental de un activador.

Activador de apertura de carpeta de Windows



Seguramente, muchos vieron un archivo desktop.ini oculto que está en cada carpeta de Windows. Resulta que no es tan simple. En él, puede especificar la dirección del icono en el servidor remoto, utilizando rutas UNC (estas son las que se utilizan para las unidades de red y comienzan con \\), mientras que Windows realizará la resolución DNS en el dominio especificado en el enlace al icono y activará el disparador. El archivo desktop.ini se puede empaquetar con otros archivos en el archivo, y funcionará si el archivo está desempaquetado.

Disparador de clonación del sitio


Un script simple para páginas web que funciona si la página no está abierta desde su dominio. Puede ser útil para detectar phishing.

if (document.domain != "mydomain.com") {
    var l = location.href;
    var r = document.referrer;
    var m = new Image();
    m.src = "http://canarytokens.com/"+
            "blablabla.jpg?l="+
            encodeURI(l) + "&r=" + encodeURI(r);
}

Disparador para ejecutar un archivo EXE o DLL



Permita pegar el disparador con un archivo ejecutable o una biblioteca existente. No es detectado por los antivirus. Debe tenerse en cuenta que tal pegado puede romper algunos programas, por lo que es mejor usar algo simple. De hecho, este es un método conocido desde hace mucho tiempo que se usa para propagar troyanos y virus, solo que en nuestro caso la funcionalidad oculta es completamente inofensiva. Sin embargo, debe tenerse en cuenta que el archivo ejecutable puede causar una mayor alerta para el atacante y tampoco ejecutarse en su sistema operativo.

Disparador para MS SQL


MS SQL le permite agregar un activador para realizar INSERT, SELECT, DELETE, etc. Para activar un activador, utilice el mismo método que para un archivo desktop.ini, es decir, resuelva un nombre DNS a través de rutas UNC.
Ejemplo de disparador para MS SQL
--create un procedimiento almacenado que va a hacer ping canarytokens
CREATE proc ping_canarytoken
COMO
EMPEZAR
declararnombre de usuario varchar (max), base64 varchar (max), @tokendomain varchar (128), @unc varchar (128), Talla En t hecho En t aleatorio varchar(3);

--setup the variables
set @tokendomain = 'qo2dd6tftntl1pej9j68v31k6.canarytokens.com';
set size = 128;
set done = 0;
set random = cast(round(rand()*100,0) as varchar(2));
set random = concat(random, '.');
set username = SUSER_SNAME();

--loop runs until the UNC path is 128 chars or less
while done <= 0
begin
--convert username into base64
select base64 = (SELECT
CAST(N'' AS XML).value(
'xs:base64Binary(xs:hexBinary(sql:column(«bin»)))'
, 'VARCHAR(MAX)'
) Base64Encoding
FROM (
SELECT CAST(username AS VARBINARY(MAX)) AS bin
) AS bin_sql_server_temp);

--replace base64 padding as dns will choke on =
select base64 = replace(base64,'=','-')

--construct the UNC path
select @unc = concat('\\',@base64,'.',@random,@tokendomain,'\a')

— if too big, trim the username and try again
if len(@unc) <= size
set done = 1
else
--trim from the front, to keep the username and lose domain details
select username = substring(username, 2, len(username)-1)
end
exec master.dbo.xp_fileexist @unc;
END

--add a trigger if data is altered
CREATE TRIGGER TRIGGER1
ON TABLE1
AFTER INSERT
AS
BEGIN
exec ping_canarytoken
end

Activador de inicio de sesión de Amazon Web Services


La clave API de los servicios de Amazon debería atraer a un atacante para que compruebe qué hay allí. Si esta clave API se usa para iniciar sesión, se disparará el desencadenador. En este caso, por supuesto, no hay datos allí.

Otros disparadores


El servicio canarytokens.org también admite otros desencadenantes, como un enlace SVN, redireccionamiento web, lectura de un código QR, clave de API Slack y otros. Todos usan un principio similar, y si lo desea, puede crear de forma independiente su propio disparador, teniendo en su arsenal un nombre DNS, un enlace con una imagen, una dirección postal y claves API para servicios populares. Además de las notificaciones por correo electrónico, Canarytokens puede tirar de un enlace web si se dispara un disparador. Los mecanismos de operación se describen en la documentación.

Servidor nativo de Canarytokens


Un cracker experimentado, al ver en el código fuente la dirección canarytokens.org inmediatamente adivina todo. Por lo tanto, para su uso en la empresa, es mejor implementar su propia instancia de canarytokens para que todas las direcciones de activación vayan a los dominios internos de la empresa y no se puedan distinguir de los servicios internos reales.

Los desarrolladores proporcionan una imagen Docker lista para usar . El proceso de instalación es bastante típico para cualquier imagen, por lo que no tocaremos este tema. Detengámonos solo en puntos no obvios. Antes de instalar, deberá editar el archivo frontend.env y switchboard.env .

# ()       
#     IP-    Docker.        SSL-.
CANARY_DOMAINS=example1.com,example2.com

#            PDF-
#    NS-          .
#   example3.com     example1.com  example2.com
CANARY_NXDOMAINS=example3.com

Para enviar correo, recomiendo usar el servicio Mailgun, porque Sendgrid es inestable.

Conclusión


Tales trampas son realmente efectivas. En mi caso, los disparadores con archivos PDF son especialmente útiles. El servicio será útil tanto para usuarios comunes como para experimentados pentesters. Incluso un atacante sofisticado que conozca la existencia de Hanipots y Hanitokens no podrá resistir la tentación de al menos sobrio el subdominio que se encuentra en la documentación. Si usa trampas con cuidado y prudencia, puede detectar una galleta en una etapa temprana.

Estas técnicas se pueden usar en servidores, computadoras de escritorio, almacenamiento de archivos e incluso en teléfonos.

Si desea implementar canarytokens en su propia instancia de Docker, en nuestras máquinas virtuales Docker se instala con un solo clic desde el mercado . Además, ofrecemos un descuento del 15% en todos los servidores que utilizan el código de promoción DONTPANIC.


All Articles