<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: raja mani</title>
    <description>The latest articles on DEV Community by raja mani (@rajamani89).</description>
    <link>https://dev.to/rajamani89</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1898049%2F37554813-f474-4e68-95ea-ab9222243407.png</url>
      <title>DEV Community: raja mani</title>
      <link>https://dev.to/rajamani89</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rajamani89"/>
    <language>en</language>
    <item>
      <title>cyberchef - learn like a baby</title>
      <dc:creator>raja mani</dc:creator>
      <pubDate>Wed, 07 Aug 2024 19:04:30 +0000</pubDate>
      <link>https://dev.to/rajamani89/cyberchef-learn-like-a-baby-4hkj</link>
      <guid>https://dev.to/rajamani89/cyberchef-learn-like-a-baby-4hkj</guid>
      <description>&lt;p&gt;**As cyber security Analyst and Researcher we come across lot of payload with Random gigligook strings containing malicious code without revealing what exactly it does until you see them working in action on victim machine. This blog Focuses on the baby steps of Learning how to deal with Obfuscated code during your analysis. This way you can understand what a payload does before even executing them on your environment&lt;br&gt;
Baby Step 1 Encryption and Decryption&lt;br&gt;
I created one base64 value for a string&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;echo 'This is a Test!' | base64&lt;br&gt;
VGhpcyBpcyBhIFRlc3QhCg==&lt;br&gt;
Lets Test How Encryption works through AES&lt;br&gt;
You need 2 things to Encrypt&lt;br&gt;
1 - Actual Data , 2 -Keys used to Encrypt**&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23q7a2r8fcjax7esyoz7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23q7a2r8fcjax7esyoz7.png" alt="Image description" width="516" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is where you usually use CyberChef on the analysis. Imagine you received some Random Gigligook string , You know that it has been arrived using a Recipe, like the one we saw above. The Job of the analyst is to figure out what recipe has been used to arrive at that gigligook&lt;br&gt;
Since on our example we know what exactly the recipe is we know how to revert back to the normal string.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2lomeyu2zlkh12iim42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2lomeyu2zlkh12iim42.png" alt="Image description" width="531" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So What we learn from here , when we eat a cooked food , we know its made up of recipes similarly when you see a obfuscated string , there is a methodology involved to arrive at that. your job is to find what exactly is that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh3f8cpz4xjvll4outltj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh3f8cpz4xjvll4outltj.png" alt="Image description" width="800" height="119"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BABY Step 2 - Practice some of the operations in each category&lt;br&gt;
There are 401 possible CyberChef operations that can be used to form a Recipe at the time of writing. Suggest to explore each category and try to understand what kinds of operations is possible in each category and get familiarize on some of the operations. &lt;/p&gt;

&lt;p&gt;This will help to develop the mind map while dealing with a Encoded code&lt;/p&gt;

&lt;p&gt;Data format - 58 Operations&lt;br&gt;
Encryption / Encoding - 50 Operations&lt;br&gt;
Public Key - 18 Operations&lt;br&gt;
Arithmetic / Logic - 25 Operations&lt;br&gt;
Networking - 28 Operations&lt;br&gt;
Language - 6 Operations&lt;br&gt;
Utils - 42 Operations&lt;br&gt;
Date / Time - 9 Operations&lt;br&gt;
Extractors - 15 Operations&lt;br&gt;
Compression - 12 Operations&lt;br&gt;
Hashing - 40 Operations&lt;br&gt;
Code tidy - 28 Operations&lt;br&gt;
Forensics - 10 Operations&lt;br&gt;
Multimedia - 28 Operations&lt;br&gt;
Other - 16 Operations&lt;br&gt;
Flow control - 16 Operations&lt;/p&gt;

&lt;p&gt;We are not gonna discuss every single operation we are gonna take some examples and drill down aspects of the obfuscation and DE obfuscation&lt;/p&gt;

