İPUCU

Siber Güvenlik Siber Güvenlik ile alakalı araçların kullanımı, bilgi paylaşımı ve siber güvenlik eğitimi ile ilgili kaynakların paylaşıldığı alanımızdır.

Seçenekler

PowerShell Nedir ve Kullanımı //"P4RS

bir Hafta önce
#1
"P4RS - ait Kullanıcı Resmi (Avatar)
Green Team (Deneyimli)
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
18
Mesajlar:
3.399
Teşekkür (Etti):
364
Teşekkür (Aldı):
766
Konular:
245
Ticaret:
(0) %
Merhabalar TürkHackTeam ailesi, bugün sizlere Powershell'den bahsedeceğim. Powershell'den A'dan Z'ye bahsetmeye çalışacağım. Ders tadında çok fazla uzun tutmamaya çalışacağım arkadaşlar hadi başlayalım.

Konu Başlıkları
• PowerShell Nedir?
• Kabuk (Shell) Nedir?
• Kabuk (Shell) İşlevi Nedir?
• PowerShell Nasıl Açılır?
• PowerShell ile Neler Yapılabilir?
• PowerShell ile CMD Arasındaki Fark Nedir?
• PowerShell ile Bash (Linux) Arasındaki Fark Nedir?
• PowerShell CMDLET Nedir?
1. Get-help
2. Get-command
3. Get-member Komutu
4. man Komutu
5. ipconfig Komutu
6. get-eventlog Komutu
7. Alias Bilgisi Alma
• Basit PowerShell ile Örnekler
• Bir işlemi Durdurmaya Zorlama
• Bir Dosyanın Varlığını Kontrol Etme
• PowerShell Empire Nedir ve Kullanımı?
1. Empire Kurulumu



PowerShell Nedir?



PowerShell, Microsoft'un oluşturduğu CMD'ye (komut satırı) Windows Server'lar üzerinde kolaylık sağlanması için hazırlanmış bir komut satırı uygulaması ve scripting dilidir. Microsoft bu komut satırını 2006 yılında piyasaya çıkarmıştır. Microsoft yeni komut satırı UNİX sistemlerde ki terminal yapısına benzemektedir.
.NET Framework ve .NET Core üzerinde geliştirilmiştir ve açık kaynaktır.
PowerShell kavramını daha iyi anlamak için Kabuk(Shell) kavramını biraz bilmemiz gerekmektedir. Bunun için benim konum olan Linux KABUK(SHELL) //WhiteRed konusuna bakabilirsiniz. Fakat siz konudan kopmayın diye birkaç alıntı ile Kabuğun ne olduğunu anlatacağım.


Kabuk (Shell) Nedir?


Kabuk, işletim sistemlerinde kullanıcıdan alınan verileri/iletileri çekirdeğe ulaştıran komut satırıdır. Linux kullanıcıların programları başlatmasına, kullanmasına Linux da ki çalışan prosedürlerin yönetmektedir. Peki kabuğa nasıl erişim sağlayacağız derseniz, komut satırı olarak tanımlandığımız terminal sayesinde kabuk ile etkileşime geçebiliriz.

Peki ne olduğunu anladık da bunun işlevi nedir? Ne işe yarar bu Kabuk(Shell) dediğinizi duyar gibiyim onun için de şöyle kısa bir yazım var;


Kabuk (Shell) İşlevi Nedir?


Üst tarafta kabuk ile iletişime geçmek için Terminal’den yararlanıyoruz demiştim. Terminal de neler yapabiliriz derseniz, dosya oluşturabiliriz, dosya silebiliriz, dizin oluşturabiliriz, dizin silebiliriz gibi gibi. İşletim sistemi üzerinden yapabileceğimiz işlev vardır. Birçok komutu burada kullanırız.

PowerShell, Windows 7, Windows 8.1 ve Windows 10 gibi sürümlerde ve Windows Serverlerin de Linux, Mac OS X de çalışmaktadır.



Peki PowerShell'i bu kadar anlattık da PowerShell'i nasıl açacağız "P4RS derseniz;


PowerShell Nasıl Açılır?



İlk olarak "Başlangıç" a geliyoruz ve arama kısmına tıklıyoruz. Daha sonra arama kısmına "powershell" yazıyoruz ve karşımıza PowerShell uygulaması çıkıyor. Ona tıklıyoruz ve PowerShell uygulamamız açılıyor.

Eğer bunu yaptığınızda PowerShell çıkmıyorsa https://docs.microsoft.com/tr-tr/pow...w=powershell-6 ksımından kurulumuna bakabilirsiniz.


PowerShell ile Neler Yapılabilir?

PowerShell, sayesinde kullanıcılar yazılımlar üretebilmektedirler. Veyahut bir uygulamanın hata raporunu görmek, bir işlemin olup olmadığını anlamak, sunucu yönetimi gibi kavramlarda kullanılmaktadır. Bunlar çoğu kullanıcının yapabileceği temel şeylerdir daha derinlere inilebilir. PowerShell uzantısı (.ps1)'dir.

