Hacker’ların Yeni Gozdesi - PowerShell
-
Upload
adeo-security -
Category
Technology
-
view
492 -
download
3
Transcript of Hacker’ların Yeni Gozdesi - PowerShell
Ben Kimim
• Siber Güvenlik Danışmanı (Adeo Bilişim ve Danışmanlık)
• White Hat Hacker
• Ethical Hacking Eğitmeni
• Mshowto Editörü (www.mshowto.org)
• Blog Yazarı (www.eyupcelik.com.tr)
• Güvenlik Araştırmacısı (Security Researcher)
Command Prompt
Eski nesil Metin bazlı etkileşim Klasik komut yapısı Karmaşık işlemlerde gittikçe karmaşıklaşır Komut arabirimi Kolay kullanım? Kısıtlı işlemler
PowerShell
• Varsayılanda yüklü
• Windows 7
• Windows 8
• Windows 10 ve sonrası
• Windows Server 2008
• Windows Server 2012 ve sonrası
• Server ailesi ile tam entegre
• Exchange
• SharePoint
• Active Directory
• Yeni nesil
• Metin işlemez, .NET Platformuna dayalı nesneleri işler
• Karmaşık görevlerde güçlü çözümler
• Komut arabirimi + GUI
• Bir miktar yazılım dili
• Script dilidir
• Klasik OS komutlarına destek
Neler Yapılabilir?
• Hak Yükseltme (Privilege Escalation)
• Kimlik Çalma (Credential Theft)
• Ağ Üzerinde Diğer Hedeflere Atlama (Lateral Movement)
• Veri Bozma (Data Destruction)
• Sistemde Kalıcılık Sağlama (Persistence)
• Veri Çalma (Data Exfiltration)
PowerShell ile sistemi ele geçiren bir saldırgan, akla gelen saldırıların büyük çoğunluğunu gerçekleştirebilir!
PowerShell Çalışma Modları
Windows PowerShell ortamında 5 farklı çalıştırma politikası mevcuttur…
Restricted – Herhangi bir script çalışmaz. Windows
PowerShell sadece interaktif modda çalışabilir. Varsayılan
olarak Windows Server 2012 R2 haricindekiler bu modda
çalışır.
ExecutionPolicy ile bir sistem üzerinde çalışacak PowerShell scriptlerinin hangi türde çalışacağı belirlenir. Yetkisiz scriptlerin çalıştırılabilmesi için bu politikalara ihtiyaç bulunmaktadır!
PowerShell Çalışma Modları
Bypass - Herhangi bir sınırlama olmadan bütün Windows PowerShell scriptleri çalıştırılır ve kullanıcılardan herhangi bir onay istenmez.
Unrestricted – Herhangi bir sınırlama olmadan bütün Windows PowerShell scriptleri çalıştırılır. İnternetten indirilen scriptler içinse kullanıcının karşısında scripti çalıştırmak için izin isteyen bir ekran çıkar.
Remote Signed – İndirilen scriptler güvenilen yayıncılar tarafından imzalandıktan sonra çalışabilir. Windows Server 2012 R2 sistemler için varsayılan moddur.
AllSigned – Sadece güvenilen yayıncılar tarafından imzalanmış scriptler çalışabilir.
cmdlet
• «cmdlet» - Komut setidir. Ancak klasik Windows çalıştırılabilir dosyaları yerine .NET fonksiyonları çalışır.
• Her komut isim-fiil (VERB-NOUN) şeklinde tanımlanmıştır.
• Get (Sadece bilgi alır, bilgi döndürür)
• Set (Bilgi günceller, değer atar)
• Out (Çıktı verir)
• Büyük – Küçük harf duyarlılığı yoktur.
alias
• «alias» - Windows ve *nix işletim sistemlerindeki komutlar için alias tanımlanmıştır.
• Windows’taki «dir» ve *nix’teki «ls» komutu alias olarak kullanılabilir.
• Get-Alias komutu ile erişilebilir.
Powershell PS Alias CMD *nix
Get-ChildItem ls, gci, dir dir ls
Copy-Item cp, copy, cpi copy cp
Move-Item move, mv, mi move mv
Get-Help man, help help man
Get-Content cat, gc, type type cat
pipeline
• «pipeline» - Bir komutun çıktısını başka bir komuta argüman olarak aktarılabilmesi için kullanılır.
Post Exploitation
440..445 | % {echo ((new-object Net.Sockets.TcpClient).Connect("127.0.0.1",$_)) "$_ is open"} 2>$null