PDA

View Full Version : SSDT hooking سوال



r00tkit
پنج شنبه 12 اسفند 1389, 12:37 عصر
می شه SSDT رو جوری hook کرد که فقط به process مورد نظر ما تاثیر بزاره؟چی جوری؟

hook کردن service های مختلف ( kernel mode api) در SSDT با هم چقدر فرق داره ؟ هر کدوم روش خاص خودش رو داره ؟
اگه می شه مقاله ای ، لینکی ، مثالی .....


rootkit arsenal رو بخش مربوطش رو تازه دارم می خونم !

Mehdi Asgari
پنج شنبه 12 اسفند 1389, 13:36 عصر
اولا این به امنیت مربوط میشه نه توسعه ی هسته ی سیستم عامل
در روتین مربوط به هوک تابع مد نظر که خودت نوشتی (مثلا newZwRiteFile) ، با استفاده از تابع PsGetCurrentProcessId می فهمی که الان در کانتکست کدوم پروسس هستی (مثلا ممکنه این آی دی مد نظر رو قبلش از برنامۀ یوزر مد گرفته باشی، یا اصلا می تونی اسم پروسس رو به دست بیاری و ببینی همون پروسس مد نظرت هست یا نه)
مقاله و مثال، همون روتکیت آرسنال خوبه (البته نکات ریزی هم داره که به مرور بهشون بر میخوری و می پرسی)

r00tkit
شنبه 14 اسفند 1389, 21:44 عصر
یا اصلا می تونی اسم پروسس رو به دست بیاری و ببینی همون پروسس مد نظرت هست یا نه)


extern "C" { extern char* PsGetProcessImageFileName(PRPROCESS p);
}

DbgPrint("Calling process name is: %s\n", PsGetProcessImageFileName(PsGetCurrentProcess()));