<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>0xSky</title><description>Blog</description><link>https://ssumix.vercel.app/</link><language>en</language><item><title>Amadey-APT-C-36 Cyberdefenders Lab Writeup</title><link>https://ssumix.vercel.app/posts/labs/cyberdefenders/amadey/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/labs/cyberdefenders/amadey/</guid><description>A detailed writeup for Amadey-APT-C-36 lab on Cyberdefenders</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;Lab Scenario:&lt;/strong&gt; An after-hours alert from the Endpoint Detection and Response (EDR) system flags suspicious activity on a Windows workstation. The flagged malware aligns with the Amadey Trojan Stealer. Your job is to analyze the presented memory dump and create a detailed report for actions taken by the malware.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Q1: In the memory dump analysis, determining the root of the malicious activity is essential for comprehending the extent of the intrusion. What is the name of the parent process that triggered this malicious behavior?&lt;/h3&gt;
&lt;p&gt;After viewing the process using the &lt;code&gt;pstree&lt;/code&gt; plugin to understand relations between processes, I noticed a suspicious process:
&lt;img src=&quot;./amadey1.png&quot; alt=&quot;&quot; /&gt;
The &lt;code&gt;lssass.exe&lt;/code&gt; process caught my eye as it mimics the legitimate Windows process &lt;code&gt;lsass.exe&lt;/code&gt; (Local Security Authority Subsystem Service). It also has a child process &lt;code&gt;rundll32.exe&lt;/code&gt;, which is commonly abused by malware to execute malicious DLLs, making &lt;code&gt;lssass.exe&lt;/code&gt; highly suspicious.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;lssass.exe&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q2: Once the rogue process is identified, its exact location on the device can reveal more about its nature and source. Where is this process housed on the workstation?&lt;/h3&gt;
&lt;p&gt;To get the location of the malicious process I used the &lt;code&gt;cmdline&lt;/code&gt; plugin and grepped for &lt;code&gt;lssass.exe&lt;/code&gt; &apos;s PID: &lt;strong&gt;2748&lt;/strong&gt;.
&lt;img src=&quot;./amadey2.png&quot; alt=&quot;&quot; /&gt;
Another approach was grepping the PID from the &lt;code&gt;filescan&lt;/code&gt; plugin output, which also revealed the malicious process&apos;s path.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;C:\Users\0XSH3R~1\AppData\Local\Temp\925e7e99c5\lssass.exe&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q3: Persistent external communications suggest the malware&apos;s attempts to reach out C2C server. Can you identify the Command and Control (C2C) server IP that the process interacts with?&lt;/h3&gt;
&lt;p&gt;For this question, I used the &lt;code&gt;netscan&lt;/code&gt; plugin to check network connections made by the system and grepped for the malicious process&apos;s PID to identify the IP address it communicated with:
&lt;img src=&quot;./amadey3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;41.75.84.12&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q4: Following the malware link with the C2C, the malware is likely fetching additional tools or modules. How many distinct files is it trying to bring onto the compromised workstation?&lt;/h3&gt;
&lt;p&gt;Since the communication between the malware and the attacker happened over port &lt;strong&gt;80&lt;/strong&gt;, the traffic was unencrypted, meaning the raw HTTP requests could potentially be recovered from memory. So I used &lt;code&gt;strings&lt;/code&gt; on the memory dump and filtered out for the attacker&apos;s IP and 2 lines before and after it to view the full request:
&lt;img src=&quot;./amadey4.png&quot; alt=&quot;&quot; /&gt;
And found two &lt;code&gt;GET&lt;/code&gt; requests showing the malware downloading the files &lt;code&gt;cred64.dll&lt;/code&gt; and &lt;code&gt;clip64.dll&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;2&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q5: Identifying the storage points of these additional components is critical for containment and cleanup. What is the full path of the file downloaded and used by the malware in its malicious activity?&lt;/h3&gt;
&lt;p&gt;Since we already identified &lt;code&gt;clip64.dll&lt;/code&gt; in Q4, I searched for it in the &lt;code&gt;filescan&lt;/code&gt; output to locate its path. Another way to confirm this was by checking the command line arguments of the child process &lt;code&gt;rundll32.exe&lt;/code&gt;, which revealed the DLL being executed:
&lt;img src=&quot;./amadey5.png&quot; alt=&quot;&quot; /&gt;
&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;C:\Users\0xSh3rl0ck\AppData\Roaming\116711e5a2ab05\clip64.dll&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q6: Once retrieved, the malware aims to activate its additional components. Which child process is initiated by the malware to execute these files?&lt;/h3&gt;
&lt;p&gt;We actually noted the answer to this question from the very beginning. The child process of the malware was clear from &lt;code&gt;pstree&lt;/code&gt; &apos;s output to be &lt;code&gt;rundll32.exe&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;rundll32.exe&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q7: Understanding the full range of Amadey&apos;s persistence mechanisms can help in an effective mitigation. Apart from the locations already spotlighted, where else might the malware be ensuring its consistent presence?&lt;/h3&gt;
&lt;p&gt;I grepped for the malicious executable&apos;s name in the &lt;code&gt;filescan&lt;/code&gt; output and found three paths:
&lt;img src=&quot;./amadey6.png&quot; alt=&quot;&quot; /&gt;
The first path was the primary location of the file, which we had already seen before. The second path was inside the Windows Tasks directory, suggesting a persistence mechanism that would automatically execute the malware at startup or user logon. The third path was located in the Temp directory, which wasn&apos;t particularly interesting.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;C:\Windows\System32\Tasks\lssass.exe&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;During the investigation, I identified &lt;code&gt;lssass.exe&lt;/code&gt; as the initial malicious process. It communicated with the C2 server at &lt;code&gt;41.75.84.12&lt;/code&gt;, downloaded additional DLL payloads, executed them using &lt;code&gt;rundll32.exe&lt;/code&gt;, and established persistence through a scheduled task.&lt;/p&gt;
&lt;p&gt;And that&apos;s it! Thanks for reading, and don&apos;t forget to check out my other writeups :&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>RedLine Cyberdefenders Lab Writeup</title><link>https://ssumix.vercel.app/posts/labs/cyberdefenders/redline/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/labs/cyberdefenders/redline/</guid><description>A detailed writeup for RedLine lab on Cyberdefenders</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;Lab scenario:&lt;/strong&gt; As a member of the Security Blue team, your assignment is to analyze a memory dump using Redline and Volatility tools. Your goal is to trace the steps taken by the attacker on the compromised machine and determine how they managed to bypass the Network Intrusion Detection System (NIDS). Your investigation will identify the specific malware family employed in the attack and its characteristics. Additionally, your task is to identify and mitigate any traces or footprints left by the attacker.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Q1: What is the name of the suspicious process?&lt;/h3&gt;
&lt;p&gt;I first listed all processes by the &lt;code&gt;pslist&lt;/code&gt; plugin in Volatility 3:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vol -f MemoryDump windows.pslist
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And from all processes, one process caught my eye:
&lt;img src=&quot;./redline1.png&quot; alt=&quot;&quot; /&gt;
It didn&apos;t resemble a standard Windows process or any legitimate application I recognized, and after researching the process name, my suspicions were confirmed:
&lt;img src=&quot;./redline2.png&quot; alt=&quot;&quot; /&gt;
&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;oneetx.exe&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q2: What is the child process name of the suspicious process?&lt;/h3&gt;
&lt;p&gt;To get the child process name I used the &lt;code&gt;pstree&lt;/code&gt; plugin to see relations between processes:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vol -f MemoryDump windows.pstree
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And from &lt;code&gt;pstree&lt;/code&gt; &apos;s output, it&apos;s clear that the child process of the malicious process &lt;code&gt;oneetx.exe&lt;/code&gt; is &lt;code&gt;rundll32.exe&lt;/code&gt;:
&lt;img src=&quot;./redline3.png&quot; alt=&quot;&quot; /&gt;
&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;rundll32.exe&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q3: What is the memory protection applied to the suspicious process memory region?&lt;/h3&gt;
&lt;p&gt;Protection method can be found by &lt;code&gt;malfind&lt;/code&gt; plugin that helps find hidden or injected code/DLLs in user-mode memory, based on characteristics such as VAD tag and page permissions:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vol -f MemoryDump windows.malfind
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;./redline4.png&quot; alt=&quot;&quot; /&gt;
&lt;code&gt;PAGE_EXECUTE_READWRITE&lt;/code&gt; in the protection field means that the process has all permissions: read, write, and execute, which are needed for the malware to do its job&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;PAGE_EXECUTE_READWRITE&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q4: What is the name of the process responsible for the VPN connection?&lt;/h3&gt;
&lt;p&gt;To check network connections made by the device, I used the &lt;code&gt;netscan&lt;/code&gt; plugin:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vol -f MemoryDump windows.netscan
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And found nothing really interesting in the connections other than some connections made by the malicious file &lt;code&gt;oneetx.exe&lt;/code&gt;, but after examining the output more carefully, I noticed several suspicious connections:
&lt;img src=&quot;./redline5.png&quot; alt=&quot;&quot; /&gt;
After a bit of research, I found out that they were actually related to VPN services:
&lt;img src=&quot;./redline6.png&quot; alt=&quot;&quot; /&gt;
So I looked up its PID in &lt;code&gt;pstree&lt;/code&gt;&apos;s output to see which process it belonged to:
&lt;img src=&quot;./redline7.png&quot; alt=&quot;&quot; /&gt;
And we can clearly see that it is a child process of &lt;code&gt;Outline.exe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;Outline.exe&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q5: What is the attacker&apos;s IP address?&lt;/h3&gt;
&lt;p&gt;If we go back to &lt;code&gt;netscan&lt;/code&gt; &apos;s output we&apos;ll find the attacker&apos;s IP in the connection made by the malicious process &lt;code&gt;oneetx.exe&lt;/code&gt;:
&lt;img src=&quot;./redline8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;77.91.124.20&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q6: What is the full URL of the PHP file that the attacker visited?&lt;/h3&gt;
&lt;p&gt;I used &lt;code&gt;strings&lt;/code&gt; on the memory dump and filtered out for php using &lt;code&gt;grep&lt;/code&gt; but the output was huge, so instead I filtered out the output for the attacker&apos;s IP address
&lt;img src=&quot;./redline9.png&quot; alt=&quot;&quot; /&gt;
And the output revealed the full URL visited by the attacker!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;http://77.91.124.20/store/games/index.php&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Q7: What is the full path of the malicious executable?&lt;/h3&gt;
&lt;p&gt;To get the full path of &lt;code&gt;oneetx.exe&lt;/code&gt; I just used &lt;code&gt;strings&lt;/code&gt; again on our memory dump and grepped the executable&apos;s name:
&lt;img src=&quot;./redline10.png&quot; alt=&quot;&quot; /&gt;
Other approaches would be dumping the process, or using the &lt;code&gt;filescan&lt;/code&gt; plugin to get the file path&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; &lt;code&gt;C:\Users\Tammam\AppData\Local\Temp\c3912af058\oneetx.exe&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;And that was all, don&apos;t forget to check my other writeups!&lt;/p&gt;
&lt;p&gt;Hope you enjoyed &amp;lt;3&lt;/p&gt;
</content:encoded></item><item><title>FahemSec CTF Challenges Write-up</title><link>https://ssumix.vercel.app/posts/fahemsec/writeup/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/fahemsec/writeup/</guid><description>In this write-up, I will cover the FahemSec CTF Challenges I managed to solve including DFIR, Crypto, and Miscellaneous challenges.</description><pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In this write-up, I will cover the FahemSec CTF Challenges I managed to solve including DFIR, Crypto, and Miscellaneous challenges. During the CTF, I had great progress in the disk forensics challenges but then went to sleep &amp;gt;-&amp;lt;  I&apos;ll still include them in the write-up though&lt;/p&gt;
&lt;p&gt;Anyways, Let&apos;s dive-in!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Case 101 Part. 1: DFIR&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; No screenshots were saved, something from the last session might still remain on the disk.&lt;/p&gt;
&lt;p&gt;After initial investigations for the provided &lt;code&gt;.csv&lt;/code&gt; files and the provided C dump, I noticed multiple indications of RDP attempts, and confirmed that after checking this path:
&lt;code&gt;C\Users\T3M0\AppData\Local\Microsoft\TerminalServerClient\Cache&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And finding an RDP BMP snippets dump:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./case1.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I referred back to the challenge&apos;s description, this makes sense as this dump contains tiny screenshots of the RDP screen&lt;/p&gt;
&lt;p&gt;Then I extracted the BMPs put of the bin file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;┌──(ssumix㉿VICTUS)-[/mnt/s/DFIR/CTFs/fahem]
└─$ bmc-tools -s &quot;Cache0000.bin&quot; -d &quot;output&quot; -b
[+++] Processing a single file: &apos;Cache0000.bin&apos;.
[+++] Processing a file: &apos;Cache0000.bin&apos;.
[===] 1143 tiles successfully extracted in the end.
[===] Successfully exported 1143 files.
[===] Successfully exported collage file.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then I checked the output, and found lotsss of tiny sniplets, so to put them together I used &lt;code&gt;RdpCacheStitcher&lt;/code&gt;, and manually rearranged the flag parts to get the final flag&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./case2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Case 101 Part. 2: DFIR&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; The archive opens, the data does not. What you recovered earlier is still relevant.&lt;/p&gt;
&lt;p&gt;Ok so during my initial investigations in the last challenge I did notice a password-protected archive and tried to brute-force its password but this didn&apos;t work. Thats because the archive&apos;s password was in the recovered BMPs from the first part:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./case3.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I extracted the flag2.txt file from the archive and the flag seemed encrypted:
&lt;code&gt;aU5+VVBC8Ilgs16uS1MUj8JPGqL4hvJGpVb5qRtzy9pPgDSe&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And after some &lt;em&gt;really&lt;/em&gt; good research and confusion with an AI buddy I figured out it was a Base64 encoded RC4 stream cipher that was encrypted with the key we found earlier&lt;/p&gt;
&lt;p&gt;So yeah I just used &lt;a href=&quot;https://gchq.github.io/CyberChef/&quot;&gt;CyberChef&lt;/a&gt; to decrypt the flag&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./case4.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;MyData: DFIR&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Can you get the data ?&lt;/p&gt;
&lt;p&gt;After opening the pcap in &lt;code&gt;Wireshark&lt;/code&gt; and filtering for DNS traffic I immediately noticed something suspicious; a high volume of DNS queries to &lt;code&gt;fahemsec.com&lt;/code&gt;, each with a different short subdomain that looks like a hex string:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;4661.fahemsec.com 
6865.fahemsec.com 
6d53.fahemsec.com 
6563.fahemsec.com 
7b44.fahemsec.com 
...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is a textbook DNS Exfiltration signature; the attacker broke their payload into hex chunks and encoded each one as a subdomain label in outbound DNS queries, and since most networks freely allow outbound DNS, this technique can silently bypass firewalls and DLP solutions.&lt;/p&gt;
&lt;p&gt;I used &lt;code&gt;tshark&lt;/code&gt; to filter for DNS requests only (&lt;code&gt;dns.flags.response == 0&lt;/code&gt;), target our domain, and carve out just the subdomain portion:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tshark -r data.pcapng \ 
-Y &apos;dns.flags.response == 0 &amp;amp;&amp;amp; dns.qry.name contains &quot;fahemsec.com&quot;&apos; \ 
-T fields -e dns.qry.name \ 
| awk -F. &apos;{print $1}&apos; \ 
| awk &apos;!seen[$0]++&apos;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The output was:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;4661 6865 6d53 6563 7b44 4e53 5f45 7866 696c 7472 6174 696f 6e5f 3173 5f52 3361 6c7d
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then I quickly decoded the hex sequence using python:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hex_data = [
    &quot;4661&quot;, &quot;6865&quot;, &quot;6d53&quot;, &quot;6563&quot;, &quot;7b44&quot;, &quot;4e53&quot;, &quot;5f45&quot;, &quot;7866&quot;,
    &quot;696c&quot;, &quot;7472&quot;, &quot;6174&quot;, &quot;696f&quot;, &quot;6e5f&quot;, &quot;3173&quot;, &quot;5f52&quot;, &quot;3361&quot;, &quot;6c7d&quot;
]