PowerShell'in mantığından kullanımından ve neler yapabileceğimizden bahsettik. Şimdi de karşılaştırma yapacağız.


PowerShell ile CMD Arasındaki Fark Nedir?



PowerShell ile CMD ne kadar da birbirine benziyor gibi görünsede işin iç yüzü tam olarak böyle değil.
• PowerShell de CMDLET (Birazdan anlatacağım) isimli komutlar kullanılmaktadır. CMD ekranında erişelemeyen birçok veriye PowerShell de ki cmdlet komutları sayesinde erişebilirsiniz.
• CMD daha az karmaşık dosyaları yönetmek için kullanılan bir komut satırıdır fakat PowerShell böyle değil daha karmaşık ve daha güçlü bir sistemdir.
• Mesela bir klasörün içinde ki dosyaların isimlerini veya türlerini değiştirmek için CMD kullanmayız PowerShell kullanırız.
• Fakat IP adresimize bakmak için, ping değerimize bakmak için de PowerShell kullanmayız CMD kullanırız.


PowerShell ile Bash (Linux) Arasındaki Fark Nedir?

• Bash geliştirici ortamlar için uygun bir yapıdır.
• Her ikiside Sunucu yönetimi için uygun komut satırlarıdır.
• Her ikisinde de bir veri ile birden fazla işlem yapabilirsiniz yani boru görevi görüyor diyebilirim komutları birbirine bağlamak yani.
• Linux terminal kullanmayı az çok biliyorsanız size PowerShell çokta yabancı gelmez fakat CMD'yi biraz bilip diğerlerini bilmiyorsanız PowerShell sizlere kullanımı biraz zor gelir.
• Her ikisiyle de uzaktan erişim sağlayabilirsiniz.


PowerShell CMDLET Nedir?

CMDLET, PowerShell de ki komutların genel ismidir.

CMDLET yazarken ilk önce eylem (verb) daha sonra eylem de yapılması istenen işlem (noun) yazılmalıdır.



Mesela burada ki gibi
Kod:
get-help
ile yardım alabilirsiniz.

Get-help

Bizlere genel bilgi verir.

Mesela biz hangi işlem ile hangi komutları kullanabileceğimizi görmek için
Kod:
işlem -?
komutunu kullanırız. Bakalım;



Burada
Kod:
command -?
komutu ile "command" eylemi ile hangi işlemleri yapacağımızı görebiliriz.


Get-command

Kullanabileceğimiz bütün komutları ve parametreleri bizlere göstermektedir. Burada CMDLET'lerin listesi, alias, fonksiyonlar bulunmaktadır.



Gördüğünüz gibi bu liste uzayıp gidiyor.

Şimdi de belirli bir uzantıya sahip uygulamaları bulmak için kullandığımız parametreyi göstermeye geldi.

Burada
Kod:
eylem *.uzantı
olarak yazıyoruz.



Ben burada
Kod:
get-command *.exe
diyerek bütün ".exe" olan parametreleri, programları buldum. Sizlerde aradığınız diğer uygulamaları bu şekilde bulabilirsiniz.

Şimdi de başlatabileceğimiz uygulamaları görmeye çalışalım bunun için
Kod:
get-command -verb start
komutunu yazıyoruz.



Gördüğünüz gibi başlatabileceğimiz uygulamaları bizlere gösterdi.

Peki durdurabileceğimz uygulamalar? Onlara da bakalım
Kod:
get-command -verb stop
komutunu kullanalım.



Gördüğünüz gibi durdurabileceğimiz eylemleri de görmüş olduk. Bu liste böyle uzayıp gider merakınıza kalmış bir şey.


Get-member Komutu

Kullanıcının neler yapabileceğini görmemize yarayan bir komuttur. Şimdi kullanıcının neleri yapabileceğini görmek için
Kod:
get-help get-member
komutunu yazalım.




man Komutu

Man komutu manuel kelimesinin kısaltımıdır. Siz bir komut hakkında bilgi öğrenmek istiyorsanız man komutundan yardım almalısınız. Sizlere liste olarak şu şu komut buna yarıyor tarzında gösterecektir.



Gördüğünüz gibi "comman" hakkında bilgi aldık.


ipconfig Komutu

Bu komut CMD ekranında çalışır PowerShell'de de çalışır.




get-eventlog Komutu

Windows olay günlüklerini görmemizi yarar. Kullanımı
Kod:
 get-eventlog
daha sonra hangi olay günlüğünü görmek istiyorsak onu yazıyoruz.
Kod:
application
Çok geniş kapsamlı bakıyor benden söylemesi




Alias Bilgisi Alma

