Pada Positive Hack Days 8, kompetisi lama yang baik untuk meretas ATM Tinggalkan Sendiri ATM sekali lagi diadakan. Ada dua ATM yang tersedia bagi para peserta, perangkat keras disediakan oleh mitra keamanan perbankan kami Alfa-Bank. Khusus untuk kompetisi, kami mendirikan ATM dan meletakkan kerentanan di dalamnya. Dalam 15 menit itu perlu untuk memotong peralatan pelindung dan mengambil uang dari perangkat. Dana hadiah berjumlah 40.000 ₽. Sekitar 40 peserta datang untuk mencoba menghindari pertahanan. Leonid Krolle, penyelenggara kontes dan spesialis departemen riset keamanan sistem perbankan Positive Technologies, menceritakan bagaimana itu dan menganalisis tugas-tugas secara rinci.
Tinggalkan Kontestan ATM SendiriDi pembuangan para peserta adalah dua ATM. Di salah satu dari mereka, perangkat lunak kontrol aplikasi dari mitra kami diinstal, yang mencegah peluncuran aplikasi yang tidak terpercaya. Itu tidak memungkinkan Anda untuk menjalankan aplikasi apa pun yang Anda butuhkan untuk menarik uang tunai (halo, Cutlet Maker, BubbleMaker dan nemagiya!).
ATM kedua terhubung melalui jaringan untuk menguji pemrosesan, yang memungkinkan Anda untuk melakukan operasi penarikan tunai (yang tersedia di ATM). Namun, pemrosesan mengirimkan sinyal untuk mengeluarkan dari kaset di mana tidak ada uang. Oleh karena itu, tugas para peserta adalah mengganti respons pemrosesan dengan mengeluarkan uang dari kaset yang benar.
Kabel koneksi dari ATM dan pemrosesan uji terletak di luar, dengan kemampuan untuk menghubungkannya menggunakan kabel jaringan (LAN).
Pemain mengambil semua uang yang ditarik dari sistem.
ATM dalam dua hari forum: mereka sedih dan kesepianKontrol aplikasi
Ada beberapa cara untuk memeriksa apakah suatu aplikasi cocok dengan daftar putih yang diberikan - mulai dari memeriksa jalur ke file yang dapat dieksekusi atau hash-nya hingga menganalisis tanda tangan dan ekstensi digital. Alat kontrol aplikasi paling sering digunakan untuk memberikan perlindungan tambahan untuk komputer klien (mereka melarang peluncuran perangkat lunak bukan dari daftar putih) dan memberikan keamanan untuk sistem terisolasi, seperti ATM, yang tidak menyiratkan intervensi operasional yang konstan.
Jika daftar hitam ekstensi yang harus diblokir lebih atau kurang universal, dan mudah dikonfigurasikan, maka daftar putih dari apa yang diizinkan untuk dijalankan adalah mubazir secara default - sering menyertakan semua aplikasi dari sistem operasi pada saat konfigurasi.
Selama beberapa tahun terakhir, banyak metode telah dijelaskan untuk memintas kontrol aplikasi menggunakan alat Microsoft Windows (misalnya, "rundll32", "regsvr32"), pemblokiran sederhana yang mengganggu operasi normal OS. Oleh karena itu, menyempurnakan kontrol aplikasi adalah pekerjaan yang rumit dan melelahkan, yang hasilnya diberikan kepada para peserta kontes sobek. Perhatikan bahwa di dunia nyata, penyerang tidak punya banyak waktu untuk mem-bypass kontrol aplikasi.
Hari pertama kompetisi
Kebenaran hidup :)Awal hari pertama kompetisi ditandai oleh arus padat peserta forum yang datang untuk mencoba mengendalikan kontrol aplikasi dan mengganti respons pemrosesan - lebih dari total 40 orang.
Peserta pertamaSecara total, 15 menit dialokasikan untuk memotong perlindungan di ATM dengan kontrol aplikasi: selama ini, Anda harus mengelola untuk menjalankan kode Anda. Sayangnya, pada hari pertama, semua upaya para peserta untuk meluncurkan exploit mereka gagal. Namun, satu peserta berhasil menemukan perangkat aneh yang terpasang di ATM. Itu adalah skimmer - pembaca portabel mini yang dapat dilampirkan ke ATM. Perangkat tersebut membantu penipu untuk mencuri data kartu bank: detail, kode PIN - semua informasi yang direkam pada strip magnetik.
SkimmerSetelah mendeteksi skimmer, diharuskan untuk mengekstraksi data kartu dari itu: selama persiapan kompetisi, panitia menulis dump kartu yang tidak ada dengan jumlah tertentu di sana.
Mari kita bicara sedikit tentang mempersiapkan skimmer untuk sebuah kompetisi.Skimmer terdiri dari kepala magnetik untuk membaca dan perangkat untuk merekam trek audio (kadang-kadang dengan Wi-Fi atau Bluetooth). Mesin virtual ini dapat dibuat berdasarkan perekam pemutar Explay atau perekam suara USB serupa. Contohnya di
sini . Dalam hal ukuran, mereka hanya cocok dengan lapisan anti-skimmer dan masih ada ruang untuk baterai, karena mini Frankenstein harus disiapkan dan dihidupkan kembali: tes kinerja dilakukan pada perangkat yang sama dari model ATM lain. Untuk menghemat ruang, pad pemasangan port USB dipangkas, jadi saya harus melakukan adaptor sendiri.
Membuat adaptorKami menguji masuknya pemain skimmer yang benar sesuai dengan instruksi dari pemain dari Internet (tidak ada tanda-tanda pada tombol, karena mereka tetap pada case) dan menuliskan kartu dan nomor yang harus dikeluarkan peserta dari skimmer.