flag = &quot;&quot;.join(bytes.fromhex(h).decode(&apos;ascii&apos;) for h in hex_data)
print(flag)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And the final flag was: &lt;code&gt;FahemSec{DNS_Exfiltration_1s_R3al}&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Plane: DFIR&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Some protocols are more transparent than they appear.&lt;/p&gt;
&lt;p&gt;After going through the pcap in &lt;code&gt;Wireshark&lt;/code&gt;, I noticed alot of failed &lt;code&gt;GET&lt;/code&gt; requests, with admin credentials in the headers, and it seamed like a brute-force attack. So my first step was to filter for the successful requests by using this filter: &lt;code&gt;http.response.code == 200&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./plane1.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And after following the &lt;code&gt;HTTP&lt;/code&gt; stream I found the flag in the successful &lt;code&gt;GET&lt;/code&gt; request&apos;s header!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./plane2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Top Secret: DFIR&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Can you get my secret from these packets?&lt;/p&gt;
&lt;p&gt;I opened the file in Wireshark and started scrolling through the packets, and the first thing that caught my eye was at the bottom of the capture. The traffic ends with a flood of repeated unanswered ARP requests:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;VMware_c0:00:08  →  ARP  &quot;Who has 192.168.44.2? Tell 192.168.44.1&quot;
VMware_c0:00:08  →  ARP  &quot;Who has 192.168.44.2? Tell 192.168.44.1&quot;
VMware_c0:00:08  →  ARP  &quot;Who has 192.168.44.2? Tell 192.168.44.1&quot;
(no reply...)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ARP is how devices on a local network find each other. The repeated requests with no answer means &lt;code&gt;192.168.44.2&lt;/code&gt; went offline or disconnected. But more importantly, this told me the environment: a local VMware network on the &lt;code&gt;192.168.44.x&lt;/code&gt; subnet, with &lt;code&gt;192.168.44.147&lt;/code&gt; being the only active host worth focusing on.&lt;/p&gt;
&lt;p&gt;With the local IP identified, I filtered traffic to and from that machine:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;http &amp;amp;&amp;amp; ip.addr == 192.168.44.147
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The filtering immediately showed two things happening:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First, sequential &lt;code&gt;GET /user/22&lt;/code&gt;, &lt;code&gt;/user/23&lt;/code&gt;, &lt;code&gt;/user/24&lt;/code&gt;, &lt;code&gt;/user/25&lt;/code&gt; requests against a JSON API on port 9090 (IDOR enumeration by an automated tool).&lt;/li&gt;
&lt;li&gt;Second, further down, a &lt;code&gt;GET /Finance_intro.pdf HTTP/1.1&lt;/code&gt; request followed immediately by a &lt;code&gt;200 OK (application/pdf)&lt;/code&gt; response. That&apos;s the file transfer we care about :3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wireshark can reconstruct files from HTTP traffic automatically. I went to:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;File → Export Objects → HTTP
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Finance_intro.pdf&lt;/code&gt; appeared in the list. I saved it, we now have the actual file that was transferred, which had the flag&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./secret.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Decoder: Crypto&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;./cipher.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We were asked to decode this photo, and after some reverse image search I found that this was an alphabet called &quot;Pokémon Go Unknown&quot;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./cipher2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So I decoded the text according to this alphabet and the final flag was &lt;code&gt;EASYFLAGLEET&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;oneROX: Crypto&lt;/h2&gt;
&lt;p&gt;The chall&apos;s name indicates that it&apos;s a single-byte XOR challenge, so I just made a quick script that brute-forces the flag:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cipher_hex = &quot;63425948170d6b4c4548407e484e561515181a1a1b1f4c4e1a4c48494f494f4e1e1449481a1a484c1a1d1a181518155027&quot;

