{"id":9474,"date":"2020-03-02T20:05:46","date_gmt":"2020-03-02T14:35:46","guid":{"rendered":"http:\/\/kalilinuxtutorials.com\/?p=9474"},"modified":"2020-03-02T20:05:46","modified_gmt":"2020-03-02T14:35:46","slug":"polyshell","status":"publish","type":"post","link":"https:\/\/kalilinuxtutorials.com\/polyshell\/","title":{"rendered":"Polyshell : A Bash\/Batch\/PowerShell Polyglot"},"content":{"rendered":"\n<p><strong>PolyShell<\/strong> is a script that&#8217;s simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing as it  can be executed on most systems without the need for target-specific  payloads.  <\/p>\n\n\n\n<p>It is also specifically designed to be deliverable via  input injection using a <a href=\"https:\/\/shop.hak5.org\/collections\/usb-rubber-ducky\/products\/usb-rubber-ducky-deluxe\">USB Rubby Ducky<\/a>, <a href=\"https:\/\/malduino.com\/\">MalDuino<\/a>, or similar device.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-r1em1iQTPho\/Xls7LeQZNAI\/AAAAAAAAFNU\/bc30VHu2pow5exc4vCaitCqf0CDIVyt8gCLcBGAsYHQ\/s1600\/polyshell-3.png\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-YdSiII9pFcE\/Xls7Ke2gF7I\/AAAAAAAAFNI\/zYGb-zsWOC8o1VqZ1vLpbNOjU7cDRnvMACLcBGAsYHQ\/s1600\/polyshell-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-K5fG012bs2Q\/Xls7KW9Dp6I\/AAAAAAAAFNQ\/fF5IXJNc3SoZQnF3Jhd8JJyYBBA8t27ewCLcBGAsYHQ\/s1600\/polyshell-2.png\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><strong>Also Read &#8211; <a href=\"https:\/\/kalilinuxtutorials.com\/ssf-secure-socket-funneling\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"SSF : Secure Socket Funneling Network Tool (opens in a new tab)\">SSF : Secure Socket Funneling Network Tool<\/a><\/strong><\/p>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong>How To Use It?<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/llamasoft\/polyshell#as-a-stand-alone-script\"><\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>As a stand-alone script<\/strong><\/li><\/ul>\n\n\n\n<ol class=\"wp-block-list\"><li>Copy\/rename the script so it has the correct file extension (<strong><code>.sh<\/code>, <code>.bat<\/code>, or <code>.ps1<\/code><\/strong>).<\/li><li>Run the script with a Unix shell, as a batch file, or with PowerShell.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/llamasoft\/polyshell#using-input-injection\"><\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Using input injection<\/strong><\/li><\/ul>\n\n\n\n<ol class=\"wp-block-list\"><li>Open a terminal on the target machine.<\/li><li>Run the payload.<\/li><li>Press Ctrl-C, then run <code><strong>exit<\/strong><\/code>.<\/li><\/ol>\n\n\n\n<p>The input injection method will behave slightly differently than the \nscript method.  When run as a script, the payload will exit immediately \nonce a language has been processed.  When delivered via injection, the \npayload runs a read loop instead.  Without it, the payload would close \nthe terminal window but continue typing into an unknown window instead. \n The Ctrl-C breaks the script out of the read loop, allowing it run \nwithout unintended side-effects.<\/p>\n\n\n\n<p>Additionally, pasting the script into a terminal might fail.   Once the script reaches the read loop, some terminals will treat the  remaining pasted text as the read loop&#8217;s input (good), but others may  continue executing the script when the read loop exits (bad).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/llamasoft\/polyshell#how-it-works\"><\/a><\/h2>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong>How It Works?<\/strong><\/p>\n\n\n\n<p>The main trick is to get each other language to &#8220;look away&#8221; when we  want to run code specific to only one of them.  This is accomplished by  exploiting language quirks surrounding quoting, redirection, and  comments.<br> Consider the following line:<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>echo \\&#8221; &lt;&lt;&#8216;BATCH_SCRIPT&#8217; &gt;\/dev\/null &#8220;&gt;NUL &#8220;\\&#8221; `&#8221; &lt;#&#8221;<\/strong><\/p>\n\n\n\n<p>Each language sees the <code>echo<\/code> command, but will interpret the rest of the line differently.<br>\nFor example, this is what each language will interpret as a string:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>      echo \\\" &lt;&lt;'BATCH_SCRIPT' >\/dev\/null \">NUL \"\\\" \\`\" &lt;#\"\nBash                                      [-----]     [---]\nBatch       [-----------------------------]     [-]   [---]\nPS          [-----------------------------]     [-]\n<\/code><\/pre>\n\n\n\n<p>After executing the line, the bash script will be in a <a href=\"https:\/\/www.tldp.org\/LDP\/abs\/html\/here-docs.html\">here document<\/a>, PowerShell script will be in a <a href=\"https:\/\/ss64.com\/ps\/syntax-comments.html\">multiline-comment<\/a>,\n and the batch script will continue executing normally.  After each \nlanguage is done executing, we terminate it.  This prevents us from \nneeding to work around its quirks later in the script.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/llamasoft\/polyshell#quirks\"><\/a><\/h3>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong>Quirks<\/strong><\/p>\n\n\n\n<p>Obviously, the tricks required to make this polyglot doesn&#8217;t follow <em>normal<\/em> coding conventions.<br>\nThere are quite a few quirks that were leveraged or had to be worked around:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>All three languages have different escape characters: <ul><li>Bash: backslash (<code><strong>\\<\/strong><\/code>)<\/li><li>Batch: caret (<code><strong>^<\/strong><\/code>)<\/li><li>PowerShell: backtick (<code><strong>`<\/strong><\/code>) <\/li><\/ul><\/li><li>Escape characters work inside Bash and PowerShell strings, but not batch strings.<\/li><li>Redirects (i.e. <code><strong>&lt;<\/strong><\/code> and <code><strong>&gt;<\/strong><\/code>) have special meaning in all three languages unless quoted.<\/li><li>Redirects don&#8217;t have to be at the end of a command. <ul><li>This is valid Bash\/Batch\/PowerShell: <strong><code>echo &gt;output.txt \"Hello World\"<\/code> <\/strong><\/li><\/ul><\/li><li>Batch is the only language <em>without<\/em> multi-line strings or comments.<\/li><li>Batch treats <code>&gt;<\/code> as a redirect even when it directly touches a string, but PowerShell doesn&#8217;t.<\/li><li>Batch script <code>GOTO<\/code> statements only work when run as a script, not when run interactively.<\/li><li>PowerShell&#8217;s multi-line comment (<code>&lt;#<\/code>) must be immediately preceded by whitespace.<\/li><li>Bash&#8217;s here documents may begin <em>anywhere<\/em> so long as it&#8217;s unquoted and not a comment.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-button aligncenter is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link has-background has-vivid-cyan-blue-background-color\" href=\"https:\/\/github.com\/llamasoft\/polyshell\"><strong>Download<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>PolyShell is a script that&#8217;s simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing as it can be executed on most systems without the need for target-specific payloads. It is also specifically designed to be deliverable via input injection using a USB Rubby Ducky, MalDuino, or similar [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":16144,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png","fifu_image_alt":"Polyshell : A Bash\/Batch\/PowerShell Polyglot","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[28],"tags":[345,350,2552,2577,2581],"class_list":["post-9474","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kali","tag-bash","tag-batch","tag-polyshell","tag-powershell","tag-powershell-polyglot"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Polyshell : A Bash\/Batch\/PowerShell Polyglot 2020<\/title>\n<meta name=\"description\" content=\"PolyShell is a script that&#039;s simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kalilinuxtutorials.com\/polyshell\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Polyshell : A Bash\/Batch\/PowerShell Polyglot 2020\" \/>\n<meta property=\"og:description\" content=\"PolyShell is a script that&#039;s simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kalilinuxtutorials.com\/polyshell\/\" \/>\n<meta property=\"og:site_name\" content=\"Kali Linux Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-02T14:35:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png\" \/>\n<meta name=\"author\" content=\"R K\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png\" \/>\n<meta name=\"twitter:creator\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:site\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"R K\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/\"},\"author\":{\"name\":\"R K\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad\"},\"headline\":\"Polyshell : A Bash\/Batch\/PowerShell Polyglot\",\"datePublished\":\"2020-03-02T14:35:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/\"},\"wordCount\":524,\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png\",\"keywords\":[\"Bash\",\"Batch\",\"Polyshell\",\"PowerShell\",\"PowerShell Polyglot\"],\"articleSection\":[\"Kali Linux\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/\",\"name\":\"Polyshell : A Bash\/Batch\/PowerShell Polyglot 2020\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png\",\"datePublished\":\"2020-03-02T14:35:46+00:00\",\"description\":\"PolyShell is a script that's simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kalilinuxtutorials.com\/polyshell\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage\",\"url\":\"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png\",\"contentUrl\":\"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"name\":\"Kali Linux Tutorials\",\"description\":\"Kali Linux Tutorials\",\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\",\"name\":\"Kali Linux Tutorials\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"contentUrl\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"width\":272,\"height\":90,\"caption\":\"Kali Linux Tutorials\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/CyberEdition\",\"https:\/\/www.threads.com\/@cybersecurityedition\",\"https:\/\/www.linkedin.com\/company\/cyberedition\",\"https:\/\/www.instagram.com\/cybersecurityedition\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad\",\"name\":\"R K\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g\",\"caption\":\"R K\"},\"url\":\"https:\/\/kalilinuxtutorials.com\/author\/ranjith\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Polyshell : A Bash\/Batch\/PowerShell Polyglot 2020","description":"PolyShell is a script that's simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing","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:\/\/kalilinuxtutorials.com\/polyshell\/","og_locale":"en_US","og_type":"article","og_title":"Polyshell : A Bash\/Batch\/PowerShell Polyglot 2020","og_description":"PolyShell is a script that's simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing","og_url":"https:\/\/kalilinuxtutorials.com\/polyshell\/","og_site_name":"Kali Linux Tutorials","article_published_time":"2020-03-02T14:35:46+00:00","og_image":[{"url":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png","type":"","width":"","height":""}],"author":"R K","twitter_card":"summary_large_image","twitter_image":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png","twitter_creator":"@CyberEdition","twitter_site":"@CyberEdition","twitter_misc":{"Written by":"R K","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/#article","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/"},"author":{"name":"R K","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad"},"headline":"Polyshell : A Bash\/Batch\/PowerShell Polyglot","datePublished":"2020-03-02T14:35:46+00:00","mainEntityOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/"},"wordCount":524,"publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage"},"thumbnailUrl":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png","keywords":["Bash","Batch","Polyshell","PowerShell","PowerShell Polyglot"],"articleSection":["Kali Linux"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/","url":"https:\/\/kalilinuxtutorials.com\/polyshell\/","name":"Polyshell : A Bash\/Batch\/PowerShell Polyglot 2020","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage"},"thumbnailUrl":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png","datePublished":"2020-03-02T14:35:46+00:00","description":"PolyShell is a script that's simultaneously valid in Bash, Windows Batch, and PowerShell. This makes PolyShell a useful template for penetration testing","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kalilinuxtutorials.com\/polyshell\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/polyshell\/#primaryimage","url":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png","contentUrl":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png"},{"@type":"WebSite","@id":"https:\/\/kalilinuxtutorials.com\/#website","url":"https:\/\/kalilinuxtutorials.com\/","name":"Kali Linux Tutorials","description":"Kali Linux Tutorials","publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kalilinuxtutorials.com\/#organization","name":"Kali Linux Tutorials","url":"https:\/\/kalilinuxtutorials.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/","url":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","contentUrl":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","width":272,"height":90,"caption":"Kali Linux Tutorials"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/CyberEdition","https:\/\/www.threads.com\/@cybersecurityedition","https:\/\/www.linkedin.com\/company\/cyberedition","https:\/\/www.instagram.com\/cybersecurityedition\/"]},{"@type":"Person","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad","name":"R K","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g","caption":"R K"},"url":"https:\/\/kalilinuxtutorials.com\/author\/ranjith\/"}]}},"jetpack_featured_media_url":"https:\/\/1.bp.blogspot.com\/-lmvR6XJPhvk\/Xls7KQh-XgI\/AAAAAAAAFNM\/4w0Ovk8GnqULOGxIa8qK7RRZA2-Q7jhlQCLcBGAsYHQ\/s1600\/polyshell-1%25281%2529.png","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":11142,"url":"https:\/\/kalilinuxtutorials.com\/snowcrash\/","url_meta":{"origin":9474,"position":0},"title":"SNOWCRASH &#8211; A Polyglot Payload Generator","author":"R K","date":"August 6, 2020","format":false,"excerpt":"SNOWCRASH creates a script that can be launched on both Linux and Windows machines. Payload selected by the user (in this case combined Bash and Powershell code) is embedded into a single polyglot template, which is platform-agnostic. There are few payloads available, including command execution, reverse shell establishment, binary execution\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12493,"url":"https:\/\/kalilinuxtutorials.com\/snowcrash-2\/","url_meta":{"origin":9474,"position":1},"title":"SNOWCRASH : A Polyglot Payload Generator","author":"R K","date":"April 20, 2021","format":false,"excerpt":"SNOWCRASH creates a script that can be launched on both Linux and Windows machines. Payload selected by the user (in this case combined Bash and Powershell code) is embedded into a single polyglot template, which is platform-agnostic. There are few payloads available, including command execution, reverse shell establishment, binary execution\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11615,"url":"https:\/\/kalilinuxtutorials.com\/powerglot\/","url_meta":{"origin":9474,"position":2},"title":"Powerglot : Encodes Offensive Powershell Scripts Using Polyglots","author":"R K","date":"October 6, 2020","format":false,"excerpt":"Powerglot encodes several kind of scripts using polyglots, for example, offensive powershell scripts. It is not needed a loader to run the payload. In red-team exercises or offensive tasks, masking of payloads is usually done by using steganography, especially to avoid network level protections, being one of the most common\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3218,"url":"https:\/\/kalilinuxtutorials.com\/invisi-shell-hide-powershell-script\/","url_meta":{"origin":9474,"position":3},"title":"Invisi-Shell : Hide Your Powershell Script In Plain Sight(Bypass all Powershell security features)","author":"R K","date":"November 15, 2018","format":false,"excerpt":"Invisi-Shell is a tool used to hide your powershell script in plain sight! Invisi-Shell bypasses all of Powershell security features (ScriptBlock logging, Module logging, Transcription, AMSI) by hooking .Net assemblies. The hook is performed via CLR Profiler API. Invisi-Shell Usage Copy the compiled InvisiShellProfiler.dll from \/x64\/Release\/ folder with the two\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/kalilinuxtutorials.com\/wp-content\/uploads\/2018\/04\/button_download.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":10542,"url":"https:\/\/kalilinuxtutorials.com\/nexphisher\/","url_meta":{"origin":9474,"position":4},"title":"Nexphisher : Advanced Phishing Tool For Linux &#038; Termux","author":"R K","date":"May 11, 2020","format":false,"excerpt":"NexPhisher is an automated Phishing tool made for Termux & Linux .The phishing Pages are Taken from Zphisher under GNU General Public License v3.0 . This tool has 37 Phishing Page Templates of 30 Websites.There are 5 Port Forwarding Options including Localhost !! Installation apt updateapt install git -ygit clone\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12774,"url":"https:\/\/kalilinuxtutorials.com\/invoke-stealth\/","url_meta":{"origin":9474,"position":5},"title":"Invoke-Stealth : Simple And Powerful PowerShell Script Obfuscator","author":"R K","date":"May 10, 2021","format":false,"excerpt":"Invoke-Stealth\u00a0is a Simple & Powerful PowerShell Script Obfuscator. This tool helps you to automate the obfuscation process of any script written in PowerShell with different techniques. You can use any of them separately, together or all of them sequentially with ease, from Windows or Linux. Requirements Powershell 4.0 or higherBash*Python\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/9474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/comments?post=9474"}],"version-history":[{"count":0,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/9474\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media\/16144"}],"wp:attachment":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media?parent=9474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/categories?post=9474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/tags?post=9474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}