PiĂšges de pirate. DĂ©tectez le piratage tĂŽt avec Canarytokens

Honey Tokens (en anglais - «honey signs / signs / identifiers») est l'une des variĂ©tĂ©s de l'idĂ©e Honeypot, un appĂąt pour les intrus pour dĂ©tecter le fait d'un piratage ou pour identifier sa source. Lorsque l'attaquant est dĂ©jĂ  entrĂ© dans le systĂšme, il est susceptible d'effectuer des actions inhabituelles pour l'utilisateur ordinaire. Cela peut ĂȘtre utilisĂ© comme un moyen de dĂ©tecter le piratage. Dans cet article, nous verrons Ă  quel point il est facile de crĂ©er vos propres dĂ©clencheurs pour dĂ©tecter le piratage Ă  un stade prĂ©coce. Ces piĂšges sont utiles pour les administrateurs systĂšme et mĂȘme pour les utilisateurs ordinaires soucieux de la confidentialitĂ© de leurs donnĂ©es.


Avant l'invention des analyseurs de gaz, les mineurs ont emmené un canari avec eux à la mine. En raison du petit corps et du métabolisme rapide, les oiseaux ont réagi aux gaz dangereux dans l'air beaucoup plus tÎt et ont averti les mineurs.

Pourquoi est-ce nécessaire?



Le pirate, une fois dans le nouveau systÚme, commence à regarder autour de lui, comme un voleur, aprÚs avoir pénétré dans l'appartement, commence à ouvrir toutes les boßtes à la recherche de bijoux. L'attaquant ne sait pas à l'avance exactement quelles données ont de la valeur, mais avec une forte probabilité, il vérifiera toutes les options possibles. Par conséquent, il est important que les piÚges ressemblent à des données réelles et soient aussi attrayants que possible pour l'attaquant. Plus tÎt le propriétaire remarque que le piÚge est déclenché, plus vite il se rendra compte qu'il a été piraté et pourra répondre.

Service Canarytokens


canarytokens.org est un service en ligne pour crĂ©er facilement vos propres marqueurs (hanitokens) pour le piratage. Il prend en charge plusieurs options de dĂ©clenchement et vous permet de gĂ©nĂ©rer un dĂ©clencheur prĂȘt Ă  l'emploi avec du courrier joint, oĂč une notification sera envoyĂ©e si le dĂ©clencheur a fonctionnĂ©.

Le service est entiĂšrement gratuit et un dĂ©clencheur peut ĂȘtre gĂ©nĂ©rĂ© instantanĂ©ment sans inscription. Il existe Ă©galement une version auto-hĂ©bergĂ©e pour ceux qui prĂ©fĂšrent garder des secrets sur leur infrastructure. Ensuite, nous verrons comment fonctionne chacun des dĂ©clencheurs et Ă  la fin, nous dĂ©ploierons notre propre serveur canarytokens dans le conteneur Docker.

DĂ©clencher lors de l'ouverture d'un fichier .doc et pdf



Cela fonctionnera si le document a Ă©tĂ© ouvert par le programme pour ĂȘtre visualisĂ©. J'utilise cette astuce trĂšs souvent. Sur chaque ordinateur et lecteur flash, j'ai des documents avec des noms attrayants comme Passwords.pdf ou Bitcoins.doc. J'adore voir comment les comptables avec curiositĂ© examinent tous les fichiers du lecteur flash qui leur sont transfĂ©rĂ©s.
 
Je considÚre que ce déclencheur est le plus efficace et le plus utile pour toutes les catégories d'utilisateurs, des professionnels de la sécurité de l'information aux débutants. Presque personne ne sait qu'un visualiseur PDF peut transmettre le fait d'ouvrir un fichier au propriétaire du document. Tout le monde tombe dessus.
 
Il existe plusieurs façons de saisir le fait d'ouvrir un document. Canarytokens utilise une URL spécifique au document incorporée dans le document pour vérifier les certificats SSL révoqués (liste de révocation de certificats). En conséquence, le programme va à cette adresse et le déclencheur se déclenche.

Déclenchement via la résolution DNS