Inilah yang terlihat seperti kartu dengan bubuk magnetik
Informasi pada strip magnetik kartu dicatat menggunakan pengkodean frekuensi F / 2F (dengan apa yang dimakan dan bagaimana dapat diterjemahkan) - baca di
sini ) dan mewakili karakter alfanumerik dalam pengkodean 7-bit atau karakter digital dalam pengkodean 5-bit. Untuk menentukan kesalahan baca, paritas dan redundansi longitudinal (atau longitudinal standby control - LRC) digunakan.
Data pada trek apa pun harus dimulai dengan simbol layanan mulai dan berakhir dengan simbol layanan berakhir. Simbol-simbol ini dipilih sedemikian rupa sehingga memungkinkan Anda untuk menentukan awal blok informasi yang berguna, untuk menentukan arah membaca kartu, dan bahkan format penyandian informasi (5 bit atau 7 bit).
Karakter kontrol dirancang untuk mengontrol perangkat keras dan tidak dapat digunakan untuk mengirimkan informasi (konten data). Pemisah digunakan untuk memisahkan bidang data pada peta.
Dalam penyandian 7-bit, karakter [\] dicadangkan untuk karakter nasional tambahan dan tidak boleh digunakan sebagai bagian dari pertukaran informasi internasional, karakter # dicadangkan untuk karakter grafik tambahan sewenang-wenang.
Berikut ini contoh tampilannya:
- trek ISO 2 standar:
; XXXXXXXXXXXXXXX = = YYYYYYYYYYYYYYYYY? Z - 37 karakter
X ... X - nomor kartu, Z - LRC (data dimulai dengan karakter awal dan berakhir dengan karakter akhir, nomor kartu 16-digit, LRC hadir)
Momen pengujian dan dumpingBahkan, Anda dapat menyalin data dari pemain dalam bentuk file MP3, menemukan di mana trek direkam, memperbesarnya di editor audio dan mengurai sedikit demi sedikit, tetapi ada metode yang lebih sederhana.
Sebagai contoh:
- SWipe adalah aplikasi untuk membaca kartu strip magnetik melalui port audio.
- Magnetic Stripe Decoder. Suatu program untuk memecahkan kode kartu strip magnetik, menerima data mentah dari strip magnetik melalui kartu suara.
Mereka memungkinkan Anda untuk lebih atau kurang akurat mengkonversi data trek audio ke ASCII (data yang didekripsi).
Setelah sekitar satu jam, data kartu yang dicatat dalam skimmer diberikan. The Honored Prize of Spectator Sympathy menemukan pemiliknya. Selamat kepada Maxim Vikhlyantsev!
Sisa peserta terus berjuang untuk mendapatkan hadiah utama yang diunggah ke ATM :) Seseorang mencoba meretas pertahanan, tetapi ada orang-orang yang lelah dan kehilangan harapan untuk pengayaan cepat. Namun demikian, hari pertama penuh badai, meskipun jackpot utama tetap dengan penyelenggara ...

Hari kedua
Tetap yang paling gigihPada hari kedua kompetisi di bidang peretasan ATM, orang bisa mengamati semua peserta yang sama. Ketekunan dan ketekunan dalam berusaha menemukan vektor untuk menghindari perlindungan tidak sia-sia, dan di sini - Stanislav Povolotsky dengan aman menghindari pertahanan dan, dengan mengeksekusi kode yang tidak ditandatangani, memenangkan hadiah uang tunai di ATM pertama.
Peragaan Pekerjaan yang SuksesInti dari serangan jaringan pada ATM kedua adalah sebagai berikut: di ATM ada laptop dengan perangkat lunak yang diinstal yang meniru proses.
Memproses emulatorEmulator dikonfigurasi untuk mengeluarkan uang dengan kartu apa pun yang dimasukkan, tanpa kode PIN, tetapi kaset yang perintahnya dikirim oleh emulator sebagai tanggapan atas permintaan itu kosong. Untuk mengatasi masalah ini, perlu:
- mencegat paket respons emulator pemrosesan;
- bongkar paket dan bentuk sendiri - hanya dengan nomor kartrid yang benar;
- masukkan kartu dan, saat mengirim permintaan pemrosesan, balas ke ATM dengan data yang diubah;
- menggunakan alat tcpdump, wireshark, scapy atau ettercap, melakukan serangan replay atau serangan spoofing dengan data yang dimodifikasi untuk menanggapi ATM.
tcpdump adalah utilitas UNIX yang memiliki tiruan untuk Windows dan memungkinkan Anda untuk mencegat dan menganalisis lalu lintas jaringan yang melewati komputer tempat program ini berjalan.
wireshark adalah utilitas serupa, hanya lebih "dibebankan", dengan GUI.
scapy adalah shell interaktif dan pustaka perangkat lunak untuk memanipulasi paket jaringan dalam bahasa pemrograman Python.
ettercap adalah utilitas untuk menganalisis lalu lintas jaringan yang melewati antarmuka komputer, tetapi dengan fungsionalitas tambahan. Program ini memungkinkan Anda untuk melakukan serangan seperti "man in the middle" untuk memaksa komputer lain mengirimkan paket bukan ke router, tetapi ke penyerang.
Sebenarnya tidak ada yang berubahDengan pendekatan yang begitu sulit, para peserta mengalami kesulitan, tetapi mereka mengatasinya. Hadiah untuk memalsukan tanggapan dari pemrosesan di ATM kedua diterima oleh tim - Informasi & Publik, Pusat Keamanan dan Uzbekistan. Dengan apa yang kami ucapkan selamat kepada mereka! Daftar lengkap pemenang ada di
halaman kontes .