Hacker’ların Yeni Gozdesi - PowerShell

26
Hacker’ların Yeni Gözdesi - PowerShell

Transcript of Hacker’ların Yeni Gozdesi - PowerShell

Hacker’ların Yeni Gözdesi - PowerShell

Eyüp Çelik

Siber Güvenlik Ekip Lideri@EPICROUTERS

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, alias, pipeline

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.

Programlama Ortamı

Saldırı Araçları

Saldırı Araçları

PowerSploit Nishang

PowerUp Empire

Uygulamalar

Uygulama

Uygulama

Uygulama

Uygulama

Adeo PowerShell RAT

Connection

UAC Bypass

Arch / Func

Post Exploitation

Post Exploitation

440..445 | % {echo ((new-object Net.Sockets.TcpClient).Connect("127.0.0.1",$_)) "$_ is open"} 2>$null

İzlerin Temizliği

İzlerin Temizliği

Cmdlet: Stop-Process -processname powershe*

Alias: kill, spps

- Teşekkürler -

adeosecurity.com | @adeosecurity