cipher = bytes.fromhex(cipher_hex)

for key in range(256):
    decrypted = bytes([b ^ key for b in cipher])
    try:
        text = decrypted.decode(errors=&quot;ignore&quot;)
        if &quot;FahemSec{&quot; in text:
            print(f&quot;[+] Key found: {key} (0x{key:02x})&quot;)
            print(text)
            break
    except:
        continue
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and found the flag:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[+] Key found: 45 (0x2d)
Note: FahemSec{8857762ac7aedbdbc39de77ea7075858}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;Rookie: Misc&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; While Developing our platform on the early stage we wanted to test admin panel in production without being crawled by bots online , so our developer suggested to use a very random subdomain name to avoid that, seems he was a rookie !&lt;/p&gt;
&lt;p&gt;Okay so after some research I found alot of tools that can get the subdomains of a given domain, so I just used &lt;a href=&quot;https://crt.sh/&quot;&gt;this one&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;┌──(ssumix㉿VICTUS)-[~]
└─$ curl &quot;https://crt.sh/?q=%25.fahemsec.com&amp;amp;output=json&quot; | grep admin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And found the subdomain &lt;code&gt;admin-portal-09c097fa23&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So final flag becomes:
&lt;code&gt;FahemSec{admin-portal-09c097fa23}&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;And yeah that was all, hope you had fun reading this writeup! :&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>0xFun CTF Challenges Write-up</title><link>https://ssumix.vercel.app/posts/0xfun/writeup/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/0xfun/writeup/</guid><description>A writeup for the 0xFun CTF Challenges I managed to solve</description><pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;Ghost: Forensics&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; The interception of a transmission has occurred, with only a network capture remaining. Recover the flag before the trail goes cold. (The challenge was updated with different files during the CTF)&lt;/p&gt;
&lt;p&gt;We were given a PNG file &lt;code&gt;wallpaper.png&lt;/code&gt;, so I made my initial examinations:&lt;br /&gt;
&lt;img src=&quot;./ghost1.png&quot; alt=&quot;Initial Examination&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I noticed the &lt;code&gt;Trailer data after PNG IEND chunk&lt;/code&gt; warning in &lt;code&gt;exiftool&lt;/code&gt;&apos;s output, which indicated that there&apos;s either embedded files or steganography. My next step was examining the file for stego:&lt;br /&gt;
&lt;img src=&quot;./ghost2.png&quot; alt=&quot;Stego Detection&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;zsteg&lt;/code&gt;&apos;s output made it obvious that there&apos;s an embedded 7z archive in this image, so I used &lt;code&gt;binwalk&lt;/code&gt; to extract it:&lt;br /&gt;
&lt;img src=&quot;./ghost3.png&quot; alt=&quot;Binwalk Extraction&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then I extracted the archive using 7z, but was asked for a password:&lt;br /&gt;
&lt;img src=&quot;./ghost4.png&quot; alt=&quot;7z Password&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I had noticed earlier that the image had this weird text &lt;code&gt;1n73rc3p7_c0nf1rm3d&lt;/code&gt;, and I kept it noted to be used later. The most logical approach was to try it as the password, and it was correct!&lt;/p&gt;
&lt;p&gt;Then I moved to the &lt;code&gt;/fishwithwater&lt;/code&gt; directory, and the flag was there in a file named &lt;code&gt;nothing.txt&lt;/code&gt;:&lt;br /&gt;
&lt;img src=&quot;./ghost5.png&quot; alt=&quot;Flag Found&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Kd: Forensics&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Something crashed. Something was left behind.&lt;/p&gt;
&lt;p&gt;We were given these files:&lt;br /&gt;
&lt;img src=&quot;./kd1.png&quot; alt=&quot;Kd Files&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I first examined the &lt;code&gt;crypter.dmp&lt;/code&gt;, which seemed to be a &lt;strong&gt;Windows MiniDump&lt;/strong&gt; file. It contains the application’s memory data at the moment it crashed, as the description indicates.&lt;/p&gt;
&lt;p&gt;My first step was checking any text in this file using &lt;code&gt;strings&lt;/code&gt; and grepping the flag format &lt;code&gt;0xfun&lt;/code&gt;, which surprisingly showed the flag (unintended solution):&lt;br /&gt;
&lt;img src=&quot;./kd2.png&quot; alt=&quot;Flag Found via Strings&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Tesla: Forensics&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Flipper Zero, often referred to as a hacking device, is designed to capture frequencies and execute commands. It&apos;s considered a risky tool to have, as it is illegal in some countries. Perfect. We’ll keep the same flow and just naturally include the script where it fits — like you actually used it while solving.&lt;/p&gt;
&lt;p&gt;We were given a file named &lt;code&gt;Tesla.sub&lt;/code&gt;, and since &lt;code&gt;.sub&lt;/code&gt; files are usually related to Flipper Zero Sub-GHz captures, I initially assumed this would involve analyzing RF data or decoding some captured transmission.&lt;/p&gt;
&lt;p&gt;I started with basic inspection:&lt;br /&gt;
&lt;img src=&quot;./tesla1.png&quot; alt=&quot;Tesla Initial Inspection&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It turned out to be ASCII text, which was unusual because real RAW Sub-GHz captures normally contain timing values, not clean binary-looking text. I opened the file and saw:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Filetype: BadUsb 0xfun
Version: 1
Frequency: 433920000
Protocol: RAW
RAW_Data: 11111111 11111110 00100110 ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;RAW_Data&lt;/code&gt; section consisted entirely of 8-bit binary values separated by spaces. Instead of treating it as radio data, I extracted the RAW values and converted each 8-bit chunk to ASCII. The result wasn’t signal data; it was a Windows batch script!&lt;/p&gt;
&lt;p&gt;Inside the decoded content, I saw:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;set &quot;Il�c=pesbMUQl73oWnqD9rAvFRKZaf0hO5@dBN4uSzCtGjE YxITwXiVm1Jcgy26LkH8P&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Followed by patterns like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;%IlXc:~29,1%
%IlXc:~1,1%
%IlXc:~54,1%
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is a classic batch obfuscation method. In Windows batch:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;%variable:~start,length%
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Extracts a substring, so the script defines a long string and rebuilds another command character by character using specific indexes.&lt;/p&gt;
&lt;p&gt;Instead of manually resolving every index, I parsed the offsets and reconstructed the hidden string, which revealed a long hex string:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;5958051a1b170013520746265a0e51435b36165752470b7f03591d1b364b501608616e
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I converted it from hex to ASCII directly, but it was unreadable (clearly encrypted).&lt;/p&gt;
&lt;p&gt;So I went back to the batch script and looked carefully; there were readable phrases inside it, including:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;i could be something to this
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I immediately thought that this could be the key used in XORing this hex string. Here’s the script I used:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hex_str = &quot;5958051a1b170013520746265a0e51435b36165752470b7f03591d1b364b501608616e&quot;

cipher = bytes.fromhex(hex_str)
key = b&quot;i could be something to this&quot;

result = bytearray()

for i in range(len(cipher)):
    result.append(cipher[i] ^ key[i % len(key)])

print(result.decode())
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After running it, the output was clean ASCII and revealed the flag:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0xfun{d30bfU5c473_x0r3d_w1th_k3y}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;Nothing Expected: Forensics&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; None&lt;/p&gt;
&lt;p&gt;We were given a PNG file, so I did my initial investigations:&lt;br /&gt;
&lt;img src=&quot;./nth1.png&quot; alt=&quot;Nothing Expected PNG&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I noticed the &lt;code&gt;Applicationvndexcalidrawjson&lt;/code&gt; output in the photo&apos;s meta-data, which is basically the internal JSON format that &lt;a href=&quot;https://excalidraw.com/&quot;&gt;Excalidraw&lt;/a&gt; uses to save its drawings. I imported the given photo and got the flag:&lt;br /&gt;
&lt;img src=&quot;./nth2.png&quot; alt=&quot;Excalidraw Flag&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;DTMF: Forensics&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; None&lt;/p&gt;
&lt;p&gt;We were given a &lt;code&gt;.wav&lt;/code&gt; file. After listening to it and considering the challenge&apos;s name, it was clear that it was a DTMF message. I decoded it using an online &lt;a href=&quot;https://dtmf.netlify.app/&quot;&gt;DTMF decoder&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Decoded: 010011010100100001001010011101000101101000110010011100000011011101010110010010000101010101111000011000100101010001000110011001100101100101101010010100100110111101011000001100100110110001111010010110010111101001010110011001100110010001101101001101010011000001100011011011100011000000111101
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I converted this binary into ASCII and noticed that the output was Base64:&lt;br /&gt;
&lt;img src=&quot;./DTMF1.png&quot; alt=&quot;Binary to Base64&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After decoding Base64, I noticed the output was probably shifted characters (the 0 and {} of the flag format were there). I tried all possible Caesar Cipher rotations, but none worked.
&lt;img src=&quot;./DTMF2.png&quot; alt=&quot;Encrypted flag&quot; /&gt;
My next option was Vigenère Cipher, but the key was unknown. Instead of brute-forcing, I rechecked the file for hidden text using &lt;code&gt;exiftool&lt;/code&gt;:&lt;br /&gt;
&lt;img src=&quot;./DTMF3.png&quot; alt=&quot;Exiftool Hidden Key&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I noticed a weird comment, which I used as a key, and it worked!&lt;br /&gt;
&lt;img src=&quot;./DTMF4.png&quot; alt=&quot;Flag Revealed&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;And that was all. Don’t forget to check my other write-ups!&lt;/p&gt;
</content:encoded></item><item><title>CTFlearn Web Challenges Write-up</title><link>https://ssumix.vercel.app/posts/ctflearn/web/web-ctflearn-write-up/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/ctflearn/web/web-ctflearn-write-up/</guid><description>My solutions for several web exploitation challenges on CTFlearn.com.</description><pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;Basic Injection: Easy&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; See if you can leak the whole database using what you know about SQL Injections. &lt;a href=&quot;https://web.ctflearn.com/web4/&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The challenge provided the original SQL query that shows the result, which was &lt;code&gt;SELECT * FROM webfour.webfour where name = &apos;$input&apos;&lt;/code&gt;. This query takes the user&apos;s input and checks it in its database for a matching name.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./basic_inj_1.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So, I tried injecting &lt;code&gt;&apos; OR &apos;1&apos; = &apos;1&lt;/code&gt; and it dumped the database, showing the flag!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./basic_inj_2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;POST Practice: Medium&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; This website requires authentication, via POST. However, it seems as if someone has defaced our site. Maybe there is still some way to authenticate?&lt;br /&gt;
http://165.227.106.113/post.php&lt;/p&gt;
&lt;p&gt;After checking the website, I found some credentials in the source code&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./post1.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So my first thought was sending a post request using &lt;code&gt;curl&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -X POST http://165.227.106.113/post.php -d &quot;username=admin&amp;amp;password=71urlkufpsdnlkadsf&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and got the flag!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;h1&amp;gt;flag{p0st_d4t4_4ll_d4y}&amp;lt;/h1&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Another approach would be sending a POST request with the provided credentials by burpsuite and the flag will appear&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./post2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Don&apos;t Bump Your Head(er): Medium&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Try to bypass my security measure on this site!
&lt;a href=&quot;http://165.227.106.113/header.php&quot;&gt;http://165.227.106.113/header.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I noticed that the challenge involved headers as its name indicates, so I sent a GET request using burp as my first step&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./header.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then I noticed the comment &lt;code&gt;&amp;lt;!-- Sup3rS3cr3tAg3nt --&amp;gt;&lt;/code&gt;, which could be the agent that the challenge accepts. So I sent another request, changing the &lt;strong&gt;User-Agent&lt;/strong&gt; to &lt;code&gt;Sup3rS3cr3tAg3nt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./header2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And it worked! but it still needed to be &quot;accessed&quot; from &lt;strong&gt;awesomesauce.com&lt;/strong&gt;, which made me think of referring to it by adding:
&lt;code&gt;Referer: awesomesauce.com&lt;/code&gt; to the header&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./header3.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And we got our flag!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Calculat3 M3: Hard&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Here! &lt;a href=&quot;http://web.ctflearn.com/web7/&quot;&gt;http://web.ctflearn.com/web7/&lt;/a&gt; I forget how we were doing those calculations, but something tells me it was pretty insecure.&lt;/p&gt;
&lt;p&gt;The challenge was a simple calculator that its input field seemed vulnerable, So I intercepted the calculating GET request by burp, then sent it to the repeater&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./calc.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I thought of changing the value of &lt;code&gt;expression&lt;/code&gt; to &lt;code&gt;;ls&lt;/code&gt;, to check for command-injection&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./calc2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And it actually worked :&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Inj3ction Time: Hard&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; I stumbled upon this website: &lt;a href=&quot;http://web.ctflearn.com/web8/&quot;&gt;http://web.ctflearn.com/web8/&lt;/a&gt;
and I think they have the flag in there somewhere. UNION might be a helpful command&lt;/p&gt;
&lt;p&gt;The website looked similar to the &lt;code&gt;Basic injection&lt;/code&gt;&apos;s website.. It asks for an id then shows some info about dogs&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./inj.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I noticed that it only accepts numbers from 1 to 3, and no other characters, so even though it&apos;s an SQLi challenge it doesn&apos;t show an error when entering quotes. However, a UNION attack may be used as the challenge description hints.&lt;/p&gt;
&lt;p&gt;So, after some testing NULL values with UNION SELECT I found that &lt;strong&gt;we have 4 columns&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./inj2.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then I checked which columns are vulnerable&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./inj3.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After that I checked the available tables by querying &lt;code&gt;table_name&lt;/code&gt; from &lt;code&gt;information_schema.tables&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./inj4.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I scrolled down a bit till I noticed an interesting table: &lt;code&gt;w0w_y0u_f0und_m3&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then I checked the available columns by querying &lt;code&gt;column_name&lt;/code&gt; from &lt;code&gt;information_schema.columns&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./inj5.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And after scrolling down again, I noticed an interesting column name: &lt;code&gt;f0und_m3&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Now as we have the column and table names, our final query should be:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1 union select f0und_m3,2,3,4 from w0w_y0u_f0und_m3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Which worked!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./inj6.png&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Alright, those were all the challenges I managed to solve. The other challenges are either down, or I still haven&apos;t tried them yet. Stay tuned for more write-ups! :)&lt;/p&gt;
</content:encoded></item><item><title>EYCC 2025 — OSINT Challenges (onsite-round)</title><link>https://ssumix.vercel.app/posts/eycc/osint2-eycc-write-up/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/eycc/osint2-eycc-write-up/</guid><description>a write-up for EYCC&apos;s onsite-round OSINT challenges</description><pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;EYCC 2025 — OSINT Challenges (onsite-round)&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/0*rrHdnRdlfcZ7VgVT.jpg&quot; alt=&quot;Header Image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Hey! In this write-up, I’ll cover the &lt;em&gt;Egyptian Youth Cybersecurity Competition (EYCC)&lt;/em&gt; OSINT challenges of the final onsite round.&lt;/p&gt;
&lt;p&gt;Let’s get started!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;&lt;strong&gt;First Challenge&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;We were given this picture:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*kKfyj-0BmbGxzQN8-iozfg.png&quot; alt=&quot;Challenge Image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We had to locate where this photo was taken and extract the blurred timestamp, then combine them with the string &lt;strong&gt;“echo site”&lt;/strong&gt; to form the password of a Pastebin link that contains the flag.&lt;/p&gt;
&lt;p&gt;Zooming into the photo, I immediately noticed the timestamp: &lt;strong&gt;2025-8-24&lt;/strong&gt;&lt;br /&gt;
I also recognized the place — Longyearbyen.&lt;/p&gt;
&lt;p&gt;I searched for Longyearbyen on Google Earth and found the exact spot:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*CXWP6QxXmg1u4xXqcguNaA.png&quot; alt=&quot;Google Earth Image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The challenge hinted that the location starts with &lt;strong&gt;“S”&lt;/strong&gt;, so after clicking the location we see:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:790/format:webp/1*lbTgZhxBjNnbCkFlStjLew.png&quot; alt=&quot;Svalbard Image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The required part was &lt;strong&gt;Svalbard&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;So the final password was:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Svalbard echo site 2025-8-24

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Entering it into Pastebin revealed the flag:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*vs49EYtoKB0ir13ZGgGoqw.png&quot; alt=&quot;Flag Image&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;&lt;strong&gt;Second Challenge&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;We were given a username: &lt;strong&gt;InsaneHunterCTF&lt;/strong&gt;&lt;br /&gt;
We needed to trace it and find the flag.&lt;/p&gt;
&lt;p&gt;Searching for the username across platforms, I found a GitHub account:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*J9jJ658Y6YyTDtrGJoZpsw.png&quot; alt=&quot;GitHub&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Inside the &lt;code&gt;HunterCTF&lt;/code&gt; repo there was an HTML file:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*FY1Zq-Pj85TBLe16K0vNUw.png&quot; alt=&quot;Repo&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And inside it — an interesting comment:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*hWYjoz6Osb_7Lr2CQ1Sovg.png&quot; alt=&quot;Comment&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Opening the link gave:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*dOihURqvDGmAaLyfCKWZ6A.png&quot; alt=&quot;Link Page&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Appending &lt;code&gt;/secure.zip&lt;/code&gt; downloaded a protected ZIP file.&lt;/p&gt;
&lt;p&gt;I produced a hash:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
zip2john secure.zip &amp;gt; hash.txt

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then cracked it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;John outputted something like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
!LUVDKR!..*7¡Vamos!

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;…but the password didn’t work.&lt;/p&gt;
&lt;p&gt;The challenge also hinted at fuzzing &lt;code&gt;/hidden_FUZZ&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;I used ffuf:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
ffuf -u [http://13.62.48.186/hidden_FUZZ](http://13.62.48.186/hidden_FUZZ) -w wordlist.txt

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It found:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
/hidden_data

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1034/format:webp/1*Njvpt5FnTg9FuMzWmEPRSg.png&quot; alt=&quot;ffuf&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Inside were two PDF files.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;leak.pdf&lt;/code&gt; looked corrupted, so I used &lt;code&gt;strings leak.pdf&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:652/format:webp/1*W_3hDBFTaDmjF269803-8Q.png&quot; alt=&quot;Strings Output&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It wasn’t the correct flag.&lt;/p&gt;
&lt;p&gt;The second file, &lt;code&gt;leak2.pdf&lt;/code&gt;, also showed a wrong flag:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:906/format:webp/1*HIf8LTdtn6MbotD1psub2Q.png&quot; alt=&quot;Leak2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So I ran strings on it:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1092/format:webp/1*RA73sDtIqTZWGAm9l7Jmyw.png&quot; alt=&quot;Strings Output&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This time it revealed the correct ZIP password.&lt;/p&gt;
&lt;p&gt;After unzipping, &lt;code&gt;flag.zip.txt&lt;/code&gt; contained:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:778/format:webp/1*_khyDCbHb68sLwbserZcPA.png&quot; alt=&quot;Final Flag&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And voilà!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;That was all! Don’t forget to check my other write-ups~&lt;/p&gt;
</content:encoded></item><item><title>EYCC 2025 — OSINT Challenges</title><link>https://ssumix.vercel.app/posts/eycc/osint-eycc-write-up/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/eycc/osint-eycc-write-up/</guid><description>a write-up for EYCC&apos;s OSINT challenges</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;EYCC 2025 — OSINT Challenges&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/0*JfcZMzKKaKu0xOS9.jpg&quot; alt=&quot;EYCC OSINT Banner&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Hola! This write-up covers the &lt;em&gt;Egyptian Youth Cybersecurity Competition (EYCC)&lt;/em&gt; OSINT challenges that I solved with steps taken to find the flag.&lt;/p&gt;
&lt;p&gt;This was my first time exploring OSINT challenges, and I definitely enjoyed them!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;First Challenge: Phantom Employee&lt;/h2&gt;
&lt;p&gt;Our mission was to find the name of a fired employee and check their digital footprint to find the flag.&lt;/p&gt;
&lt;p&gt;We were given a link to the company’s website, which had an &lt;strong&gt;Our Team&lt;/strong&gt; page:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*LHQ_BwzmnD06A2NTee3big.png&quot; alt=&quot;Our Team Page&quot; /&gt;&lt;/p&gt;
&lt;p&gt;There was no clue about the fired employee either on the page itself or in the source code. So I copied the challenge’s link to the &lt;a href=&quot;https://web.archive.org/&quot;&gt;WayBack Machine&lt;/a&gt; and found an old version of the website that had the fired employee’s name:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*Ui7eAyZ6j2_m41lINpiHkQ.png&quot; alt=&quot;Archived Employee&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then I searched for this employee’s name across different platforms but initially found nothing. After some digging, I finally found a LinkedIn account with the same name and noticed the flag in the account’s info:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*khG3NWWyb_95Zk8N_YIU8g.png&quot; alt=&quot;LinkedIn Flag&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Second Challenge: Shadow Signal&lt;/h2&gt;
&lt;p&gt;This time, the goal was to track the digital footprint of an employee at a company called &lt;em&gt;TechSecure Inc.&lt;/em&gt; to find the flag.&lt;/p&gt;
&lt;p&gt;A link to the company’s website was provided. I checked the site and noticed something interesting in the &lt;strong&gt;Our Team&lt;/strong&gt; section:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*bpzSaIY3FSLTZs01kCxovg.png&quot; alt=&quot;Team Section&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I searched for this username on different platforms and found an X account belonging to the same employee, which included a posted picture:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:902/format:webp/1*kAQGwATQ2qwNYeSu_6KoaA.png&quot; alt=&quot;X Account Photo&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I first thought the flag was in the picture, so I tried extracting metadata and checking for steganography but found nothing. At this point, I almost lost hope.&lt;/p&gt;
&lt;p&gt;However, in the comment section, I found an old comment from someone named Mark, who was definitely not a contestant since the comment was made before the competition started:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:876/format:webp/1*ZC9-4Ez6QU6wPQwFa2Wlzg.png&quot; alt=&quot;Old Comment&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Following that account led me to another picture:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:906/format:webp/1*y0bdEZFhz5U5wnV1XU9A_Q.png&quot; alt=&quot;Linked Picture&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*0-voJyz8BagMV0599-i4rA.png&quot; alt=&quot;Full Picture&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I downloaded this picture and examined it using &lt;code&gt;strings&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;strings coffee.jpg | head
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The output hinted at a link to check:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:758/format:webp/1*fiIU5cLP02qENiumlfW0QQ.png&quot; alt=&quot;Strings Output&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After checking the link, I found the flag directly:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*AcVonKx8TLse9w3H0hcolg.png&quot; alt=&quot;Flag Revealed&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;That’s it! Don’t forget to check my other write-ups for the Web, Crypto, and Forensics challenges.&lt;/p&gt;
</content:encoded></item><item><title>EYCC 2025 — Forensics Challenges</title><link>https://ssumix.vercel.app/posts/eycc/dfir-eycc-write-up/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/eycc/dfir-eycc-write-up/</guid><description>a write-up for EYCC&apos;s Forensics challenges</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;EYCC 2025 — Forensics Challenges&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/0*qQQA1m3ijnyEBYMm.jpg&quot; alt=&quot;Forensics Banner&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Hi there! This write-up covers the &lt;em&gt;Egyptian Youth Cybersecurity Competition (EYCC)&lt;/em&gt; Forensics challenges that I managed to solve, with the steps taken to find each flag.&lt;/p&gt;
&lt;p&gt;Let’s get started!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;First Challenge: Paper Trail&lt;/h2&gt;
&lt;p&gt;We were given a PDF file named &lt;strong&gt;secret.pdf&lt;/strong&gt;, which appeared completely blank.&lt;br /&gt;
I checked its metadata using &lt;strong&gt;exiftool&lt;/strong&gt; and immediately found the flag.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:874/format:webp/1*1yjP8tz67E7BdityMucyEg.png&quot; alt=&quot;Exiftool Output&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Second Challenge: Fractured Memory&lt;/h2&gt;
&lt;p&gt;We were given a password-protected ZIP file named &lt;strong&gt;CUNTISSIMO&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;First, I created a hash of the ZIP password using &lt;code&gt;zip2john&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;zip2john CUNTISSIMO &amp;gt; hash.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then I cracked the password using &lt;strong&gt;JohnTheRipper&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;John successfully cracked the password: &lt;strong&gt;123456789&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;After unzipping the archive, a file named &lt;strong&gt;CUNTISSIMO&lt;/strong&gt; was extracted.
I examined it with the &lt;code&gt;file&lt;/code&gt; command and found that it was a JPEG, but opening it showed that it was corrupted.&lt;/p&gt;
&lt;p&gt;To investigate, I checked the file in a hex editor and noticed the header was incorrect:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1288/format:webp/1*7KV4o-OsGUZqo-d5wsKWvQ.png&quot; alt=&quot;Hex Header&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The correct JPEG header should be:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;FF D8 FF E0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I fixed the header manually, and the image was successfully repaired:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*iITLsb7Ns8ksZ0tk6OEd1Q.jpeg&quot; alt=&quot;Repaired Image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The patched image revealed an encoded string that looked like &lt;strong&gt;Base32&lt;/strong&gt;, so I decoded it using &lt;a href=&quot;https://dcode.fr&quot;&gt;DCode&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*f8tgujW7cbCOBrw_jUJ8wQ.png&quot; alt=&quot;Decoded Base32&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And here’s the flag!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;That was all! Don’t forget to check my other write-ups for the &lt;strong&gt;Web, Crypto, and OSINT&lt;/strong&gt; challenges.&lt;/p&gt;
</content:encoded></item><item><title>EYCC 2025 — Crypto Challenges</title><link>https://ssumix.vercel.app/posts/eycc/crypto-eycc-write-up/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/eycc/crypto-eycc-write-up/</guid><description>a write-up for EYCC&apos;s crypto challenges</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;EYCC 2025 — Crypto Challenges&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/0*ivwxYactN1Yd596r.jpg&quot; alt=&quot;EYCC Crypto Banner&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Hey! This write-up covers the &lt;em&gt;Egyptian Youth Cybersecurity Competition (EYCC)&lt;/em&gt; Crypto challenges that I managed to solve with steps taken to reveal the final flag.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;First Challenge: Veiled Secret&lt;/h2&gt;
&lt;p&gt;This challenge was about decrypting a &lt;em&gt;secret message&lt;/em&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MKywL3gznaqhM2ghqzuxnzMvq-TulsD==TOR13
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I noticed the &lt;code&gt;TOR13&lt;/code&gt; at the end, which points to starting with ROT13.&lt;/p&gt;
&lt;p&gt;So, I copied the secret message to my go-to decoder, &lt;a href=&quot;http://dcode.fr&quot;&gt;Dcode&lt;/a&gt;, and checked the output:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*qDRUvqTynwJhiEIz9VGldw.png&quot; alt=&quot;ROT13 Decoding&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Now we’re left with Base64 encoded text, so I decoded it in the same website and got the flag:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*QLysdpI5ZSLjETBc08LYGQ.png&quot; alt=&quot;Flag Revealed&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Second Challenge: Golden Spiral&lt;/h2&gt;
&lt;p&gt;We were given a file named &lt;code&gt;goldenSpiral&lt;/code&gt;. It was not executable, so I made it executable:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;chmod +x goldenSpiral
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then I tried executing it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;./goldenSpiral
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But it threw an error:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bash: ./goldenSpiral: cannot execute: required file not found
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I checked the file type:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;file goldenSpiral
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It revealed that it was an ELF executable requiring this interpreter:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/nix/store/lmn7lwydprqibdkghw7wgcn21yhllz13-glibc-2.40–66/lib/ld-linux-x86–64.so.2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After running the file with the required interpreter, an encrypted flag was returned:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;fzef{7i0fGcobhxzwr4j}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The challenge mentioned a sequence that “grows almost exponentially,” suggesting the &lt;strong&gt;Fibonacci sequence&lt;/strong&gt;. Since the encrypted flag seemed alphabetically shifted, I used this &lt;a href=&quot;https://wordsmithingtools.com/fibonacci-cipher&quot;&gt;Fibonacci Cipher Decoder&lt;/a&gt; and started from 1 (because &lt;code&gt;e&lt;/code&gt; comes right before &lt;code&gt;f&lt;/code&gt; in the alphabet).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*OPzh4M5u8mqhQrZz61vXQQ.png&quot; alt=&quot;Fibonacci Cipher&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And we got the flag!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Third Challenge: Silent Keys&lt;/h2&gt;
&lt;p&gt;This challenge was an RSA decryption challenge.&lt;/p&gt;
&lt;p&gt;We were given:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;n = 148304669693572711157725718049458731328582148078019
e = 65537
c = 35618364216358867907731764651946346081071748936005
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The hint said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;n is the product of two primes; one of them is the integer part of pi multiplied by 10^5&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This challenge can be solved in two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Directly inputting the values in &lt;a href=&quot;http://dcode.fr&quot;&gt;Dcode&lt;/a&gt; to get the flag:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*JFFR1H0ROtA0mtz8DL6mmg.png&quot; alt=&quot;RSA Decryption via Dcode&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Or factorizing &lt;code&gt;n&lt;/code&gt; using &lt;a href=&quot;https://factordb.com/&quot;&gt;factordb&lt;/a&gt; to get &lt;code&gt;p&lt;/code&gt; and &lt;code&gt;q&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*9TBgGEpJ5BPvh6VpWemNug.png&quot; alt=&quot;Factoring n&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then calculating &lt;code&gt;d&lt;/code&gt; from &lt;code&gt;p, q, e&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*FB8ms9MFowzxn600WOATGQ.png&quot; alt=&quot;Calculate d&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Finally, decrypt the ciphertext &lt;code&gt;c&lt;/code&gt; to reveal the flag:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*eAglyrLAZC89OUMOnwKV4A.png&quot; alt=&quot;Decrypted Flag&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;And that’s all! Don’t forget to check my other write-ups for the Web, Forensics, and OSINT challenges!&lt;/p&gt;
</content:encoded></item><item><title>EYCC 2025 — Web Challenges</title><link>https://ssumix.vercel.app/posts/eycc/web-eycc-write-up/</link><guid isPermaLink="true">https://ssumix.vercel.app/posts/eycc/web-eycc-write-up/</guid><description>a write-up for EYCC&apos;s web challenges</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;EYCC 2025 — Web Challenges&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*O-JH8o8NsFFKPVBZY9gTOg.jpeg&quot; alt=&quot;EYCC Banner&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Hello there! This write-up covers the &lt;em&gt;Egyptian Youth Cybersecurity Competition (EYCC)&lt;/em&gt; web challenges I solved, focusing on the methods and techniques used.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;First Challenge: Open Gate&lt;/h2&gt;
&lt;p&gt;The link redirected me to this login page:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1182/format:webp/1*V9Bw59V7wabExqPLfQdEgA.png&quot; alt=&quot;Open Gate Login&quot; /&gt;&lt;/p&gt;
&lt;p&gt;My first thought was that it was probably vulnerable to &lt;strong&gt;SQL injection&lt;/strong&gt;, so I tried injecting:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;a’ OR 1=1 --
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And the flag appeared!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Second Challenge: Secure Shop&lt;/h2&gt;
&lt;p&gt;This time it was a search page:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*3oet-kbKoU2VkMYeQzJWRw.png&quot; alt=&quot;Secure Shop Search&quot; /&gt;&lt;/p&gt;
&lt;p&gt;By inspecting the page with developer tools, I found the flag laying there:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*KeDRI655KZt0XjYEe05X_Q.png&quot; alt=&quot;Flag in Source&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I suspected the challenge should be solved in another way. The JavaScript function was converting ASCII values to normal characters and saving it in a variable called &lt;strong&gt;flag&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Then I checked if the website was vulnerable to &lt;strong&gt;XSS&lt;/strong&gt; by testing:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It worked!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*GyRzsq3U02ggM955wqivJA.png&quot; alt=&quot;XSS Test&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Next, I copied the JavaScript code from the page into the search bar, added an alert to reveal the flag:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script&amp;gt;
var codes = [101, 121, 99, 99, 123, 101, 102, 108, 99, 107, 102, 
             106, 101, 110, 99, 108, 97, 107, 101, 102, 125];
var flag = String.fromCharCode.apply(null, codes);
alert(flag);
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The site blocked input on reload, so I ran the script locally to view the flag:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*ezqJaWCnw9caubqj8SVbIg.png&quot; alt=&quot;Flag Revealed&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Third Challenge: Whisper Box&lt;/h2&gt;
&lt;p&gt;The webpage itself had nothing special:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1224/format:webp/1*hBU3QYKQIl8O0SxM8bmMBA.png&quot; alt=&quot;Whisper Box&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I viewed the page source and found some credentials:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1274/format:webp/1*B5vnR7FACrwZovqi7OiryQ.png&quot; alt=&quot;Credentials&quot; /&gt;&lt;/p&gt;
&lt;p&gt;My first thought was to send a POST request with these credentials using cURL:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*BnHgtaUj3rRumPWkUyj9Jw.png&quot; alt=&quot;cURL Post&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And here’s the flag!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Fourth Challenge: Secure Bank&lt;/h2&gt;
&lt;p&gt;To solve this challenge and get the flag, our mission was to make a CSRF PoC for the password changing page of a provided website.&lt;/p&gt;
&lt;p&gt;The login page:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1296/format:webp/1*fSHi2n5v4lsB4Gm13GcO_g.png&quot; alt=&quot;Bank Login&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After logging in with provided credentials (&lt;em&gt;user &amp;amp; password&lt;/em&gt;), the dashboard appeared:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*HWU9Mt-UgaX61j6C3Vur0A.png&quot; alt=&quot;Dashboard&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I checked the password changing page and captured the request using Burp Suite:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1400/format:webp/1*KjULITpAotY9OeWx8XR3lA.png&quot; alt=&quot;Burp Capture&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then I copied the request to CSRF Shark and created a CSRF PoC:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:2000/format:webp/1*dBclxYvZrCxL20uQRS045Q.png&quot; alt=&quot;CSRF PoC&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Finally, I submitted the PoC after adding the &lt;code&gt;no-referrer&lt;/code&gt; meta tag (mandatory for acceptance):&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1016/format:webp/1*hkszD8hIsKmc6PoswPCfEg.png&quot; alt=&quot;PoC Submitted&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Et voila!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:1266/format:webp/1*9Zal-fZLS3ei4GYyGm0iUw.png&quot; alt=&quot;Flag Success&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;And that’s it! Don’t forget to check my other write-ups for the Crypto, Forensics, and OSINT challenges!&lt;/p&gt;
</content:encoded></item></channel></rss>