&lt;p&gt;Baby Step 3 Start finding suspicious Obfuscated Samples&lt;br&gt;
Recipe 1 - Extract base64, raw inflate and code beautify&lt;br&gt;
Filename: ahack.bat&lt;br&gt;
Zipped File: cc9c6c38840af8573b8175f34e5c54078c1f3fb7c686a6dc49264a0812d56b54_183SnuOIVa.bin.gz&lt;br&gt;
Sample: SHA256 cc9c6c38840af8573b8175f34e5c54078c1f3fb7c686a6dc49264a0812d56b54&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.hybrid-analysis.com/sample/cc9c6c38840af8573b8175f34e5c54078c1f3fb7c686a6dc49264a0812d56b54?environmentId=120" rel="noopener noreferrer"&gt;https://www.hybrid-analysis.com/sample/cc9c6c38840af8573b8175f34e5c54078c1f3fb7c686a6dc49264a0812d56b54?environmentId=120&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazzh6mzbmjne0203yut4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazzh6mzbmjne0203yut4.png" alt="Image description" width="583" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A batch script Ran a encoded powershell&lt;br&gt;
First thing to notice&lt;br&gt;
• We don't need all string we need only encoded string (Regular expression is required)&lt;br&gt;
• FromBase64 in powershell is used so we also should use them&lt;br&gt;
• Compression technique is used we saw Deflate stream in the script&lt;br&gt;
Lets build our Recipe&lt;br&gt;
1 - To filter out Base encoded string use the regex&lt;br&gt;
Regex&lt;br&gt;
[a-zA-Z0–9+/=]{30,}&lt;br&gt;
We know the charecter length is 30 + and may contain a-z 0–9 + / = repeated without a space so we have to look for them&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feczpsbnz4wc3yz0017iy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feczpsbnz4wc3yz0017iy.png" alt="Image description" width="597" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you see a Magic wand always hover over them&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyl8onpca7m1sc36uajl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyl8onpca7m1sc36uajl.png" alt="Image description" width="183" height="64"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsziufqz0rke5nwszui1h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsziufqz0rke5nwszui1h.png" alt="Image description" width="291" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2 - Now we know Frombase64 operation is required.&lt;br&gt;
This makes complete sense because we also saw a base64 operation in the encoded PowerShell&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bxe7tahabyk0ycd7g4t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bxe7tahabyk0ycd7g4t.png" alt="Image description" width="800" height="119"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again Magic Wand is giving us further clue here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Felfedesxhi7jcpnsvj4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Felfedesxhi7jcpnsvj4h.png" alt="Image description" width="307" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3 - Now lets use Raw inflate&lt;br&gt;
It also makes complete sense because we saw compression Technique being used.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9eprqaxbb4rfazbqw0x3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9eprqaxbb4rfazbqw0x3.png" alt="Image description" width="778" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We don't see a magic wand now, possibly its because we have arrived at the exact Deobfuscated strings. Last part is beautifying them&lt;/p&gt;

&lt;p&gt;4 - Beautify&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqp2fi1syv1xv8jvt51ld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqp2fi1syv1xv8jvt51ld.png" alt="Image description" width="625" height="58"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fluy5pul2srvbvqf6fk2k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fluy5pul2srvbvqf6fk2k.png" alt="Image description" width="395" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6z3kiwakbcqb177bb74j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6z3kiwakbcqb177bb74j.png" alt="Image description" width="395" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So we arrived at the exact code the malware author intended now its all about code analysis.&lt;br&gt;
Ofcourse you can still use CyberChef to drill further into the code using options like below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmav13kvx7vdsv2bbad68.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmav13kvx7vdsv2bbad68.png" alt="Image description" width="265" height="282"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So what is our Recipe to arrive at the final code ?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvddno8lq5yr7v1nwa0p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvddno8lq5yr7v1nwa0p.png" alt="Image description" width="227" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo4bfckvct24cvx0eaeiz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo4bfckvct24cvx0eaeiz.png" alt="Image description" width="635" height="85"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recipe 2 - Code Obfuscation&lt;br&gt;
&lt;a href="https://www.hybrid-analysis.com/sample/1240695523bbfe3ed450b64b80ed018bd890bfa81259118ca2ac534c2895c835?environmentId=120" rel="noopener noreferrer"&gt;https://www.hybrid-analysis.com/sample/1240695523bbfe3ed450b64b80ed018bd890bfa81259118ca2ac534c2895c835?environmentId=120&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbeuan65i1lvlrveo87kk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbeuan65i1lvlrveo87kk.png" alt="Image description" width="629" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we don't have any clue all we know is we see some unwanted strings like below. Most likely this do not convey any meaning.&lt;br&gt;
^|\|-|_|\/|\s&lt;br&gt;
1 - Lets Remove them and see how the encoded content becomes.Lets try and use find and replace operation here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzspx0nhqtbw0t72ibuuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzspx0nhqtbw0t72ibuuo.png" alt="Image description" width="539" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes it worked it got converted&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl7t3peoyyooqzb5b50o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl7t3peoyyooqzb5b50o.png" alt="Image description" width="657" height="155"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not into something meaningful when you look close you must notice these things&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No magic wand for help&lt;/li&gt;
&lt;li&gt;1 is the reverse of InvokeItem&lt;/li&gt;
&lt;li&gt;2 is the reverse of DownloadFile&lt;/li&gt;
&lt;li&gt;3 is the reverse of powershell&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So why dont we try reversing&lt;br&gt;
2 - Lets Reverse and see&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kay05nukod4e9brl910.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kay05nukod4e9brl910.png" alt="Image description" width="452" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjedsb3kowtzg9c18kuk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjedsb3kowtzg9c18kuk.png" alt="Image description" width="800" height="114"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now lets write down what we observe&lt;br&gt;
1 - There is some urls&lt;br&gt;
2 - ; is implying next line&lt;br&gt;
3 - Split operation for @&lt;br&gt;
4 - There is Download File attempt using loops&lt;/p&gt;

