Kali Linux Temel Komutlar

PwnLab.Me

Admin
Katılım
21 Ocak 2024
Mesajlar
202
Tepkime puanı
9
Puanları
18

Yusuf Efil tarafından yazıldı.​


A) PAKET YÖNETİMİ TEMELLERİ​


Şu şekil paket yüklenir:

sudo apt install nmap
NOT= Eğer sudo su şeklinde root olup yüklerseniz yüklediğiniz uygulamayı çalıştırırken de root olup çalıştırmanız gerekir.
Ama sudo apt install nmap derseniz sadece yüklemek için izin almış olursunuz paketi çalıştırmak için root olmanıza gerek olmaz.

2) PAKET SORGULAMA​


Yüklü paketlerin listesini görmek için;
dpkg komutu kullanılır.

dpkg -l sistemde yüklü olan tüm paketleri listeler.

NOT= APT ve DPKG FARKI
apt internette bir repoya sorgu çekiyor ve internetten bu dosyayı indiriyor otomatik olarak kuruluyor.(Yani online paket yüklemek için)

dpkg sisteme indirdiğimiz bir dosyayı yüklemek için kullanılır. (offline paket yüklemek için yani)

Belirli bir uygulama hakkında bilgi almak için:

dpkg -l | grep nmap komutu kullanılır.
Bir paketle ilgili daha detaylı bilgi için:

apt search sqlmap komutu kullanılır.
Daha da detaylı bilgi almak için:

apt show sqlmap diyoruz.
Bir paketin çalışması gerekli olan kaynaklara bu komutla bakarız:

apt-cache depends nmap

3) PAKET KURMA​

Linux'e paket iki şekilde kurulur:

  1. apt install paketadi
  2. dpkg -i paketadi.deb

NOT= Komuta yazdığım şey dosya içinde mevcutsa baş harfini yazıp tab'a basarsak otomatik olarak gerisini tamamlar.
ls -al komutu dosyaları listeler.

4) PAKET SİLME​

Linux'te paket silmenin iki yolu vardır:

  1. apt remove paketadi
  2. dpkg -r paketadi.deb

Bir paketi sistemden tamamen silmek için şu komutu kullanırız:

apt purge paketadi

5) PAKET GÜNCELLEME​


  1. apt update
  2. apt upgrade

UPDATE ve UPGRADE FARKI
Update bir paketin içinde bulunan küçük değişiklikleri güncellemeye yarayan bir komuttur.
Upgrade ise ürünü veya paketi bir üst versiyonuna taşıyan komuttur.

Sadece tek bir paketi güncellemek için:
apt --only-upgrade install paketadi komutu kullanılır.

Upgrade edilebilir paketleri görüntülemek içinde:
apt list --upgradable komutunu kullanırız.

B) GNU ve UNIX KOMUTLARI​

1) Temel Kullanıcı ve Grup İşlemleri​

a) Kullanıcı Ekleme​


useradd -s /bin/bash -m -d /home/hacker -g sudo hacker

Komut Analizi Yapalım:
useradd: Kullanıcı ekleme
-s : Shell'i temsil ediyor yani nerde çalışacağını belirtir.
-m : Kullanıcıya bir home dizini oluşturmasını sağlıyoruz aslında mkdir anlamına geliyor.
-d : Directory'i temsil eder
-g : Grup oluşturmak için ( Burda ayrıca sudo yetkisi verdik)

b) Kullanıcı Listeleme​


cat /etc/passwd

c) Kullanıcıyla İlgili Daha Detaylı Bilgi​


id hacker
cat /etc/shadow bu da detaylı bilgi verir. Ayrıca içinde oluşturma tarihini de içerir.
hacker:!:19301:0:99999:7:::
ünlem kullanıcıya şifre belirlemediğimiz anlamına gelir.

d) Kullanıcıya Şifre Belirleme​


passwd hacker

e) Grup Ekleme​


groupadd pentesters

f) Grupları Listeleme​


cat /etc/group

g) Gruba Kullanıcı Ekleme​


usermod -G pentesters yusuf

h) Kullanıcıyı Gruptan Silme​


gpasswd -d yusuf pentesters

j) Bir Kullanıcıyı Kitlemek​


usermod -L hacker ( -L Lock anlamına gelir. )

k) Bir Kullanıcının Tüm Haklarını Herşeyini Silmek için​


userdel -r hacker
userdel hacker ( Sadece kullanıcıyı siler tüm dosyaları kalmaya devam eder )

2) SUDO YAPILANDIRMASI​


a) Gruba Kullanıcı Ekleme​


usermod -aG sudo hacker

b) Kullanıcıya Geçiş Yapma​


su hacker

c) Sudo Yetkilendirme​


vi /etc/sudoers 'e giriyoruz.

