Membalikan dan memodifikasi windows 8 apps

Hay Mas Berow
Kali ini saya akan mengepost cara menghack windows 8 tapi post nya kepanjangan hehe.
Dalam artikel ini saya akan berbagi hasil ad-hoc penelitian kerentanan keamanan yang telah saya lakukan pada windows 8 penyebaran aplikasi. Secara khusus, kita akan membahas kelemahan desain dasar yang memungkinkan ke Reverse Insinyur Win8 aplikasi, modifikasi aplikasi diinstal dan implikasi negatif pada Intelektual perlindungan hak properti, model Perizinan dan keamanan PC secara keseluruhan. Akhirnya kita akan membahas beberapa ide-ide kreatif tentang bagaimana untuk mengurangi masalah keamanan.

para induk beban:  C:\Program Files\Applications 


Semua Windows 8 aplikasi di preview pengembang yang dipasang di bawah C klandestin: \ Program Files \ Aplikasi lokasi. Saya akan menebak dan mengatakan bahwa setelah Windows App Store pergi online itu akan menginstal semua aplikasi di bawah folder itu. Saat folder adalah salah satu yang tak terlihat dan tidak dapat diakses dari antarmuka pengguna Windows Explorer pada instalasi Win8 pratinjau pengembang baru.

Berikut ini adalah contoh dari beberapa 29 Win8 aplikasi aplikasi diinstal pada pratinjau pengembang Win8:



Print screen of Windows 8 apps start screen
Dan inilah folder tersembunyi backing it up:
C:\Program Files\applications folder
Mendapatkan Akses ke C: \ Program Files \ Aplikasi
Pada dasarnya Anda harus menavigasi ke folder itu, tekan tombol "Tab Keamanan" dan mengatur diri sebagai pemilik. Biarkan aku berjalan Anda melalui proses langkah-demi-langkah.
1. Ketik "C: \ Program Files \ Aplikasi" di address bar Windows Explorer dan tekan enter.
Typing in C:\Program Files\applications to the address bar
2. Amati kaget dan cemas dialog sistem mengatakan Anda tidak memiliki folder pada komputer Anda sendiri. Tekan "Lanjutkan".
You don't have permission to access this folder dialogue
3. Setelah menekan "Lanjutkan", Anda akan dihadapkan dengan dialog berikut:
you have been denied permission to access this folder dialogue
Jangan tekan tombol "close", bukannya mengklik "keamanan tab" link.
4. Dalam dialog sistem berikut klik "maju".
Security tab for C:\Program Files\Applications
5. Klik "perubahan" link dalam bidang keamanan pemilik.

Advanced Security tab for C:\Program Files\Applications
6. Menambahkan ID hidup Anda atau windows 8 nama pengguna untuk dialog "pilih pengguna atau kelompok" sistem.

Select user or group for C:\Program Files\Applications owner
7. Klik "OK", klik "OK", klik "OK".

