31.12.2016

Windows parolasını sıfırlamak

Bilgisayarı herhangi bir linux live CD'si ile açıın. Muhtemelen chntpw paketi yüklü değildir. Aşağıdaki komutlarla yükleyin. Öncesinde muhtemelen universe repository'lerini eklemek gerekecek:

sudo add-apt-repository universe

sudo apt-get update
sudo apt-get install chntpw
System partition'ı mount edin:
sudo mount /dev/sda1 /mnt/win
/mnt/win klasörü yoksa önce onu yaratmak gerekir
sudo mkdir /mnt/win
Ardından SAM'in yer aldığı klasöre geçin
cd /mnt/win/Windows/System32/config
Bu klasördeyken aşağıdaki komutu vererek chntpw'i çalıştırın
sudo chntpw SAM
Bu şekilde varsayılan olarak Administrator kullanıcısı üzerinde işlem yapıyor olacağız. Eğer başka bir kullanıcı ile işlem yapacaksak
sudo chntpw -u <username> SAM
komutuyla kullanıcı seçebiliriz. Sistemdeki kullanıcı adlarını görmek için
/mnt/win/Users
klasörünün altındaki profil klasörlerinin isimlerine bakabiliriz. Herneyse chntpw'yi çalıştırında aşağıdakine benzer bir ekran ile karşılaşacağız.


Burada önerilen 1 ile kullanıcı şifresini sıfırlamak (boş olacak). Seçenek 2 pek önerilmiyor. İki komutun ardından da y ile emin olduğumuzu söyleyeceğiz.

Bilgisayarı tekrar başlatıp seçilen kullanıcı ile "boş şifre kullanarak" oturum açabiliriz.
 
---
2019-03-04
 
Başka bir seçenek de şifresi unutulduğu için bir türlü açılamayan bilgilsayarı ya kurulum CD'siyle ya da bir linux live CD'siyle açtıktan sonra C:\Windows\system32 klasöründe bulunan sethc.exe dosyasını sethc_asil.exe olarak yeniden adlandırıp
 
move  sethc.exe sethc_asil.exe
 
cmd.exe'nin sethc.exe adıyla bir kopyasını oluşturduktan 
 
copy cmd.exe sethc.exe
 
sonra bilgisayarı tekrar başlatıp şifre ekranında 5 kez shift tuşuna basarak ya da mümkünse registry'e sethc.exe için bir Image File Execution yönlendirmesi ekleyerek

REG ADD “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe” /v Debugger /t REG_SZ /d “C:\windows\system32\cmd.exe”

de aynı şeyi yapabiliriz. Burada amaç shift'e 5 kez basıldıktan sonra ekrana gelmesi beklenen erişilebilirlik kısayolları yerine komut satırı penceresinin açılmasını sağlamak. Bu pencere system kullanıcısı yetkileriyle açılacağı için Administrator hesabı da dahil olmak üzere tüm hesapların şifresini hiçbir şifre girmeye gerek kalmadan değiştirebiliyor olacağız. Bunu da komut satırından

net user Administrator *yeniparola*
 
komutu ile yapacağız. Hatta

net user YeniKullanici *yeniparola* /add

komutu ile yeni bir kullanıcı ekleyerek de yapabiliriz. Bu yeni kullanıcıyı da yönetici yapmak için

net localgroup Administrators YeniKullanici /Add

komutuyla kullanıcıyı Administrators grubu üyesi yapabiliriz. Pencereyi kapatır kapatmaz giriş yapmak mümkün. Aynı etkiyi sethc.exe yerine Utilman.exe veya osk.exe ile de yapmaktan bahsedilmiş. Bu durumda oturum açma ekranında 5 kez shift'e basmak yerine sırasıyla erişilebilirlik seçeneklerine veya ekran klavyesine geçiş yapmak durumunuz olabilir. StackExchange'de de konuşulduğu gibi Windows 10 için durum biraz daha karışık. Windows Defender'ın bu gibi yöntemleri engellemesi söz konusu olabilir.

2021-12-30 ek: Sami Laiho videosunda Windows Defender engellemesine karşı C:\Programdata\Microsoft\Windows Defender\Platform\x.xx.xxxx.x-x\MsMpEng.exe'nin ismini değiştirerek çalıştırılmasının engellenmesini önermiş.

