{"id":2208,"date":"2024-09-25T12:26:38","date_gmt":"2024-09-25T12:26:38","guid":{"rendered":"https:\/\/xdr-mdr.lmntrix.com\/main_web\/?p=2208"},"modified":"2025-07-29T03:26:07","modified_gmt":"2025-07-29T03:26:07","slug":"active-directory-penetration-dojo-creation-of-forest-trust-part-3","status":"publish","type":"post","link":"https:\/\/lmntrix.com\/blog\/active-directory-penetration-dojo-creation-of-forest-trust-part-3\/","title":{"rendered":"Active Directory Penetration Dojo &#8211; Creation of Forest Trust (Part 3)"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1920\" height=\"1342\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/Dojo-3-2.webp\" alt=\"Active Directory Penetration Dojo - Creation of Forest Trust (Part 3)\" class=\"wp-image-2228\" srcset=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/Dojo-3-2.webp 1920w, https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/Dojo-3-2-1536x1074.webp 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><figcaption class=\"wp-element-caption\"><br><\/figcaption><\/figure>\n\n\n\n<p>Hi everyone, Welcome to the third part of the setup series on Pentesting lab in AD environment. In the previous posts, we learnt about the <a href=\"https:\/\/lmntrix.com\/lab\/active-directory-penetration-dojo-setup-of-ad-penetration-lab-part-1\/\">Active Directory basics<\/a> and the <a href=\"https:\/\/lmntrix.com\/lab\/active-directory-penetration-dojo-setup-of-ad-penetration-lab-part-2\/\">different servers in AD environment<\/a>. Now you know basic operations like how to create a domain controller, member servers in AD environment, how to add users &amp; computers in the domains.<\/p>\n\n\n\n<p>Let\u2019s move on and grow our environment. We\u2019ve decided to explain Active Directory trusts at this stage because it\u2019s important to understand it as we\u2019re gonna abuse the trusts later.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Active Directory Trusts:-<\/strong><\/h2>\n\n\n\n<p>Below diagram shows few trust types:-<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1024\" height=\"602\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/1-Trust_types-1024x602-1.webp\" alt=\"\" class=\"wp-image-2209\"\/><\/figure>\n<\/div>\n\n\n<p>In an Active Directory environment, trust enables you to grant access to resources to users, groups and computers across entities by linking up the authentication systems of two domains and allows authentication traffic to flow between them through a system of referrals. It\u2019s a two-step process. First step is to establish the trust. Second step is to assign the permissions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Trust direction (One-way or two way)<\/strong><\/h2>\n\n\n\n<p>Trusts can be one-way or two-way. In two-way trust, the domain on either side can access the other side. And in one-way trust \u201cDomain A trusts domain B.\u201d&nbsp; which means that domain A is the trusting domain and domain B will be the trusted domain.<\/p>\n\n\n\n<p>For a user in a certain domain to access a resource in another domain, the user needs to be in the trusted domain. Have a look at below diagram to understand one way trust:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"710\" height=\"380\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/2trust2.webp\" alt=\"\" class=\"wp-image-2210\"\/><\/figure>\n<\/div>\n\n\n<p>The trusts in an Active Directory environment allows to create pathways for authentication to happen so that users from one domain can authenticate and access resources at other domain.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Types of AD trusts:<\/strong><\/h2>\n\n\n\n<p>There are various trust types which we\u2019ll discuss. Trusts can be transitive or non-transitive.<\/p>\n\n\n\n<p>Below table explains some types of trusts:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Trust Type<\/strong><\/td><td><strong>Property<\/strong><\/td><td><strong>Trust Direction<\/strong><\/td><td><strong>Auth.<\/strong><\/td><td><strong>Details<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Tree-Root<\/td><td>Transitive<\/td><td>Two-way<\/td><td>Kerberos V5 or NTLM<\/td><td>Created automatically when a new Tree is added to a forest.<\/td><\/tr><tr><td>Parent-Child<\/td><td>Transitive<\/td><td>Two-way<\/td><td>Kerberos V5 or NTLM<\/td><td>Created automatically when a child domain is added.<\/td><\/tr><tr><td>Shortcut<\/td><td>Transitive<\/td><td>One-way or Two-way<\/td><td>Kerberos V5 or NTLM<\/td><td>Created Manually. Used in a forest to shorten the trust path to improve authentication times.<\/td><\/tr><tr><td>Forest<\/td><td>Transitive<\/td><td>One-way or Two-way<\/td><td>Kerberos V5 or NTLM<\/td><td>Created Manually.Used to share resources between AD DS forests.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Transitive Trust in a forest:-<\/strong><\/h2>\n\n\n\n<p>A trust that extends to any other trusted domain in the forest. For example:- If A trusts B, and B trusts C. Therefore, A trusts C.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Automatic Trusts in forest:-<\/strong><\/h2>\n\n\n\n<p>By default, two-way, transitive trusts are created automatically when a child domain is added or when a domain tree is added. The two default trust types are parent-child trusts and tree-root trusts.<\/p>\n\n\n\n<p>Whenever a child domain is created, a transitive trust is automatically created between the parent and child domain. In the next section, we\u2019ll discuss how the trust works in this scenario when there\u2019s a two way trust.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Trust Flow in Parent-Child domains:-<\/strong><\/h2>\n\n\n\n<p>Below is a picture to visualize the Kerberos process across trust boundaries:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>TGT\u2013&gt;<\/strong><\/h2>\n\n\n\n<p>TGT stands for \u201cTicket Granting Ticket\u201d. A ticket-granting ticket (TGT) is a special ticket that permits the client to obtain additional Kerberos tickets within the same Kerberos realm. When a client sends a request for a ticket to the Key Distribution Center (KDC), the KDC creates a ticket-granting ticket (TGT) for the client, (encrypts it using the client\u2019s password as the key) and sends the encrypted TGT back to the client. The client then attempts to decrypt the TGT, using its password. If the client successfully decrypts the TGT (i.e., if the client gave the correct password), it keeps the decrypted TGT, which indicates proof of the client\u2019s identity.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TGT permits the client to obtain additional tickets (like TGS) which gives permission for specific services.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>TGS\u2013&gt;<\/strong><\/h2>\n\n\n\n<p>TGS stands for \u201cTicket granting service\u201d. TGS is a KDC component that issues a service ticket when a client requests connection to a Kerberos service. Client needs to have a valid TGT, only then the TGS will be issued to it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Inter-Realm TGT \u2013&gt;<\/strong><\/h2>\n\n\n\n<p>In case of authentication in inter-forest trusts, instead of encrypting with Domain1\u2019s <strong>krbtgt<\/strong> account, a ticket is encrypted\/signed with the inter-realm trust key that the domains previously exchanged, which is called as an \u201cInter-realm ticket-granting-ticket\/TGT.\u201d Then Domain2 verifies the TGT included in the referral, decrypts it with the previously negotiated inter-realm trust key and proceeds further. An inter-realm TGT can be forged. We\u2019ll do that in coming posts. I\u2019ll explain the Kerberos process in detail in the next posts when performing kerberoasting. Anyways, Coming back to the above diagram, let me explain what\u2019s happening in it. A client from Domain 1 wants to access the server located in Domain 2.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><u>Here is how it happens:<\/u><\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A client from Domain1 requests a TGT from the DC1.<\/li>\n\n\n\n<li>DC1 responds back with the TGT (encrypted with krbtgt hash)<\/li>\n\n\n\n<li>Client shows the TGT and requests a TGS for accessing the server in Domain2.<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>As DC1 doesn\u2019t find the server in current domain and realizes that the TGS needs to be issued by the DC2 (of Domain2) because the server is located in the Domain2. So it responds back to client with the Inter-realm TGT.<\/li>\n<\/ul>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Client shows the TGT encrypted with Inter-Realm trust key to DC2 in the Domain2 and requests TGS to access the server.<\/li>\n\n\n\n<li>DC2 sends back the TGS for Server encrypted with server\u2019s account hash<\/li>\n\n\n\n<li>Client presents the TGS (encrypted with server\u2019s account hash) to the server for access.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Scope of Authentication when establishing Trusts:<\/strong><\/h2>\n\n\n\n<p>When creating trust, it asks for the scope. In this environment, we\u2019ll use \u201c<strong>Selective Authentication<\/strong>\u201d and there will be a jump server that would have access to the server from other forest. &nbsp;Let me explain the two types of Authentication scopes-<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Forest-wide authentication:-&nbsp;<\/strong><\/h2>\n\n\n\n<p>If we use forest-wide authentication, users from the outside forest have the same level of access to resources in the local forest as users who belong to the local forest.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Selective authentication:-<\/strong><\/h2>\n\n\n\n<p>In case of Selective authentication, you need to manually assign permissions on each computer in the domain as well as the resources to which you want users in the second forest to have access.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"782\" height=\"482\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/3-trust_sa3.webp\" alt=\"\" class=\"wp-image-2211\"\/><\/figure>\n<\/div>\n\n\n<p>To explicitly allow a user to authenticate in this scenario of Selective Authentication, you need to edit an ACE (Access control entry) shown below:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Demonstration<\/strong><\/h2>\n\n\n\n<p>Now we will setup trust between two domains. Let\u2019s say we have a domain \u201c<strong>production.scriptdotsh.local<\/strong>\u201d and an external domain from other forest \u201c<strong>solar.local<\/strong>\u201d. Before creating a cross-forest trust, we need to ensure that we have enough privileges i.e. domain admins at both side. DNS should be configured properly on both sides. Each forest must be able to resolve the DNS name and SRV records contained in the other forest through the use of DNS zones i.e. stub zones, or conditional forwarding (otherwise the trust wizard will fail)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Add DNS Stub zone:-<\/strong><\/h2>\n\n\n\n<p>Let\u2019s add DNS stub zone. We\u2019ll start with the primary site (*production.scriptdotsh.local*) Login into the domain controller and open the *DNS Manager* console. Right-click the <strong>Forward Lookup Zones<\/strong> folder and choose \u201c<strong>New Zone<\/strong>\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"528\" height=\"418\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/4-Dns1.webp\" alt=\"\" class=\"wp-image-2212\"\/><\/figure>\n<\/div>\n\n\n<p>In the <strong><em>Zone Type<\/em><\/strong> page, select the <strong><em>Stub zone<\/em><\/strong> radio button then click <strong>Next<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"406\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/5-Dns2.webp\" alt=\"\" class=\"wp-image-2213\"\/><\/figure>\n<\/div>\n\n\n<p>Leave the defaults here and continue the wizard.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"514\" height=\"408\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/6-Dns3.webp\" alt=\"\" class=\"wp-image-2214\"\/><\/figure>\n<\/div>\n\n\n<p>The zone name that we need to type in this box needs to match the name of the forest in the other site. In our case, it is <strong>solar.local<\/strong>. Type it in then continue the wizard.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"406\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/7-Dns4.webp\" alt=\"\" class=\"wp-image-2215\"\/><\/figure>\n<\/div>\n\n\n<p>In this section, provide the IP address of that DNS server or domain controller of the other domain. Click <strong>Next<\/strong> when you\u2019re done.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"413\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/8-Dns5.webp\" alt=\"\" class=\"wp-image-2216\"\/><\/figure>\n<\/div>\n\n\n<p>Click Finish to create the zone.<\/p>\n\n\n\n<p>In the solar.local site, follow the same process in its DNS server to add the stub zone for scriptdotsh. After adding it, the connection should work fine.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"473\" height=\"101\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/9-ping.webp\" alt=\"\" class=\"wp-image-2217\"\/><\/figure>\n<\/div>\n\n\n<p>Now, we\u2019re done with the DNS settings, the next step will be to create the trust between the two forests.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Creation of Trust:-<\/strong><\/h2>\n\n\n\n<p>To create trusts in Active Directory, open Active Directory Domain and Trusts from administrative tools.<\/p>\n\n\n\n<p>Right click the domain name and choose <strong>properties<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"318\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/10-trust_manage.webp\" alt=\"\" class=\"wp-image-2218\"\/><\/figure>\n<\/div>\n\n\n<p>Go to Trusts tab. This shows a list of all domains with the trust types. As you can see, I already have a trust displaying here. There is a parent-child trust between scriptdotsh.local and its child production.scriptdotsh.local. This trust was automatically created when I added the domain (production.scriptdotsh.local) as a child domain into the forest.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"679\" height=\"538\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/11-trust_parent.webp\" alt=\"\" class=\"wp-image-2219\"\/><\/figure>\n<\/div>\n\n\n<p>To create a new trust, click at the bottom of the trust tab select the option, \u201cnew trust,\u201d to launch the trust wizard. Click next to skip the welcome screen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"499\" height=\"383\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/12-trust_wizard.webp\" alt=\"\" class=\"wp-image-2220\"\/><\/figure>\n<\/div>\n\n\n<p>Here we need to type the domain name or forest name with which we need to create the trust. The name must match the DNS stub zone name created earlier, which in our case is <strong>solar.local<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"385\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/13-trust_name.webp\" alt=\"\" class=\"wp-image-2221\"\/><\/figure>\n<\/div>\n\n\n<p>Select the one way outgoing trust and click next.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"507\" height=\"396\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/14-trust_wizard_direction.webp\" alt=\"\" class=\"wp-image-2222\"\/><\/figure>\n<\/div>\n\n\n<p>Now, choose to create trust on both sides.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"551\" height=\"414\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/15-trust_wizard_sides.webp\" alt=\"\" class=\"wp-image-2223\"\/><\/figure>\n<\/div>\n\n\n<p>Enter credentials that has rights to create trust in the specified domain (admin of solar.local):<\/p>\n\n\n\n<p>Click Next and select the authentication type. Choose \u201cSelective Authentication\u201d<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"398\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/16-trust_wizard_auth.webp\" alt=\"\" class=\"wp-image-2224\"\/><\/figure>\n<\/div>\n\n\n<p>Now, it will not automatically authenticate the users. You need to specify the access manually. Click next and confirm the trust to finish the process.<\/p>\n\n\n\n<p>You\u2019ll get the dialog box saying that SID filtering is enabled. Click OK.<\/p>\n\n\n\n<p><strong>Note<\/strong>:- <strong><em>SID filtering is enabled by default on all inter-forest trusts<\/em><\/strong>.<\/p>\n\n\n\n<p>Microsoft considers security boundary as Forest and not the domain. We can abuse SID history attribute to do the child to root domain privilege escalation i.e. Domain admin to Enterprise Admin on forest root.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"439\" height=\"213\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/17-Trust_sid.webp\" alt=\"\" class=\"wp-image-2225\"\/><\/figure>\n<\/div>\n\n\n<p>Now if you see, an external trust has been created.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"455\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/18-trust_trust.webp\" alt=\"\" class=\"wp-image-2226\"\/><\/figure>\n<\/div>\n\n\n<p>Click properties of this trust and choose validate option to verify the trust.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"412\" height=\"472\" src=\"https:\/\/lmntrix.com\/blog\/wp-content\/uploads\/2024\/09\/19-trust_val.webp\" alt=\"\" class=\"wp-image-2227\"\/><\/figure>\n<\/div>\n\n\n<p>We hope you\u2019ve learnt how to create trusts in Active Directory. You can play around by trying to create trusts by yourself. In the coming posts, we\u2019ll start with the enumeration techniques in the domain environment with demonstration, lateral movement, privilege escalation techniques at the domain level, enumerate and exploit trust relationships, forge the inter-realm trust key and retrieve the <strong>krbtgt<\/strong> hash of that domain etc. Stay tuned for upcoming blogs.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi everyone, Welcome to the third part of the setup series on Pentesting lab in AD environment. In the previous posts, we learnt about the Active Directory basics and the different servers in AD environment. Now you know basic operations like how to create a domain controller, member servers in AD environment, how to add [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2228,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-2208","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-labs"],"_links":{"self":[{"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/posts\/2208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/comments?post=2208"}],"version-history":[{"count":3,"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/posts\/2208\/revisions"}],"predecessor-version":[{"id":4213,"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/posts\/2208\/revisions\/4213"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/media\/2228"}],"wp:attachment":[{"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/media?parent=2208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/categories?post=2208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lmntrix.com\/blog\/wp-json\/wp\/v2\/tags?post=2208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}