Konuyu Okuyanlar: 1 Ziyaretçi

tmux ile Terminal Verimliliği: Pentest İçin Oturum ve Panel Yönetimi

tmux ile Terminal Verimliliği: Pentest İçin Oturum ve Panel Yönetimi
Merhaba TurkTeam,

Uzun süren taramalar, SSH üzerinden yönetilen hedefler ve aynı anda koşan onlarca komut... Bir pentest ya da sistem yönetimi oturumunda en büyük düşmanınız, bağlantı koptuğunda çalışan işlerinizin de ölmesidir. İşte tmux (terminal multiplexer) tam burada devreye girer: tek bir terminalde birden çok oturum, pencere ve paneli yönetmenizi, bağlantı kopsa bile işlerin arka planda sürmesini sağlar. Bu rehberde tmux'u sıfırdan, pentest akışına odaklanarak ele alıyoruz.

Konuda Anlatılacaklar
  1. tmux nedir, neden kullanılır (session/window/pane kavramları)
  2. Kurulum ve ilk çalıştırma
  3. Prefix tuşu ve temel kısayol referansı
  4. Uygulamalı: kopan bağlantıya dayanıklı tarama oturumu
  5. Panel bölme, pencere yönetimi ve kopyalama modu
  6. İleri seviye: ~/.tmux.conf ile özelleştirme
  7. Sonuç, kaynakça ve yasal uyarı

1. tmux Nedir, Neden Kullanılır?
tmux, tek bir terminal penceresini birden çok sanal terminale bölen bir "terminal çoğullayıcı"dır. Üç temel kavramı vardır:
  • Session (oturum): İçinde pencere ve panellerin barındığı en üst kapsayıcı. Oturumdan "detach" olup (ayrılıp) daha sonra "attach" ile geri dönebilirsiniz.
  • Window (pencere): Oturum içindeki bir sekme gibidir; her biri tam ekrandır.
  • Pane (panel): Bir pencerenin yatay/dikey bölünmüş parçası; aynı ekranda birden çok kabuk.
Pentest'te en kritik faydası kalıcılıktır: SSH ile bir sunucuya bağlanıp uzun bir Nmap/Gobuster taraması başlattığınızda, bağlantı koparsa klasik kabukta iş ölür. tmux oturumunda ise iş sürmeye devam eder; yeniden bağlanıp attach olduğunuzda kaldığınız yerden devam edersiniz.

2. Kurulum ve İlk Çalıştırma
Kod:
sudo apt update sudo apt install tmux tmux -V
İsimli bir oturum başlatmak, sonradan bulmayı kolaylaştırır:
Kod:
tmux new -s denetim

3. Prefix Tuşu ve Kısayol Referansı
tmux komutlarının çoğu bir prefix tuşundan sonra verilir. Varsayılan prefix Ctrl+b'dir (aşağıda "C-b" olarak gösterilir). Önce prefix'e, sonra ilgili tuşa basarsınız.

Oturumdan ayrılma (detach): İş sürerken terminale geri dönmek için.
Kod:
C-b d

Dikey panel bölme:
Kod:
C-b %

Yatay panel bölme:
Kod:
C-b "

Paneller arası geçiş:
Kod:
C-b ok-tuşları

Yeni pencere / pencereler arası geçiş:
Kod:
C-b c (yeni pencere) C-b n (sonraki) C-b p (önceki) C-b 0..9 (numaraya git)

Paneli kapatma:
Kod:
C-b x