30.11.2016

ICMP ve TTL değerleri

Bugüne kadar ping sonuçlarını incelerken farklı TTL (Time To Live) değerleri hiç ilgimi çekmemişti. Geçilen her düğümde bu değerin bir düşürüldüğü ve 0'a ulaştığında ise paketin artık daha fazla yönlendirilmediği temel bilgisine sahiptim, ama neden bazen 50-60'lı değerler görürken bazen bu 200+ oluyordu? Acaba arada bu kadar fazla düğüm olması ihtimali var mıydı?

Bugün bu konuya biraz zaman ayırdım. Gördüm ki bu farklılık hedef sistemin yapısıyla ilgilymiş. Ping request işlemini başlatan tarafla hiç ilgilsi yokmuş. Karşı taraftaki işletim sisteminin belirlediği bir değermiş. Farklı işletim sistemlerinin farklı TTL seviyeleri oluyormuş. Şu sayfada ayrıntılı bir liste verilmiş.

Device / OS Version Protocol TTL
AIX TCP 60
AIX UDP 30
AIX 3.2, 4.1 ICMP 255
BSDI BSD/OS 3.1 and 4.0 ICMP 255
Compa Tru64 v5.0 ICMP 64
Cisco ICMP 254
DEC Pathworks V5 TCP and UDP 30
Foundry ICMP 64
FreeBSD 2.1R TCP and UDP 64
FreeBSD 3.4, 4.0 ICMP 255
FreeBSD 5 ICMP 64
HP-UX 9.0x TCP and UDP 30
HP-UX 10.01 TCP and UDP 64
HP-UX 10.2 ICMP 255
HP-UX 11 ICMP 255
HP-UX 11 TCP 64
Irix 5.3 TCP and UDP 60
Irix 6.x TCP and UDP 60
Irix 6.5.3, 6.5.8 ICMP 255
juniper ICMP 64
MPE/IX (HP) ICMP 200
Linux 2.0.x kernel ICMP 64
Linux 2.2.14 kernel ICMP 255
Linux 2.4 kernel ICMP 255
Linux Red Hat 9 ICMP and TCP 64
MacOS/MacTCP 2.0.x TCP and UDP 60
MacOS/MacTCP X (10.5.6) ICMP/TCP/UDP 64
NetBSD ICMP 255
Netgear FVG318 ICMP and UDP 64
OpenBSD 2.6 & 2.7 ICMP 255
OpenVMS 07.01.2002 ICMP 255
OS/2 TCP/IP 3.0 64
OSF/1 V3.2A TCP 60
OSF/1 V3.2A UDP 30
Solaris 2.5.1, 2.6, 2.7, 2.8 ICMP 255
Solaris 2.8 TCP 64
Stratus TCP_OS ICMP 255
Stratus TCP_OS (14.2-) TCP and UDP 30
Stratus TCP_OS (14.3+) TCP and UDP 64
Stratus STCP ICMP/TCP/UDP 60
SunOS 4.1.3/4.1.4 TCP and UDP 60
SunOS 5.7 ICMP and TCP 255
Ultrix V4.1/V4.2A TCP 60
Ultrix V4.1/V4.2A UDP 30
Ultrix V4.2 – 4.5 ICMP 255
VMS/Multinet TCP and UDP 64
VMS/TCPware TCP 60
VMS/TCPware UDP 64
VMS/Wollongong 1.1.1.1 TCP 128
VMS/Wollongong 1.1.1.1 UDP 30
VMS/UCX TCP and UDP 128
Windows for Workgroups TCP and UDP 32
Windows 95 TCP and UDP 32
Windows 98 ICMP 32
Windows 98, 98 SE ICMP 128
Windows 98 TCP 128
Windows NT 3.51 TCP and UDP 32
Windows NT 4.0 TCP and UDP 128
Windows NT 4.0 SP5- 32
Windows NT 4.0 SP6+ 128
Windows NT 4 WRKS SP 3, SP 6a ICMP 128
Windows NT 4 Server SP4 ICMP 128
Windows ME ICMP 128
Windows 2000 pro ICMP/TCP/UDP 128
Windows 2000 family ICMP 128
Windows Server 2003 128
Windows XP ICMP/TCP/UDP 128
Windows Vista ICMP/TCP/UDP 128
Windows 7 ICMP/TCP/UDP 128
Windows Server 2008 ICMP/TCP/UDP 128
Windows 10 ICMP/TCP/UDP 64

