SlideShare a Scribd company logo
CHO MỌI NHÀ​
DLL SIDELOADING
SECURITY BOOTCAMP
NỘI DUNG
01
03
02
04 DEMO
05 Q & A
https://cypeace.net/
RED VS BLUE TEAM
BYPASS AV/EDR
DLL SIDELOADING
TOM & JERRY
• Colbalt Strike release version mới
• C2 Open Source: Havoc, Mystic, Sliver, …
• Techniques mới để evade EDR liên tục được phát hiện.​
Security Vendors update signature mới nhất có thể để flag.​
Security Vendors signature tất cả.
RED VS BLUE
https://cypeace.net/
NỘI DUNG
01
03
02
04 DEMO
05 Q & A
https://cypeace.net/
RED VS BLUE TEAM
BYPASS AV/EDR
DLL SIDELOADING
https://cypeace.net/
BYPASS
AV/EDR
KỸ THUẬT BYPASS AV/EDR​
AV là gì ?
• Phần mềm được tạo ra đặc biệt để giúp phát hiện ngăn chặn và
loại bỏ phần mềm độc hại.​
AV x EDR
• Các chương trình diệt vi-rút truyền thống đơn giản hơn và có
phạm vi hạn chế hơn so với các hệ thống EDR hiện đại. Có thể coi
phần mềm diệt vi-rút là một phần của hệ thống EDR.​
• Phần mềm diệt vi-rút thường là một chương trình duy nhất phục
vụ các mục đích cơ bản như quét, phát hiện và loại bỏ vi-rút và
các loại phần mềm độc hại khác nhau.​
EDR đóng vai trò lớn hơn, nhiệm vụ nhiều hơn.
KỸ THUẬT BYPASS AV/EDR​
Syscall
Các Kỹ
Thuật
Bypass
Unhooking API
Các Kỹ Thuật Khác DLL Sideloading
NỘI DUNG
01
03
02
04 DEMO
05 Q & A
https://cypeace.net/
RED VS BLUE TEAM
BYPASS AV/EDR
DLL SIDELOADING
https://cypeace.net/
DLL SIDELOADING
LÀ GÌ?
DLL LÀ GÌ?​
VÌ SAO CẦN DLL?
Tái sử
dụng
mã nguồn
Giảm kích thước
ứng dụng
Tối ưu dung
lượng ổ cứng
Cập nhật và bảo
trì dễ dàng
DLL NẰM Ở ĐÂU?
Thư mục
System32
Thư mục
SysWOW64
Tệp DLL
Các vị trí
khác
DLL SIDELOADING LÀ GÌ?
DLL-Sideloading là phương pháp lạm dụng thứ tự tìm kiếm DLL, thứ tự này xác định thứ tự cụ
thể mà hệ điều hành tìm kiếm và tải các tệp DLL khi một chương trình chạy.
DLL SIDELOADING LÀ GÌ?
Tính năng bảo mật
của Windows
Quá trình tải DLL
Kích hoạt mặc định
kể từ Windows 10
SafeDllSearchMode
Tăng cường bảo
mật và độ tin cậy
SafeDllSearchMode: Cơ chế tải DLL an toàn
Bật SafeDllSearchMode sẽ thay đổi trình tự các chương trình tìm kiếm DLL để tải, cụ
thể là đưa thư mục hiện tại xuống dưới trong thứ tự tìm kiếm.
SafeDllSearchMode
SafeDllSearchMode
Enabled
Process Memory
KnownDLLs Registry Entry
Application's Directory
Directories in PATH env variable
PATH
Current Directory
System Directory [C:WindowsSystem32]
Windows Directory [C:Windows]
System Directory [C:WindowsSystem]
1
6
Proces
s
SafeDllSearchMode
SafeDllSearchMode
Disabled
Process Memory
KnownDLLs Registry Entry
Application's Directory
Directories in PATH env variable
Current Directory
PATH
System Directory [C:WindowsSystem32]
Windows Directory [C:Windows]
System Directory [C:WindowsSystem]
1
6
Proces
s
Application's Directory
& Current Directory
Tại Sao DLL Sideloading Hiệu Quả?
Ảnh hưởng đến nhiều
loại binaries hợp lệ.
Bypass AV/EDR bằng cách
chạy trong ngữ cảnh của
một quy trình hợp pháp.
Sử dụng ứng dụng hợp
pháp để thực thi mã độc.
DLL có thể được sử dụng để duy
trì kết nối độc hại, đặc biệt nếu
ứng dụng bị khai thác được thực
thi thường xuyên.
https://cypeace.net/
FILE NÀO
NÊN KHAI THÁC?
DLL Sideloading
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
Ví dụ, bcrypt.dll không nên là DLL sử dụng để sideload,
nếu payload sử dụng các hàm liên quan đến mật mã (ví
dụ: BCryptEncrypt) sẽ được xuất từ ​
​
DLL này như thế sẽ dẫn
tới bị lỗi.
Khi chọn một DLL để sideload, tránh sử dụng đến các DLL
sẽ được dùng trong payload.
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
FILE NÀO NÊN KHAI THÁC?
GIẢI QUYẾT BẰNG PROXYING
PROXYING
PROXYING
#pragma comment (linker, /export:GetFileVersionInfoA
= )
#pragma comment (linker, "/export:GetFileVersionInfoA =
C:WindowsSystem32version.GetFileVersionInfoA, @1")
PROXYING
#pragma comment (linker, )
...
Chỉ thị dành riêng cho trình biên dịch, cho phép truyền
các tham số trực tiếp cho trình liên kết (linker).
/export:GetFileVersionInfoA
=
C:WindowsSystem32version.GetFileVersionInfoA @1
#pragma comment (linker, "/export:GetFileVersionInfoA =
C:WindowsSystem32version.GetFileVersionInfoA, @1")
Yêu cầu linker xuất một hàm với tên GetFileVersionInfoA.
"Xuất" (export) một hàm nghĩa là làm cho hàm này có sẵn
cho các chương trình hoặc module khác sử dụng khi
chúng tải DLL này
PROXYING
Xác định vị trí chính xác của hàm GetFileVersionInfoA mà DLL sẽ trỏ đến.
C:WindowsSystem32version.GetFileVersionInfoA
@1
#pragma comment (linker, "/export:GetFileVersionInfoA =
C:WindowsSystem32version.GetFileVersionInfoA, @1")
Số thứ tự (ordinal number) của hàm trong bảng xuất của DLL.
Số thứ tự được sử dụng để tham chiếu các hàm xuất trong một DLL,
thường để tăng hiệu suất hoặc duy trì tính tương thích.
PROXYING
PROXYING
PROXYING
TRÁNH DEADLOCK
• Khi một DLL được tải vào một tiến trình, hàm DllMain
của nó được thực thi trong một khóa đồng bộ.
• Example.exe tải nhiều DLL, chẳng hạn như A.dll, B.dll và C.dll,
thì ứng dụng đó phải đợi hàm DllMain của A.dll hoàn tất trước
khi có thể tiếp tục tải các DLL tiếp theo.
• Shellcode được thực thi trong hàm DllMain của A.dll phụ thuộc vào việc
B.dll hoặc C.dll được tải, thì bản thân shellcode sẽ không thực thi.
Tải A.dll
Thực thi
DLLMain
A
Tải B.dll
Tải C.dll
Thực thi Shellcode
TRÁNH DEADLOCK
TRÁNH DEADLOCK
TRÁNH DEADLOCK
TRÁNH DEADLOCK
TẠO SHELLCODE LOADER
TẠO SHELLCODE LOADER
TẠO SHELLCODE LOADER
SETUP LISTENER
EXPLOIT DLL SIDELOAD
C2 NHẬN KẾT NỐI
NỘI DUNG
01
03
02
04 DEMO
05 Q & A
https://cypeace.net/
RED VS BLUE TEAM
BYPASS AV/EDR
DLL SIDELOADING
https://cypeace.net/
DEMO
VIDEO DEMO DLL SIDELOADING
KẾT LUẬN
DLL Sideloading là một kỹ thuật
mạnh mẽ để bypass AV/EDR.
Hiểu biết về kỹ thuật này giúp ích
cho cả người tấn công và phòng
thủ.
Phòng chống hiệu quả đòi hỏi các
biện pháp bảo mật nhiều lớp.
https://cypeace.net/
Q&A
contact@cypeace.net
(+84) 853 727 900 cypeace.net

