rss
twitter
    Find out what I'm doing, Follow Me :)

יום שני, אוגוסט 25, 2014

Can't get IP from VPN server - [workaround]

משום מה כאשר אני משתמש ב openvpn-settings הוא נכשל בהקצאת כתובת (dhcp) , זהוא מעקף לבעיה.

המעקף הוא הוא תסריט שמייצר תת מעטפת שרצה מאחורי הקלעים שיבצע netcfg $dev dhcp

דרישות קדם
  • משתמש על (root)
  • openvpn מופעל במצב tap
  • גישת טרמינל או adb
ההמלצה שלי זה להתקין הכל דרך f-droid ולא דרך השוק.

התסריט צריך לשבת בתיקיית המידע של openvpn ולהיות משויך (chown) לאותו המשתמש כמו המשתמש של openvpn

מציאת המשתמש מתבצעת ע"י הפעלת ls -la ולראות למי שייכים הקבצים בתיקיה של הישום "openvpn" (אפשר גם אחרת אבל זה הכי פשוט):

127|root@android:/data # ls -l /data/data/de.schaeuffelhut.android.openvpn     
drwxrwx--x app_66   app_66            2014-04-10 01:03 cache
drwxr-xr-x system   system            2014-04-10 01:03 lib
drwxrwx--x app_66   app_66            2014-08-25 13:34 shared_prefs



1|root@android:/data/data/de.schaeuffelhut.android.openvpn # cat up.sh   

#!/system/bin/sh

dev=$1
/system/bin/netcfg $dev up 2>&1
(/system/bin/dhcpcd $dev 2>&1 ) &
יש לשים דגל ריצה:

root@android:/data/data/de.schaeuffelhut.android.openvpn/ # chmod 777 up.sh

יש לבצע שיוך
root@android:/data/data/de.schaeuffelhut.android.openvpn/ # chown app_66 up.sh


יש לוודא שהכל בסדר

root@android:/data/data/de.schaeuffelhut.android.openvpn/ # ls -la up.sh  
-rwxrwxrwx app_66   root          178 2014-08-25 13:34 up.sh

יש להוסיף הוראה להפעלת התסריט בקובץ הגדרות הלקוח

root@android:/data # echo up \"/system/bin/sh          \
   /data/data/de.schaeuffelhut.android.openvpn/up.sh\" \
       >> /sdcard/openvpn/client.ovpn



 נבדק על android 4.0.4

קובץ ההגדרות נראה כך (X.X.X.X זה כתובת השרת) - לאחר השינוי :

1|root@android:/data # cat /sdcard/openvpn/client.ovpn                         
client
dev   tap
proto tcp
remote X.X.X.X 21194
resolv-retry infinite
nobind
persist-key
persist-tun
ca   ca.crt
cert client.crt
key  client.key
ns-cert-type server
comp-lzo no
verb 5
ping-restart 120
up "/system/bin/sh /data/data/ de.schaeuffelhut.android.openvpn/up.sh"

יום שני, אוגוסט 04, 2014

איך לרענן כונן ממופה לאחר בעיית תקשורת

לכונן ממופה אשר מופה כלפי UNC יש מספר מצבים חוץ מ OK.

אם הייתה בעיית תקשורת המצב יכול לעבור ל USE_RECONN או USE_SESSLOST (או לאחרים), אם יש תהליך שמנסה לגשת לכונן הזה הוא יחכה הרבה מאוד זמן.

כאשר כונן ממופה יש מספר מאפיינים לחיבור:

1. הכונן הממופה
2. ה UNC עליו ניגשים
3. מצב החיבור עצמו

בשביל לבצע רענון (להתחבר מחדש) אפשר למחוק את הכונן המקומי אבל ללא הפלת החיבור, ואז להוסיף שוב את אותו הכונן:
1. בצעו קריאה ל NetUseEnum ומשכו מבנה שיכיל את הכונן המקומי והUNC.

2. מצאו את המבנה המתאים לכונן ובצעו קריאה ל WNetCancelConection2 (או אחד הווריאציות האחרות שלה) והשתמשו ב lpname כשהוא  מצביע לכונן המקומי (בצורה כזאת אתם רק מוחקים כונן מקומי ולא את החיבור עצמו)

3. בצעו קריאה ל WNetAddConnection כאשר אתם משתמשים בפרטים שקיבלתם בשלב הראשון.

