3 Ocak 2021 Pazar

TryHackME - Linux Fundamentals Part 2 Yanıtları


 

Bu bölümde kullanılacak kullanıcı adı ve parolası başta verilmiş:

    username: shiba2
    password: pinguftw

Tekrar deploy diyerek soruları yanıtlayabilmek için makinayı çalıştırıyoruz ve ssh bağlantısını bu defa shiba2 kullanıcısı için aşağıdaki komut ile gerçekleştiriyoruz:

ssh shiba2@10.10.29.105

Task 3'te please do not use putty if you are already on Linux dendiği ve ben de Linux kullanıyor olduğum için bu kısmı hızlıca atladım.

Task 4 Section 4 bilmediğim bir şey öğretti:

| (pipe) ve ; ile peşpeşe komut çalıştırabileceğimi biliyordum, bir de && kullanıldığını öğrendim.

Ancak her iki komutunda geçerli (anlamlı olması gerekiyor)

Tek & ise ortam değişkenlerini belirtmek için kullanılıyormuş. Bunlar hep faydalı bilgiler :)

Mesela touch $USER komutu ile hangi kullanıcı adına sahipsem o isimde bir dosya açabiliyorum.

Ortam değişkeni (environment variable) belirlemek için export komutu aşağıdaki şekilde kullanılıyor: 

export <varname>=<value>

(değişken adı = değer)

Task 4 Section 4 soruları ve yanıtları şöyle:

How would you set nootnoot equal to 1111

Yukarıdaki formüle uygun olarak yanıt şöyle:

export nootnoot=1111

echo $nootnoot komutu ile de kontrol edebiliyoruz ve 1111 sonucunu görüyoruz.

What is the value of the home environment variable 

shiba2@nootnoot:~$ printenv HOME
/home/shiba2

Task 9 Section 4 "How would you output twenty to a file called test" diye soruyor.

Test adında bir dosya oluşturup içerisine twenty yazacağız.

Bunun için aşağıdaki komutu kullanıyoruz:

echo twenty > test 

> kullanmanın bir tehlikesi var, eğer bu dosya içerisinde daha önce yazılı bir şeyler varsa hepsini siliyor ve son yazdığınızı kaydediyor. Eğer dosya içerisinde yazılı olanlara ekleme yapmak istiyorsanız >> kullanmak gerekiyor.

Task 11 ile shiba3'e ait parolanın bulunması istenmiş. 

The binary is checking to see if the environment variable "test1234" exists, and if it's set equal to the current $USER environment variable. 

İlk olarak ortam değişkeni test1234 var mı bulmak, eğer varsa bunu mevcut kullanıcıya ($USER) atamak gerekiyor.

Bunun için:

İlk olarak pwd komutu ile hangi dizinde olduğumu kontrol ettim:

shiba2@nootnoot:~$ pwd
/home/shiba2
 

Sonra bulunduğum dizinde yer alan tüm dosya ve gizli dosyaları göstermesini istedim:

shiba2@nootnoot:~$ ls -la
total 48
drwxr-xr-x 5 shiba2 shiba2 4096 Jan  3 11:05 .
drwxr-xr-x 8 root   root   4096 Feb 22  2020 ..
-rw------- 1 shiba2 shiba2 2120 Jan  3 11:20 .bash_history
-rw-r--r-- 1 shiba2 shiba2  220 Feb 13  2020 .bash_logout
-rw-r--r-- 1 shiba2 shiba2 3771 Feb 13  2020 .bashrc
drwx------ 2 shiba2 shiba2 4096 Jan  3 11:05 .cache
drwx------ 3 shiba2 shiba2 4096 Jan  3 11:05 .gnupg
drwxrwxr-x 3 shiba2 shiba2 4096 Feb 19  2020 .local
-rw-r--r-- 1 shiba2 shiba2  807 Feb 13  2020 .profile
-rwsrwxrwx 1 root   root   8472 Feb 20  2020 shiba2

shiba2 binary'i gördüm ve çalıştırmayı denedim:

shiba2@nootnoot:~$ ./shiba2
Segmentation fault (core dumped)

Olmadı :)

Soruda talep edildiği ve daha önce öğretildiği üzere export komutu ile önce değişken adını sonra o değişkeni atamak istediğim değeri yazdım:

shiba2@nootnoot:~$ export test1234=$USER

shiba2 binary'i tekrar çalıştırdım:

shiba2@nootnoot:~$ ./shiba2
happynootnoi***

Parola geldi.

Task14 Section5 chown komutunu anlatıyor ve sorular da bununla ilgili.