More Related Content

PDF
KHNOG 3: DDoS Attack Prevention
PPTX
Cyber kill chain
PPTX
IoT Security Risks and Challenges
PPTX
Cyber espionage nation state-apt_attacks_on_the_rise
PDF
First Step into Your House: Các kỹ thuật xâm nhập hệ thống phổ biến từ các sự...
PPT
IDS and IPS
PPTX
Linux security introduction
PPTX
BTRisk - Siber Olay Tespit ve Mudahale Egitimi
KHNOG 3: DDoS Attack Prevention
Cyber kill chain
IoT Security Risks and Challenges
Cyber espionage nation state-apt_attacks_on_the_rise
First Step into Your House: Các kỹ thuật xâm nhập hệ thống phổ biến từ các sự...
IDS and IPS
Linux security introduction
BTRisk - Siber Olay Tespit ve Mudahale Egitimi

What's hot (20)

PPTX
Introduction to Malware Analysis
PPTX
Basic malware analysis
PPT
Information Gathering With Maltego
PDF
Privilege escalation from 1 to 0 Workshop
PDF
Super Easy Memory Forensics
 
PPTX
Quality Assurance and Testing services
PPTX
CyberSecurity Best Practices for the IIoT
PDF
Soc and siem and threat hunting
PDF
How to Shot Web - Jason Haddix at DEFCON 23 - See it Live: Details in Descrip...
PPTX
IBM QRadar UBA
PPTX
Presentation on 'Understanding and Utilising Threat Intelligence in Cybersecu...
PDF
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?
PDF
Oscp preparation
PDF
penetration test using Kali linux ppt
PDF
Testing concepts [3] - Software Testing Techniques (CIS640)
PDF
Introduction to Self Sovereign Identity - IIW October 2019
PDF
Cyber threat intelligence ppt
PPTX
Inetsecurity.in Ethical Hacking presentation
Introduction to Malware Analysis
Basic malware analysis
Information Gathering With Maltego
Privilege escalation from 1 to 0 Workshop
Super Easy Memory Forensics
 
