2024 HuntressCTF - Rustline
2024-10-22

Summary
Author: @HuskyHacks
Jerry: A Redline Stealer.
George: Written in Rust.
Jerry: A Rusty Redline Stealer.
George: A Rusty Redline Stealer, Jerry!
We caught a Redline variant executing on an endpoint and intercepted the encrypted files as they traversed the edge proxy. Well, everything except for the flag.txt file (imagine that...). Any chance you could figure out how this thing works and recover the flag? NOTE: Archive password is rustline
Steps
Upon downloading the challenge files, we are given the application, challenge files and the encrypted files. However, flag.txt
does not have an associated plain-text version. Within the folders, I found two files called password.txt. One was encrypted and one was not. I recall a challenge from last during where we had to XOR the files to get the XOR key. First, I grabbed the hex values for the encrypted file:
D9 93 42 9F FB 62 07 24 C3 FC AB E1 95 7E EE 4C 8B FD 5A 85 F0 2A 4D 29 D5 FB B1 EB 8E 74 D5 19 CD 92 5C 82 AF 3F 02 20 C3 FB
and also the hex values for the plain text file:
61 64 6D 69 6E 3A 70 61 73 73 77 6F 72 64 31 32 33 0A 75 73 65 72 3A 6C 65 74 6D 65 69 6E 0A 67 75 65 73 74 3A 67 75 65 73 74
Moving to cyberchef I created pasted the encrypted hex values into the Input box and added From Hex
followed with XOR
. I used the hex values of the plaintext file as the XOR key. Lastly, added To Hex
to see what the result was. I noticed this output:
b8 f7 2f f6 95 58 77 45 b0 8f dc 8e e7 1a df 7e b8 f7 2f f6 95 58 77 45 b0 8f dc 8e e7 1a df 7e b8 f7 2f f6 95 58 77 45 b0 8f
The values look like they are repeating. I copied those hex values are looked in the malicious application and found the same string.
Based on previous experienced from last years challenge, I think this was the XOR key. Next, I grabbed the encrypted flag.txt contents in Hex and pasted that in the input box in Cyberchef.
9A A4 4A 92 B5 2D 03 65 C0 EA AE FD 97 73 BC 17 D9 83 46 85 B5 2D 19 21 D5 AF B3 E3 89 73 AC 5E D1 84 5B 93 B5 36 16 31 C5 FC FC EB 95 68 B0 0C 98 84 46 82 B5 2E 18 29 C5 FF A8 EF 93 7F B2 5E D9 94 4C 83 E6 39 19 31 D9 FA B1 AE 83 75 B3 11 CA 92 42 87 E0 3D 57 29 D1 FA B8 EF 89 6E B6 0B D5 DB 0F 82 FA 2C 16 28 90 FD B9 E3 C7 7B AF 1B CA 9E 4E 9B B9 78 12 24 C1 FA B9 AE 8E 6A AC 1F 98 86 5A 97 F0 78 16 27 90 E6 B0 E2 88 3A B6 10 CE 92 41 82 FA 2A 12 65 C6 EA AE E7 93 7B AB 17 CB D7 4A 82 B5 29 02 24 C3 E6 FC EF 95 79 B7 17 CC 92 4C 82 FA 78 15 20 D1 FB BD EB C7 6C B6 0A D9 92 0F 92 FC 3B 03 24 90 FC A9 E0 93 3A BA 06 C8 9B 46 95 F4 3A 18 6B 90 C1 B9 E3 88 3A BA 10 D1 9A 0F 9F E5 2B 16 28 90 F9 B3 E2 92 6A AB 1F CC 92 42 D6 E4 2D 1E 24 90 F9 B3 E2 92 6A AB 1F CB D7 5C 9F E1 78 16 36 C0 EA AE E0 86 6E AA 0C 98 96 5A 82 B5 37 13 2C C4 AF BD FB 93 3A B9 0B DF 9E 5B DA B5 2B 12 21 90 FE A9 E7 86 3A BC 11 D6 84 4A 87 E0 2D 19 31 C5 FD FC E3 86 7D B1 17 98 93 40 9A FA 2A 12 36 90 EA B3 FD C7 6B AA 17 98 85 4E 82 FC 37 19 20 90 F9 B3 E2 92 6A AB 1F CC 92 42 D6 E6 3D 06 30 D9 AF B2 EB 94 79 B6 0B D6 83 01 D6 DB 3D 06 30 D5 AF AC E1 95 68 B0 5E C9 82 46 85 E4 2D 16 28 90 EA AF FA CB 3A AE 0B D1 D7 4B 99 F9 37 05 20 DD AF B5 FE 94 6F B2 5E C9 82 46 97 B5 3C 18 29 DF FD FC FD 8E 6E FF 1F D5 92 5B DA B5 3B 18 2B C3 EA BF FA 82 6E AA 0C 94 D7 4E 92 FC 28 1E 36 D3 E6 FC F8 82 76 B6 0A 94 D7 5C 93 F1 78 06 30 D9 EE FC E0 88 74 FF 10 CD 9A 5E 83 F4 35 57 20 D9 FA AF AE 8A 75 BB 17 98 83 4A 9B E5 37 05 24 90 E6 B2 ED 8E 7E AA 10 CC D7 5A 82 B5 34 16 27 DF FD B9 AE 82 6E FF 1A D7 9B 40 84 F0 78 1A 24 D7 E1 BD E3 C7 7B B3 17 C9 82 4E 9B B5 29 02 24 D5 FD BD FA C7 6C B0 12 CD 87 5B 97 E1 3D 1A 6B 90 DA A8 AE 82 74 B6 13 98 96 4B D6 F8 31 19 2C DD EE FC F8 82 74 B6 1F D5 DB 0F 87 E0 31 04 65 DE E0 AF FA 95 6F B2 5E DD 8F 4A 84 F6 31 03 24 C4 E6 B3 E0 82 77 FF 0B D4 9B 4E 9B B5 3B 18 37 C0 E0 AE E7 94 3A AC 0B CB 94 46 86 FC 2C 57 29 D1 ED B3 FC 8E 75 AC 1F D5 DB 0F 98 FC 2B 1E 65 C5 FB FC EF 8B 73 AE 0B D1 93 0F 93 ED 78 12 24 90 EC B3 E3 8A 75 BB 17 98 94 40 98 E6 3D 06 30 D1 FB A9 FC D8 3A 8E 0B D1 84 0F 97 E0 2C 12 28 90 F9 B9 E2 C7 7F AA 13 98 9E 5A 84 F0 78 05 20 C0 FD B9 E6 82 74 BB 1B CA 9E 5B D6 E4 2D 1E 65 D9 E1 FC EB 86 3A A9 11 D4 82 5F 82 F4 2C 12 65 C6 EA B0 E7 93 3A BA 0D CB 92 0F 87 E0 39 1A 65 DE E6 B4 E7 8B 3A B2 11 D4 92 5C 82 FC 39 12 65 D3 E0 B2 FD 82 6B AA 1F CC 82 5D DA B5 2E 12 29 90 E6 B0 E2 92 77 FF 0F CD 9E 0F 92 FA 34 18 37 D5 E2 FC EB 92 77 FF 18 CD 90 46 97 E1 78 06 30 DF AF AA E1 8B 6F AF 0A D9 84 0F 98 E0 34 1B 24 90 FF BD FC 8E 7B AB 0B CA C8 0D FC 9F 3E 1B 24 D7 F4 BE E8 82 2B ED 1F D9 93 4B C7 A6 61 13 20 D6 BB B8 BA D0 7C EA 18 8D C6 4E C3 A6 61 45 71 89 EB A1 84 ED 38 8C 1B DC D7 5A 82 B5 28 12 37 C3 FF B5 ED 8E 7B AB 17 CB D7 5A 98 F1 3D 57 2A DD E1 B5 FD C7 73 AC 0A DD D7 41 97 E1 2D 04 65 D5 FD AE E1 95 3A AC 17 CC D7 59 99 F9 2D 07 31 D1 FB B9 E3 C7 7B BC 1D CD 84 4E 98 E1 31 02 28 90 EB B3 E2 88 68 BA 13 C9 82 4A D6 F9 39 02 21 D1 E1 A8 E7 92 77 F3 5E CC 98 5B 97 F8 78 05 20 DD AF BD FE 82 68 B6 1F D5 DB 0F 93 F4 29 02 20 90 E6 AC FD 86 3A AE 0B D9 92 0F 97 F7 78 1E 29 DC E0 FC E7 89 6C BA 10 CC 98 5D 93 B5 2E 12 37 D9 FB BD FA 8E 69 FF 1B CC D7 5E 83 F4 2B 1E 65 D1 FD BF E6 8E 6E BA 1D CC 98 0F 94 F0 39 03 24 D5 AF AA E7 93 7B BA 5E DC 9E 4C 82 F4 78 04 30 DE FB FC EB 9F 6A B3 17 DB 96 4D 99 BB 78 39 20 DD E0 FC EB 89 73 B2 5E D1 87 5C 97 F8 78 01 2A DC FA AC FA 86 6E BA 13 98 86 5A 9F F4 78 01 2A DC FA AC FA 86 69 FF 0D D1 83 0F 97 E6 28 12 37 DE EE A8 FB 95 3A BE 0B CC D7 40 92 FC 2C 57 24 C5 FB FC E8 92 7D B6 0A 94 D7 5C 93 F1 78 06 30 D9 EE FC ED 88 74 AC 1B C9 82 5A 98 E1 2D 05 65 DD EE BB E0 8E 3A BB 11 D4 98 5D 93 E6 78 12 2A C3 AF AD FB 8E 3A AD 1F CC 9E 40 98 F0 78 01 2A DC FA AC FA 86 6E BA 13 98 84 4A 87 E0 31 57 2B D5 FC BF E7 92 74 AB 50 98 B9 4A 87 E0 3D 57 35 DF FD AE E1 C7 6B AA 17 CB 86 5A 97 F8 78 12 36 C4 A3 FC FF 92 73 FF 1A D7 9B 40 84 F0 35 57 2C C0 FC A9 E3 C7 6B AA 17 D9 D7 4B 99 F9 37 05 65 C3 E6 A8 AE 86 77 BA 0A 94 D7 4C 99 FB 2B 12 26 C4 EA A8 FB 95 36 FF 1F DC 9E 5F 9F E6 3B 1E 65 C6 EA B0 E7 93 36 FF 0D DD 93 0F 87 E0 31 16 65 DE E0 B2 AE 89 6F B2 0F CD 96 42 D6 F0 31 02 36 90 E2 B3 EA 8E 3A AB 1B D5 87 40 84 F4 78 1E 2B D3 E6 B8 FB 89 6E FF 0B CC D7 43 97 F7 37 05 20 90 EA A8 AE 83 75 B3 11 CA 92 0F 9B F4 3F 19 24 DD AF BD E2 8E 6B AA 1F D5 D7 5E 83 F4 3D 05 24 C4 AF AA E1 8B 6F AF 0A D9 83 4A 9B BB 78 22 31 90 EA B2 E7 8A 3A BE 1A 98 9A 46 98 FC 35 16 65 C6 EA B2 E7 86 77 F3 5E C9 82 46 85 B5 36 18 36 C4 FD A9 E3 C7 7F A7 1B CA 94 46 82 F4 2C 1E 2A DE EA B1 AE 92 76 B3 1F D5 D7 4C 99 E7 28 18 37 D9 FC FC FD 92 69 BC 17 C8 9E 5B D6 F9 39 15 2A C2 E6 B3 FD 86 77 F3 5E D6 9E 5C 9F B5 2D 03 65 D1 E3 B5 FF 92 73 BB 5E DD 8F 0F 93 F4 78 14 2A DD E2 B3 EA 8E 3A BC 11 D6 84 4A 87 E0 39 03 30 C2 B0 FC DF 92 73 AC 5E D9 82 5B 93 F8 78 01 20 DC AF B9 FB 8A 3A B6 0B CA 92 0F 84 F0 28 05 20 D8 EA B2 EA 82 68 B6 0A 98 86 5A 9F B5 31 19 65 D5 EE FC F8 88 76 AA 0E CC 96 5B 93 B5 2E 12 29 D9 FB FC EB 94 69 BA 5E C9 82 4E 9B B5 36 1E 2D D9 E3 FC E3 88 76 BA 0D CC 9E 4E 93 B5 3B 18 2B C3 EA AD FB 86 6E AA 0C 94 D7 59 93 F9 78 1E 29 DC FA B1 AE 96 6F B6 5E DC 98 43 99 E7 3D 1A 65 D5 FA B1 AE 81 6F B8 17 D9 83 0F 87 E0 37 57 33 DF E3 A9 FE 93 7B AC 5E D6 82 43 9A F4 78 07 24 C2 E6 BD FA 92 68 E0 5C
after converting, I see the flag in plain text.
Flag: flag{bfe12aadd139def4d47f5f51a539249d}