Merhabalar herkese bu gün ' Siber Güvenliğin ' ' Web SHELL ' konusunu ele alıcam , konuyu hem teorik hem uygulamalı olarak anlatıcam, shell nedir yenir mi nasıl kullanılır nasıl yazılır diye soranların hepsine hem teorik bilgi , hem de uygulamalı bilgi vermek üzere 2 şekilde ilerliyeceğiz ama öncelikle şunu bilin ki , Siber Güvenlikde bazı birkaç konular vardır, sadece onu öğrenerek bir şeyler yaparsın, ama bu konu öyle değil , bu konuyu çorap söküğü sözüne benzetebilirim , çünkü elimizde bir shell var ise bunu upload etmek için , belli bir web zafiyetlerine hakim olmak gerekiyor. Ama bu konuda sadece yaptıklarımı adım adım yaparak , enazından fikir sahibi olucaksınız. Ve bu konuda sadece "Shell " konusunu öğrenmiceksiniz ekstra linuxda bazı araçların kullanımını da öğreniceksiniz , haydi öyleyse fazla konuşmadan hemen konuya geçelim.
Arkadaşlar aranızda yaptıklarımı yapmak isteyen kişiler / kitle vardır diye düşünerek onlardan ricam konunun en başından , şimdiden "METASPLOİT TABLE2" makinesini indirmeniz. Bunu sonradan söylemek istemedim teorik olarak konuyu bitirinceye kadar. bilgisayarınıza kurabilirsiniz.
NOT: Username : msfadmin passwd: msfadmin xd
Herneyse arkadaşlar öncelikle ilk başlığımız bu shell nedir yenir mi diyerek girelim...
Shell, kullanıcıların işletim sistemleriyle verimli ve doğrudan iletişim kurmasını sağlar. Bu nedenle de son derece önemlidir , ve zaten Linux gibi çekirdek sistemi dağıtımlarda shell kullanmak o İşletim Sistemini kullanmanın %70'dir diyebilirim, Shell kullanmayı bilmiyorsak Kullanıdığımız işletim sistemini tam verimli şekilde kullanamayız. Bu yüzden komut satırını öğrenmek gerekiyor , ve arkadaşlar, tüm Linux dağıtımları Linux Çekirdek sistemini kullanıyor diye hepsi aynı komutlar ile çalışıcak diye bir şey yok aşşağı yukarı benzeye bilir ama kimisi debian tabanlı olup dpkg paket yükleyici sistemini kullanırken kimisi pkg paket yükleme sistemini kullanır. Zaten hepsine aşina olmanıza gerek yok, bu konuda ben Debian Tabanlı Kali Linux İşletim sistemimi kullanıcam.
Remote Shell Nedir
Değerli THT üyeleri isminden de anlaşılacağı gibi " uzaktan kabuk" anlamını taşır peki sizlere soruyorum , uzaktan komut yürüttüğünüzü düşünün neler yaparsınız ? Ben söyliyim sisteme hangi kullanıcı yetkisi ile girdiğinize bağlı olarak, basic kullanıcı ile girdiğinizde , yetki yükseltme methodlarını denemeniz gerekmektedir, Yetki yükselttikden sonra artık özgürsünüz çünkü sistemde artık admin yetkisinde her komutu çalıştırıp sistemden tüm bilgileri çekebilirsiniz. Benim sizlere göstereceğim local/nat ağında " Remote Shell ".
Peki sevgili @'pump nat ağı ne ben anlamam o network terimlerinden. hemenn onuda konuya dahil edelim, dediğim gibi bu konuda 1 şey öğrenmiceksiniz 1 çok şey öğreniceksiniz.
Nat Ağı (Network Adress Translation)
Bir cihazın internet üzerinde diğer cihazlarla iletişim kurabilmesi için public IP adresine sahip olması gereklidir fakat bildiğiniz üzere IPv4'te adresler (yaklaşık 3.3 milyar) sınırlı sayıdadır. IP adresleri kıt bir kaynak olduğu için, ev ve iş yerlerimizden internete bağlanmamızı sağlayan internet hizmet sağlayıcılar (Superonline, TTNET, vb) abonelerine tek bir public IP sağlarlar.
Evetttt... Nat / Local Ağını'da kaba taslak öğrendikten sonra ufak ufak sizleri sıkmadan uygulamaya geçelim uygulama yaparken bir yandan anlatayım.
Arkadaşlar ben konuşana kadar metasploit table2 'yi indirip kurduğunuzu varsayıyorum , eğer ki halen indirmediyseniz aceleye gerek yok , konunun bir yere kaçtığı yok ,anlayarak ilerliyelim.
Arkadaşlar kusurum varsa affedin , reverse shell konularını araştırdığınıza göre , sizin belli bir seviyede olduğunuzu düşünüyorum , işletim sistemi kurma yapılandırma gibi konuları anlatmicam siz yaparsınız güveniyorum
Evet arkadaşlar sanal makinemizi açalım , username ve password = " msfadmin " ekranda da yazıyor zaten.
ifconfig yaparak ip adresimize bakalım. Yüksek ihtimalle ip adresiniz yukarıda kalıp ekrana sığmayıp görmiceksinizdir bunun için " ifconfig | more " yaparsanız görüceksinizdir.
Veya Kali Linux'da kendi ip aralığınızı tariyabilirsiniz. Bunun için Netdiscover veya nbtscan kullanabilirsiniz.
NOT: Siz benim gibi 192.168.111.0/24 gibi aratmayın ben yapılandırma yaptığım için ip adresimlerim son ip oktedinde sıralanıyor.
Böyle bir ekranın bizi karşılaması gerekiyor. Biz buradan "DVWA" seçicez.
Damn Vulnerable Web Application (DVWA) Nedir?
( L*net Korunmasız Web Uygulaması )
Web uygulama güvenliği alanında kendini geliştirmek isteyen pentesterlar ve güvenlik ile uğraşan kimseler için PHP ile oluşturulmuş içinde belli web zafiyetlerini barındıran bir eğitim sistemidir.
Barındırdığı Zafiyetler :
– Brute Force
– Command Execution
– CSRF
– File Inclusion
– SQL Injection
– Upload
– XSS Reflected
– XSS Stored
Arkdaşlar şimdi elimizde bir shell.php var diyelim bizim bunu upload etmek için bir zafiyetten yararlanmamız gerekiyor ben burada. " File İnclusion " web zafiyetinden anlatmak istiyorum.
Şimdi bu açık 2 şekilde ayırabiliriz ( LFİ ) ( RFİ ) arkadaşlar farkları şu; LFİ : Local File İnclusion , local ağdan dosya yürütmek anlamında , RFİ ise tam zıttı olarak Remote File İnclusion.
Biz gördüğünüz gibi localden yapıyoruz. Bunun sebebi konuyu daha temelden ve daha iyi anlamak için ilk önce en basic düzey seviyede göstermeye çalışıyorum , aynı şekil yazıcağımız shell payload'ı da aynı şekil. Her neyse DWVA tıklayıp sekmeye gidelim.
Arkadaşlar sizlere iki şifre vericem biri olması gerekiyor %100 şifre = | qwerty | ha olmazsa password deneyin olucaktır.
giriş yaptığımıza göre..
Arkadaşlar "DVWA Security" alanına gelip zorluğu ayarlamamız gerekiyor, sisteme her girdiğinizde "high" olarak giricektir dikkatinize.
Bu ayarı şimdilik "LOW" 'a alıp basit düzeyde alıştırma yapalım.
Ve daha sonra sol tarafada web zafiyetlerinden File İnclusion'a gidelim.
Evet dostlar File Inclusion makinemize geldik , bu zafiyet hakkında hem OWASP hemde Wikipedia dan makale kaynak bırakmışlar , okuyabilirsiniz.
Şimdi arkadaşlar bu zafiyeti exploit etmenin yolu , url'den geçiyor. Gördüğünüz gibi ?page= yazısını görüyorsunuzdur. ? = $_GET parametresine eşittir yani sitelerde geçişlerde yaygınca kullanılır ve orada ki page= kısmı ise gideceğimiz adresi belirtiyor.
Peki buna ilginç neler deniyebiliriz gelin bakalım ?
şu kısmı silelim arkdaşlar lütfen. Ve enter'e basalım bakalım hata mesaji ile alıcak mıyız yoksa siteyi kodlayan arkadaş anasayfaya veya bulunduğumuz sayfaya tekrar yönlendirme mi eklemiş.
Evet uzaktan eğitim ile web devolper'ı olan arkadaşımız bunu yapmamış , peki bu hata nelere yol açabilir gelin biraz daha eğlenceli şeyler deniyelim.
Dostlar bu url kısmına /../etc/paswd gibi payloadımızı girelim aslında bu bir linuxda komut, .. bizi bir geri dizine atar, burada amaç /../../../../../../../ garanti olsun diye kök dizine ulaşmak. Çünkü bulunduğumuz web dizini ile etc dizini arasında çok dizin olabilir.
etc dizini altında ki passwd dosyası içinde işletim sistemimizde bulunan kullanıcıların listesi bulunur.
evet gördüğün gibi url'de komut yürütebiliyorum.
şimdi arkadaşlar ?page= kısmı ne demekti bizi başka sayfaya gönderiyor dedik doğru mu ? peki test edelim hadi herkes gitmek istediği bir siteyi yazsın oraya.
Evettt googleye gitmek istediğimi belirttim ve hedef siteye ulaştık. Peki daha farklı neler yapabiliyoruz eğer başka sitelere gidiyorsak ?
Kendi ağımda http servisimi açsam peki ? Hadi yapalım.
Arkadaşlar http servisini açmak için python -m http.server 80 yazmamız yeterli ama şunu söyliyeyim , ben malesef konuyu 2 güne sığdırmak zorunda kaldım , görselde fark ederseniz ev dizinimde açıyorum serveri , bu dalgınlığa sakın düşmeyin çünkü public olarak ev dizinizi kullanıcılara açabilirsiniz. Bunu düzelteceğim ama uygulamalı olarak görün diyerek sonra düzelticem.
evet arkadaşlar page kısmına http ile sitemize gittik ve bizi kök dizinimiz karşıladı. Yukarıda ev dizinimde açmıştım daha kötü örnek olsun diye root dizinimde açtım serveri. Ve şimdi nerde açmalıyız gelin anlatayım. Ben " TMP " dizini altında genelde dosyalarımı açarım, tmp klasörü Linux'da arkadaşlar geçici dosyaların saklandığı bölümdür. Buraya veya home dizini altında yeni bir dizin açmanız gerekiyor, asla ana default dizinleriniz ile aynı sekment içinde olmasın.
Evet arkadaşlar tekrar kali linux terminalimze gelelim ve serveri açtığımız terminali sayfasını kapatmiyalim yeni sayfa açalım ve bir .txt dosyası oluşturalım
Arkadaşlar touch komutu ile sonrasında nano ile dosyaya girip o tarz düzenlemeler yapıp zahmete girmenize gerek yok, ama onlarada alışmanız gerekiyor hemen kolaya kaçmanızı tavisye etmem , herneyse txt dosyamıza içerik yazdıktan sonra CTRL + C yaparak kaydedip çıkıyoruz. Ve sitemize gidelim arkadaşlar.
evet arkadaşlar gördüğün gibi txt dosyamız geldi url den txt dosyamıza gidelim
not: arkadaşlar dosya adını türkhackteam den geri turkhackteam'e çevirdim , galiba Türkçe karekterden ötürü dosyayı bulamıyordu. Eğer hata alırsanız ingilzice klavye ile yazın.
Herneyse arkadaşlar şimdi ben bu siteye txt upload edip yazı çıktı çıkardığıma göre shell atabilir miyiz ?
hemen deniyelim. Basit bir remote shell yazalım php ile.
evet arkadaşlar shelli açınca bizlere id komutunu sitemize çıkarması gerekiyor , deniyelim.
Evet arkadaşlar www-data kullanıcısındayız ve muhtemelen root yetkimiz var id grup numaramız = 33 numaralı.
Arkdaşlar şimdi düşündüğünüzde bu komut yürütmek çok zahmetli iş , işte pump ben her komut çalıştırmak için bu tarz shell mi deniyecğim ? hayır dostum istersek kendi shell kabuğumuzu web siteye bağlıyabiliriz bunun için php kodumuzda ufak düzenleme yapmamız gerekiyor ve ntcat ile bağlanıcaz ama öncelikle sırasıyla hareket edelim.
arkadaşlar sitede shellimizi yükledikten sonra $_GET parametresi yani shelimizden sonra ? koyup sonra cmd komut satırını açabiliriz ve daha sonra = işaretini koyarak dilediğimizi yazabiliriz.
Url kısmını komut satırı gibi kullanabilirsiniz ama benim daha iyi bir fikrim var hadi gelin yapalım.
nc aracı ile 1234 nolu -lvp parametreleri ile dinlemeye alıyorum.
burayı da yorumluyalım shell.php?den sonra cmd mizi açıp = koyuyoruz ve nc ile açtığımız porta istek atıp bağlanmaya çalışıyoruz /bin/bash dememim sebebi , arkadaşlar birden fazla komut satırı var ve en yetkilisi bash dizini root dizini diye de söyliyebilirler, ve şunu da unutmayın Kali Linux'da ki shell den shell'e komutlar hepsinde aynı olmaya bilir, örnek vereyim , bash de history çalışırken sh kabuğunda çalışmayabilir.
VE gördüğünüz gibi arkdaşlar artık komut satırından komutlarımızı çalıştırabiliriz şuan root yetkisindeyiz bunu kontrol etmek için en başta zaten shadow veya passwd gibi dosyaları okumaya çalışmakla deniyebilirsiniz , ben sizi rahat bırakıp makineyi kurcalamayı sizlere bırakıyorum, umarım shell nedir ne için vardır gibi konuları anlatabilmişimdir.
Okuduğunuz için teşekkür ederim.
Arkadaşlar aranızda yaptıklarımı yapmak isteyen kişiler / kitle vardır diye düşünerek onlardan ricam konunun en başından , şimdiden "METASPLOİT TABLE2" makinesini indirmeniz. Bunu sonradan söylemek istemedim teorik olarak konuyu bitirinceye kadar. bilgisayarınıza kurabilirsiniz.
NOT: Username : msfadmin passwd: msfadmin xd
Herneyse arkadaşlar öncelikle ilk başlığımız bu shell nedir yenir mi diyerek girelim...
SHELL Nedir
Shell, bildiğim kadarıyla Linux ve Unix işletim sistemi kullanıcılarının komut satırı arayüzlerini kontrol etmelerini sağlayan bir bilgisayar programıdır aslında, Zaten aranızda Linux kullanan var ise bazılarımızda terminal , bazılarımızda shell olarak yazar, kimimizde ise kabuk, bu noktaya takılmanıza gerek yok özünde 3 ü de aynı şeyden bahsediyor.Shell, kullanıcıların işletim sistemleriyle verimli ve doğrudan iletişim kurmasını sağlar. Bu nedenle de son derece önemlidir , ve zaten Linux gibi çekirdek sistemi dağıtımlarda shell kullanmak o İşletim Sistemini kullanmanın %70'dir diyebilirim, Shell kullanmayı bilmiyorsak Kullanıdığımız işletim sistemini tam verimli şekilde kullanamayız. Bu yüzden komut satırını öğrenmek gerekiyor , ve arkadaşlar, tüm Linux dağıtımları Linux Çekirdek sistemini kullanıyor diye hepsi aynı komutlar ile çalışıcak diye bir şey yok aşşağı yukarı benzeye bilir ama kimisi debian tabanlı olup dpkg paket yükleyici sistemini kullanırken kimisi pkg paket yükleme sistemini kullanır. Zaten hepsine aşina olmanıza gerek yok, bu konuda ben Debian Tabanlı Kali Linux İşletim sistemimi kullanıcam.
Remote Shell Nedir
Peki sevgili @'pump nat ağı ne ben anlamam o network terimlerinden. hemenn onuda konuya dahil edelim, dediğim gibi bu konuda 1 şey öğrenmiceksiniz 1 çok şey öğreniceksiniz.
Nat Ağı (Network Adress Translation)
Bir cihazın internet üzerinde diğer cihazlarla iletişim kurabilmesi için public IP adresine sahip olması gereklidir fakat bildiğiniz üzere IPv4'te adresler (yaklaşık 3.3 milyar) sınırlı sayıdadır. IP adresleri kıt bir kaynak olduğu için, ev ve iş yerlerimizden internete bağlanmamızı sağlayan internet hizmet sağlayıcılar (Superonline, TTNET, vb) abonelerine tek bir public IP sağlarlar.
Evetttt... Nat / Local Ağını'da kaba taslak öğrendikten sonra ufak ufak sizleri sıkmadan uygulamaya geçelim uygulama yaparken bir yandan anlatayım.
Arkadaşlar ben konuşana kadar metasploit table2 'yi indirip kurduğunuzu varsayıyorum , eğer ki halen indirmediyseniz aceleye gerek yok , konunun bir yere kaçtığı yok ,anlayarak ilerliyelim.
Arkadaşlar kusurum varsa affedin , reverse shell konularını araştırdığınıza göre , sizin belli bir seviyede olduğunuzu düşünüyorum , işletim sistemi kurma yapılandırma gibi konuları anlatmicam siz yaparsınız güveniyorum
ifconfig yaparak ip adresimize bakalım. Yüksek ihtimalle ip adresiniz yukarıda kalıp ekrana sığmayıp görmiceksinizdir bunun için " ifconfig | more " yaparsanız görüceksinizdir.
Veya Kali Linux'da kendi ip aralığınızı tariyabilirsiniz. Bunun için Netdiscover veya nbtscan kullanabilirsiniz.
NOT: Siz benim gibi 192.168.111.0/24 gibi aratmayın ben yapılandırma yaptığım için ip adresimlerim son ip oktedinde sıralanıyor.
Arkadaşlar benim metasploiti'in ip adresii 192.168.111.10 , bu url'e gidelim " Kali Linux " 'dan.
Böyle bir ekranın bizi karşılaması gerekiyor. Biz buradan "DVWA" seçicez.
Damn Vulnerable Web Application (DVWA) Nedir?
( L*net Korunmasız Web Uygulaması )
Web uygulama güvenliği alanında kendini geliştirmek isteyen pentesterlar ve güvenlik ile uğraşan kimseler için PHP ile oluşturulmuş içinde belli web zafiyetlerini barındıran bir eğitim sistemidir.
Barındırdığı Zafiyetler :
– Brute Force
– Command Execution
– CSRF
– File Inclusion
– SQL Injection
– Upload
– XSS Reflected
– XSS Stored
Arkdaşlar şimdi elimizde bir shell.php var diyelim bizim bunu upload etmek için bir zafiyetten yararlanmamız gerekiyor ben burada. " File İnclusion " web zafiyetinden anlatmak istiyorum.
Şimdi bu açık 2 şekilde ayırabiliriz ( LFİ ) ( RFİ ) arkadaşlar farkları şu; LFİ : Local File İnclusion , local ağdan dosya yürütmek anlamında , RFİ ise tam zıttı olarak Remote File İnclusion.
Biz gördüğünüz gibi localden yapıyoruz. Bunun sebebi konuyu daha temelden ve daha iyi anlamak için ilk önce en basic düzey seviyede göstermeye çalışıyorum , aynı şekil yazıcağımız shell payload'ı da aynı şekil. Her neyse DWVA tıklayıp sekmeye gidelim.
Arkadaşlar sizlere iki şifre vericem biri olması gerekiyor %100 şifre = | qwerty | ha olmazsa password deneyin olucaktır.
giriş yaptığımıza göre..
Arkadaşlar "DVWA Security" alanına gelip zorluğu ayarlamamız gerekiyor, sisteme her girdiğinizde "high" olarak giricektir dikkatinize.
Bu ayarı şimdilik "LOW" 'a alıp basit düzeyde alıştırma yapalım.
Ve daha sonra sol tarafada web zafiyetlerinden File İnclusion'a gidelim.
Şimdi arkadaşlar bu zafiyeti exploit etmenin yolu , url'den geçiyor. Gördüğünüz gibi ?page= yazısını görüyorsunuzdur. ? = $_GET parametresine eşittir yani sitelerde geçişlerde yaygınca kullanılır ve orada ki page= kısmı ise gideceğimiz adresi belirtiyor.
Peki buna ilginç neler deniyebiliriz gelin bakalım ?
Evet uzaktan eğitim ile web devolper'ı olan arkadaşımız bunu yapmamış , peki bu hata nelere yol açabilir gelin biraz daha eğlenceli şeyler deniyelim.
Dostlar bu url kısmına /../etc/paswd gibi payloadımızı girelim aslında bu bir linuxda komut, .. bizi bir geri dizine atar, burada amaç /../../../../../../../ garanti olsun diye kök dizine ulaşmak. Çünkü bulunduğumuz web dizini ile etc dizini arasında çok dizin olabilir.
etc dizini altında ki passwd dosyası içinde işletim sistemimizde bulunan kullanıcıların listesi bulunur.
evet gördüğün gibi url'de komut yürütebiliyorum.
şimdi arkadaşlar ?page= kısmı ne demekti bizi başka sayfaya gönderiyor dedik doğru mu ? peki test edelim hadi herkes gitmek istediği bir siteyi yazsın oraya.
Kendi ağımda http servisimi açsam peki ? Hadi yapalım.
Arkadaşlar http servisini açmak için python -m http.server 80 yazmamız yeterli ama şunu söyliyeyim , ben malesef konuyu 2 güne sığdırmak zorunda kaldım , görselde fark ederseniz ev dizinimde açıyorum serveri , bu dalgınlığa sakın düşmeyin çünkü public olarak ev dizinizi kullanıcılara açabilirsiniz. Bunu düzelteceğim ama uygulamalı olarak görün diyerek sonra düzelticem.
evet arkadaşlar page kısmına http ile sitemize gittik ve bizi kök dizinimiz karşıladı. Yukarıda ev dizinimde açmıştım daha kötü örnek olsun diye root dizinimde açtım serveri. Ve şimdi nerde açmalıyız gelin anlatayım. Ben " TMP " dizini altında genelde dosyalarımı açarım, tmp klasörü Linux'da arkadaşlar geçici dosyaların saklandığı bölümdür. Buraya veya home dizini altında yeni bir dizin açmanız gerekiyor, asla ana default dizinleriniz ile aynı sekment içinde olmasın.
Evet arkadaşlar tekrar kali linux terminalimze gelelim ve serveri açtığımız terminali sayfasını kapatmiyalim yeni sayfa açalım ve bir .txt dosyası oluşturalım
Arkadaşlar touch komutu ile sonrasında nano ile dosyaya girip o tarz düzenlemeler yapıp zahmete girmenize gerek yok, ama onlarada alışmanız gerekiyor hemen kolaya kaçmanızı tavisye etmem , herneyse txt dosyamıza içerik yazdıktan sonra CTRL + C yaparak kaydedip çıkıyoruz. Ve sitemize gidelim arkadaşlar.
evet arkadaşlar gördüğün gibi txt dosyamız geldi url den txt dosyamıza gidelim
not: arkadaşlar dosya adını türkhackteam den geri turkhackteam'e çevirdim , galiba Türkçe karekterden ötürü dosyayı bulamıyordu. Eğer hata alırsanız ingilzice klavye ile yazın.
Herneyse arkadaşlar şimdi ben bu siteye txt upload edip yazı çıktı çıkardığıma göre shell atabilir miyiz ?
hemen deniyelim. Basit bir remote shell yazalım php ile.
evet arkadaşlar shelli açınca bizlere id komutunu sitemize çıkarması gerekiyor , deniyelim.
Evet arkadaşlar www-data kullanıcısındayız ve muhtemelen root yetkimiz var id grup numaramız = 33 numaralı.
Arkdaşlar şimdi düşündüğünüzde bu komut yürütmek çok zahmetli iş , işte pump ben her komut çalıştırmak için bu tarz shell mi deniyecğim ? hayır dostum istersek kendi shell kabuğumuzu web siteye bağlıyabiliriz bunun için php kodumuzda ufak düzenleme yapmamız gerekiyor ve ntcat ile bağlanıcaz ama öncelikle sırasıyla hareket edelim.
arkadaşlar sitede shellimizi yükledikten sonra $_GET parametresi yani shelimizden sonra ? koyup sonra cmd komut satırını açabiliriz ve daha sonra = işaretini koyarak dilediğimizi yazabiliriz.
Url kısmını komut satırı gibi kullanabilirsiniz ama benim daha iyi bir fikrim var hadi gelin yapalım.
nc aracı ile 1234 nolu -lvp parametreleri ile dinlemeye alıyorum.
burayı da yorumluyalım shell.php?den sonra cmd mizi açıp = koyuyoruz ve nc ile açtığımız porta istek atıp bağlanmaya çalışıyoruz /bin/bash dememim sebebi , arkadaşlar birden fazla komut satırı var ve en yetkilisi bash dizini root dizini diye de söyliyebilirler, ve şunu da unutmayın Kali Linux'da ki shell den shell'e komutlar hepsinde aynı olmaya bilir, örnek vereyim , bash de history çalışırken sh kabuğunda çalışmayabilir.
VE gördüğünüz gibi arkdaşlar artık komut satırından komutlarımızı çalıştırabiliriz şuan root yetkisindeyiz bunu kontrol etmek için en başta zaten shadow veya passwd gibi dosyaları okumaya çalışmakla deniyebilirsiniz , ben sizi rahat bırakıp makineyi kurcalamayı sizlere bırakıyorum, umarım shell nedir ne için vardır gibi konuları anlatabilmişimdir.
Okuduğunuz için teşekkür ederim.