როგორ მივიღოთ სისტემური გარსის წვდომა ნებისმიერ Samsung Galaxy მოწყობილობაზე

სწრაფი ბმულები

  • წინაპირობები
  • როგორ გამოვიყენოთ ნებისმიერი Samsung Galaxy მოწყობილობა სისტემის ჭურვის წვდომისთვის
  • გადამოწმება
  • დასკვნა

ყოველი თვის პირველ ორშაბათს Google აქვეყნებს Android უსაფრთხოების ბიულეტენი. ის ასახავს უსაფრთხოების ყველა შემცირებულ დაუცველობას Android OS-ის სხვადასხვა კომპონენტში, როგორც ასევე Linux-ის ბირთვი და მათი პატჩები, რომლებიც წარმოდგენილია თავად Google-ის ან სხვა მესამე მხარის მიერ თარიღი. Samsung-ის მსგავს დიდ OEM-ებს აქვთ საკუთარი შეხედულება Android-ზე, ამიტომ ისინი ირჩევენ საკუთარი პატჩების და განახლებების გადატანას უსაფრთხოების განახლებებშიც.

ამის გათვალისწინებით, საკმაოდ რთულია ყველა ხარვეზის მოვლა. არსებობს თავდასხმის ვექტორების სიმრავლე და ზოგჯერ შეგიძლიათ შექმნათ თქვენი საკუთარი ექსპლოიტის ჯაჭვი, რომელიც ეფუძნება ადრე ცნობილი დაუცველობა მხოლოდ იმიტომ, რომ თქვენ გაქვთ ახალი მეთოდი ერთ-ერთის გვერდის ავლით გარანტიები. ეს არის ზუსტად ის, რაც XDA-ს უფროსი წევრია K0mraid3 გააკეთა ოთხი წლის წინანდელ დაუცველობასთან, რამაც მას საშუალება მისცა მიეღო სისტემური გარსის წვდომა ყველა Samsung Galaxy მოწყობილობაზე - მათ შორის უახლეს ფლაგმანებზე - იქ. მიუხედავად იმისა, რომ ეს არ არის იგივე, რაც

აქვს root პრივილეგიები, ეს საკმარისად მაღალი ადგილობრივი პრივილეგიების ესკალაციაა.

დაუცველობის პირველადი შესვლის წერტილი მდგომარეობს Samsung Text-to-Speech-ში (პაკეტის სახელი: com.samsung. SMT), წინასწარ ჩატვირთული სისტემური აპი, რომელიც შეგიძლიათ ნახოთ Samsung Galaxy-ის ყველა მოწყობილობაზე. იდეა არის აპლიკაციის დაინსტალირებული ვერსიის დაქვეითება კონკრეტულ დაუცველ კონსტრუქციაზე (v3.0.02.2 უფრო ზუსტად) და შემდეგ აიძულეთ ჩატვირთოს ბიბლიოთეკა, რომელიც თავის მხრივ ხსნის გარსს სისტემის პრივილეგიით (UID 1000).

თუ გსურთ გაიგოთ მეტი ექსპლოიტის შესახებ, აუცილებლად შეამოწმეთ XDA წამყვანი ტექნიკური რედაქტორის ადამ კონვეის ახსნა-განმარტება. მან ისაუბრა K0mraid3-თან, რათა გაეგო ამ ექსპლოიტის სრული მასშტაბი და როგორ მუშაობს იგი.

  1. გავიმეოროთ, ეს არ არის root (UID 0) წვდომა, მაგრამ სისტემის გარსის წვდომა საკმარისად ძლიერია სხვაგვარად შეზღუდული ორობითი ფაილების თაიგულის შესასრულებლად.
  2. K0mraid3-ის კონცეფციის მტკიცებულება მოითხოვს დამხმარე APK-ს და თქვენ უნდა გაუშვათ იგი ერთხელ მაინც ექსპლოიტის ჯაჭვის დაწყებამდე.
  3. ერთი ინტერფეისი, ანუ Samsung-ის მორგებული Android კანის ჩაშენებული ენერგიის დაზოგვის რუტინები შეიძლება იყოს პრობლემური, რადგან მათ შესაძლოა შეაფერხონ კომუნიკაცია TTS აპს, დამხმარე APK-სა და გარსს შორის. ამრიგად, ჩვენ გირჩევთ წინასწარ დააყენოთ ენერგიის დაზოგვის პროფილი „შეუზღუდავი“ აპებისთვის.