Quality Assurance and Testing services
CyberSecurity Best Practices for the IIoT
Soc and siem and threat hunting
How to Shot Web - Jason Haddix at DEFCON 23 - See it Live: Details in Descrip...
IBM QRadar UBA
Presentation on 'Understanding and Utilising Threat Intelligence in Cybersecu...
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?
Oscp preparation
penetration test using Kali linux ppt
Testing concepts [3] - Software Testing Techniques (CIS640)
Introduction to Self Sovereign Identity - IIW October 2019
Cyber threat intelligence ppt
Inetsecurity.in Ethical Hacking presentation
Ad

Similar to DLL Sideloading cho mọi nhà - Security Bootcamp 2024 (7)

DOCX
Baocao
PDF
Chương 6. Phân tích một số cơ chế và hành vi thông thường của mã độ...
PDF
Liên kết động trong linux và windows (phần 1)
PDF
Chương 4. Kỹ thuật phân tích mã độc dựa trên gỡ rối.pdf
PDF
Tìm hiểu đầy đủ về tràn bộ đệm
PDF
Liên kết động trong linux và windows (phần 2)
PDF
Chương 5. Phân tích các chương trình độc hại trên Window.pdf
Baocao
Chương 6. Phân tích một số cơ chế và hành vi thông thường của mã độ...
Liên kết động trong linux và windows (phần 1)
Chương 4. Kỹ thuật phân tích mã độc dựa trên gỡ rối.pdf
Tìm hiểu đầy đủ về tràn bộ đệm
Liên kết động trong linux và windows (phần 2)
Chương 5. Phân tích các chương trình độc hại trên Window.pdf
Ad

