DCSIMG
BnayaA.NET
Sign in | Join | Help

פתיחת קובץ כמנהל המערכת דרך Powershell .

פורסם בתאריך Aug 21 2011, 03:47 PM על ידי BnayaA

לעיתים אנו צריכים להריץ קבצים ישירות מתוך ממשק הקונסול של Powershell , אך כשמריצים על ידי הקשת שם הקובץ מPowershell הוא מופעל בהשראת משתמש ,

ניתן לשנות את זה שתפתח תיבת דו-שיח שתשאל את השתמש אם הוא מעוניין לפתוח את הקובץ כמנהל:

שימוש בפרמטר verb לCmdlet בשם Start-Process :

Start-Process Notepad.exe –Verb RunAs

image

והקובץ יפתח כמנהל אגודלים מצביעים כלפי מעלה

תהנו.

זיהוי גרסת הPowershell שמתוקנת במערכת..

פורסם בתאריך Aug 21 2011, 02:11 PM על ידי BnayaA

היי   .

ניתן לזהות את גרסת הPowershell שברשותכם על ידי הרצת הCmdlet בשם Get-host :

One_thumb1

ניתן לראות בשדה "Version" את גרסת הPowershell.

שימו לב:

במידה והPowershell שלכם הותקן אוטומטית עם מערכת ההפעלה , אז הוא יותקן (בדרך כלל במערכות Windows 7 החדשות ) בPath הבא:

C:\Windows\System32\WindowsPowerShell\v1.0

אגב: ניתן לזהות את המיקום על ידי המשתנה pshome$

Two_thumb4

ניתן לראות את התייקיה בשם v.1.0 אך מספר הגרסא המקורי יוצג אך ורק על ידי הCmdlet בשם Get-host.

בניה.

גישה לMemberים של פקודות בPowershell

פורסם בתאריך Aug 14 2011, 08:53 PM על ידי BnayaA

שלום לכולם ,

בפוסט זה אראה בפניכם שיטה כיצד לגרום לPowershell להציג איברים מסוויימים של Cmdlets , וכיצד להציג את האיברים קיימים בCmdlets  וכיצד ניגש אליהם.

שפן הנסיונות שלנו : Get-Process .

הCmdlet שנקרא Get-member דרכו אנו יכולים לראות איברי פקודות הגדרתם וסוגם.

הסינטקס של Get-member פשוט , אנו כותבים את הפקודה שאנו רוצים לראות את האיברים שלה , ואחריה את הפקודה Get-member (או את הAlias בשם GM )

Get-Process | gm

Get-Process | Get-member

הפלט

image_thumb6

ניתן לראות בתמונה את סוג האיבר (MemberType) ואת הגדרתו (Definition ) ואת שמו (Name )

 

רשימת האיברים לGet-Process ארוכה בהרבה , כדי לראות את הרשימה המלאה הקישו את הפקודה בPowershell.

אופן הגישה לאיבר אפשרי על ידי שימוש בלולאה Foreach-Object ( בדוגמא אנו נשתמש באיבר מסוג מאפיין בשם Path כדי לזהות מיקום של תהליכים)