Burda kullanıcılara yetki vermek istiyorsam: User privelege specification 'ın altına gelip:

hacker ALL=(ALL:ALL) ALL

Belli başlı uygulamalara izin vermek istiyorsam sonda ki ALL kısmına uygulamanın patch'ini yazıyorum:

hacker ALL=(ALL:ALL) /usr/bin/systemctl

Bir gruba izin vermek istiyorsanız başına bir % işareti koyuyorsunuz devam ediyorsunuz: (Allow group'un altında)

%juniors ALL=(ALL:ALL) ALL


3)TEMEL AĞ KOMUTLARI​


systemctl status networking dediğimiz zaman network servisiyle alakalı bilgileri görebiliyorum.

a) Ağ Kartını Yeniden Başlatma​


systemctl restart networking network servisi yeniden başlar.

b) Network'e Ait Tüm Bilgileri Öğrenme​


ip addr komutu kullanırız. Burdaki LOOPBACK bizim local hostumuzdur. eth0 ise bizim ana yayın yapan network'ümüz yani internete burdan bağlıyız.

c) Ethernet Kartını Disableb Etme​


ip link set eth0 down

d) Ethernet Kartını Enabled Etme​


ip link set eth0 up

e) Kullandığımız Interface'le İlgili Detaylı Bilgi Alma​


ethtool -i eth0

Daha Detaylı Bilgi İçin:

ethtool -s eth0

f) DNS Ayarlarına Girme​


cat /etc/resolv.conf

vi /etc/resolv.conf burdan açıp dns ayarlarını değiştirebiliriz.

4)SERVİS YÖNETİMİ​


a) Servis Güncel Durum Görüntüleme​


systemctl status servisadi
systemctl status sshd

NOT= servisin başında boş bir "o" işareti varsa servis çalışmıyor anlamındadır.

b) Servisi Aktif Etme​


systemctl start sshd

c) Servisi Pasif Etme​


systemctl stop sshd

d) Servisi Yeniden Başlatma​


systemctl restart sshd

NOT= Loaded kısmı disable görünüyor nginx'te bunun anlamı sistem yeniden açıldığında bu servis sistemle beraber açılsın mı yoksa açılmasın mı.. disabled açılmasın anlamında.. Bu da şuna yol açar sistemi her yeniden açtığınızda nginx'e de ayrıca başlatmanız gerekir.

Bu servisi sistemle beraber açmak için:

systemctl enable nginx komutunu veririz. Loaded kısmıda bu durumda enabled olur.


5) SÜREÇ YÖNETİMİ​


ps komutu sistemde çalışan süreçleri görüntüler.

a) Detaylı Süreç Görüntüleme​


ps aux komutuyla yapılır.

Süreç dediği aslında windows'taki işlemler kısmı.

b) Süreçleri Ağaç Yapısına Getirip Hangisi Hangisinin Altında Çalışıyor Görme​


ps axjf komutuyla yapılır.

pstree komutu yine süreç ağacı yapar ayrıntılı süreçleri gösterir birbirine bağlı olarak.

c) Hangi Uygulama İşlemciyi (CPU) Daha Çok Kullanıyor Görme​


top komutuyla yapılır. q'ya basınca çıkar.

free komutuyla memory'nin detaylı bilgilerini öğreniriz. Kullanılan alan boş alan gibi.

uptime komutuyla makine ne kadar süreden beri açık onu gösterir.


6) DİZİNLER ARASI GEZİNMEK​


/ (slash): işareti ana dizin yapımızdır.

cd : change directory anlamındadır. Dizinler arası geçişi sağlar.

pwd: Nerde hangi dizinde olduğunuzu gösterir.

Örneğin ben şöyle bir geçiş yapmak istiyorum:
cd /yusuf bunu bulamaz neden bulamaz başında slash olduğu için bunu arayacağı yer root dizinir. Ama tunaha root dizininde değil.
Bunu şu şekil yapacağız:
cd /home/yusuf
yada home klasöründeyken
cd yusuf/ şeklinde yaparız.

ll: Size bulunduğunuz dizinin altındaki ulaşılabilir tüm klasörleri görüntülüyor.
ls -l : ll ile aynıdır.
ls -al : Bu ise gizli olan dosyaları da görüntüler.

a) Linux'teki Bir Klasörü Bulmak​


find komutu​


find komutunda 3 tane parametre vardır:

find yazarsınız / ilgili dizini yazarsınız -name (name parametresinden sonra ki vereceğiniz uygulamayı tarar ) sqlmap