წინაპირობები

  1. ჩამოტვირთეთ ექსპლოიტის წინასწარ შედგენილი ბილდიდან XDA ფორუმის თემა ან ოფიციალური GitHub საცავი, რომელიც დაკავშირებულია ქვემოთ: K0mraid3s System Shell Exploit
  2. ამოიღეთ არქივი სადმე და თქვენ უნდა იპოვოთ Samsung Text-to-Speech APK-ის დაუცველი ვერსია (samsungTTSVULN2.apk), დამხმარე აპი (Komraid3s_POC_Vx.x.apk) და Windows შესრულებადი სახელად systemshell-vx.x.exe.
  3. დარწმუნდით, რომ უახლესი ვერსია ADB დაინსტალირებულია თქვენს PC/Mac/Chromebook-ზე. ასევე, გახსოვდეთ Samsung USB დრაივერების ინსტალაცია/განახლება თუ Windows-ის მომხმარებელი ხართ.

როგორ გამოვიყენოთ ნებისმიერი Samsung Galaxy მოწყობილობა სისტემის ჭურვის წვდომისთვის

ხელით მეთოდი

  1. შეაერთეთ სამიზნე Galaxy მოწყობილობა თქვენს კომპიუტერთან USB გამართვის ჩართვის საშუალებით, დარწმუნდით, რომ მისი აღმოჩენა შესაძლებელია ADB-ით, შემდეგ დააინსტალირეთ დამხმარე აპი.
    adb install Komraid3s_POC_Vx.x.apk
    • როგორც უკვე აღვნიშნეთ, გახსენით დამხმარე აპი ერთხელ მაინც, შემდეგ ეტაპზე გადასვლამდე.
  2. ახლა დააჭირეთ Samsung TTS აპის დაუცველ ვერსიას /data/local/tmp და შეცვალეთ მისი ნებართვები:
    adb push samsungTTSVULN2.apk /data/local/tmp
    adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
  3. გადატვირთეთ მოწყობილობა. როგორც კი მთავარ ეკრანზე იქნებით, გაუშვით შემდეგი ბრძანება, რომ შეცვალოთ Samsung TTS აპლიკაციის უკვე დაინსტალირებული ვერსია დაუცველით:
    adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
    • თუ ყველაფერი სწორად მიდის, მაშინ კონსოლზე უნდა ნახოთ "წარმატების" შეტყობინება.
  4. გახსენით ჭურვი სამიზნე მოწყობილობაზე სხვა ტერმინალის ფანჯრის გახსნით და შესრულებით adb ჭურვი, შემდეგ შეასრულეთ Netcat ორობითი და მოუსმინეთ შემომავალ კავშირს 9997 პორტზე შემდეგი ბრძანებით:
    adb shell nc -lp 9997
  5. ამ ეტაპზე ჩვენ უნდა შევასრულოთ Samsung TTS აპლიკაციის კონკრეტული აქტივობა, რომელიც გაგვახსნის სისტემის გარსს.
    • გამოიყენეთ მესამე მხარის აპი, როგორიცაა ეს „com.samsung.“-ის მალსახმობის შესაქმნელად. SMT/.gui. DownloadList“ აქტივობა.
    • თქვენ ასევე შეგიძლიათ გამოიყენოთ Android-ის საკუთარი აქტივობის მენეჯერი (am) იგივეს გასაკეთებლად. ამ შემთხვევაში, თქვენ შეგიძლიათ შეასრულოთ ის ADB-ის საშუალებით (adb shell am start -n com.samsung. SMT/.gui. DownloadList) ან გამოიყენეთ ტერმინალის ემულატორის აპლიკაცია თქვენს ტელეფონზე/ტაბლეტზე, როგორიცაა Termux და გაუშვით შემდეგი ბრძანება:
      am start -n com.samsung.SMT/.gui.DownloadList
  6. დაუბრუნდით პირველ გარსს და დაინახავთ ახალ მოთხოვნას სისტემის (UID 1000) პრივილეგიით.

ავტომატური მეთოდი

საქმის გასაადვილებლად, K0mraid3 ასევე გთავაზობთ ადვილად გამოსაყენებელ GUI აპლიკაციას, რათა მოხდეს ამოცანების უმეტესობის ავტომატიზაცია. გაითვალისწინეთ, რომ GUI აპი არის მხოლოდ Windows-ისთვის, ასე რომ, თუ თქვენ ხართ Linux/macOS მომხმარებელი, უმჯობესია დაიცვათ სახელმძღვანელო მეთოდი.

  1. დაუკავშირეთ სამიზნე Galaxy მოწყობილობა თქვენს კომპიუტერს USB გამართვის საშუალებით, დარწმუნდით, რომ მისი აღმოჩენა შესაძლებელია ADB-ით, შემდეგ დააინსტალირეთ დამხმარე აპლიკაცია.
    adb install Komraid3s_POC_Vx.x.apk
    • როგორც უკვე აღვნიშნეთ, გახსენით დამხმარე აპი ერთხელ მაინც, შემდეგ ეტაპზე გადასვლამდე.
  2. ADB-ის მიერ აღმოჩენილი სამიზნე მოწყობილობით, გაუშვით systemshell-vx.x.exe მასპინძელ კომპიუტერზე.
  3. დააჭირეთ ღილაკს "START SHELL". აპლიკაცია ავტომატურად შეამცირებს Samsung TTS აპს და შეეცდება სისტემის გარსის გახსნას.
    • თქვენს ტელეფონზე/ტაბლეტზე შეიძლება ნახოთ TTS აპი, რომელიც მოგთხოვთ ჩამოტვირთოთ ხმოვანი მონაცემები. არ არის საჭირო ამ ვარიანტებთან ურთიერთქმედება, რადგან მათ არანაირი კავშირი არ აქვთ ექსპლოიტთან.
    • თუ აპი დაკიდება ან ვერ ხსნის გარსის ფანჯარას გარკვეული დროის შემდეგ, დახურეთ იგი, გადატვირთეთ სამიზნე Galaxy მოწყობილობა და დაიწყეთ თავიდან.
    • Galaxy Store აპს შეუძლია ავტომატურად განაახლოს და/ან გადააყენოს TTS აპის ენერგიის დაზოგვის პროფილი ფონზე, ამიტომ დარწმუნდით, რომ შეამოწმეთ იგი პროცესის ნულიდან დაწყებამდე.

გადამოწმება

როგორც კი გარსზე წვდომა გექნებათ, შეგიძლიათ დაადასტუროთ პრივილეგიის დონე ქვემოთ მოცემული ერთ-ერთი ბრძანების გამოყენებით:

  • whoami
    • გამომავალი უნდა იყოს "სისტემა"
  • id -u
    • გამომავალი უნდა იყოს "1000"

დასკვნა

Android მოწყობილობაზე root წვდომის მიღწევის ტიპიური გზაა ჯერ ჩამტვირთველის განბლოკვა, რომელიც საშუალებას გაძლევთ ჩატვირთოთ მესამე მხარის ბინარები. ვინაიდან Android-ის უსაფრთხოების მოდელი ძირითადად იშლება root-ით, ეს ნაბიჯი განზრახ გამორთავს მოწყობილობის უსაფრთხოების ერთ-ერთ ძირითად ფუნქციას, რომელიც ამიტომ მომხმარებელმა პირდაპირ უნდა დაუშვას, რომ ეს მოხდეს, როგორც წესი, ჩართვის დეველოპერის ოფციებში და შემდეგ გასცემს განბლოკვის ბრძანებას ჩამტვირთავი. მას შემდეგ, რაც ჩამტვირთავი განბლოკილია, მომხმარებელს შეუძლია შემოიტანოს სუპერმომხმარებლის ორობითი სისტემა და ასევე სუპერმომხმარებლის მართვის აპი (მაგალითად, Magisk), რათა გააკონტროლოს რომელ პროცესებს აქვს წვდომა root-ზე.

ზემოთ ნახსენები სისტემის ჭურვის ექსპლოიტით, თუმცა, მომხმარებელს არ სჭირდება ჩამტვირთველის განბლოკვა, რომ მიიღოს ესკალირებული პრივილეგია. მიუხედავად იმისა, რომ ის შორს არის root-ისგან, "სისტემის" მომხმარებელს აქვს საკმარისი წვდომა დაბალი დონის ტიხრებზე (მაგ. როგორც /efs), დაიწყეთ სხვადასხვა სერვისისა და გამართვის ხელსაწყოები და შეცვალეთ მრავალი დაცული საყრდენი მნიშვნელობები - ეს ყველაფერი გამორთვის გარეშეც კი ნოქსი. ეს მაგალითები მხოლოდ რამდენიმე გზას ეხება; მავნე მსახიობს შეუძლია ეს დააკავშიროს სხვა მოწყვლადობასთან და მოიფიქროს უფრო ბოროტი ქმედებები.

ჩვენ უნდა დაველოდოთ და ვნახოთ, როგორ უმკლავდებიან Google და Samsung სცენარს. ნებისმიერ შემთხვევაში, თქვენ უნდა გამორთოთ ან წაშალოთ Samsung Text-to-Speech აპი ამ დროისთვის.