j owner of C:\Program Files\Applications
8. Ketik "C: \ Program Files \ Aplikasi" di address bar Windows Explorer dan tekan enter. Anda sekarang memiliki akses ke folder Applications.
C:\Program Files\Applications in Windows Explorer
Apa jenis kapal aplikasi dengan Windows 8?
Melihat folder ini itu cukup mudah untuk menentukan jenis kapal aplikasi dengan Windows 8 pratinjau pengembang.
Windows 8 developer preview apps: 29 total, 5 C# XAML, 22 HTML, 2 C++
Apa yang ada di C: \ Program Files \ Aplikasi?
Untuk aplikasi HTML folder berisi semua kode sumber mereka dan dapat dimodifikasi.
Untuk aplikasi C # folder berisi kode XAML sumber dan versi reverse-engineerable dan dimodifikasi dikompilasi dari kode C #.
Untuk C + + DirectX apps folder tersebut berisi binari dikompilasi. Jujur, C + + bukan spesialisasi saya, jadi saya akan menghindari membahasnya pada setiap panjang lebar.
Membalikkan Teknik HTML & CSS javscript & Win8 aplikasi
Ada cacat desain mendasar dalam konsep aplikasi HTML. HTML, Javascript dan CSS semua ditafsirkan bahasa, dan tidak dikompilasi bahasa. Berarti Anda harus mengirimkan kode sumber untuk aplikasi Anda bukan pengiriman dikompilasi binari. Yang menempatkan Kekayaan Intelektual orang memilih untuk menulis HTML & CSS & JS app hanya untuk platform bawah risiko.
Sebagai contoh, inilah kode sumber HTML untuk Tweet @ rama Win8 app kode:
Tweet@rama app folder with page source code in notepad
Dan inilah tweet @ rama kode Javascript yang melakukan sebenarnya posting Twitter:
Tweet@rama app folder with page javascript source code in notepad
Memodifikasi HTML & javscript & Win8 CSS aplikasi
Bagian dari masalah dengan bahasa ditafsirkan adalah bahwa mereka tidak mengkompilasi sampai saat paling mereka dieksekusi. Yang memungkinkan para pelaku kejahatan untuk mengedit kode sebelum eksekusi.
Sebagai contoh, di sini adalah layar cetak tweet @ rama standar app;
Tweet@rama default visuals pre-modification
Mari kita memodifikasi HTML, Javascript dan CSS untuk aplikasi ini: (untuk singkatnya kita hanya akan walkthrough perubahan HTML sederhana)
Tweet@rama default.html with "Tweet@rama, Justin Angel Edition" title
Dengan memodifikasi HTML & CSS & Javascript kode sumber kita dapat mengubah desain visual untuk sesuatu yang sedikit lebih visual menyenangkan:

