Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
_**Ağ Temel Giriş Çıkış Sistemi**_** (NetBIOS)**, uygulamaların, PC'lerin ve masaüstlerinin yerel alan ağı (LAN) içinde ağ donanımı ile etkileşimde bulunmasını sağlamak ve **ağ üzerinden veri iletimini kolaylaştırmak** için tasarlanmış bir yazılım protokolüdür. NetBIOS ağında çalışan yazılım uygulamalarının tanımlanması ve konumlandırılması, genellikle bilgisayar adından farklı olan ve uzunluğu 16 karaktere kadar çıkabilen NetBIOS adları aracılığıyla gerçekleştirilir. İki uygulama arasında bir NetBIOS oturumu, bir uygulama (istemci olarak hareket eden) diğer bir uygulamayı (sunucu olarak hareket eden) "aramak" için bir komut verdiğinde **TCP Port 139** kullanılarak başlatılır.
Teknik olarak, Port 139 ‘NBT over IP’ olarak adlandırılırken, Port 445 ‘SMB over IP’ olarak tanımlanır. Kısaltma **SMB**, ‘**Server Message Blocks**’ anlamına gelir ve modern olarak **Common Internet File System (CIFS)** olarak da bilinir. Uygulama katmanı ağ protokolü olarak, SMB/CIFS esasen dosyalara, yazıcılara, seri portlara paylaşımlı erişimi sağlamak ve bir ağ üzerindeki düğümler arasında çeşitli iletişim biçimlerini kolaylaştırmak için kullanılır.
Örneğin, Windows bağlamında, SMB'nin doğrudan TCP/IP üzerinden çalışabileceği ve bu sayede TCP/IP üzerinden NetBIOS'a ihtiyaç duyulmadığı vurgulanmaktadır; bu, port 445'in kullanımıyla mümkündür. Aksine, farklı sistemlerde port 139'un kullanımı gözlemlenmektedir; bu, SMB'nin TCP/IP üzerinden NetBIOS ile birlikte çalıştığını göstermektedir.
**Server Message Block (SMB)** protokolü, **istemci-sunucu** modelinde çalışarak **dosyalara**, dizinlere ve yazıcılar ve yönlendiriciler gibi diğer ağ kaynaklarına **erişimi** düzenlemek için tasarlanmıştır. Öncelikle **Windows** işletim sistemi serisi içinde kullanılan SMB, geriye dönük uyumluluğu sağlayarak, Microsoft'un işletim sisteminin daha yeni sürümlerine sahip cihazların, daha eski sürümlerini çalıştıranlarla sorunsuz bir şekilde etkileşimde bulunmasına olanak tanır. Ayrıca, **Samba** projesi, SMB'nin **Linux** ve Unix sistemlerinde uygulanmasını sağlayan ücretsiz bir yazılım çözümü sunarak, SMB üzerinden çapraz platform iletişimini kolaylaştırır.
Yerel dosya sisteminin **rastgele parçalarını** temsil eden paylaşımlar, bir SMB sunucusu tarafından sağlanabilir ve bu, istemciye sunucunun gerçek yapısından kısmen **bağımsız** bir hiyerarşi sunar. **Erişim Kontrol Listeleri (ACL'ler)**, **erişim haklarını** tanımlayarak, **ince ayar kontrolü** sağlar; bu, **`çalıştırma`**, **`okuma`** ve **`tam erişim`** gibi nitelikleri içerir. Bu izinler, paylaşımlara dayalı olarak bireysel kullanıcılara veya gruplara atanabilir ve sunucudaki yerel izinlerden farklıdır.
IPC$ paylaşımına, anonim bir null oturumu aracılığıyla erişim sağlanabilir ve bu, adlandırılmış borular aracılığıyla sunulan hizmetlerle etkileşimde bulunmayı mümkün kılar. Bu amaçla `enum4linux` aracı faydalıdır. Doğru kullanıldığında, aşağıdakilerin edinilmesini sağlar:
Bu işlevsellik, ağ yöneticileri ve güvenlik profesyonellerinin bir ağ üzerindeki SMB (Server Message Block) hizmetlerinin güvenlik durumunu değerlendirmesi için kritik öneme sahiptir. `enum4linux`, hedef sistemin SMB ortamının kapsamlı bir görünümünü sunarak, potansiyel zayıflıkları tanımlamak ve SMB hizmetlerinin düzgün bir şekilde güvence altına alındığından emin olmak için gereklidir.
Yukarıdaki komut, `target_ip` ile belirtilen bir hedefe karşı tam bir enumeration gerçekleştirmek için `enum4linux`'un nasıl kullanılabileceğine dair bir örnektir.
Eğer NTLM'in ne olduğunu bilmiyorsanız veya nasıl çalıştığını ve nasıl istismar edileceğini öğrenmek istiyorsanız, **bu protokolün nasıl çalıştığını ve nasıl faydalanabileceğinizi** açıklayan **NTLM** hakkında çok ilginç bir sayfa bulacaksınız:
SMB versiyonuna olası istismarlar aramak için hangi versiyonun kullanıldığını bilmek önemlidir. Bu bilgi diğer kullanılan araçlarda görünmüyorsa, şunları yapabilirsiniz:
Ana makinenin herhangi bir paylaşımlarını görüntülemede kısıtlı olabileceğiniz ve bunları listelemeye çalıştığınızda, bağlanacak herhangi bir paylaşım yokmuş gibi görünebilir. Bu nedenle, bir paylaşım ile manuel olarak bağlantı kurmayı denemek faydalı olabilir. Paylaşımları manuel olarak listelemek için, geçerli bir oturum kullanırken (örneğin, null oturum veya geçerli kimlik bilgileri) NT\_STATUS\_ACCESS\_DENIED ve NT\_STATUS\_BAD\_NETWORK\_NAME gibi yanıtları aramak isteyebilirsiniz. Bu, paylaşımın var olup olmadığını ve ona erişiminizin olup olmadığını veya paylaşımın hiç var olmadığını gösterebilir.
Özellikle paylaşımlardan ilginç olanlar, **`Registry.xml`** adlı dosyalardır çünkü bunlar **autologon** ile yapılandırılmış kullanıcılar için **şifreler** içerebilir. Veya **`web.config`** dosyaları, çünkü bunlar kimlik bilgileri içerir.
**SYSVOL paylaşımı**, alan içindeki tüm kimlik doğrulanmış kullanıcılar tarafından **okunabilir**. İçinde birçok farklı batch, VBScript ve PowerShell **script** bulabilirsiniz.\
İçindeki **script**'leri **kontrol** etmelisiniz çünkü **şifreler** gibi hassas bilgileri **bulabilirsiniz**.
Bir **Samba** sunucusunun **varsayılan yapılandırması** genellikle `/etc/samba/smb.conf` içinde bulunur ve bazı**tehlikeli yapılandırmalara** sahip olabilir:
crackmapexec, **wmiexec** varsayılan yöntem olmak üzere, **mmcexec, smbexec, atexec, wmiexec**'i **istismar ederek** komutları çalıştırabilir. Hangi seçeneği kullanmak istediğinizi `--exec-method` parametresi ile belirtebilirsiniz:
Her iki seçenek de **kurban makinesinde yeni bir hizmet oluşturacaktır** (SMB aracılığıyla _\pipe\svcctl_ kullanarak) ve bunu **bir şey çalıştırmak için** kullanacaktır (**psexec** bir çalıştırılabilir dosyayı ADMIN$ paylaşımına **yükleyecek** ve **smbexec****cmd.exe/powershell.exe**'ye işaret edecek ve argümanlara yükü koyacaktır --**dosya olmadan teknik-**-).\
**Daha fazla bilgi** için [**psexec** ](../windows-hardening/ntlm/psexec-and-winexec.md)ve [**smbexec**](../windows-hardening/ntlm/smbexec.md).\
**kali**'de /usr/share/doc/python3-impacket/examples/ dizininde bulunmaktadır.
Bu saldırı, iç ağda **SMB kimlik doğrulama oturumlarını****yakalamak** ve bunları bir **hedef makineye****iletmek** için Responder aracını kullanır. Eğer kimlik doğrulama **oturumu başarılı olursa**, otomatik olarak bir **sistem****kabuk** ortamına geçecektir.\
[**Bu saldırı hakkında daha fazla bilgi burada.**](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
Windows kütüphanesi URLMon.dll, bir sayfa SMB üzerinden bazı içeriklere erişmeye çalıştığında otomatik olarak ana makineye kimlik doğrulama yapmaya çalışır, örneğin: `img src="\\10.10.10.10\path\image.jpg"`
SMB Trapping'e benzer şekilde, hedef sisteme kötü niyetli dosyalar yerleştirmek (örneğin SMB üzerinden) bir SMB kimlik doğrulama girişimini tetikleyebilir ve NetNTLMv2 hash'inin Responder gibi bir araçla yakalanmasına olanak tanır. Hash daha sonra çevrimdışı olarak kırılabilir veya [SMB relay attack](pentesting-smb.md#smb-relay-attack) için kullanılabilir.
While Port 139 is known technically as ‘NBT over IP’, Port 445 is ‘SMB over IP’. SMB stands for ‘Server Message Blocks’. Server Message Block in modern language is also known as Common Internet File System. The system operates as an application-layer network protocol primarily used for offering shared access to files, printers, serial ports, and other sorts of communications between nodes on a network.
#These are the commands I run in order every time I see an open SMB port
With No Creds
nbtscan {IP}
smbmap -H {IP}
smbmap -H {IP} -u null -p null
smbmap -H {IP} -u guest
smbclient -N -L //{IP}
smbclient -N //{IP}/ --option="client min protocol"=LANMAN1
AWS Hacking'i öğrenin ve pratik yapın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi****Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**