Sziasztok,
Hogyan lehet kideríteni (kívülről), hogy egy samba szerver milyen protokollokat támogat? (SMB1, SMB2 stb.)
Bár a szerverhez is van hozzáférésem mégis kellene egy bizonyíték, hogy az SMB1 le van tiltva és a többi pedig működik.
Van "lehetőleg linuxos" eszköz a samba protokoll vizsgálására?
üdv: redman
- 955 megtekintés
Hozzászólások
A csatoláskor a vers paraméterrel be tudod állítani a protokollt.
- A hozzászóláshoz be kell jelentkezni
Elvileg:
HOST=localhost
for max_proto in CORE COREPLUS LANMAN1 LANMAN2 NT1 SMB2_02 SMB2_10 SMB2_22 SMB2_24 SMB3_00 SMB3_02 SMB3_10 SMB3_11; do
smbclient -L "$HOST" -U" "%" " "--option=client min protocol=$max_proto" -m "$max_proto" > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "$max_proto seems to be disabled"
else
echo "$max_proto is enabled"
fi
done
Szerk.: lemaradt az aláírásom.
Szerk II.: kliensnél még CORE és COREPLUS is lehet, javítva. Házi feladat figyelni a "WARNING: Ignoring invalid value 'FOO' for parameter 'client max protocol'" üzeneteket :)
Szerk III.: kapott egy client min protocol konfigot is, így csak azt a verziót egyeztethetik (alacsonyabbat nem, így már pl. a max proto = SMB3-ra nem mondja, hogy engedélyezett, csak mert egy alacsonyabb proto-t negoltak a szerverrel)...
Ha a guest le van tiltva, akkor a -U utána kellhet egy usernév/jelszó pár (vagy inkább auth fájl, lásd man smbclient) ill. a CORE-okhoz a kliensen az smb.conf-ba egy client plaintext auth = yes, az NT1-ig egy client lanman auth = yes (mindkettő default no).
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Köszönöm, tök jól működik :)
- A hozzászóláshoz be kell jelentkezni
Nincs mit :)
Közben unatkoztam és lett színes-szagos verzió, ami végigpróbálja a protokoll verziókat letiltott és engedélyezett plaintext/lm jelszavakkal: https://github.com/sz-blacky/misc-stuff/blob/master/smbprotocheck.sh
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Elég állat :)
Köszönöm!
- A hozzászóláshoz be kell jelentkezni
Ezek szerint olyan protokoll nincs is, hogy SMB1?
Gondolom az SMB1 minden ami az SMB2 előtt van.
Ez nincs így leírva a wikipédián (illetve google keresésben nem találtam)
- A hozzászóláshoz be kell jelentkezni
Gyakorlatilag minden, ami az SMB2 előtt volt, az az SMB1 :) (mondjuk az MS azt mondja, hogy az SMB 1.0 a Win2000+ és az NT4 még CIFS...: https://blogs.technet.microsoft.com/josebda/2012/06/06/windows-server-2… szóval minden van itt :) )
Egyébként nagyon szépen látszik az egész protokollon, hogy az SMB 2-ig (Vista - nagyjából az a pont, amikor feladták az egészet és sok mindent kukáztak) organikusan fejlődött ahogy éppen kellettek új feature-ök (vagy az aktuális Windows-ba bekerült egy új feature, pl. az NTFS megjelenésekor az ACL-ek). Ha a fenti linket megnézed, a Note 2-nél van egy state diagram, hogy SMB 2 _óta_ hogyan megy a protokoll egyeztetés. Egy hasonló ábra van valamelyik (egyszer láttam, azóta se találom) Samba dev előadás slidejai között az akkori Samba által támogatott _összes_ verzióra - a linken látott rész kb. a tizede az egész szörnyetegnek, az Smb 2 előtt ugyanis nem volt protokoll verzió mező a protokollban, mindenféle heurisztikákkal [pl. ha úgy tűnik, hogy támogatott a Unix extensions, akkor istentudja melyik lehet a minimális protokoll] és egy baromi bonyolult állapotátmenet-gráffal tippelte meg mindkét oldal, hogy mit beszélhet a másik :)
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni