Our journey into dissecting the Spotify installer has been a series of interesting detours. After hitting a dead end trying to intercept the initial download traffic (thanks, QUIC encryption!), we knew it was time for a pivot. If the installer was "downloading," then by definition, it had to be writing data to our local disk.
This led us to a different kind of hunt: a forensic examination of the installer's file system activities.
The Pivot: From Network Packets to Filesystem Footprints
The network analysis had revealed that SpotifySetup.exe made a successful DNS query for apresolve.spotify.com, which resolved to 35.186.224.24. And while we saw it attempting both QUIC (HTTP/3) and traditional TCP/TLSv1.3 connections, the QUIC traffic remained an impenetrable "protected payload." Trying to build a QUIC proxy felt like a rabbit hole deeper than we wanted to go.
So, the question became: If we can't see what it's downloading over the network, can we see where it's downloading it to on the disk?
Enter our old friend, Process Monitor (ProcMon).
The Hunt with Process Monitor: Finding the Fingerprints
Our initial attempts to filter ProcMon logs were a bit too broad or too narrow. WriteFile operations alone weren't capturing everything. This often happens when an application employs more nuanced file operations or spawns child processes that do the heavy lifting.
A deeper dive into ProcMon's raw events, however, revealed the key players:
IRP_MJ_CREATE: This is a fundamental operation indicating a file is being created or opened for access. It's the prelude to data being written.FASTIO_WRITE: This is a highly optimized, direct-to-disk write operation. When you see this, it means raw data is being efficiently dumped into a file.
By focusing our ProcMon filters to include these specific operations, along with WriteFile and common temporary/installation paths, the logs became much clearer. We ran SpotifySetup.exe again, intently watching the incoming stream of file system events.
The "A-ha!" Moment: Two Significant Paths Emerge
As the "downloading" progress bar crept along, two paths repeatedly appeared in our ProcMon logs, filled with IRP_MJ_CREATE and FASTIO_WRITE operations:
C:\Users\ul_ha\AppData\Roaming\Spotify\SpWebInst0.exe: This path, within the user's roaming application data, suggested a component of the web installer itself, perhaps a temporary executable it was using or building.C:\Users\ul_ha\AppData\Local\Microsoft\Windows\INetCache\IE\WV05H7IU\SpotifyFullSetupX64[1].exe: This was the real gem!- The
INetCache\IEpart immediately flagged it as Internet Explorer's temporary cache folder. This strongly indicated that even if the Spotify installer has a custom UI, it leverages IE's underlying download components (like the WinINet API) to fetch the main payload. SpotifyFullSetupX64[1].execlearly sounded like the full 64-bit setup executable. The[1]suffix is also typical of IE downloads when a file with the same name already exists in the cache.
- The
Initially, we assumed, as is common with installers, that these temporary files would be deleted upon completion. And for SpWebInst0.exe, that appeared to be the case. However, a quick check after the installation confirmed the thrilling news:
SpotifyFullSetupX64[1].exe was still there!
The Significance of Our Find
This discovery is a major step forward. We've managed to bypass the QUIC encryption and directly obtain the true installer payload. This SpotifyFullSetupX64[1].exe is no longer the small initial downloader; it's the full-fledged executable responsible for installing the entire Spotify application.
This means we now have a static target for in-depth analysis. We can examine its contents, understand its behaviors, and scrutinize its logic without needing to race against its self-deletion mechanisms or decrypt complex network streams in real-time.
What's Next for the Investigation?
With the SpotifyFullSetupX64[1].exe in hand, our next phase will involve:
- Hashing and VirusTotal Lookup: To confirm its legitimacy and see if any unexpected flags appear.
- Static Analysis (PE Viewing, Strings): Deconstructing the executable to understand its imports, resources, and any hardcoded strings or URLs.
- Dynamic Analysis in a Controlled Sandbox: Running this actual installer in a virtual machine while meticulously monitoring all its file system, registry, process, and potentially network activities (hoping its installation-phase network calls might be more amenable to standard HTTPS proxying).
This shift in strategy allowed us to overcome a significant hurdle, proving once again that persistence and adaptability are key tools in any cybersecurity researcher's arsenal! Stay tuned for what secrets the full installer might reveal.
Comments
Post a Comment