בגלל שלא מחכתם את החיבור והשתמשת באותם השמות החיבור ישוחזר (ע"י שימוש בסיסמה הנוכחית שזכורה)

  • הפתרון תקף רק ביצעתם logon.
  • רק כאשר מדובר על כונן ממופה (ולא יעזור לכם עם עשיתם mklink או שאתם רוצים לבצע הזדהות חדשה)
  • זה יכול לקחת מספר TIME_WAIT.
  • זה תקף רק המצב כבר עבר מ OK (מהניתוק עד TIME_WAIT הראשון המצב ישאר OK כל עוד אין גישה לכונן).

יום שישי, אוגוסט 01, 2014

חשבתם ש BADBIOS זה סיוט הנה הגיע BADUSB

לפני זמן מה יצא לי לקרוא על BADBIOS  - מדובר על נוזקה  שמדביקה את UEFI ו BIOS ומספר חוקרים טענו שבעוד שהנוזקה אפשרית (טכנית) הם מפקפקים בדיווח ,

אתמול ידידי שלח לי קישור מעניין על  BADUSB שבסופו של יום מדובר על שיטה להחזיק נוזקות על התקני USB ולמשתמש הפשוט (בנינו רוב המשתמשים) אין ממש שום דרך להתגונן כנגד זה.


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

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

חשבתי לאסור על מודלים מסוימים לעלות לקרנל מה שחשבתי עליו הוא (שזה אמור לחסום כמעט הכל יעזור רק אם לא תתבצע טעינה משנית (ההארה של צפריר) :

blacklist rndis_host
blacklist rndis_wlan
blacklist cdc_ether
blacklist ohci_hcd
blacklist ehci_hcd
blacklist ehci_pci
blacklist gspca_main
blacklist cdc_phonet
blacklist cdc_acm
blacklist cdc_ether
blacklist usbfs
blacklist usbnet
blacklist usbhid
blacklist usbcore



עריכה -

1. צפריר אומר שזה לא יפתור את הבעיה של מניעת עליית מודולים (ראו תגובה מצורפת)

2. קולגה נוסף מסר שההתקפה זו איננה חדשה  (Netragard ביצעו זאת בעבר) ומניעת עליית מודולים תקפה רק עבור התקפות ברמת מערכת הפעלה, זה לא יפתור התקפות שעובדות מתחת למערכת ההפעלה (הסבר שלי דוגמה כמו בהתקפות DMA או הגנה מפני גניבה )



ולשנות חוקי udev שימנעו העלאה של תהליכים אחרים.

ב wired דיווחו כי כביכול אחת הדוברת אמרה בהקשר של הפיטצר המדובר :
Liz Nardozza responded in a statement. “Consumers should always ensure their devices are from a trusted source and that only trusted sources interact with their devices,”

יום ראשון, יולי 20, 2014

תסריט הודעות מערכת X11

עידכון: התסריט לא נתן מידע מהימן בזמן אמת. 

שימרו את הקובץ נגיד תחת alarm.sh

#!/bin/bash

if [ $# -ne 1 ]; then
   echo "$0 expect alert url"
   echo "example:"
   echo "$0 http://www.oref.org.il/WarningMessages/alerts.json";

   exit 1
fi
prevMd5Sum=""
curMd5Sum=""

while true; 

do

content=$(wget -qO- $1 | iconv -f UTF16 -t utf-8)
curMd5Sum=$(echo $content |md5sum)
area=$(echo "$content" | tail -n +5 | sed -r -e 's/\]//g'  -e 's/\}//g'| tr -d "\r\n")

date=$(date)

if [ -n "$area" ]; then
    if [ "$curMd5Sum" != "$prevMd5Sum" ]; then
        prevMd5Sum=$curMd5Sum;
        echo "ALARM [$content] $date ($area)"
        notify-send  "צבע אדום" "$area\n$date"  
    fi
fi
sleep 0.5;

done

 
יש לתקן את השורה area=`..` כך שזה יוצג בשורה אחת (הוחלף ל $() שיהיה קל יותר להעתיק)

הפעילו באמצעות :

 user@pc: ~/screen ./alaram.sh http://www.oref.org.il/WarningMessages/alerts.json 

התסריט לא נתן מידע מהימן בזמן אמת. 
  עריכה : ככל הנראה יש פרוקסי בדרך או שהספק שלי ממש בעייתי - זמן שינוי עדכון משאב  (last_modified) לא מעודכן בחלק מה resolv שעשיתי היה משאב לא מעודכן למספר שעות.

לפעמים עובד ולפעמים לא , אין צורך ב U-A .