Il s'agit d'un dĂ©clencheur trĂšs intĂ©ressant dont les avantages ne sont pas immĂ©diatement Ă©vidents. Cela fonctionnera si quelqu'un demande l'adresse IP du sous-domaine gĂ©nĂ©rĂ©, qui est spĂ©cialement gĂ©nĂ©rĂ© pour qu'il ne puisse pas ĂȘtre devinĂ© par hasard ou tordu. Ainsi, les opĂ©rations accidentelles sont exclues. Ce dĂ©clencheur est utilisĂ© pour de nombreuses techniques dĂ©crites ci-dessous, notamment pour dĂ©tecter le fait d'ouvrir un dossier et comme dĂ©clencheur dans la base de donnĂ©es MS SQL. En fait, il existe de nombreuses options pour utiliser ce dĂ©clencheur.

DĂ©clencheur d'URL



Dans ce cas, il suffit qu'une requĂȘte GET, POST ou HEAD soit exĂ©cutĂ©e par rĂ©fĂ©rence. Cela dĂ©clenchera le dĂ©clencheur. En plus de son utilisation habituelle, il peut Ă©galement ĂȘtre utilisĂ© dans des scripts pour vĂ©rifier les analyseurs qui suivent les liens et afficher des aperçus de contenu. Il en va de mĂȘme, par exemple, pour les messageries instantanĂ©es: il suffit d'Ă©crire un lien dans le champ de saisie sur lequel vous avez cliquĂ© depuis les serveurs de messagerie.

Image


L'image classique de 1 x 1 pixel est connue de tous ceux qui suivent la publicitĂ© en ligne. Le dĂ©clencheur fonctionnera si un fichier image a Ă©tĂ© tĂ©lĂ©chargĂ©. Un tel pixel peut ĂȘtre insĂ©rĂ© dans n'importe quelle page html ou dans une lettre. Il est pratique de l'appeler Ă  partir des scripts JS sur la page si la condition nĂ©cessaire a fonctionnĂ©. Vous pouvez Ă©galement remplacer le pixel standard par votre propre image.

DĂ©clencheur d'e-mail



Si une lettre arrive dans la boßte aux lettres générée, le déclencheur fonctionnera. Il est pratique d'utiliser des adresses e-mail, des listes de contacts, etc. pour surveiller les fuites de bases de données.

Par exemple, vous pouvez ajouter cette adresse Ă  votre liste de contacts et savoir quand votre ordinateur portable sur votre tĂ©lĂ©phone sera fusionnĂ© par une application demandant l'accĂšs Ă  votre liste de contacts. . Il est Ă©galement possible pour tous les employĂ©s d'ajouter des adresses de dĂ©clenchement diffĂ©rentes aux blocs-notes sur un ordinateur, un tĂ©lĂ©phone, un client de messagerie et de suivre d'oĂč viennent les contacts.

Une adresse e-mail est spécialement générée qui n'est pas prévisible, par conséquent, la probabilité de sélection et de déclenchement accidentel d'un déclencheur est exclue.

DĂ©clencheur d'ouverture de dossier Windows



Beaucoup ont sĂ»rement vu un fichier desktop.ini cachĂ© qui se trouve dans chaque dossier Windows. Il s'avĂšre qu'il n'est pas si simple. Dans celui-ci, vous pouvez spĂ©cifier l'adresse de l'icĂŽne sur le serveur distant, en utilisant des chemins UNC (ce sont ceux utilisĂ©s pour les lecteurs rĂ©seau et commencer par \\), tandis que Windows effectuera la rĂ©solution DNS sur le domaine spĂ©cifiĂ© dans le lien vers l'icĂŽne et activera le dĂ©clencheur. Le fichier desktop.ini peut ĂȘtre compressĂ© avec d'autres fichiers dans l'archive, et cela fonctionnera si l'archive est dĂ©compressĂ©e.

DĂ©clencheur de clonage de site


Un script simple pour les pages Web qui fonctionne si la page n'est pas ouverte Ă  partir de votre domaine. Peut ĂȘtre utile pour dĂ©tecter le 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);
}

Déclencheur pour exécuter un fichier EXE ou une DLL



Permet de coller le déclencheur avec un fichier ou une bibliothÚque exécutable .exe existant. Il n'est pas détecté par les antivirus. Il convient de garder à l'esprit qu'un tel collage peut casser certains programmes, il est donc préférable d'utiliser quelque chose de simple. En fait, il s'agit d'une méthode connue depuis longtemps utilisée pour propager des chevaux de Troie et des virus, mais dans notre cas, la fonctionnalité cachée est totalement inoffensive. Cependant, il convient de garder à l'esprit que le fichier exécutable peut provoquer une plus grande vigilance pour l'attaquant, et également ne pas s'exécuter sur son systÚme d'exploitation.

DĂ©clencheur pour MS SQL


MS SQL vous permet d'ajouter un dĂ©clencheur pour exĂ©cuter INSERT, SELECT, DELETE, etc. Pour dĂ©clencher un dĂ©clencheur, utilisez la mĂȘme mĂ©thode que pour un fichier desktop.ini, Ă  savoir rĂ©soudre un nom DNS via des chemins UNC.
Exemple de déclenchement pour MS SQL
--créer un proc stocké qui pingera les canarytokens
CREATE proc ping_canarytoken
AS
BEGIN
declareNom d'utilisateur varchar (max), base64 varchar (max), @tokendomain varchar (128), @unc varchar (128), Taille int terminé int Aléatoire 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

DĂ©clencheur de connexion Amazon Web Services


La clé API des services Amazon devrait inciter un attaquant à vérifier ce qu'il contient. Si cette clé API est utilisée pour la connexion, le déclencheur se déclenchera. Dans ce cas, bien sûr, il n'y a pas de données.

Autres déclencheurs


Le service canarytokens.org prend également en charge d'autres déclencheurs, tels qu'un hook SVN, une redirection Web, la lecture d'un code QR, une clé API Slack, etc. Ils utilisent tous un principe similaire, et si vous le souhaitez, vous pouvez créer indépendamment votre propre déclencheur, en ayant dans votre arsenal un nom DNS, un lien avec une image, une adresse postale et des clés API pour les services populaires. En plus des notifications par e-mail, Canarytokens peut tirer un crochet Web si un déclencheur se déclenche. Les mécanismes de fonctionnement sont décrits dans la documentation.

Canarytokens Native Server


Un pirate expĂ©rimentĂ©, voyant dans le code source l'adresse canarytokens.org devine immĂ©diatement tout. Par consĂ©quent, pour une utilisation dans l'entreprise, il est prĂ©fĂ©rable de dĂ©ployer votre propre instance de canarytokens de sorte que toutes les adresses de dĂ©clenchement soient dirigĂ©es vers les domaines internes de l'entreprise et ne puissent pas ĂȘtre distinguĂ©es des services internes rĂ©els.

Les dĂ©veloppeurs fournissent une image Docker prĂȘte Ă  l'emploi . Le processus d'installation est assez typique pour n'importe quelle image, nous n'aborderons donc pas ce sujet. ArrĂȘtons-nous uniquement sur des points non Ă©vidents. Avant l'installation, vous devrez Ă©diter les fichiers frontend.env et switchboard.env .

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

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

Pour envoyer du courrier, je recommande d'utiliser le service Mailgun, car Sendgrid est instable.

Conclusion


Ces piĂšges sont vraiment efficaces. Dans mon cas, les dĂ©clencheurs avec des fichiers PDF sont particuliĂšrement utiles. Le service sera utile pour les utilisateurs ordinaires et les pentesters expĂ©rimentĂ©s. MĂȘme un attaquant sophistiquĂ© qui connaĂźt l'existence des Hanipots et des Hanitokens ne pourra pas rĂ©sister Ă  la tentation de minimiser au moins le sous-domaine trouvĂ© dans la documentation. Si vous utilisez soigneusement et judicieusement les piĂšges, vous pouvez dĂ©tecter un cracker Ă  un stade prĂ©coce.

Ces techniques peuvent ĂȘtre utilisĂ©es sur des serveurs, des ordinateurs de bureau, des stockages de fichiers et mĂȘme sur des tĂ©lĂ©phones.

Si vous souhaitez déployer des canarytokens dans votre propre instance Docker, sur nos machines virtuelles Docker est installé en un clic depuis la place de marché . De plus, nous offrons une remise de 15% sur tous les serveurs utilisant le code promo DONTPANIC.


All Articles