Tweet@rama Justinified visuals post-modification
Perhatikan bahwa kita telah berubah baik desain dan perilaku aplikasi dengan memodifikasi kode sumber. Desain baru ini memiliki judul yang berbeda, dan perilaku baru menggunakan gambar login di pengguna sebagai latar belakang. Kami memiliki kekuatan untuk benar-benar mengubah baik desain visual dan kode sumber pelaksana HTML & CSS & JS Win8 aplikasi.
Baru berkembang biak virus?
Setiap malware yang tidak sah yang memperoleh akses ke C: \ Program Files \ Aplikasi berpotensi memodifikasi kode sumber untuk mengeksekusi dengan cara yang berbahaya. Karena ini adalah arah Win8 aplikasi mengambil menulis ini jenis virus kemungkinan akan menjadi industri pertumbuhan.
Sebagai contoh kita bisa melihat tweet @ rama app sekali lagi. Aset yang paling berharga yang memiliki aplikasi yang kami twitter oauth identitasnya. Virus akan dapat memodifikasi tweet @ source code rama jadi setelah dijalankan itu mengambil kredensial dan mengirim mereka ke titik akhir jarak jauh berbahaya. Kode berikut sela ke kode Javascript tweet @ rama akan melakukan hal itu:
source code to get Tweet@rama's oatu credentials sent to a remote server
Baru berkembang biak retak?
Setiap eksekusi tidak sah yang memperoleh akses ke C: \ Program Files \ Aplikasi berpotensi memodifikasi kode sumber untuk pembelian solusi aplikasi Windows Store dan logika lisensi. Seluruh konsep Ujian dan pembelian fitur didasarkan pada Javascript, C # atau C + + kode memanggil Windows 8 RuntimeTime API untuk Windows Store. Setiap perubahan kode yang berpotensi mengubah pembelian dan logika perizinan untuk aplikasi tersebut.
Misalnya, Dalam konferensi BUILD Microsoft Arik Cohen Menunjukkan (35:25) kode berikut yang melakukan cek Javascript untuk isTrial.
image
Ini akan menjadi endavour sepele untuk secara manual mengedit file ini Javascript dan menghapus "licenseInformation.isTrial" cek. Dan dengan demikian menghilangkan pembatasan Percobaan dari aplikasi ini Win8 sampel. 
Jika ini set masalah tidak diatasi, app pembajakan melalui modifikasi aplikasi untuk aplikasi Windows Store mungkin akan menjadi cukup lazim.
Membalikkan Teknik C # + XAML Win8 apps
C # kode dikirimkan dalam binari EXE & DLL dikompilasi. XAML dikirim sebagai kode sumber teks biasa. Yang membuat kedua bentuk kode sangat rentan terhadap reverse engineering.
C# memories app folder
Sebagai contoh, kita bisa membuka "Kenangan" (C # WinRT XAML app) MainPage.xaml di Kaxaml dan melihat kode sumber XAML:
Memories MainPage.xaml source code
Menggunakan dotPeek JetBrains akan mungkin untuk melihat kode C # source untuk aplikasi Kenangan:
dotPeek reverse engineering MainViewModel for Memories app
Memodifikasi C # + XAML Win8 apps
XAML untuk Win8 aplikasi disimpan dalam plain-teks dan dapat diedit dari alat mengedit teks. The. Bersih binari adalah unsigned dan dengan demikian dapat mengedit menggunakan MSIL Tenun alat Reflexil .
Sebagai contoh, di sini adalah "Kenangan" C # XAML app pengiriman dengan Windows 8 pratinjau pengembang:
default visuals for memories app pre-modification
Mengedit XAML cukup sepele karena itu disimpan sebagai file teks biasa:
Default XAML for AlbumsView memories XAML
Modified AlbumsView.xaml file
Editing C # dapat dilakukan dengan menggunakan reflektor yang Reflxil MSIL Editor:
Editing Memories MSIL with Reflxil
Editing hardcoded text in C#
Dengan beberapa modifikasi cahaya untuk kode # XAML dan C kita dapat mengubah tampilan dan perilaku aplikasi:
Memories app with XAML and C# modifications
Membalikkan Teknik C + + apps Win8
Aku akan mengaku tidak menjadi kuat C + + pengembang (terkesiap!) jadi saya akan tetap ini singkat dengan menunjukkan C + + apps juga rentan terhadap reverse engineering. Tampaknya app Toko Microsoft ditulis dalam C + +. Aset yang paling penting bahwa aplikasi akan memiliki adalah endpoint untuk toko Microsoft. Membuka C: \ Windows \ System32 \ WinStore \ WinStoreUI.dll di notepad dan mencari alamat "https" mengungkapkan URL berikut:
WinStoreUI.dll opened up in Notepad with a URL highlighted
Setelah http://go.microsoft.com/fwlink/?LinkId=195322&clcid=0x409 URL mengarah ke URL saat ini tidak aktif dari https://services.apps.microsoft.com/browse . Saya akan menebak bahwa ini adalah URL saat ini sedang digunakan untuk menguji Windows Store App.
Apa yang telah kita meyakinkan terbukti selama ini posting blog?
LOLCat in tie and glasses with caption: Your code, I have proven I have it
Mengingat bahwa Windows 8 hanya merupakan rilis alpha pengembang, kami telah melihat beberapa hal yang mengganggu:

  1. Hal ini dimungkinkan untuk melakukan reverse engineering dan memodifikasi HTML, JavaScript dan CSS kode dikirim dalam Win8 aplikasi.
  2. Hal ini dimungkinkan untuk melakukan reverse engineering dan memodifikasi C # / VB.Net source code pengiriman dengan Win8 aplikasi.
  3. Hal ini dimungkinkan untuk melakukan reverse engineering dan memodifikasi source code XAML pengiriman dengan Win8 aplikasi.
  4. Hal ini dimungkinkan untuk (pada beberapa tingkat yang terbatas?) Balik C + + Win8 apps.
Microsoft benar-benar dapat memecahkan masalah ini?
Tidak ada. Menurut pendapat saya, pengiriman aplikasi sebagai bagian dari semua toko app akan selalu rentan pada beberapa tingkat terbatas untuk reverse engineering dan modifikasi.
Microsoft dapat mengatasi masalah ini?
"The rent is too damn hige" person with caption: Win8 apps are too damn easy to modify
Ya, Microsoft dapat membuat aplikasi secara signifikan lebih marah-bukti dan menumpuk banyak kesulitan pada mereka yang berusaha untuk melakukan reverse engineering dan memodifikasi Win8 aplikasi. Dengan asumsi kode berbahaya dan orang-orang tidak dapat mengakses C: \ Program Files \ Aplikasi tampaknya naif yang terbaik.
Berikut adalah beberapa saran untuk apa yang beberapa dari mereka kesulitan tersebut potensial mungkin:
  1. Mengaburkan C # / VB.Net proyek secara default:. Proyek bersih default untuk pengiriman dengan kode sumber unobfuscated. Jika Microsoft serius memperkenalkan kebingungan jendela-jendela toko App harus diaktifkan secara default untuk semua proyek net,. Bukan hanya bagus untuk dimiliki addon seperti itu sekarang. Tim VS2011 harus menyelidiki dan mengintegrasikan solusi obfuscation langsung ke produk dan menyalakannya untuk semua proyek-proyek baru. Bersih. Hal ini akan membuat lebih sulit untuk melakukan reverse engineering. Apps bersih. 
  2. Mengecilkan HTML, Javascript dan proyek CSS secara default: Dengan sukacita pengembang web penyebaran desktop kemungkinan akan meninggalkan Javascript, HTML dan CSS minification. Sekali lagi, jalan yang baik ke depan di sini adalah untuk memastikan semua kode HTML, dan CSS Jacascript minified secara default. Langkah ini akan membuat lebih sulit untuk melakukan reverse engineering aplikasi HTML. 
  3. Sangat menandatangani semua majelis bersih secara default:. Kuat-penandatanganan telah menjadi bagian dari kerangka bersih selama 10 tahun sekarang.. Hidupkan secara default dengan sertifikat lisensi pengembang yang unik untuk semua Win8. Aplikasi bersih. Pastikan Win8 AppContainers hanya menjalankan aplikasi ditandatangani, bahkan tidak memiliki kunci registry tersembunyi untuk mengaktifkan aplikasi unsigned ( seperti WP7 tidak ). Itu akan membuat lebih sulit untuk memodifikasi. Apps bersih. 
  4. Checksum HTML, Javascript dan CSS sebelum proyek startup: Bahkan jika itu unpreventable bahwa memodifikasi Win8 aplikasi HTML akan terjadi, menjalankan checksum pada semua file sebelum memuat aplikasi ke dalam memori. Itu akan membuat lebih sulit untuk memodifikasi Win8 aplikasi HTML. Kedengarannya seperti AppBlockMap.xml yang seharusnya melakukan sesuatu yang mirip, tetapi tampaknya tidak bekerja. 
  5. Jangan menyimpan file App mengeksekusi sebagai polos berusia file pada hard drive-pengguna: Seharusnya tidak mungkin bahkan melihat file pengiriman dengan sebuah aplikasi secara default hanya menggunakan Windows Explorer. Folder lossless dikompresi dengan DRM perlindungan akan menjadi langkah yang baik ke depan di sini. Hal ini seharusnya membuat lebih sulit untuk melakukan reverse engineering Win8 aplikasi.
tl; dr: Jika Microsoft tidak melakukan langkah-langkah tersebut atau yang sebanding itu bukan karena tidak bisa, itu karena ia tidak mau. Jika Microsoft memilih untuk mengabaikan masalah ini selama satu tahun tersisa (?) Pengembangan siklus hidup untuk Windows 8 maka itu bukan karena ia tidak bisa memecahkan masalah ini.
Visual Studio 2.011 App Deployment
Apps digunakan oleh Visual Studio 2011 tidak bisa dikerahkan ke C: \ Program Files \ Aplikasi melainkan bisa dikerahkan ke C: \ Users \ \ AppxLayouts.

Print screen of the C:\Users\JustinAngel\AppxLayouts folder
Lokasi alternatif untuk Visual Studio penyebaran aplikasi dan semua penyebaran aplikasi lainnya dikendalikan oleh folder registri HKEY_CURRENT_USER \ Software \ Classes \ Local Settings \ Software \ Microsoft \ Windows \ CurrentVersion \ AppModel.
image
Sumber: Justin Angel

Dilarang Spam !!
EmoticonEmoticon