More from Security Bootcamp (20)

PDF
Ẩn mình kết nối C&C - Xu hướng tấn công và cách phòng thủ
PPTX
AI-ttacks - Nghiên cứu về một số tấn công vào các mô hình học máy và AI
PPTX
Human and AI - Balancing Innovation and Data Privacy in the Age of Cyber Threats
PPTX
Robustness of Deep learning mode ls.pptx
PDF
Let the Hunt Begin - Security Bootcamp 2024
PDF
Detection as Code - Effective Approach to manage & optimize SOC Development
PDF
Quản trị rủi ro nguồn mở tại các doanh nghiệp phần mềm Việt Nam
PDF
Phân tích một chiến dịch ransomware: Từ lan truyền đến tống tiền
PDF
CyberJutsu - The Joern-ey of Static Code Analysis.pdf
PPTX
Security in the AI and Web3 era - Veramine
PDF
ĐỂ AI ĐƯỢC AN TOÀN, MINH BẠCH, CÓ TRÁCH NHIỆM VÀ ‘NHÂN TÍNH’ HƠN
PDF
Modern Security Operations - Building and leading modern SOC
PDF
Humanity and AI: Balancing Innovation and Data Privacy in the Age of Cyber Th...
PPTX
SBC2024_AI TRONG CYBER SECURITY_final.pptx
PPTX
Cyber GenAI – Another Chatbot? - Trellix
PDF
Akamai_ API Security Best Practices - Real-world attacks and breaches
PPTX
How to steal a drone Drone Hijacking - VNPT Cyber Immunity
PDF
Empowering Malware Analysis with IDA AppCall
PDF
Detection of Spreading Process on many assets over the network
PDF
Ransomware is Knocking your Door_Final.pdf
Ẩn mình kết nối C&C - Xu hướng tấn công và cách phòng thủ
AI-ttacks - Nghiên cứu về một số tấn công vào các mô hình học máy và AI
Human and AI - Balancing Innovation and Data Privacy in the Age of Cyber Threats
Robustness of Deep learning mode ls.pptx
Let the Hunt Begin - Security Bootcamp 2024
Detection as Code - Effective Approach to manage & optimize SOC Development
Quản trị rủi ro nguồn mở tại các doanh nghiệp phần mềm Việt Nam
Phân tích một chiến dịch ransomware: Từ lan truyền đến tống tiền
CyberJutsu - The Joern-ey of Static Code Analysis.pdf
Security in the AI and Web3 era - Veramine
ĐỂ AI ĐƯỢC AN TOÀN, MINH BẠCH, CÓ TRÁCH NHIỆM VÀ ‘NHÂN TÍNH’ HƠN
Modern Security Operations - Building and leading modern SOC
Humanity and AI: Balancing Innovation and Data Privacy in the Age of Cyber Th...
SBC2024_AI TRONG CYBER SECURITY_final.pptx
Cyber GenAI – Another Chatbot? - Trellix
Akamai_ API Security Best Practices - Real-world attacks and breaches
How to steal a drone Drone Hijacking - VNPT Cyber Immunity
Empowering Malware Analysis with IDA AppCall
Detection of Spreading Process on many assets over the network
Ransomware is Knocking your Door_Final.pdf

DLL Sideloading cho mọi nhà - Security Bootcamp 2024

  • 1. CHO MỌI NHÀ​ DLL SIDELOADING SECURITY BOOTCAMP
  • 2. NỘI DUNG 01 03 02 04 DEMO 05 Q & A https://cypeace.net/ RED VS BLUE TEAM BYPASS AV/EDR DLL SIDELOADING
  • 3. TOM & JERRY • Colbalt Strike release version mới • C2 Open Source: Havoc, Mystic, Sliver, … • Techniques mới để evade EDR liên tục được phát hiện.​ Security Vendors update signature mới nhất có thể để flag.​ Security Vendors signature tất cả. RED VS BLUE https://cypeace.net/
  • 4. NỘI DUNG 01 03 02 04 DEMO 05 Q & A https://cypeace.net/ RED VS BLUE TEAM BYPASS AV/EDR DLL SIDELOADING
  • 6. KỸ THUẬT BYPASS AV/EDR​ AV là gì ? • Phần mềm được tạo ra đặc biệt để giúp phát hiện ngăn chặn và loại bỏ phần mềm độc hại.​ AV x EDR • Các chương trình diệt vi-rút truyền thống đơn giản hơn và có phạm vi hạn chế hơn so với các hệ thống EDR hiện đại. Có thể coi phần mềm diệt vi-rút là một phần của hệ thống EDR.​ • Phần mềm diệt vi-rút thường là một chương trình duy nhất phục vụ các mục đích cơ bản như quét, phát hiện và loại bỏ vi-rút và các loại phần mềm độc hại khác nhau.​ EDR đóng vai trò lớn hơn, nhiệm vụ nhiều hơn.
  • 7. KỸ THUẬT BYPASS AV/EDR​ Syscall Các Kỹ Thuật Bypass Unhooking API Các Kỹ Thuật Khác DLL Sideloading
  • 8. NỘI DUNG 01 03 02 04 DEMO 05 Q & A https://cypeace.net/ RED VS BLUE TEAM BYPASS AV/EDR DLL SIDELOADING
  • 11. VÌ SAO CẦN DLL? Tái sử dụng mã nguồn Giảm kích thước ứng dụng Tối ưu dung lượng ổ cứng Cập nhật và bảo trì dễ dàng
  • 12. DLL NẰM Ở ĐÂU? Thư mục System32 Thư mục SysWOW64 Tệp DLL Các vị trí khác
  • 13. DLL SIDELOADING LÀ GÌ? DLL-Sideloading là phương pháp lạm dụng thứ tự tìm kiếm DLL, thứ tự này xác định thứ tự cụ thể mà hệ điều hành tìm kiếm và tải các tệp DLL khi một chương trình chạy.
  • 15. Tính năng bảo mật của Windows Quá trình tải DLL Kích hoạt mặc định kể từ Windows 10 SafeDllSearchMode Tăng cường bảo mật và độ tin cậy SafeDllSearchMode: Cơ chế tải DLL an toàn Bật SafeDllSearchMode sẽ thay đổi trình tự các chương trình tìm kiếm DLL để tải, cụ thể là đưa thư mục hiện tại xuống dưới trong thứ tự tìm kiếm.
  • 16. SafeDllSearchMode SafeDllSearchMode Enabled Process Memory KnownDLLs Registry Entry Application's Directory Directories in PATH env variable PATH Current Directory System Directory [C:WindowsSystem32] Windows Directory [C:Windows] System Directory [C:WindowsSystem] 1 6 Proces s
  • 17. SafeDllSearchMode SafeDllSearchMode Disabled Process Memory KnownDLLs Registry Entry Application's Directory Directories in PATH env variable Current Directory PATH System Directory [C:WindowsSystem32] Windows Directory [C:Windows] System Directory [C:WindowsSystem] 1 6 Proces s
  • 19. Tại Sao DLL Sideloading Hiệu Quả? Ảnh hưởng đến nhiều loại binaries hợp lệ. Bypass AV/EDR bằng cách chạy trong ngữ cảnh của một quy trình hợp pháp. Sử dụng ứng dụng hợp pháp để thực thi mã độc. DLL có thể được sử dụng để duy trì kết nối độc hại, đặc biệt nếu ứng dụng bị khai thác được thực thi thường xuyên.
  • 21. FILE NÀO NÊN KHAI THÁC?
  • 22. FILE NÀO NÊN KHAI THÁC?
  • 23. FILE NÀO NÊN KHAI THÁC?
  • 24. FILE NÀO NÊN KHAI THÁC?
  • 25. FILE NÀO NÊN KHAI THÁC?
  • 26. FILE NÀO NÊN KHAI THÁC?
  • 27. Ví dụ, bcrypt.dll không nên là DLL sử dụng để sideload, nếu payload sử dụng các hàm liên quan đến mật mã (ví dụ: BCryptEncrypt) sẽ được xuất từ ​ ​ DLL này như thế sẽ dẫn tới bị lỗi. Khi chọn một DLL để sideload, tránh sử dụng đến các DLL sẽ được dùng trong payload. FILE NÀO NÊN KHAI THÁC?
  • 28. FILE NÀO NÊN KHAI THÁC?
  • 29. FILE NÀO NÊN KHAI THÁC?
  • 30. FILE NÀO NÊN KHAI THÁC?
  • 31. FILE NÀO NÊN KHAI THÁC?
  • 32. FILE NÀO NÊN KHAI THÁC?
  • 33. FILE NÀO NÊN KHAI THÁC? GIẢI QUYẾT BẰNG PROXYING
  • 36. #pragma comment (linker, /export:GetFileVersionInfoA = ) #pragma comment (linker, "/export:GetFileVersionInfoA = C:WindowsSystem32version.GetFileVersionInfoA, @1") PROXYING
  • 37. #pragma comment (linker, ) ... Chỉ thị dành riêng cho trình biên dịch, cho phép truyền các tham số trực tiếp cho trình liên kết (linker). /export:GetFileVersionInfoA = C:WindowsSystem32version.GetFileVersionInfoA @1 #pragma comment (linker, "/export:GetFileVersionInfoA = C:WindowsSystem32version.GetFileVersionInfoA, @1") Yêu cầu linker xuất một hàm với tên GetFileVersionInfoA. "Xuất" (export) một hàm nghĩa là làm cho hàm này có sẵn cho các chương trình hoặc module khác sử dụng khi chúng tải DLL này PROXYING
  • 38. Xác định vị trí chính xác của hàm GetFileVersionInfoA mà DLL sẽ trỏ đến. C:WindowsSystem32version.GetFileVersionInfoA @1 #pragma comment (linker, "/export:GetFileVersionInfoA = C:WindowsSystem32version.GetFileVersionInfoA, @1") Số thứ tự (ordinal number) của hàm trong bảng xuất của DLL. Số thứ tự được sử dụng để tham chiếu các hàm xuất trong một DLL, thường để tăng hiệu suất hoặc duy trì tính tương thích. PROXYING
  • 41. TRÁNH DEADLOCK • Khi một DLL được tải vào một tiến trình, hàm DllMain của nó được thực thi trong một khóa đồng bộ. • Example.exe tải nhiều DLL, chẳng hạn như A.dll, B.dll và C.dll, thì ứng dụng đó phải đợi hàm DllMain của A.dll hoàn tất trước khi có thể tiếp tục tải các DLL tiếp theo. • Shellcode được thực thi trong hàm DllMain của A.dll phụ thuộc vào việc B.dll hoặc C.dll được tải, thì bản thân shellcode sẽ không thực thi. Tải A.dll Thực thi DLLMain A Tải B.dll Tải C.dll Thực thi Shellcode
  • 52. NỘI DUNG 01 03 02 04 DEMO 05 Q & A https://cypeace.net/ RED VS BLUE TEAM BYPASS AV/EDR DLL SIDELOADING
  • 54. VIDEO DEMO DLL SIDELOADING
  • 55. KẾT LUẬN DLL Sideloading là một kỹ thuật mạnh mẽ để bypass AV/EDR. Hiểu biết về kỹ thuật này giúp ích cho cả người tấn công và phòng thủ. Phòng chống hiệu quả đòi hỏi các biện pháp bảo mật nhiều lớp. https://cypeace.net/