Alias’ların temel görevi kısa kod olarak kullanılmalarıdır. Bu komut ile
Kod:
get-alias
ile kullanabileceğimiz eylemleri görüyoruz.



Örnek olarak UNİX sistemlerde "cp" komutu CMD de "copy" komutu PowerShell de "Copy-Item" terimine karşılık gelmektedir.



Buna birkaç tane daha örnek vermek istiyorum;

Unix sistemlerde ki “clear” komutu için;



Cat Komutu için;



cd Komutu için;



del Komutu için;



ls Komutu için;



Birkaç örneği de tablo da görebilirsiniz;



Daha fazla komutlar hakkında bilgi almak isterseniz https://www.pdq.com/powershell/ buradan bakabilirsiniz.


Basit PowerShell ile Örnekler

Şimdi işin mantığını öğrendik ufak örnekler göstereyim sizlere neler yapabileceğinizi daha iyi anlarsınız.
Bugünün tarhini öğrenelim mesela bunu için
Kod:
get-date
komutunu kullanacağız.



Gördüğünüz gibi bizlere bilgileri verdi.

Şimdi daha da derine inmeye çalışalım.

Mesela bu yılın kaçıncı gününde olduğmuza bakalım bunun için
Kod:
(get-date).dayofyear
komutunu kullanıyoruz.



Bu örnekler daha da derine indirgenebilir.


Bir işlemi Durdurmaya Zorlama

Diyelim ki bir işlem çalışmıyor ve bunu durdurmak istiyoruz. Bunun için işlemin kimliğini bilmeliyiz.
Kod:
get-process
komutunu kullanıyoruz.



Buradan mesela "uTorrent" uygulamasını kapatalım ID'si: 12016 bunu kapatmayı deneyelim.

Kod:
stop-process 12016
ya da
Kod:
stop-process –processname uTorrent
yazmalıyız.
Şimdi tekrardan kontrol edelim yine
Kod:
get-process
yazıyoruz.



Gördüğünüz gibi işlemimiz kapanmıştır.


Bir Dosyanın Varlığını Kontrol Etme

Bir dosyanın ismini değiştirmek ya da silmek isteyebilirsiniz. Bunun için ilk öncelikle böyle bir dosya var mı diye bakmamız gerekir. Bunun için
Kod:
test-Path (dosya uzantısı)


Gördüğünüz gibi "uTorrent.exe" var mı sorusuna "True" yani "Evet" dedi fakat "uTorrent.exe22" dosyası var mı sorusuna "False" yani "Hayır" dedi.


PowerShell Empire Nedir ve Kullanımı?

Empire, Powershell ve Python aracılığyla kullanılan post-exploitation için yapılmış bir RAT'tır. Sızma işlemlerinde kullanılabilen bu araç PowerShell yardımıyla kodlandığından dolayı hedefin antivirüs korumasına takılmadan geçebilmektedir.

Çalışma Yapısı



Empire Kurulumu

Empire, kurmak için öncelikle https://github.com/EmpireProject/Empire bu siteden dosyaları indirmemiz gerekiyor.

Daha sonra
Kod:
cd Desktop
cd Empire-master
cd setup
bunları yazdıktan sonra
Kod:
./install.sh
yazıyoruz ve kurulum başlıyor biraz uzun sürer bilginiz olsun.



Daha sonra tekrar "Empire-master" klasörüne giriyoruz. Buradan
Kod:
./empire
diyoruz ve uygulamamız başlıyor.



Uygulamamızın görüntüsü bu şekildedir.



Kod:
help
komutu ile de bilgi alabilirsiniz.





Konum bu kadardı arkadaşlar bilgilendiyseniz ne mutlu bana başka bir makalede görüşmek üzere...
Kullanıcı İmzası
SolidStar

Geldim, gidicem, hep de değişicem!

Konu "P4RS tarafından (bir Hafta önce Saat 22:32 ) değiştirilmiştir.

bir Hafta önce
#2
CassPort - ait Kullanıcı Resmi (Avatar)
Çaylak
Üyelik tarihi:
12/2015
Nereden:
root@cass:~#
Mesajlar:
1.202
Teşekkür (Etti):
263
Teşekkür (Aldı):
392
Konular:
174
Ticaret:
(0) %
ChildItem çalışmıyor
Kullanıcı İmzası
| Zulümle zenginleşenin, sonu berbat olur. |



bir Hafta önce
#3
"P4RS - ait Kullanıcı Resmi (Avatar)
Green Team (Deneyimli)
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
18
Mesajlar:
3.399
Teşekkür (Etti):
364
Teşekkür (Aldı):
766
Konular:
245
Ticaret:
(0) %
Alıntı:
CassPort´isimli üyeden Alıntı Mesajı göster
ChildItem çalışmıyor
Merhabalar,

Konuda ki gibi yaparsanız çalışacaktır.
Kullanıcı İmzası
SolidStar

Geldim, gidicem, hep de değişicem!


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı