
Un package Zeek pour détecter certaines tentatives de déclenchement d'attaques par relais NTLM via l'exploit Petit Potam. Ce package détecte ce qui semble être des tentatives d'exploitation réussies et échouées. Il fait la distinction entre elles en examinant le code de retour des appels de fonctions DCERPC EFS.
NOTE : Ce package ne détecte que les tentatives d'exploitation transportées sur du SMB non chiffré. Les appels DCERPC sur du SMB chiffré ne seront pas détectés. Dans ces cas, il est parfois possible d'examiner la sortie du journal ntlm.log pour rechercher des signes d'une attaque par relais NTLM en cours.
Le moyen le plus simple d'installer ce package est d'utiliser zkg :
zkg install corelight/petitpotam
Utilisez ./testing/Traces/UnPatchedDCOpenFileRaw.pcapng et vous pouvez suivre l'exemple.
% zeek -Cr ./testing/Traces/UnPatchedDCOpenFileRaw.pcapng ./scripts/main.zeek
% cat ./notice.log
#separator \x09
#set_separator ,
#empty_field (empty)
#unset_field -
#path notice
#open 2021-09-08-09-40-22
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p fuid file_mime_type file_desc proto note msg sub src dst p n peer_descr actions email_dest suppress_for remote_location.country_code remote_location.region remote_location.city remote_location.latitude remote_location.longitude
#types time string addr port addr port string string string enum enum string string addr addr port count string set[enum] set[string] interval string string string double double
1630594391.099325 CyNNkV2Rl7jrlWadG7 192.168.0.15 33524 192.168.0.85 445 - - - tcp PetitPotam::PetitPotam Successful PetitPotam NTLM relay attack: efsrpc2 EfsRpcOpenFileRaw() - 192.168.0.15 192.168.0.85 445 - - Notice::ACTION_LOG (empty) 3600.000000 - - - - -
#close 2021-09-08-09-40-22
% cat ./dce_rpc.log
#separator \x09
#set_separator ,
#empty_field (empty)
#unset_field -
#path dce_rpc
#open 2021-09-08-09-40-22
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p rtt named_pipe endpoint operation
#types time string addr port addr port interval string string string
1630594365.186353 Cdyntb1vGsZnt6aus7 192.168.0.85 57206 192.168.0.80 49677 0.001003 49677 drsuapi DRSUnbind
1630594365.187814 Cdyntb1vGsZnt6aus7 192.168.0.85 57206 192.168.0.80 49677 0.000819 49677 drsuapi DRSUnbind
1630594390.076173 CyNNkV2Rl7jrlWadG7 192.168.0.15 33524 192.168.0.85 445 1.023152 \\pipe\\lsass efsrpc2 EfsRpcOpenFileRaw
1630594416.810307 CDjrA835p6W6vhm4sg 192.168.0.85 57210 192.168.0.80 49677 0.001444 49677 drsuapi DRSGetNCChanges
#close 2021-09-08-09-40-22
Copyright (c) 2021, Corelight, Inc. Tous droits réservés.
La redistribution et l'utilisation sous forme de code source et de code binaire, avec ou sans modification, sont autorisées à condition que les conditions suivantes soient remplies :
(1) Les redistributions de code source doivent conserver l'avis de droit d'auteur ci-dessus, cette liste de conditions et l'avertissement suivant.
(2) Les redistributions sous forme binaire doivent reproduire l'avis de droit d'auteur ci-dessus, cette liste de conditions et l'avertissement suivant dans la documentation et/ou les autres documents fournis avec la distribution.
(3) Ni le nom de Broala, Inc., ni les noms des contributeurs ne peuvent être utilisés pour approuver ou promouvoir des produits dérivés de ce logiciel sans autorisation écrite préalable spécifique.
CE LOGICIEL EST FOURNI PAR LES DÉTENTEURS DU DROIT D'AUTEUR ET LES CONTRIBUTEURS « TEL QUEL » ET TOUTE GARANTIE EXPLICITE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE ET D'ADAPTATION À UN USAGE PARTICULIER SONT DÉCLINÉES. EN AUCUN CAS LE PROPRIÉTAIRE DU DROIT D'AUTEUR OU LES CONTRIBUTEURS NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUT DOMMAGE DIRECT, INDIRECT, ACCESSOIRE, SPÉCIAL, EXEMPLAIRE OU CONSÉCUTIF (Y COMPRIS, MAIS SANS S'Y LIMITER, L'APPROVISIONNEMENT EN BIENS OU SERVICES DE SUBSTITUTION ; LA PERTE D'UTILISATION, DE DONNÉES OU DE PROFITS ; OU L'INTERRUPTION D'ACTIVITÉ) QUELLE QU'EN SOIT LA CAUSE ET SUR TOUTE THÉORIE DE RESPONSABILITÉ, QU'IL S'AGISSE D'UN CONTRAT, D'UNE RESPONSABILITÉ STRICTE OU D'UN DÉLIT (Y COMPRIS LA NÉGLIGENCE OU AUTREMENT) DÉCOULANT DE QUELQUE MANIÈRE QUE CE SOIT DE L'UTILISATION DE CE LOGICIEL, MÊME SI LA POSSIBILITÉ DE TELS DOMMAGES A ÉTÉ SIGNALÉE.