Get-Process | forech-object { $_.path

{

וכך על זו הדרך אפשר להשתמש באיברים .

בניה

71 Cmdlets לשימוש בIIS7 מתוך Powershell

פורסם בתאריך Aug 14 2011, 12:24 AM על ידי BnayaA

היי

יצא לי להפגש עם חבילת Cmdlets לIIS7 שכוללת בתוכה את הCmdlets הבאים:

  1. Add-WebConfiguration: Adds an collection element to an IIS configuration collection.
  2. Backup-WebConfiguration: Creates a backup of an IIS configuration.
  3. Clear-WebConfiguration: Removes configuration settings from the configuration location specified.
  4. Get-WebConfiguration: Gets an IIS configuration element at the specified path.
  5. Restore-WebConfiguration: Restores an IIS configuration backup
  6. Select-WebConfiguration: Returns Web configuration objects.
  7. Set-WebConfiguration: Sets the value of an IIS configuration setting to the value specified in the command.
  8. Add-WebConfigurationLock: Locks an IIS configuration section or element
  9. Get-WebConfigurationLock: Gets the locking status of the specified IIS configuration location.
  10. Remove-WebConfigurationLock: Removes a lock on configuration settings.
  11. Add-WebConfigurationProperty: Adds a property to an IIS configuration section.
  12. Get-WebConfigurationProperty: Gets an IIS configuration property at the specified path.
  13. Remove-WebConfigurationProperty: Removes an IIS configuration property.
  14. Set-WebConfigurationProperty: Sets the value of an IIS configuration setting to the value specified in the command.
  15. Begin-WebCommitDelay: Instructs the IIS configuration system to delay the commitment of changes.
  16. End-WebCommitDelay: Instructs the IIS configuration system to resume the commitment of changes.
  17. Clear-WebRequestTracingSettings: Clears Request Tracing configuration from the specified Web site.
  18. ConvertTo-WebApplication: Converts an IIS virtual directory to an IIS Web application.
  19. Get-WebApplication: Gets the Web Applications associated with a specific site or with the name specified.
  20. New-WebApplication: Creates a new IIS Web Application.
  21. Remove-WebApplication: Removes an IIS Web Application.
  22. Disable-WebGlobalModule: Disables an IIS module.
  23. Enable-WebGlobalModule: Enables an IIS module.
  24. Get-WebGlobalModule: Gets modules configured in IIS.
  25. New-WebGlobalModule: Creates a new IIS module.
  26. Remove-WebGlobalModule: Removes an IIS module.
  27. Set-WebGlobalModule: Configures an IIS module.
  28. Disable-WebRequestTracing: Disables Request Tracing
  29. Enable-WebRequestTracing: Enables the Request Tracing feature.
  30. Get-WebAppDomain: Gets the Application Domains in which the specified IIS worker process is running.
  31. Get-WebAppPoolState: Gets the Run-Time state of an IIS application pool.
  32. New-WebAppPool: Creates a new IIS application pool.
  33. Remove-WebAppPool: Removes an IIS application pool.
  34. Restart-WebAppPool: Recycles an application pool.
  35. Start-WebAppPool: Starts an application pool.
  36. Stop-WebAppPool: Stops an application pool.
  37. Get-WebBinding: Gets the bindings on the specified IIS site.
  38. New-WebBinding: Adds a new Web site binding to an existing Web site.
  39. Remove-WebBinding: Removes a binding from an IIS Web site.
  40. Set-WebBinding: Changes a property of an IIS site binding.
  41. Get-WebConfigurationBackup: Gets a list of available IIS configuration backups.
  42. Remove-WebConfigurationBackup: Removes an available IIS confguration backup.
  43. Get-WebConfigurationLocation: Gets the location of a specified configuration setting.
  44. Remove-WebConfigurationLocation: Removes an IIS configuration location.
  45. Rename-WebConfigurationLocation: Renames a configuration location.
  46. Get-WebFilePath: Gets the physical path to the specified IIS module location.
  47. Get-WebHandler: Gets IIS Request Handlers.
  48. New-WebHandler: Creates a new IIS Request Handler configuration entry.
  49. Remove-WebHandler: Removes and IIS Request Handler
  50. Set-WebHandler: Configures an IIS Request Handler.
  51. Get-WebItemState: Gets the run-time state of a site or an application pool.
  52. Get-WebManagedModule: Gets the managed modules that are configured for a particular application.
  53. New-WebManagedModule: Adds a new managed module to the IIS request pipeline.
  54. Remove-WebManagedModule: Removes an IIS managed module.
  55. Set-WebManagedModule: Configures an IIS managed module.
  56. Get-WebRequest: Shows IIS requests that are currently being executed.
  57. Get-Website: Gets an IIS Web site.
  58. New-Website: Creates a new IIS Web site.
  59. Remove-Website: Removes an IIS Web site
  60. Start-Website: Starts an IIS Web site.
  61. Stop-Website: Stops the specified Web site.
  62. Get-WebsiteState: Gets the state of an IIS Web site
  63. Get-WebURL: Issues a simple Web request for the specified IIS module location.
  64. Get-WebVirtualDirectory: Gets an IIS virtual directory.
  65. New-WebVirtualDirectory: Creates a new IIS virtual directory.
  66. Remove-WebVirtualDirectory: Removes an IIS virtual directory.
  67. New-WebFtpSite: Create a new FTP7 Site
  68. Restart-WebItem: Restarts an application pool or a Web site.
  69. Start-WebItem: Starts an application pool or a site.
  70. Stop-WebItem: Stops an application pool or a site.
    1. החבילה מאפשרת יצירת אתר חדש לדוגמא בתוך IIS7 או ליצור תייקית IIS7 וירטואלית ועוד .
    2. להורדת החבילה :http://exchangepedia.com/reference/iis7cmdletsreference.html
    3. תהנו סמיילי

הרצת קוד מתוך סל המחזור.

פורסם בתאריך Aug 05 2011, 05:44 PM על ידי BnayaA

היי

במאמר זה אדגים בפניכם שיטה די נחמדה להרצת קבצים מתוך סל המחזור .

פתחו את הCommand prompt וכנסו לכונן שבו מותקנת המערכת:

image

נכנס לסל המיחזור (במידה והגדרת בלוח הבקרה שלא להראות קבצי מערכת אז לא תצליחו לראות אותו דרך הפקודה Dir )

אנו נכנס לסל המיחזור כך :

image

במקרה הזה הגעתי לתייקיה על ידי הפקודה CD והכפתור TAB כדי להשלים את הטקסט , אחרי כמה לחיצות , נגיע לתייקיה הרצויה)

בסל המיחזור יש בדרך כלל שני תיקיות מערכת עם מחרוזות מוזרה כזאת  איני יודע למה , אבל יכול להיות כדי למנוע מאנשים כמנו למצוא את התייקיה בה נמצאים הקבצים המחוקים )

אצלי אישית התייקיה בתוך סל המיחזור בה נמצאים הקבצים היא :

S-1-5-21-3525850864-2178136414-3428274058-1000

פשוט מה שנעשה כדי להגיע אליה היא פשוט לקליד את הפקודה cd ולחיצה על Tab כדי להגיע לתייקיה:

 

image

בסל המיחזור שלי נמצא רק קובץ אחד , בשם Text.txt לצורך הדוגמא , אך כפי שנראה בתמונה הבא ישנם שני קבצים , הקובץ מכיל מחרוזת בה נמצא המיקום של הקובץ לשעבר.

והקובץ השני הוא הקובץ המקורי.

image

 

יש איזהו מנגון שפשוט כל קובץ שנכנס לתייקיה הזאת , השם שלו משתנה למחרוזת רדומלית לדוגמא:

$iqccbto.txt – קובץ המחרוזת

$Rqccbto.txt – הקובץ המקורי:

עכשיו מה שנותר הוא פשוט להקליד את הפקודה start ואת שם הקובץ או את הפקודה Notepad במקרה הזה כדי לפתוח את קבצי הTXT.

image

מצטער אם התמונה קטנה – לחצו על התמונה כדי להגדיל ,

הכנתי קובץ שאמור לנצל את זה כדי להריץ את קובץ TXT שלנו:

@echo off
echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
echo $ Running code from the $Recycle.Bin by bnayaa  $
echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


cd/
cd c:\$Recycle.Bin\S-1-5-21-3525850864-2178136414-3428274058-1000
dir
Notepad c:\$Recycle.Bin\S-1-5-21-3525850864-2178136414-3428274058-1000\$RQCCBTO.TXT
Pause

תשמרו כBAT תשנו את הנתיבים ונתיבים שלכם.

(בקרוב הורדה של הקובץ)

תהנו, בניה סמיילי

ביטול מנגון זיהוי החתימות הדגיטליות WHQL .

פורסם בתאריך Aug 05 2011, 03:48 PM על ידי BnayaA

היי ,

בWindows יש מנגון בשם WHQL שראשי התיבות שלו הם Windows Hardware Quality Labs .

בהמטרה של המנגון הוא שרק דרייברים שאושרו על ידי Microsoft יכלו לרוץ על הKernel.

כך , שרק ספקים מורשים יקבלו את החתימה ואילו סתם אנשים שכתבו דרייבר בWidows drivers kit לא יוכלו להפיצו  , תוכלו להרחיב את הידע שלכם כאן.

המנגון הזה ההוא לא רק לאימות , אלה גם לאבטחה , כלומר שמידה והורדתם Rootkit והוא לא חתום לא תוכלו להריצו.

לפעמים אנו רוצים לנסות בעצמו דרייברים שאנו כתבנו , לכן במאמר זה נדגים ביטול המנגון בצורה חוקית.

נכנס לDxdiag .:

image

ואחרי שנכנסנו לקובץ כך הוא נראה:

image

ליד הכפתור "עזרה" , ניתן לראות את הגדרה שאנו מחפשים:

"בדוק חתימות דיגיטליות עבוד WHQL ".

נוריד את הV בתיבה ,וזהו אנו יכולים להריץ דרייברים כרצוננו .

אך תזהרו , כל פעולה שלא במקום יכולה לגרום לBSOD הידוע להשמצה.

בניה.

מבט קצר על עריכת משאבי Gadget , ואיך נוכל לקחת את זה בתור "האקרים".

פורסם בתאריך Aug 02 2011, 11:04 PM על ידי BnayaA

היי,

בזמן האחרון , יצא לי להתעסק עם כתיבת Gadgets לסביבת Windows 7 וWindows Vista.

כמובן שרציתי לראות איל הכול הולך , ויצא לי להפגש עם Gadget שנקרא MyFacebook.

Gadget הוא קובץ zip שמכיל קבצי Javascript וcss וxml וכמובן html.

ניתן להכנס ל"משאבים" של Gadget על ידי הפיכת שם הקובץ מMyFacebook.gadget לMyFacebook.zip .

במידה ואנו רוצים לערוץ Gadget קיים , ניתן להכנס למיקום הבא:

c:\users\username\appdata\local\Microsoft\Windows Sidebar

ושם יש לכל Gadget יש תייקיה משלו .

קצת רקע:

בכל Gadget יש מספר קבצים שחייב להיות והם:

  • Gadget.xml – מכיל מידע אודות הגדגט – ניתן לבצע שינוים בקובץ כדי שהאודות יהיו אמינים כיבכול כגון Microsoft או "באישור אנשי Facebook " וכדומה.
  • תייקית JS
  • תייקית הImage
  • תיקיית הCSS

ובתייקיה הראשית נמצא הקבצי הHtml שמכיל את התוכן של הGadget .

Gadget אחרי הכול הוא כמו אינטרנט אקספלורר קטן שמפרש JS וCSS .

להמשך העמקה בתחום , הכנסו למדריך הזה.

עכשיו איך זה קשור אלינו?

אחרי הכול הGadget עובד על iframe לאתר Facebook , מה שנוכל לעשות זה לשנות את הiframeים שנמצאים בקבצים שלו לאתר פישינג,ואז האקר יתחיל לפרסם את הדבר בפורום למניהם והמון משתמשים יפלו בפח.

בתור מפתחים מה אנו יכולים לעשות נגד זה?

ת'אמת – כלום .

אחרי הכול הדבר היחידי שנוכל לעשות זה ליצור סוג של מנגון של Iframe שGadget ניגש אליהם , אבל האקר מנוסה יצליח להקוף את החסימה בשניות.

מקווה שלמדתם משהו חדש .

בניה.

משתמשי Visual studio ככה תדעו כמה זמן המחשב דלוק.

פורסם בתאריך Aug 02 2011, 10:11 PM על ידי BnayaA

היי,

היום אראה שיטה דיי נחמדה איך לדעת כמה זמן המחשב דלוק.

השיטה הולכת ככה:

כאשר אתה מדליק את המחשב , הקובץ הראשון שעולה הוא Explorer.exe / סייר Windows.

ומתי שהוא עולה הוא לא עולה לבד , בדרך כלל הוא מעלה איתו בקירוב 33 Threads .

מה שאומר שניתן לזהות את משך זמן הריצה של threads של Explorer דרך פונקצית Win32api בשם GetThreadsTimes .

בגלל שאני עצלן , אנו לאורך מאמר זה נשתמש בכלי Spy++ שבא ביחד עם Visual Studio .

דבר ראשון נפתח את spy++ .

image

יש סוג של שדה בשם Elapsed time בתוך Spy++ ששם נמצא הערך של הזמן.

כדי לקבל את הערך הזה אנו צריכים להכנס למידע על אחד מWindow-s של Explorer.exe .

(במקרה הזה אני משתמש ב"תפריט ההתחלה")

Click ימיני על "תפריט התחלה" .

נפתח לנו Window Properties נכנס לקטגוריה "Process" .

image

במקרה הזה נכנס ל"לינק" שבמקרה הזה הכתובת של הThread ID .

image

ליד כפתור הClose אנו רואים במקרה הזה את הערך שחשוב לנו Elapsed Time סמיילי

הערך שלו הוא 10 שעות 22 דקות 58 שניות ו727 מילישניות.

אגב , בפוסט הקודם הראתי שיטה להראות מידע על threads על ידי Powershell גם שם יש את הערך elapsed time.

מקווה שנהנתם ,

בניה.

דיבוג תהליכים , וצפייה ב Threads ו DLLs של Processes דרך Powershell.

פורסם בתאריך Jul 31 2011, 06:06 PM על ידי BnayaA

הייי,

היום אראה כמה אופציות נחמדות לפקודה Get-Process ,

Debug פרוסס נתון :

DebugProcessInvisualstudio

כפי שרואים בתמונה , פתחו תהליך חדש (Notepad) השגנו גישה להתהליך על ידי שימוש בGet-Process

ואחר כך שימוש בפאי כדי לשרשר , ואחר כך שימוש בDebug-Process.

ואחר כך נפתח לנו התהליך בDebugger של Visual Studio.

עכשיו לחלק השני בפוסט , צפייה בThreads של Process נתון:

Function Get-Threads ($Process)
{
Get-process $Process | foreach-object { $_.Threads}
}

דוגמא לשימוש :

Get-ThreadsFunctionSexyBitch

כפי שרואים בתמונה , ניתן לראות את הid ומצב הthreads כתובת ההתחלה של הthreads ועוד.

האופציה הבאה שאראה כאן , היא לדעת באיזה DLLs Files משתמש פרוסס נתון.

הפונקציה:

Function Get-DLL ($ProcessName)
{
Get-process $ProcessName | Foreach-object { $_.Modules }
}

דוגמא לשימוש בפוקציה:

Get-DLL

בניה.

לתכנת בRuby בVisual Studio 2010

פורסם בתאריך Jul 28 2011, 06:34 PM על ידי BnayaA

שלום
חברת Codeplex הוציאה תוסף (Plugin) לויזואל סטודיו שמאפשר פיתוח בשפת Ruby .
תמונה מהתוסף:
תמונה

למתכנתי Ruby שבנינו יכלו להוריד ולהנות מIDE נוח.(להשתדרג מהNotepad++ )
הורדה מאתר Codeplex!.
תהנו.
נ.ב חברת Codeplex הוציאה פלאגין נוסף בשם IronPython שדרכו אפשר לפתח בפייתון דרך ויזואל סטודיו .
תהנו!
בניה

זיהוי מאפייני קובץ על ידי סקריפט Powershell

פורסם בתאריך Jul 27 2011, 08:26 PM על ידי BnayaA

היי

היום אראה לכם שיטה נחמדה לזיהוי מאפייני קובץ על ידי סקריפט בPowershell,

על ידי Cmdlet בשם Get-ItemProperty שמציג את השם ואת מצב הקובץ האחרון שבוצע קריאה/כתיבה ותאריך שימוש האחרון (כתיבה).

דוגמא:

PowerShellLast

סמיילי

איך Windows יודעת את תאריך הקובץ.

פורסם בתאריך Jul 27 2011, 02:15 PM על ידי BnayaA

הייי

בכול קובץ PE קיים חלק שנקרא Resource Table , בחלק הזה מנגון הPE שומר פרטים על הקובץ כגון חתימת זמן ומספר הסיגמנטים סוג הלינקר בו השתמשתם כדי ליצור EXE וכדומה.

ובתוכו יש חלק שנקרא - TimeDateStamp

שבתוכו יש כתובת אשר מכילה את השינוי האחרון שהיה בקובץ (קריאה \ כתיבה)

היכרות עם LordPE:

במסך הראשוני אנו רואים את הפרוססים שרצים במערכת - לא רוולנטי לנו.

כאשר נלחץ על PE EDITOR תפתח בפננו תיבת דו שיח שמבקשת לפתוח קובץ אשר אותו אנו רוצים "לחקור" כביכול.

(במקרה הזה פתחתי קובץ רדומלי שהיה בתייקיה של Lordpe.)

המסך שלפננו מראה לנו ערכים של מגוון אופציות שנמצאות בResouce table.

כגון כתובת הכניסה או גודל הקובץ מספר המחלקות וכמובן אנו רואים את החלק החיוני לנו TimeDateStamp.

נלחץ על TDSC :

עכשיו ניתן לשנות את הערך שחיפשנו.

חוץ מזה - כתבתי תוכנית בC שמקבלת קובץ ונותן את התאריך שלו:

כאן.

שלכם

בניה

שלום עולם!

פורסם בתאריך Jul 27 2011, 12:25 PM על ידי BnayaA
שלום עולם. שמי בניה ,אני מתכנת לשעבר בסביבת אינטרנט וכיום אני מתכנת בסביבת דוטנט סקריפטינג ובעיקר תכנות שלב נמוך, אני אכתוב לכם כאן בעיקר על טכנולוגיות של מיקרוסופט וגם על תכנות שלב נמוך. קריאה מהנה!