Bu konunun özetini de sayfanın altında çıkarmış. Buna göre hedef bir Linux ise TTL'i 64'ten, bir Windows ise 128'den, bunun yanısıra bir Cisco cihazı / Solaris ise 254'ten başlıyormuş geriye sayım.

21.11.2016

VMware'de Linux sanal makineler ve dosya paylaşımı

Linux sanal makineler için eskiden VMware Workstation'da vmtools kurulumu başarılı sonuçlar verirdi, ama artık olmuyor. Bunun yerine artık open-vm-tools paketi öneriliyor. Paylaşım için yapılacaklar; linux kurumu bittikten sonra hiç VMware Tools kurulumuna girmeden, eğer kurulu değilse open-vm-tools paketini kurmak. Birçok dağıtımda zaten kurulu geliyor. Gelmezse
sudo dnf install open-vm-tools
sudo apt install open-vm-tools
ile kurulum yapılabilir. Bu aşamadan sonra VMware Workstation'da evsahibi makinede (host) klasör paylaştırılabilir. Sanal makineden paylaştırılan klasörü görüntülemek için vmware-hgfsclient kullanılabilir.
vmware-hgfsclient
share
Ardından vmhgfs-fuse ile mount etme yapılır
vmhgfs-fuse .host:/share /home/username/folder

Elbette /home/username/folder yolu var olan bir klasör ile değiştirilmeli.

Şu adreste buldum ki şu da

mount -t fuse.vmhgfs-fuse .host:/share /home/username/folder

aynı işi yapıyor. Gösterdiğim kaynak -o allow_other parametresini de kullanmış, ama benim sistemimde /etc/fuse.conf dosyasında user_allow_other set edilmemişti, kaldırdım. Bu bir ihtiyaçsa /etc/fuse.conf dosyasında user_allow_other'ın başındaki # karakteri silinerek bu sağlanabilir. Ayrıca bu mount'un her yeniden başlangıçta tekrar etkin olmasını istersek /etc/fstab dosyasına şunun gibi bir satır girmemiz yeterli:

.host:/     /home/username/folder     fuse.vmhgfs-fuse      allow_other      0 0

allow_other ile ilgili yukarıda söylenenler burada da geçerli.

Var olan bir bağlantıyı kaldırmak için

umount /mnt/hgfs

gerekli.

2.09.2016

Windows'da bilimum dosya hash'lerini hesaplama

Download edilen bir dosyanın doğru bir şekilde download edildiğini bilmek bazen hayati önem taşıyor. Linux'ta hash'leri
$ md5sum dosya-adı
$ sha1sum dosya-adı
$ sha256sum dosya-adı
$ sha512sum dosya-adı
gibi komut satırı programları aracılığıyla hesaplayabiliyoruz. Ama Windows'da bu yoktu[*] (fciv vardı ama sha256 hesaplamıyordu mesela). Ben de üçüncü parti yazılımlarla bunu çözmeye çalışıyordum. Ama PowerShell'de bunu yapan bir cmdlet olduğunu öğrenince çok hoşuma gitti. Aşağıdaki gibi çok sayıda hash hesaplaması yapmak mümkün:
PS> Get-FileHash dosya-adi -Algorithm md5
md5 yerine aşağıdaki hash algoritmalarını kullanabiliriz. Burada da tab tuşu ile tamamlama mümkün.
  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MACTripleDES
  • MD5
  • RIPEMD160
Çevrim içi yardım için şu link kullanılabilir.

Bir klasörde birden fazla dosyanın hash'lerini hesaplatmak için ise şöyle bir komut uygun olur:
PS>Get-ChildItem E:\ISO\*.iso | Get-FileHash
---

Düzenleme [12.11.2018] : Hack5 videolarından birinde  farkettim ki Windows'da aslında bir hash hesaplama aracı varmış. İşte MD5 vs SHA256 hash'lerini hesaplamak için DOS eşdeğeri:

certutil -hashfile dosyaadi md5
certutil -hashfile dosyaadi sha256

olabilir.