Bir dosyanın hangi kullanıcı / gruba ait olduğunu belirtmek için kullanılan bir komut bu.

Formül ise şöyle: chown user:group file  

How would you change the owner of file to paradox sorusu ile sadece kullanıcı (grup aynı kalacak) değiştirilmesi istendiği için yanıt:

chown paradox file 

İkinci soruda hem kullanıcı hem grup değiştirilmesi istendiği için:

chown paradox:paradox file 

Bu bölümdeki son soru ise "What flag allows you to operate on every file in the directory at once?"

Bir dizinde yer alan tüm dosyalara aynı işlemin yapılmasını istiyorsanız hangi komutu kullanacaksınız?

chown --help  komutu ile yardım alıyoruz ve yanıt çıkıyor:

-R, --recursive        operate on files and directories recursively

Task 15'te bir dosyaya farklı izinler atamayı sağlayan ve kimlerin ne haklar ile bu dosyaya erişim sağlayabileceğini belirlemeye yarayan chmod komutu anlatılmış.

Rakam  Meali
1 Dosya çalıştırılabilir
2 Yazılabilir
3 Çalıştırılabilir & Yazılabilir
4 Okunabilir
5 Okunabilir & Çalıştırılabilir
6 Yazılabilir & Okunabilir
7 Çalıştırılabilir & Yazılabilir & Okunabilir    

Örneğin: chmod 341 file komutu girildiğinde 1. rakam kullanıcı, 2. rakam grup, 3. rakam diğer herkesin yetkisini gösteriyor. Bu durumda file isimli dosya için; 

Kullanıcı yetkisi: Çalıştırabilir & Yazabilir

Grup yetkisi: Okuyabilir

Diğerleri: Çalıştırabilir   

Aynı zamanda ls -la komutu ile de kimin ne yetkisi olduğu kolayca görülebiliyor. 

shiba2@nootnoot:~$ ls -la
drwxr-xr-x
5 shiba2 shiba2 4096 Jan  3 11:05 .
drwxr-xr-x 8 root   root   4096 Feb 22  2020 ..
-rw------- 1 shiba2 shiba2 2120 Jan  3 11:20 .bash_history
-rwsrwxrwx 1 root   root   8472 Feb 20  2020 shiba2
Örneğin en sonda shiba2 dosyası için
rws rwx rwx olarak gördüğümüz yetkilerin ilki kullanıcı, ikincisi grup, üçüncüsü geri kalan herkesin yetkilerini gösteriyor. 

r: read (okuyabilir), w: write (yazabilir), x: execute (çalıştırabilir) diyor. s ise sistem yetkileri ile çalıştırılabildiği anlamına geliyor. 

sistem yetkileri ile çalıştırabilen kim? ilk üçlü grupta olduğundan kullanıcı.

Task 15 sorusu: What permissions mean the user can read the file, the group can read and write to the file, and no one else can read, write or execute the file?

 
user can read the file: 4

the group can read and write to the file: 6

no one else can read, write or execute the file: 0

Cevap: 460

İkinci soru: What permissions mean the user can read, write, and execute the file, the group can read, write, and execute the file, and everyone else can read, write, and execute the file.

Herkesin her istediğini yapabildiği bir dünya için doğru cevap: 777

Task 16'da dosya silme komutu olan rm işlenmiş.

Soru ise "What flag deletes every file in a directory" yani bir dizinde yer alan tüm dosyaları tek seferde nasıl silersiniz? Yanıt -R. Bunu nereden öğrendik?

shiba2@nootnoot:~$ rm --help
Usage: rm [OPTION]... [FILE]...
Remove (unlink) the FILE(s).
-r, -R, --recursive   remove directories and their contents recursively

İkinci soru tüm uyarıların nasıl görmezden gelinebileceği (kapatılabileceği): How do you suppress all warning prompts.

--help komutu bu sorunun yanıtını da veriyor:

-f, --force           ignore nonexistent files and arguments, never prompt

 Task 17 Section 5 dosyaları taşımayı öğretiyor, komut mv. İşlem basit: mv <file> <destination>

Sadece destination belirtirken tam yolu yazmayı unutmamak gerekiyor, bir de / koymayı.

How would you move file to /tmp sorusunun yanıtı:

mv file /tmp
 

 

Hiç yorum yok:

Yorum Gönder

John the Ripper ile Şifre Kırmak

  JOHN THE RIPPER ARACIYLA ŞİFRE KIRMAK  John The Ripper, açık kaynak ve ücretsiz bir şifre kırma aracı. Her ne kadar Unix için çıkmış ols...