mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
76 lines
4.3 KiB
Markdown
76 lines
4.3 KiB
Markdown
# 137,138,139 - Pentesting NetBios
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
## NetBios Name Service
|
|
|
|
**NetBIOS Name Service**는 **이름 등록 및 해상도**, **데이터그램 배포**, **세션 서비스**와 같은 다양한 서비스를 포함하여 중요한 역할을 하며, 각 서비스에 대해 특정 포트를 사용합니다.
|
|
|
|
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
|
|
|
|
- 이름 등록 및 해상도를 위한 이름 서비스 (포트: 137/udp 및 137/tcp).
|
|
- 연결 없는 통신을 위한 데이터그램 배포 서비스 (포트: 138/udp).
|
|
- 연결 지향 통신을 위한 세션 서비스 (포트: 139/tcp).
|
|
|
|
### Name Service
|
|
|
|
장치가 NetBIOS 네트워크에 참여하려면 고유한 이름을 가져야 합니다. 이는 "이름 쿼리" 패킷이 전송되는 **브로드캐스트 프로세스**를 통해 이루어집니다. 이의 제기가 없으면 이름은 사용 가능한 것으로 간주됩니다. 또는 **이름 서비스 서버**에 직접 쿼리하여 이름의 가용성을 확인하거나 이름을 IP 주소로 해석할 수 있습니다. `nmblookup`, `nbtscan`, `nmap`과 같은 도구는 NetBIOS 서비스를 열거하는 데 사용되어 서버 이름과 MAC 주소를 드러냅니다.
|
|
```bash
|
|
PORT STATE SERVICE VERSION
|
|
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
|
|
```
|
|
NetBIOS 서비스를 열거하면 서버가 사용하는 이름과 서버의 MAC 주소를 얻을 수 있습니다.
|
|
```bash
|
|
nmblookup -A <IP>
|
|
nbtscan <IP>/30
|
|
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
|
|
```
|
|
### Datagram Distribution Service
|
|
|
|
NetBIOS 데이터그램은 UDP를 통해 연결 없는 통신을 허용하며, 직접 메시지를 전송하거나 모든 네트워크 이름으로 브로드캐스팅할 수 있습니다. 이 서비스는 포트 **138/udp**를 사용합니다.
|
|
```bash
|
|
PORT STATE SERVICE VERSION
|
|
138/udp open|filtered netbios-dgm
|
|
```
|
|
### 세션 서비스
|
|
|
|
연결 지향 상호작용을 위해, **Session Service**는 두 장치 간의 대화를 촉진하며, **TCP** 연결을 통해 포트 **139/tcp**를 활용합니다. 세션은 "Session Request" 패킷으로 시작되며, 응답에 따라 설정될 수 있습니다. 이 서비스는 더 큰 메시지, 오류 감지 및 복구를 지원하며, TCP는 흐름 제어 및 패킷 재전송을 처리합니다.
|
|
|
|
세션 내 데이터 전송은 **Session Message packets**를 포함하며, 세션은 TCP 연결을 닫음으로써 종료됩니다.
|
|
|
|
이 서비스는 **NetBIOS** 기능에 필수적이며, 네트워크 전반에 걸쳐 효율적인 통신 및 자원 공유를 가능하게 합니다. TCP 및 IP 프로토콜에 대한 자세한 내용은 각각의 [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) 및 [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) 페이지를 참조하십시오.
|
|
```bash
|
|
PORT STATE SERVICE VERSION
|
|
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
|
|
```
|
|
**다음 페이지를 읽어 이 서비스를 열거하는 방법을 배우세요:**
|
|
|
|
{{#ref}}
|
|
137-138-139-pentesting-netbios.md
|
|
{{#endref}}
|
|
|
|
## HackTricks 자동 명령
|
|
```
|
|
Protocol_Name: Netbios #Protocol Abbreviation if there is one.
|
|
Port_Number: 137,138,139 #Comma separated if there is more than one.
|
|
Protocol_Description: Netbios #Protocol Abbreviation Spelled out
|
|
|
|
Entry_1:
|
|
Name: Notes
|
|
Description: Notes for NetBios
|
|
Note: |
|
|
Name service for name registration and resolution (ports: 137/udp and 137/tcp).
|
|
Datagram distribution service for connectionless communication (port: 138/udp).
|
|
Session service for connection-oriented communication (port: 139/tcp).
|
|
|
|
For a device to participate in a NetBIOS network, it must have a unique name. This is achieved through a broadcast process where a "Name Query" packet is sent. If no objections are received, the name is considered available. Alternatively, a Name Service server can be queried directly to check for name availability or to resolve a name to an IP address.
|
|
|
|
https://book.hacktricks.wiki/en/network-services-pentesting/137-138-139-pentesting-netbios.html
|
|
|
|
Entry_2:
|
|
Name: Find Names
|
|
Description: Three scans to find the names of the server
|
|
Command: nmblookup -A {IP} &&&& nbtscan {IP}/30 &&&& nmap -sU -sV -T4 --script nbstat.nse -p 137 -Pn -n {IP}
|
|
```
|
|
{{#include ../banners/hacktricks-training.md}}
|