นี่เป็นเทคนิคใหม่ล่าสุดสำหรับการฉีด ShellCode เพื่อหลบเลี่ยง AVS และ EDRS เทคนิคนี้ได้รับแรงบันดาลใจจากโมดูลการกระทืบและมีความคล้ายคลึงกันบางอย่าง จนถึงวันที่นี้ (23-01-2022) ยัง Hollows-Hunter ไม่พบ
ข้อได้เปรียบที่ใหญ่ที่สุดของเทคนิคนี้คือมันไม่ได้เขียนทับโมดูลทั้งหมดหรือ PE ทั้งหมดเพียงฟังก์ชั่นเดียวและกระบวนการเป้าหมายยังสามารถใช้ฟังก์ชั่นอื่น ๆ จากโมดูลเป้าหมายได้
ข้อเสียคือว่ามันจะไม่ทำงานสำหรับทุกฟังก์ชั่นในป่า (แต่มันจะใช้ได้กับส่วนใหญ่) คำอธิบายที่แน่นอนอยู่ในบล็อกของฉัน: ดี, สิ่งที่ไม่ดีและฟังก์ชั่นการกระทืบ
หมายเหตุ: เป็นไปได้ว่า AV จะตั้งค่าสถานะสิ่งนี้หากลายเซ็นเป็นลายเซ็นของ msfvenom/metasploit ก็ดี! คุณเพียงแค่ต้องเปลี่ยน ShellCode หรือเข้ารหัส
UPDATE: Apperantly นี่ไม่ใช่ POC แรกที่มีความสามารถและ Rastamouse เขียนโพสต์บล็อกที่เป็นสิ่งที่คล้ายกันใน C#
คุณรวมส่วนหัวไว้ในโปรแกรมของคุณเช่นนี้:
# include " functionstomping.hpp "
int main () {
// Just get the pid in any way and pass it to the function.
DWORD pid = 3110 ;
FunctionStomping (pid);
return 0 ;
}หรือใช้โปรแกรม Rust:
cd functionstomping
cargo b
functionstomping.exe < pid >หลังจากที่คุณเรียกใช้โปรแกรมนี้คุณ ต้อง เรียกฟังก์ชั่นจากกระบวนการระยะไกล! (ถ้าคุณใช้ฟังก์ชั่นเริ่มต้น CreateFile คุณต้องโทรหามันจากกระบวนการระยะไกล!)
ขณะนี้ ShellCode to Run เป็นเพียงการเปิดเครื่องคิดเลข แต่สิ่งที่คุณต้องทำคือแทนที่ unsigned char shellcode[] ด้วย ShellCode ของคุณ ฉันใช้ C ++ 17 และ VS2019 เพื่อรวบรวมโปรแกรมด้วยส่วนหัว C ++ และ Rust เวอร์ชัน 2021 เพื่อรวบรวมโปรแกรม Rust (คุณสามารถดูการพึ่งพาใน cargo.toml)

ฉันจะไม่รับผิดชอบใด ๆ สำหรับความเสียหายใด ๆ ที่เกิดขึ้นกับคอมพิวเตอร์ / โปรแกรมของคุณเป็นสาเหตุของโครงการนี้ ฉันยอมรับการบริจาคอย่างมีความสุขทำการขอดึงและฉันจะตรวจสอบมัน!
การปรับแต่ง
การปิดบังความทรงจำที่เป็นอันตรายโดย Cyberark
เวอร์ชันของ Rastamouse