Komut satırından oturum yönetimi (prefix'siz):
Kod:
tmux ls # oturumları listele tmux attach -t denetim # oturuma geri dön tmux kill-session -t denetim

4. Uygulamalı: Kopmaya Dayanıklı Tarama Oturumu
Adım 1 - Oturum aç ve uzun bir iş başlat:
Kod:
tmux new -s tarama nmap -sV -p- 192.168.56.101 -oN tam_tarama.txt

Adım 2 - Oturumdan ayrıl (iş arkada sürer):
Kod:
C-b d
Terminalde "[detached (from session tarama)]" mesajını görürsünüz. Artık SSH bağlantınız kopsa bile Nmap çalışmaya devam eder.
[Resim: attachment.php?aid=247]

Adım 3 - Daha sonra geri dön:
Kod:
tmux attach -t tarama
Tarama devam ediyorsa onu görürsünüz; bittiyse çıktıyı tam_tarama.txt dosyasında bulursunuz:
Kod:
tail -n 20 tam_tarama.txt
[Resim: attachment.php?aid=248]

5. Panel ve Pencere ile Çoklu İş
Pentest'te sık senaryo: bir panelde tarama, diğerinde notlar, üçüncüsünde hedefe açık bir SSH. Bir pencereyi ikiye bölüp ikisinde ayrı iş yürütün:
Kod:
C-b % # dikey böl C-b " # alt paneli yatay böl
Panel boyutunu ayarlamak için prefix'i basılı tutup ok tuşlarıyla yeniden boyutlandırabilir (C-b sonrası alt+ok veya :resize-pane komutu) veya bir paneli tam ekran yapıp geri küçültebilirsiniz:
Kod:
C-b z # aktif paneli büyüt/küçült (zoom)

Kopyalama modu: Uzun çıktıda yukarı kaydırmak ve metin kopyalamak için kopyalama moduna girin:
Kod:
C-b [ # kopyalama moduna gir, ok/PageUp ile gez, q ile çık
Bu mod, kaydırma çubuğu olmayan uzak oturumlarda çıktı incelemeyi çok kolaylaştırır.
[Resim: attachment.php?aid=249]

6. İleri Seviye: ~/.tmux.conf ile Özelleştirme
Varsayılan prefix (C-b) bazılarına rahatsız gelir; birçok kullanıcı onu C-a yapar. Ayrıca fare desteği ve daha büyük geçmiş tamponu verimliliği artırır. Örnek bir yapılandırma:
Kod:
# ~/.tmux.conf set -g prefix C-a unbind C-b bind C-a send-prefix set -g mouse on set -g history-limit 100000 setw -g mode-keys vi
Değişiklikleri çalışan oturuma uygulamak için:
Kod:
tmux source-file ~/.tmux.conf
mouse on ile paneller fareyle seçilip boyutlandırılabilir; history-limit uzun tarama çıktılarının kaybolmamasını sağlar. vi kip tuşları kopyalama modunda vi alışkanlıklarını getirir.

Bir diğer güçlü alışkanlık, iş bazlı isimli oturumlardır: her müşteri/hedef için ayrı bir oturum (tmux new -s musteri1) açmak, işleri birbirine karıştırmadan paralel yürütmeyi sağlar. Günün sonunda tmux ls ile tüm aktif işlerinizi tek bakışta görürsünüz.

6.1. tmux, screen ve Pratik Alışkanlıklar
tmux'un en yakın alternatifi GNU screen'dir. screen daha eski ve yaygın olarak çoğu sunucuda hazır bulunur; tmux ise daha modern yapılandırma, daha güçlü panel yönetimi ve daha okunur bir durum çubuğu sunar. Yeni bir alışkanlık ediniyorsanız tmux'a yatırım yapmanızı öneririm, ancak bir sunucuda yalnızca screen varsa benzer mantıkla (Ctrl+a tabanlı kısayollar) iş görebileceğinizi bilin. İkisinin de ortak amacı aynıdır: oturumu kabuktan ayırıp işi yaşatmak.

Pentest sırasında tmux'u asıl değerli kılan, bir hedefe uzun süren bir işlem başlatıp bağlantıyı güvenle bırakabilmenizdir. Örneğin saatler sürebilecek bir tam port taraması, bir dizin keşfi ya da bir parola denetimi başlattığınızda, dizüstünüzü uyku moduna alıp eve gidebilir, ertesi gün attach olup kaldığınız yerden devam edebilirsiniz. Bu, özellikle sınırlı zaman penceresi olan kurumsal testlerde zaman kazandırır ve kesintiye bağlı veri kaybını önler.

Verimliliği artıran birkaç alışkanlık: her göreve anlamlı bir oturum adı verin, böylece tmux ls çıktısı okunur kalsın; sık kullandığınız panel düzenini bir kabuk fonksiyonu veya tmux betiğiyle otomatikleştirin; uzun çıktıları dosyaya da yazdırın (-oN, tee gibi) ki tmux geçmiş tamponuna bel bağlamayın. Son olarak, durum çubuğunu özelleştirerek saat, oturum adı ve aktif pencereyi görünür kılmak, aynı anda birçok iş yürütürken kafa karışıklığını ciddi biçimde azaltır.

Bir uyarı: tmux oturumu makine yeniden başlatıldığında kaybolur; kalıcılık yalnızca aynı oturum açıkken geçerlidir. Gerçekten kritik, günlerce sürecek işler için işleri bir servis veya nohup ile arka plana almayı da değerlendirin. tmux, insan etkileşimli oturumları yaşatmakta mükemmeldir; uzun ömürlü otomasyon için ise servisleştirme daha doğru bir yaklaşımdır.

Sonuç
tmux, terminalde çalışan herkesin verimliliğini kökten artıran bir araçtır; pentest'te ise bağlantı kopmalarına karşı sigortanızdır. Önce session/window/pane üçlüsünü ve prefix mantığını oturtun, ardından ~/.tmux.conf ile kendinize göre ayarlayın. Birkaç gün bilinçli kullanımdan sonra kısayollar kas hafızanıza yerleşir ve geri dönmek istemezsiniz.

Kaynakça
Yasal Uyarı
Alıntı:tmux bir verimlilik aracıdır; onunla yürüttüğünüz tüm testler yalnızca kendi sistemlerinizde veya yazılı izinli hedeflerde yapılmalıdır. İzinsiz erişim ve test Türk Ceza Kanunu 243-245. maddeleri kapsamında suçtur.

Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).


Ek DosyalarEkran Görüntüleri
           
Cevapla



Hızlı Menü: