Crowdsourcing – תיעדוף IPv6
מאת PHANTOm בתאריך 14/01/12, תחת כללי
אני רוצה לעשות בדיקה מהירה על מהירויות הגלישה על IPv6 אחרי שראיתי כמה נתונים מפתיעים.
בבקשה תגיבו עם הממוצע של ה ping ים הבאים (ושם הספקית/תוכנית
ping -n 10 maia.nix.co.il
ping -6 -n 10 v6.maia.nix.co.il
אין צורך להדביק הכל, רק את ה Avg של שני המקרים. משתמשי לינוקס תשתמשו ב ping6 במקום.
Going Deepnet, Part 2
מאת iTK98 בתאריך 13/01/12, תחת כללי
חלק א' היה דיון מקדים, ניסתי להראות את החשיבות ואת החיוניות של אנונמיות ברשת האינטרנט אשר משרתת את חופש הביטוי באופן אשר מגן על אומר הדברים, וכך למעשה מונעת את עריצות השלטון כנגד ביטויים אשר אינו מעוניין שישמעו במרחב הציבורי. אנונימיות היא כנראה הכוח אשר מונע מדמוקרטיה פלורליסטית מלהפוך לדמוקרטיה טוטאליטרית (עריצות הרוב). בחלק ב', אדון באופן סצפיצי ברשתות נסתרות, אשר מוכרות גם בכינוי Deepnet, הדיון יהיה בעל גוון טכנולוגי וטכני במהותו.(המשך לקרוא…)
Going Deepnet, Part 1
מאת iTK98 בתאריך 31/12/11, תחת כללי
תכינו את הציוד צלילה, היום אנחנו הולכים לרדת לעומק הרשת. מה אם היו אומרים לכם כי הרשת היא כמו קרחון באוקיינוס, ויש חלק נכבד ממנה אשר נמצא מתחת לפני המים ורק עם ידע מסויים ניתן לגשת אל החלקים הללו. זה הוא ה-Deepnet או בשמות אחרים שהוא גם מוכר בהם Deep web, Invisible Web, Hidden Web, Undernet ו-Darknet.
אתרי Deepnet הם גם אתרים שלא נמצאים באינקדס חיפוש כלשהו, משמע שצריך ידע מקדים עליהם בכדי לגשת אליהם, ניתן לגשת אליהם רק באופן ישיר, לפעמים יש גם צורך בסיסמאות ו/או מפתחות – אני לא אדון באתרים כאלה, למרות שהם גם בעלי עניין משל עצמם. במאמר זה, אדון אך ורק באתרים הנמצאים ברשתות כמו Tor, I2P ו-Freenet ואנתח כיצד הם פועלים.
אינטרנט סלולרי במחיר סביר
מאת PHANTOm בתאריך 12/11/11, תחת כללי
אני רוצה לציין הישג מרשים של iDigital (מפיצי Apple בארץ) עם חברות הסלולר: תוכניות גלישה ב iPad הן במחיר סביר לגמרי ועם תנאים שלפחות מרחוק, נראים הגיוניים.
בפלאפון: 45 ש"ח לחודש, MicroSIM חינם בלי התחייבות. 1gb תעבורה "מהירה" ואחרי זה בקצב נמוך בלי תשלום על חריגה.
בסלקום: 69 ש"ח לחודש, MicroSIM חינם בלי התחייבות. 2gb תעבורה "מהירה" חודש מתנה (לא סגור על חריגה).
בלי קשר ל iPad, בסלקום הבנתי שיש להם חבילה "לא מוגבלת" של "אינטרנט מהיר" 380kbps הורדה (בערך 25 קילובייט לשניה) בעשרים ומשהו שקל.
באורנג': תמצצו לימון.
לקחתי את הזה של פלאפון, לא להיבהל אין לי iPad. את הכרטיס מקבלים בתבנית פלסטיק בגודל כרטיס ביקור, עכשיו כל מה שצריך זה כרטיס SIM רגיל, טוש, סלוטייפ ומספריים. גוזרים את הכרטיס לגודל רגיל (צריך שהחיבורים ישארו באותו מקום יחסי). אפשר גם להזמין בדולר פלסטיק מוכן מ DealExtreme.
הפכתי נוקיה ישנה ל spot בקישור Bluetooth (אין לה WiFi). סקייפ עובד בסדר גמור על המכשיר עצמו, וגם הלפטופ מתפקד כשהוא מקושר. אפשר גם להזמין ב 40 דולר מ eBay נטסטיק/מודם USB.
אם תוסיפו לסיפור תוכנת SIP כמו sipme אפשר לדבר לסלולר 300 דקות במשהו כמו 80 שקל (לא כולל מכשיר כמובן).
המחיר של לקנות MicroSIM יוצא זול בערך פי 3, גם עם קונים מודם בחוץ – זול פי 2 ובלי התחייבות.
החסן נייד כאסימון זהות
מאת iTK98 בתאריך 07/11/11, תחת כללי
בפוסט האחרון דיברתי על אמצעי אלחוטי ("שן כחולה") כאסימון זהות, כאשר הסתמכנו על מנגנון ההצפנה המובנה של הפרוטוקול כמנגנון ההגנה המונע זיוף. בפוסט הזה אציג אסימון זהות אשר מבוסס על התקן אשר מתחבר פיזית אל המחשב, גם כאן נבחן את היתרונות והחסרונות של השיטה ונציג דרך יישום יעילה (בלינוקס). אני ממליץ לעבור לפחות על החלק הראשון של הפוסט הקודם בשביל להכיר את היתרונות והחסרונות של שימוש באסימון זהות באופן כללי.
בעוד שניתן למצוא אמצעיים יעודיים למטרה זו, שמציעים רמת אבטחה משתנה ממוצר למוצר ודרכי התמשקקות שונות (חיבורים יעודיים), אנחנו נעשה שימוש בחיבור הזמין כמעט בכל מחשב, חיבור USB, ושימוש במחלקת Mass Storage Device (מעתה MSD), ניתן לעשות שימוש במחלקות אחרות1, אך לרוב הן מסובכות יותר, מצריכות ציפייה יחודית מהמערכת ואקטיביות מסויימת של ההתקן עצמו2.
בחרתי לעשות שימוש ב-MSD בעיקר בזכות הפשטות והזמינות. היכולת ליצור מחיצה מוצפנת, תהפוך את גניבת המפתח הנמצא במחיצה זו למעט יותר מורכבת. אני אזהיר מראש ואציין כי יש לזכור שהמפתח הוא סטטי ולמרות שהוא מוצפן, שעתוק מושלם של ההתקן3 יאפשר להתקן המשועתק להכניס את האוחז בו למערכת שלכם. החסרון הבולט ב-MSD שהדו-שיח במחלקה (בין ההתקן למחשב) אינו מוצפן, לכן אנחנו נאלצים להשתמש בשיטות אשר אך ורק יערימו קשיים אך לא יגנו באופן מוחלט על ההתקן4.(המשך לקרוא…)
התקן שן כחולה כאסימון זהות
מאת iTK98 בתאריך 10/09/11, תחת כללי
אסימון זהות1 הוא אמצעי טכני לזיהוי משתמשים, התקנים אלו אמורים להקל על תהליך ההזדהות עבור משתמשי הקצה בפני המערכת שאליה הם רוצים לגשת. בפוסט זה אני אדגים איך לעשות זאת בלינוקס2, אך לפני כן אשאל את השאלות הבאות, מה הם היתרונות והחסרונות של השיטה, והאם שימוש בשן כחולה בטוח מספיק בכדי לתת לה את היכולת להכניס מישהו למערכת שלך.
אסימון זהות הוא אחד השיטות להזדהות בפני המערכת, השיטה שרובנו משתמשים בה בכדי להזדהות הינה הזדהות על בסיס ידיעה (אני יודע את הסיסמה למערכת). חלקנו משתמשים באופן אחר להזדהות בפני המערכת, הזדהות על-ידי מוטיבים יחודיים לנו (טביעת אצבע, תווי פנים). אסימון זהות הינה דרך להזדהות בפני המערכת על-ידי אמצעי יחודי שיש בידנו.
IDS להמונים
מאת PHANTOm בתאריך 18/08/11, תחת כללי
לאחרונה קיבלתי פרסומת (בעזרת ספקית אינטרנט כושלת) על מבצע שמערכת אינקפסולה עושים לאתרים ישראלים בספטמבר, חודש IDS חינם. זה אולי נראה שאני עושה להם פרסומת אבל תמשיכו לקרוא…
כן שיווק יפה מאוד, כן אחלה מודל עסקי (אני מניח, לא באמת אכפת לי), אבל מה זה הדבר הזה בכלל?
זה כמו להביא לחולה שפעת צינור עם אוויר מסונן לנשום דרכו, במקום טיפול אנטיביוטי, ומה גם, הפילטר לא משהו ומידי פעם הספקת החמצן מפסיקה.
זה הוא IDS, פרוקסי שקוף הפוך בין הגולשים לאתר. פרוקסי – הוא שרת ביניים שמוריד קבצים משרתים אחרים שבמקור המשתמש רצה לקבל עליו, פרוקסי שקוף הוא כזה שלא צריך להגדיר והספקיות יכולות להיכנס לתעבורה של המשתמשים (לטוב ולרע), ופרוקסי שקוף הפוך הוא כזה שהאתר עצמו שם לפני האתר האמיתי.
אז כן, ההתקנה פשוטה, מפנים את ה DNS של האתר לפרוקסי של אינקפסולה והם מגינים מפני מתקפות ו- DDoS. ה- DNS לא מוגן אז לא מומלץ להחזיק שרת אחד חצי חינם. מה לגבי האייפי הישן, עדיין נגיש? איך לא…
בחרתי לעשות את ההדגמה על אתר הקהילה של גיא מזרחי מומחה לאבטחת מידע. גיא משתמש באינקפסולה כדי למנוע DDoS (מה שעובד לא רע בכלל), אבל בדרך מוותר על פרטיות של משתמשי פורום אבטחת המידע שהוא מחזיק. המערכת גם "מתחרפנת" די הרבה והאתר לא נגיש לעתים תכופות.
אז ככה, האתר המוגן נותן לנו:
hacking.org.il has address 194.90.228.60 www.incapsula.com is an alias for incapsula.com.incapdns.net. incapsula.com.incapdns.net has address 194.90.228.60
אפשר לראות שזה האתר המוגן והוא יושב מאחורי אותו פרוקסי כמו האתר של אינקפסולה, יש גם cookie לזיהוי הפרוקסי - incap_visid_7_124
סבבה, עכשיו בוא נראה מה היה האייפי הקודם של האתר, חיפוש של 15 שניות נותן לנו את… 82.80.245.181, בוא נשים ב hosts ו…
האתר עובד, אין cookie, וואו, זה היה פשוט מידי, אז למה האתר לא מגדיר whitelist לגישה עליו? מאותה הסיבה שכל כך קל להגדיר את ה- IDS. לא כל מה שקל – זה רעיון טוב באבטחת מידע.
או קיי, מה עוד? יש פלאגין ל wordpress שאומר שאינקפסולה שולחת header עם כתובת האייפי האמיתית, מעניין אם גם אני יכול…
Incap-Client-IP: 1.3.3.7
עריכה: טוב, אז זה לא עובד כי הפורום לא מסתכל על זה, הפורום פשוט מניח שכל המשתמשים מחוברים מאותה כתובת… אני באמת לא יודע מה יותר גרוע מהשתיים
DoS על השרת
מאת PHANTOm בתאריך 11/07/11, תחת כללי
החלטתי להביא כמה גרפים ותמונות, אין פה איזה פואנטה או משהו חכם להגיד על זה. סתם משהו ששרף לי כמה שעות היום להחליף אייפי ולנהל מו"מ עם האכסון. המחשב היחיד שתקף אותנו עדיין חי ובועט, הספקית שלו לוקחת את הזמן.
מה קרה? השרת אכל המון UDP לפורט 53 (DNS), ולא, אין שירות DNS על השרת. לא היה צריך לחסום שום דבר, מצד שני התעבורה נאכלה בכל מקרה. ברור שהיה אפשר בקלות לגרום יותר נזק. אני אצרף שורה לדוגמא מ tcpdump.
עובדה מענינת שגיליתי: iptables לא הוריד את ה CPU Usage בכלל. בשעות הבוקר הוספתי rule חדש ואין שום שינוי ל CPU בגרף. רק בשלב שבו הספקית ניתבה את האייפי והשרת הפסיק לאכול את ה UDP ה- usage ירד.
10:13:27.106154 IP (tos 0×0, ttl 113, id 42349, offset 0, flags [none], proto UDP (17), length 29) 66.147.172.2.30479 > 109.74.197.108.53: [|domain]
Reversing Python Bytecode
מאת Fate בתאריך 06/01/11, תחת כללי
מבוא
מתחיל להיות נפוץ נושא השימוש בשפות סקריפט לכתיבת קבצי EXE.
במיוחד בחברות Outsourcing שכל המטרה שלהן לכתוב מהר וקל.
אחרי שהחברה מסיימת לכתוב, מביאה מוצר, צריך להבין מה לעזאזל הם עשו שם.
Reversing קלאסי לקובץ EXE שהוא בעצם Py2EXE, לא כלכך עובד.
אז מה עושים?
מודול Dis
מחיפושים באינטרנט דבר ראשון שנתקלתי בו,
זה שיש מודול מובנה בPython להצגת הBytecode בצורה יותר ברורה, ושמו Dis.
http://docs.python.org/library/dis.html
הוא יודע לקבל code object, ולפתוח אותו למשהו קצת יותר קריא.
זה לא נותן את המקור, אבל זה מפתיע כמה זה קרוב.
בואו ננסה:
def test(): a = 5 b = 6 if a == 5: b = 7 return b
עכשיו נפרק את זה בעזרת Dis
>>> import dis
>>> dis.dis(test.func_code)
2 0 LOAD_CONST 1 (5)
3 STORE_FAST 0 (a)
3 6 LOAD_CONST 2 (6)
9 STORE_FAST 1 (b)
4 12 LOAD_FAST 0 (a)
15 LOAD_CONST 1 (5)
18 COMPARE_OP 2 (==)
21 JUMP_IF_FALSE 10 (to 34)
24 POP_TOP
5 25 LOAD_CONST 3 (7)
28 STORE_FAST 1 (b)
31 JUMP_FORWARD 1 (to 35)
>> 34 POP_TOP
6 >> 35 LOAD_FAST 1 (b)
38 RETURN_VALUE
זה מדהים עד כמה זה מדוייק, כולל שמות משתנים והכל.
המספר הראשון זה מספר השורה בקוד מקור…
המספר שמופיע לפני כל מילה זה מספר הByte
המילה, זה הפעולה (לדוגמה LOAD_CONST)
המספר אחריה זה פרמטר, ובסוגריים זה הפיכת הפרמטר למשהו משמעותי אם אפשר.
נעבור לפי הסדר, ונראה כמה קל זה לבנות חזרה את הקוד:
שורה 2, LOAD_CONST טוען קבוע למחסנית, הקבוע הוא באינדקס 1, אבל הערך שלו הוא 5.
ואז STORE_FAST שומר את הערך מהמחסנית לתוך המשתנה באינדקס 0, ששמו a.
מה כל פעולה עושה מתועד היטב בקישור למודול DIS, ומה שנשאר זה להבין שהפקודה היא:
a = 5
שורה 3, אותו דבר, נעבור לשורה 4.
טוענים את a למחסנית, טוענים 5, ועושים COMPARE_OP עם ==.
הפעולה משווה בין השניים האחרונים במחסנית במחזירה את התשובה למחסנית.
עד כה יש לנו a == 5.
JUMP_IF_FALSE בודק את הערך האחרון במחסנית, ואם הוא FALSE קובץ לByte 34.
POP_TOP שולף את הערך האחרון במחסנית.
אז אם נרצה לשחזר את זה, צריך להבין שבמקרה שהערך הוא שקר, הוא מדלג _מעל_ קטע הקוד הבא, ז"א אם נרצה לרשום את זה רצוף, אז במקרה של אמת, הוא נכנס לקטע קוד, אז התנאי נראה כך:
if a == 5:
#... continue here ...
#... if false jump to here ...
ואפשר להמשיך כך הלאה עד שבונים מחדש את הפונקצייה…
py2exe
הייצור שקוראים לו py2exe אורז את סקריפט הPython, כל ספריות, וכל דבר שצריך כדי להריץ אותן, לתוך EXE אחד.
והוא עוזה את זה בצורה הבאה:
כל הDLLים, וכל הספריות שעושים להן Import, הוא מקמפל לBytecode, ושם בZIP, בתוך הEXE.
ניתן לחלץ אותו ממש בקלות ע"י 7Zip שמאתר אותו, ופשוט נותן להוציא מתוכו קבצים.
עכשיו צריך, רק למצוא את הסקריפט הראשי.
הוא נשמר כResource בEXE, אפשר בקלות לשלוף אותו עם Visual Studio.
פותחים EXE עם התוכנה, והוא מציג את כל הResources, אחד מהם זה הקוד המקומפל.
רק משהו קטן
קובץ .pyc משוייך לPython שאיתו בנו אותו, וזה לא סתם, כי הBytecode משתנה.
כל הקבצים שנמצאים בZIP ניתן לעשות להן import כל עוד הגרסה של הפייטון תואמת,
ואחרי זה אפשר להריץ dis.dis על המודול כולו. (אפשר גם על פונקציות בנפרד).
עם הResource העניין קצת יותר בעייתי, כי הוא לא בדיוק Library, אלא Marshalled, בעזרת מודול marshal.
בשימוש במודול אפשר לשלוף את הCode Object הראשי, וממנו למצוא כל Code Object אחר, ולהעביר אותו לDIS גם כן.
פרויקט
חשבתי לעשות Python Decompiler,
זה מתחיל להיות קשה כשמגיעים לתנאים מסובכים, ולולאות עם תנאים מסובכים בתוכן.
אני חושב שזה אפשרי לחזור לקוד מקור בצורה אוטומטית, מה דעתכם?
(יש כמה נסיונות לDecompiler באינארנט, לא ראיתי אחד נורמלי…)
סקריפט קטן ל NMAP
מאת spdr בתאריך 30/12/10, תחת כללי
אם כבר עסקתי ב NMAP …
אז הנה סקריפט קטן שכתבתי לצורך זיהוי של בעיות אבטחה ב apache tomcat, הסקריפט ינסה לזהות את טומקאט בפורטים הפתוחים ולאחר מכן ינסה להזדהות בכדי להשיג גישה אל מערכת הניהול. במידה והוא לא ימצא את טומקאט הוא יחפש אחרי jboss / jmx console (מה שבעצם יתן לנו אותו סוג של גישה).
להורדה:
http://www.binaryvision.org.il/wp-content/uploads/2011/01/tomcat-scan.tar.gz
שימוש: לחלץ את הסקריפט לתיקיית הסקריפטים של NMAP ולאחר מכן להריץ
nmap -sS -sV -T4 -g80 -n -v -p80,81,8080,8081 –script=tomcat-scan X.X.X.X/16
אגב מומלץ לערוך את הספריות של NMAP לפני הקימפול בגלל שהוא שולח פרטים אשר מסגירים את תוכנת הסריקה…
User-Agent: nmap במקרה של HTTP
תהנו.
(עבר עריכה קלה, הוספתי עוד בדיקות ל JMX מכיוון שלבדוק רק אם הקוד הוא 200 זה לא הכי פרקטי)