find / -name sqlmap (root dizininde sqlmap'i arıyorum )

find / -name nmap ( root dizininde nmap'i aradım )

Hiç lokasyonunu bilmediğiniz birşeyi root dizininin altında aratabilirsiniz.

find /etc -name nmap ( etc dizininde ara neyi ara nmap'i ara)

find / -name *.py (Kaç tane python dosyası var onu merak ediyorsam)

find / -name *.py | wc -l ( Bu da direk sayıyı verir)

7) DOSYA DİZİN OLUŞTURMA​


a) Dosya Okuma​


more komutuyla yapılır.

more /usr/share/sqlmap/sqlmap.py sqlmap'in kaynak kodlarını okuyabilirim.

cat /etc/group bu şekilde de dosya okunur.

cat /usr/share/sqlmap/sqlmap.py cat okuyup ekrana yazdırır more'daki gibi ekranda enter'a basmaya gerek kalmaz q'la çıkmak gerekmez.


b) Klasör Oluşturma​


mkdir /home/yusuf/Desktop/linuxculer

c) Dosya Oluşturma​


touch yusuf.txt

d) Dosya İsmi Değiştirme​


cp yusuf.txt lucifer.txt bunu yaparsak yusuf.txt dosyasını silmeden aynı içerikte lucifer.txt dosyasını oluşturuyor. Yani içeriğini kopyalıyor.

e) Bir Dosyayı Başka Bir Yere Kopyalama​


cp yusuf.txt /home/yusuf/Desktop


8) DOSYA DİZİN SİLME​


rm komutu dosya silme işlemi yapar.

rm yusuf.txt

rm -rf komutu klasörü siler.

rm -rf linuxculer

Başka Lokasyondaki Klasörü Silme​


Bunda patchini vererek sileriz.

rm -rf /home/lamer (lamer kullanıcısını sildik.)

9) DİZİN DOSYA TAŞIMA​


Dizin ve dosyalar iki farklı komutla taşınıyor:

Biri mv komutu biri cp komutu.

a) Dosya Taşıma​


mv /home/yusuf/Desktop/linux_1 /opt/ (linux_1 klasörünü aldık opt'nin altına taşıdık)

Şimdi klasörün içinde ki bir txt dosyasını linux_1'in içine göndericeğim.

mv /home/yusuf/Desktop/linux_2/dosya.pl /opt/linux_1

b) Dosya Kopyalama​


cp komutuyla yapıyoruz.

cp /home/yusuf/Desktop/linux_2 /opt bunda hata verir neden çünkü dizin gönderiyoruz.O yüzden -r parametresi kullanıyoruz.

cp -r /home/yusuf/Desktop/linux_2 /opt

cd dosya_2.txt /mnt (dosya taşırken parametre gerekmez)

c) Dosyaları Taşınırken İsim Değiştirme​


cp -r linux_2 /mnt/linux_4 (mnt'nin altına linux_2'yi linux_4 ismiyle kopyaladım)

cp dosya_2.txt /mnt/dosya_5.tg (dosya ismi de böyle değişir)

mv komutuylada isim değiştirerek taşıma yapılabilir.

mv linux_3 /mnt/linux_6 ( mnt'nin altına linux_3'ü linux_6 isminde taşıdım)

10) ARDIŞIK KOMUTLAR​


Ardışık komutları pipe'la kullanıyoruz ( | ) bu işaret.

Mesela şu şekil bir komut yazalım:

ls -al | grep s nedir bu içinde s geçenleri bana listele anlamında

more komutunda yapalım aynısını

more /etc/sqlmap/sqlmap.conf | grep cookie nedir bana içinde cookie geçenleri getir anlamında.

more /etc/selinux/semanage.conf | grep expand nedir bana expand'in geçtiği satırları getir.


more syslog | grep error hataları errorları listeledim burda.

more syslog | grep 2022 tarih içinde bu şekilde yaparız. Bize 2022 de ki satırları getirir.

Birbirine Bağlı Olan Komutlar

ping google.com && ls -al hem google'a ping attım hem dosyaları listeledim.

İki Komutu Tek Komut Satırında Çalıştırmak

ls -al & ping google.com

Bunların ikisinin farkı şudur:
&& :
bunda ilk komut başarılıysa ikinci komutuda çalıştırır. ( Buna birbirine bağlı olan komutlar denir. )
& : bunda biri başarısız olsa da diğer komutu direk çalıştırır.


Örnekler:

mkdir linux & touch linux/dosya.txt

mkdirle linux klasörü oluşturduk. linux klasörünün içinde de dosya.txt'yi oluşturduk.


11) LINUX RUN-LEVEL(SYSTEMD)​


Windows'taki güvenli mod gibi modlara run level deniyor.

Run leveller arası geçiş şu şekilde yapılır.

systemctl isolate rescue.target

systemctl isolate default.target asıl run levelimize geri getirir.

Hangi run levelde olduğumuzu görmek için:

systemctl get-default komutu kullanılır.
 
Geri
Üst