تعداد SMB

جارٍ التحميل…

01 / ملخص الدرس

تعداد SMB

إيه هو SMB و ports بتاعته، والـ Null Session والـ Shares، وأدوات smbclient و smbmap و enum4linux و netexec، وتطلّع الـ shares المفتوحة بـ Python.

02 / شرح الدرس مكتوبًا

نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.

SMB هو البروتوكول اللي بتتشارك بيه الملفات والطابعات في شبكات Windows. وهو من أهم الأهداف في أي شبكة داخلية، وفي OSCP.

بيشتغل على port one thirty nine و four forty five. الحاجات اللي بنتشارك بيها اسمها Shares. وساعات بيسمح بـ Null Session، يعني تدخل من غير username أو password خالص.

الأدوات: smbclient dash capital L، بيعرض الـ shares. smbmap، بيعرض الـ shares وصلاحياتك عليها. enum4linux، بيجمع كل حاجة: users و shares و groups. و netexec، أو اسمه القديم crackmapexec، أداة قوية جداً. ده output من smbmap، بيعرض كل share وصلاحياتك عليه. نقسم كل سطر: الاسم الأول، والصلاحية بعده. نشغّل… فيه shares كتير NO ACCESS، بس Public فيها READ و WRITE، و Backups فيها READ. الـ shares اللي آخرها علامة dollar دي مخبّية وإدارية.

main.py
# Output of: smbmap -H 10.10.10.20 -u guest   (lab data)
output = """Disk          Permissions   Comment
----          -----------   -------
ADMIN$        NO ACCESS     Remote Admin
C$            NO ACCESS     Default share
IPC$          READ ONLY     Remote IPC
Finance       NO ACCESS     Finance team
Public        READ, WRITE   Shared files
Backups       READ ONLY     Old backups"""

shares = []
for line in output.splitlines()[2:]:
    name, rest = line.split(maxsplit=1)
    perm = rest[:14].strip()
    shares.append((name, perm))

for name, perm in shares:
    print(f"{name:8} {perm}")

المخرجات

ADMIN$   NO ACCESS
C$       NO ACCESS
IPC$     READ ONLY
Finance  NO ACCESS
Public   READ, WRITE
Backups  READ ONLY

دورك: اطبع بس الـ shares اللي تقدر تقرا منها، وتجاهل اللي آخرها dollar.

تمرين

اطبع الـ share لو "READ" in perm و not name.endswith("$").

الحل: نشغّل… Public و Backups. لازم ندخل نشوف اللي جُوّاهم.

main.py
# Output of: smbmap -H 10.10.10.20 -u guest   (lab data)
output = """Disk          Permissions   Comment
----          -----------   -------
ADMIN$        NO ACCESS     Remote Admin
C$            NO ACCESS     Default share
IPC$          READ ONLY     Remote IPC
Finance       NO ACCESS     Finance team
Public        READ, WRITE   Shared files
Backups       READ ONLY     Old backups"""

shares = []
for line in output.splitlines()[2:]:
    name, rest = line.split(maxsplit=1)
    perm = rest[:14].strip()
    shares.append((name, perm))

for name, perm in shares:
    if "READ" in perm and not name.endswith("$"):
        print(f"[+] {name:8} {perm}")

المخرجات

[+] Public   READ, WRITE
[+] Backups  READ ONLY

الدرس الجاي: خدمات تانية مهمة بسرعة: DNS و SNMP وغيرهم. يلا بينا.

03 / دروس المسار (22)
  1. 01يعني إيه جمع معلومات (Recon)؟
  2. 02سلبي ولا نشط؟ والنطاق القانوني
  3. 03WHOIS: مين صاحب الـ Domain؟
  4. 04سجلات DNS: كنز المعلومات
  5. 05اكتشاف الـ Subdomains
  6. 06Certificate Transparency: الشهادات بتتكلم
  7. 07Google Dorking
  8. 08OSINT: الموظفين والإيميلات
  9. 09الـ Metadata: أسرار جُوّه الملفات
  10. 10اكتشاف الأجهزة الشغّالة (Host Discovery)
  11. 11الـ Port Scanning بيشتغل إزاي؟
  12. 12Nmap: البداية
  13. 13أنواع الـ Scan والسرعة في Nmap
  14. 14كشف الخدمات والإصدارات ونظام التشغيل
  15. 15NSE Scripts وحفظ النتايج
  16. 16تعداد الويب: الـ Headers والتكنولوجيا
  17. 17الـ Directory Brute Force
  18. 18تعداد SMBانت هنا
  19. 19تعداد خدمات تانية: FTP و DNS و SNMP وغيرهم
  20. 20تنظيم نتايج الـ Recon
  21. 21أتمتة الـ Recon بـ Python
  22. 22مراجعة شاملة وخطة Recon