&lt;p&gt;Lets deal with these&lt;/p&gt;

&lt;p&gt;3 - Three operations at one shot i am using to make the code readable&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1igsq7v91wj3as5hxcv5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1igsq7v91wj3as5hxcv5.png" alt="Image description" width="350" height="309"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0b7t9jv8mw53iq5e8nbx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0b7t9jv8mw53iq5e8nbx.png" alt="Image description" width="622" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In short it looks like its gonna download some payload from Remote website&lt;br&gt;
4 - Use ExtractURLs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3elcdf0nqtfz90wn7x5s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3elcdf0nqtfz90wn7x5s.png" alt="Image description" width="461" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxylwela1fb5p8efnrajp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxylwela1fb5p8efnrajp.png" alt="Image description" width="413" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So we are good here we are likely to expect some ingress tool transfer from these websites&lt;br&gt;
So what is our Recipe to arrive at the final code ?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mxn1koxyz1gril27cwi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mxn1koxyz1gril27cwi.png" alt="Image description" width="186" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4see1le9j8z652u98nvz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4see1le9j8z652u98nvz.png" alt="Image description" width="677" height="73"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recipe 3 : Charcode Double decoding&lt;br&gt;
Lets take this sample&lt;br&gt;
&lt;a href="https://www.virustotal.com/gui/file/2e9004985c2b9461c35b2a1a7765e35db1e8b352f622c4aa388e3227f4dd8c98/content/strings" rel="noopener noreferrer"&gt;https://www.virustotal.com/gui/file/2e9004985c2b9461c35b2a1a7765e35db1e8b352f622c4aa388e3227f4dd8c98/content/strings&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feoeyoqrzz44z3d3u1i3a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feoeyoqrzz44z3d3u1i3a.png" alt="Image description" width="610" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is clue here Sting.FromCharcode&lt;br&gt;
1 - Lets use the Regex to filter the exact charcode&lt;br&gt;
([0–9]{2,3}(,\s|))+&lt;br&gt;
In the above regex i am saying number between 0 to 9 repeated two to three times ([0–9]{2,3} followed by comma and space or close bracket (,\s|) repeated 1 to any number of times (+)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsgufsn48qpjlup9491o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsgufsn48qpjlup9491o.png" alt="Image description" width="283" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F79ro33f79xwnsvxt262w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F79ro33f79xwnsvxt262w.png" alt="Image description" width="434" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ok ! now we are sitting with the exact Char code&lt;br&gt;
2 - Lets use FromCharcode&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4qk3myzf6417q8u6l0p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4qk3myzf6417q8u6l0p.png" alt="Image description" width="597" height="166"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0dr9xyw0ykvey3x9koo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0dr9xyw0ykvey3x9koo.png" alt="Image description" width="605" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wow! We saw encoding done twice now&lt;br&gt;
We are again seeing String.FromCharCode couple of times,so what we should be doing again ?&lt;br&gt;
3 - use same Regex to isolate CharCodes again&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feivi2ph8cwdltt4dcols.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feivi2ph8cwdltt4dcols.png" alt="Image description" width="552" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4 - When using FromCharCode again i arrived at the url&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ixv6wi4aaugudwptvsy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ixv6wi4aaugudwptvsy.png" alt="Image description" width="800" height="90"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fifwonv2hngk5wd92f8cw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fifwonv2hngk5wd92f8cw.png" alt="Image description" width="412" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The JavaScript leads us here&lt;br&gt;
So what is our Recipe to arrive at the final code ?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futdd24hr3typrgd1br9s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futdd24hr3typrgd1br9s.png" alt="Image description" width="199" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5twf3pkoxj3j8v7nf5uo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5twf3pkoxj3j8v7nf5uo.png" alt="Image description" width="685" height="92"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
