APT34 หรือ Oilrig โดยครั้งนี้ได้ใช้การโจมตีแบบ Spearphishing Email
กวิจัยด้านภัยคุกคามค้นพบการโจมตีแบบใหม่ที่เกิดจากกลุ่มผู้ไม่ประสงค์ดีของอิหร่านที่รู้จักกันในชื่อ APT34 หรือ Oilrig โดยครั้งนี้ได้ใช้การโจมตีแบบ Spearphishing Email มุ่งเป้าไปที่นักการทูตชาวจอร์แดน โดยที่ผู้ส่งจะปลอมแปลงเป็นเพื่อนร่วมงานจากแผนกไอทีขององค์กรรัฐบาลเดียวกัน
ซึ่งอีเมลดังกล่าวจะมีไฟล์ Exel ที่เป็นโค้ดแมโคร VBA อันตรายแนบไปด้วย โดยโค้ดนี้ใช้สำหรับสร้างไฟล์สามไฟล์ คือ ไฟล์ปฏิบัติการที่เป็นอันตราย ไฟล์ที่ใช้กำหนดค่า และไฟล์ที่มี Sign และ DLL ที่ไม่อันตราย อีกทั้งยังค้นพบความผิดปกติอีกประการหนึ่งเกี่ยวข้องกับการดำเนินการ 2 Anti-analysis ที่ใช้ในมาโครอย่างการสลับการมองเห็นชีตในสเปรดชีตและอีกวิธีหนึ่งคือการตรวจสอบการเชื่อมต่อของเมาส์ ซึ่งอาจไม่มีอยู่ในบริการการวิเคราะห์มัลแวร์ของแซนด์บ็อกซ์
ตามที่กล่าวไว้ในตารางข้างต้น มาโครมีความสามารถในการสร้างไฟล์สามไฟล์ดังนี้
- ไฟล์ปฏิบัติการที่เป็นอันตราย : %LocalAppData%\MicrosoftUpdate\update.exe
- ไฟล์ที่ใช้กำหนดค่า : %LocalAppData%\MicrosoftUpdate\update.exe.config
- ไฟล์ที่มี Sign และ DLL ที่ไม่อันตราย %LocalAppData%\MicrosoftUpdate\Microsoft.Exchange.WebServices.dll
แบบฟอร์มทั้งสามรูปแบบจะถูกเก็บไว้ในไฟล์ Excel โดยมีชื่อกำกับไว้พร้อมกับคำอธิบายดังภาพด้านบน ซึ่งคำอธิบายนี้ประกอบด้วยข้อมูลที่เข้ารหัส Base64 ไว้ นอกจากนี้ยังใช้มาโคร Excel เพื่อสร้างการคงอยู่สำหรับไฟล์ update.exe โดยตั้งค่าการดำเนินการที่กำหนดเวลาไว้
การดำเนินการนี้ถูกเรียกว่า MicrosoftUpdate โดยจะดำเนินการซ้ำทุกๆ 4 ชั่วโมง และตัวมาโครเองยังใช้คุณสมบัติ IdleSettings ที่เลิกใช้แล้ว เช่น Duration (ซึ่งจะเริ่มงานก็ต่อเมื่อคอมพิวเตอร์ไม่ได้ใช้งานเป็นเวลาสิบนาที) และ WaitTimeout (ซึ่งกำหนดระยะเวลาที่จะรอสำหรับสภาวะที่ไม่ได้ใช้งาน) งานนี้ได้รับการตั้งค่าให้ใช้เวลา 20 วันจึงจะเสร็จสมบูรณ์
นอกจากเทคนิคการสลับการมองเห็นที่อธิบายไว้ก่อนหน้านี้แล้ว ยังพบเทคนิคที่สองในมาโครนี้เพื่อหลีกเลี่ยงการวิเคราะห์อัตโนมัติ มาโครนี้ทำได้โดยการตรวจสอบการมีอยู่ของเมาส์ หากไม่ได้เชื่อมต่อเมาส์ แมโครจะไม่สร้างไฟล์ใดๆ ในสามไฟล์
มีบางกรณีที่ไม่สามารถต่อเมาส์เข้ากับคอมพิวเตอร์ได้ อันดับแรก ไม่จำเป็นต้องใช้เมาส์หากคอมพิวเตอร์ถูกควบคุมจากระยะไกล เมาส์เพียงตัวเดียวที่จำเป็นจะถูกติดตั้งบนคอมพิวเตอร์ควบคุม ประการที่สอง ไม่จำเป็นต้องใช้เมาส์หากเครื่องวิเคราะห์กำลังประมวลผลและจำลองไฟล์ Office เพียงอย่างเดียว สคริปต์สามารถสร้างขึ้นเพื่อดำเนินการทั้งหมดที่จำเป็นโดยอัตโนมัติโดยไม่ต้องใช้เมาส์
โปรแกรมที่เป็นอันตรายคือไบนารี .NET ที่ตรวจสอบสถานะของโปรแกรมและทำให้ตัวเองเข้าสู่โหมดสลีปเป็นเวลา8 ชั่วโมงหลังจากการเริ่มดำเนินการ นักวิเคราะห์เชื่อว่าผู้ไม่ประสงค์ดีอาจตั้งค่าความล่าช้านี้ไว้โดยสันนิษฐานว่านักการทูตจะเปิดอีเมลในตอนเช้าและออกไปหลังจากแปดชั่วโมงเพื่อให้คอมพิวเตอร์ไม่ถูกใช้งานอยู่
เมื่อเปิดใช้งาน มัลแวร์จะสื่อสารกับโดเมนย่อย C2 โดยใช้เครื่องมือสร้างโดเมน (DGA) DGA เป็นเทคนิคที่ใช้กันอย่างแพร่หลายซึ่งทำให้การทำงานของมัลแวร์มีความยืดหยุ่นมากขึ้นในการลบโดเมนและบล็อกรายการ
จากนั้นตั้งค่าช่องสัญญาณ DNS เพื่อติดต่อกับ IP Address ที่ให้มา นี่เป็นเทคนิคที่ไม่ค่อยพบเห็นซึ่งช่วยให้ผู้ไม่ประสงค์ดีเข้ารหัสข้อมูลที่แลกเปลี่ยนในสภาพแวดล้อมของการสื่อสารนี้ ทำให้ผู้ตรวจสอบเครือข่ายตรวจจับสิ่งผิดปกติได้ยาก
โดเมนบางส่วนที่ใช้ในแคมเปญมีชื่อที่น่าสงสัย โดยเห็นได้ชัดว่าพยายามปลอมแปลงเป็นหน่วยงานที่เป็นที่รู้จักและเชื่อถือได้ เช่น AstraZeneca, HSBC และ Cisco
ขั้นตอนต่อไป C2 จะส่งคำสั่งลับๆ ที่ต่างกัน 22 คำสั่งไปยังมัลแวร์ ซึ่งดำเนินการผ่าน PowerShell หรือ Windows CMD interpreter สุดท้ายการกรองข้อมูลที่ถูกขโมยจะทำผ่าน DNS โดยมีข้อมูลฝังอยู่ในคำขอ ทำให้ปรากฏเป็นมาตรฐานในบันทึกเครือข่าย
Indicator of Attack:
Command | Interpreter | Payload |
1 | PS | Get-NetIPAddress -AddressFamily IPv4 | Select-Object IPAddress |
2 | PS | Get-NetNeighbor -AddressFamily IPv4 | Select-Object “IPADDress” |
3 | CMD | whoami |
4 | PS | [System.Environment]::OSVersion.VersionString |
5 | CMD | net user |
7 | PS | Get-ChildItem -Path “C:\Program Files” | Select-Object Name |
8 | PS | Get-ChildItem -Path ‘C:\Program Files (x86)’ | Select-Object Name |
9 | PS | Get-ChildItem -Path ‘C:’ | Select-Object Name |
10 | CMD | hostname |
11 | PS | Get-NetTCPConnection | Where-Object {$_.State -eq “Established”} | Select-Object “LocalAddress”, “LocalPort”, “RemoteAddress”, “RemotePort” |
12 | PS | $(ping -n 1 10.65.4.50 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.4.51 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.65.65 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.53.53 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.21.200 | findstr /i ttl) -eq $null |
13 | PS | nslookup ise-posture.mofagov.gover.local | findstr /i Address;nslookup webmail.gov.jo | findstr /i Address |
14 | PS | $(ping -n 1 10.10.21.201 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.19.201 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.19.202 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.24.200 | findstr /i ttl) -eq $null |
15 | PS | $(ping -n 1 10.10.10.4 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.50.10 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.22.50 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.45.19 | findstr /i ttl) -eq $null |
16 | PS | $(ping -n 1 10.65.51.11 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.6.1 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.52.200 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.6.3 | findstr /i ttl) -eq $null |
17 | PS | $(ping -n 1 10.65.45.18 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.28.41 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.36.13 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.51.10 | findstr /i ttl) -eq $null |
18 | PS | $(ping -n 1 10.10.22.42 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.23.200 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.45.19 | findstr /i ttl) -eq $null;$(ping -n 1 10.10.19.50 | findstr /i ttl) -eq $null |
19 | PS | $(ping -n 1 10.65.45.3 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.4.52 | findstr /i ttl) -eq $null;$(ping -n 1 10.65.31.155 | findstr /i ttl) -eq $null;$(ping -n 1 ise-posture.mofagov.gover.local | findstr /i ttl) -eq $null |
20 | PS | Get-NetIPConfiguration | Foreach IPv4DefaultGateway | Select-Object NextHop |
21 | PS | Get-DnsClientServerAddress -AddressFamily IPv4 | Select-Object SERVERAddresses |
22 | CMD | systeminfo | findstr /i \”Domain\” |
IOCs
File | SHA256 |
Confirmation Receive Document.xls | 82A0F2B93C5BCCF3EF920BAE425DD768371248CDA9948D5A8E70F3C34E9F7CCA |
Microsoft.Exchange.WebServices.dll | 7EBBEB2A25DA1B09A98E1A373C78486ED2C5A7F2A16EEC63E576C99EFE0C7A49 |
update.exe.config | C744DA99FE19917E09CD1ECC48B563F9525DAD3916E1902F61B79BDA35298D87 |
update.exe | E0872958B8D3824089E5E1CFAB03D9D98D22B9BCB294463818D721380075A52D |
Other
Indicator | Value |
Mutex | 726a06ad-475b-4bc6-8466-f08960595f1e |
C2 domain | joexpediagroup[.]com |
C2 domain | asiaworldremit[.]com |
C2 domain | uber-asia[.]com |
Mitre TTPs
Initial Access | |
T1566.001 | Spearphishing |
Execution | |
T1059.001 | PowerShell |
T1059.003 | Windows Command Shell |
T1053.005 | Scheduled Task |
T1204.002 | Malicious File |
T1047 | Windows Management Instrumentation |
Persistence | |
T1053.005 | Scheduled Task |
Defense Evasion | |
T1480 | Execution Guardrails |
Discovery | |
T1087.001 | Local Account |
T1083 | File and Directory Discovery |
T1049 | System Network Connections Discovery |
Command and Control | |
T1071.004 | DNS |
T1132.002 | Non-Standard Encoding |
T1568.002 | Domain Generation Algorithms |
Exfiltration | |
T1041 | Exfiltration Over C2 Channel |
Ref:
https://www.socinvestigation.com/apt34-returns-with-new-ttps-and-delivers-malicious-file s/
https://www.fortinet.com/blog/threat-research/please-confirm-you-received-our-apt