Peringatan Keamanan Web3丨 Sebuah permainan baru dalam rantai, dekripsi metode Rug Pull berskala besar

Baru-baru ini, tim ahli keamanan CertiK sering mendeteksi beberapa "penipuan keluar" dengan taktik yang sama, yang umumnya dikenal sebagai Rug Pull.

Setelah kami melakukan penggalian mendalam, kami menemukan bahwa beberapa insiden dengan taktik yang sama mengarah pada geng yang sama, dan pada akhirnya terkait dengan lebih dari 200 penipuan penarikan Token. Hal ini menunjukkan bahwa kami mungkin telah menemukan tim peretasan otomatis berskala besar yang mengambil aset melalui "penipuan keluar".

Dalam penipuan keluar ini, penyerang akan membuat token ERC20 baru dan membuat kumpulan likuiditas Uniswap V2 dengan token yang sudah ditambang pada saat pembuatan ditambah sejumlah WETH tertentu.

Ketika robot baru dalam rantai atau pengguna membeli token baru di kumpulan likuiditas selama beberapa kali, penyerang akan menggunakan token yang dihasilkan secara tiba-tiba untuk menghabiskan semua WETH di kumpulan likuiditas.

Karena token yang diperoleh penyerang tidak tercermin dalam total pasokan (totalSupply) dan tidak memicu peristiwa Transfer, token tersebut tidak dapat dilihat di etherscan, sehingga sulit bagi dunia luar untuk melihatnya.

Para penyerang tidak hanya mempertimbangkan penyembunyian, tetapi juga merancang permainan dalam permainan untuk melumpuhkan pengguna yang memiliki keterampilan teknis dasar dan dapat membaca etherscan, dan menggunakan masalah kecil untuk menutupi tujuan sebenarnya...

Penipuan Lebih Dalam

Mari kita ambil salah satu kasus sebagai contoh untuk menjelaskan detail exit scam ini.

Apa yang kami deteksi sebenarnya adalah transaksi di mana penyerang menggunakan sejumlah besar token (dicetak secara diam-diam) untuk menguras kumpulan likuiditas dan menghasilkan keuntungan. Dalam transaksi ini, pihak proyek menggunakan total 416,483,104,164,831 (sekitar 416 triliun) MUMI untuk exchange Sekitar 9.736 WETH dirilis, menguras likuiditas pool.

Namun transaksi ini hanyalah link terakhir dari keseluruhan penipuan.Untuk memahami keseluruhan penipuan, kita perlu terus menelusuri ke depan.

Menyebarkan token

Pada pukul 7:52 tanggal 6 Maret (waktu UTC, sama di bawah), alamat penyerang (0x8AF8) Rug Pull menyebarkan token ERC20 bernama MUMI (nama lengkap MultiMixer AI) (alamat 0x4894) dan melakukan pra-penambangan 420.690.000 (sekitar 420 juta) token dialokasikan dan semuanya dialokasikan ke penyebar kontrak.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet skala besar

Jumlah token yang telah ditambang sebelumnya sesuai dengan kode sumber kontrak.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Tambahkan likuiditas

Tepat pukul 8 (8 menit setelah token dibuat), alamat penyerang (0x8AF8) mulai menambah likuiditas.

Alamat penyerang (0x8AF8) memanggil fungsi openTrading dalam kontrak token, membuat kumpulan likuiditas MUMI-WETH melalui pabrik uniswap v2, menambahkan semua token yang telah ditambang dan 3 ETH ke kumpulan likuiditas, dan akhirnya memperoleh sekitar 1.036 token LP.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet berskala besar

Dapat dilihat dari detail transaksi bahwa dari 420,690,000 (sekitar 420 juta) token yang awalnya digunakan untuk menambah likuiditas, sekitar 63,103,500 (sekitar 63 juta) token dikirim kembali ke kontrak token (alamat 0x4894). Dengan melihat kode sumber kontrak menemukan bahwa kontrak token akan membebankan biaya penanganan tertentu untuk setiap transfer, dan alamat pengumpulan biaya penanganan adalah kontrak token itu sendiri (khusus diterapkan dalam "_fungsi transfer").

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet skala besar

**Yang aneh adalah alamat pajak 0x7ffb (alamat pengumpulan biaya transfer) telah ditetapkan dalam kontrak, tetapi biaya akhir dikirim ke kontrak token itu sendiri. **

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Oleh karena itu, jumlah akhir token MUMI yang ditambahkan ke kumpulan likuiditas adalah 357,586,500 (sekitar 350 juta) setelah pajak, bukan 420,690,000 (sekitar 430 juta).

Mengunci likuiditas

Pada 8:01 (1 menit setelah kumpulan likuiditas dibuat), alamat penyerang (0x8AF8) mengunci semua 1.036 token LP yang diperoleh dengan menambahkan likuiditas.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet berskala besar

Setelah LP dikunci, secara teoritis semua token MUMI yang dimiliki oleh alamat penyerang (0x8AF8) dikunci dalam kumpulan likuiditas (kecuali bagian yang digunakan sebagai biaya penanganan), sehingga alamat penyerang (0x8AF8) tidak memiliki kemampuan untuk menghapusnya. melalui kemampuan Likuiditas untuk melakukan Rug Pull.

Untuk memungkinkan pengguna membeli token yang baru diluncurkan dengan percaya diri, banyak pihak proyek mengunci LP, yang berarti pihak proyek mengatakan: "Saya tidak akan lari, semua orang dapat membeli dengan percaya diri!", tetapi apakah ini benar-benar terjadi? ? Jelas tidak, ini masalahnya, mari kita lanjutkan analisisnya.

Tarik Karpet

Pada 08:10, alamat penyerang baru ② (0x9DF4) muncul, dan dia menyebarkan alamat pajak 0x7ffb yang dinyatakan dalam kontrak token.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Ada tiga poin yang perlu disebutkan di sini:

  1. Alamat tempat alamat pajak disebarkan tidak sama dengan alamat tempat token disebarkan. Hal ini mungkin menunjukkan bahwa pihak proyek sengaja mengurangi korelasi antara setiap operasi dan alamat tersebut, sehingga lebih sulit untuk melacak perilaku tersebut.

  2. Kontrak alamat pajak bukan open source, artinya mungkin ada operasi tersembunyi di alamat pajak yang tidak ingin Anda ungkapkan.

  3. Kontrak pajak diterapkan lebih lambat dari kontrak token, dan alamat pajak dalam kontrak token telah dikodekan secara keras, yang berarti pihak proyek dapat memprediksi alamat kontrak pajak, karena instruksi CREATE menentukan alamat pencipta dan tidak ada, itu diterapkan. Alamat kontrak ditentukan, sehingga tim proyek mensimulasikan alamat kontrak terlebih dahulu menggunakan alamat pembuatnya.

**Faktanya, banyak penipuan keluar dilakukan melalui alamat pajak, dan karakteristik mode penerapan alamat pajak mematuhi poin 1 dan 2 di atas. **

Pada jam 11 pagi (3 jam setelah token dibuat), alamat penyerang ② (0x9DF4) melakukan Rug Pull. Dengan memanggil metode kontrak pajak "swapExactETHForTokens" (0x77fb), dia menukar 416,483,104,164,831 (sekitar 416 triliun) token MUMI di alamat pajak dengan sekitar 9.736 ETH, dan menghabiskan likuiditas di kumpulan.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Karena kontrak pajak (0x77fb) bukan open source, kami mendekompilasi bytecode-nya dan hasil dekompilasi adalah sebagai berikut:

Setelah memeriksa kode yang didekompilasi dari metode kontrak pajak "swapExactETHForTokens" (0x77fb), kami menemukan bahwa fungsi utama dari fungsi ini adalah untuk mentransfer kontrak pajak (0x77fb) dengan nomor "xt" (ditentukan oleh penelepon) melalui router uniswapV2.Token MUMI ditukar dengan ETH dan dikirim ke alamat "_manualSwap" yang dinyatakan dalam alamat pajak.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Alamat penyimpanan dari alamat _manualSwap adalah 0x0. Setelah melakukan kueri dengan perintah getStorageAt dari json-rpc, ditemukan bahwa alamat yang sesuai dengan _manualSwap adalah penyebar kontrak pajak (0x77fb): penyerang ② (0x9DF4).

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Parameter input xt dari transaksi Rug Pull ini adalah 420,690,000,000,000,000,000,000, setara dengan 420,690,000,000,000 (sekitar 420 triliun) token MUMI (desimal token MUMI adalah 9).

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Dengan kata lain, pada akhirnya, proyek tersebut menggunakan 420.690.000.000.000 (sekitar 420 triliun) MUMI untuk menguras WETH di kumpulan likuiditas dan menyelesaikan seluruh exit scam.

Namun, ada pertanyaan krusial di sini, dari manakah kontrak pajak (0x77fb) berasal dari begitu banyak token MUMI?

Dari konten sebelumnya, kita mengetahui bahwa total pasokan token MUMI pada saat penerapan kontrak token adalah 420.690.000 (sekitar 420 juta), dan setelah exit scam berakhir, total pasokan yang kami tanyakan dalam kontrak token MUMI Jumlahnya masih 420.690.000 (ditampilkan sebagai 420.690.000.000.000.000 pada gambar di bawah, Anda perlu mengurangi 0 dari digit desimal yang sesuai, yaitu 9. Token dalam kontrak pajak (0x77fb) jauh melebihi total pasokan (420.690.000.000.000, sekitar 420 triliun) Seolah-olah muncul begitu saja, Anda harus tahu bahwa seperti disebutkan di atas, 0x77fb sebagai alamat pajak bahkan tidak digunakan untuk menerima biaya penanganan yang dihasilkan selama proses transfer token MUMI. Pajak tersebut diterima oleh kontrak tanda.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Teknik Terungkap

  • Dari mana asal kontrak pajaknya

Untuk menjelajahi sumber token kontrak pajak (0x7ffb), kami melihat riwayat peristiwa transfer ERC20.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Ditemukan bahwa di antara 6 peristiwa transfer yang terkait dengan 0x77fb, hanya ada peristiwa transfer dari kontrak pajak (0x7ffb), dan tidak ada peristiwa di mana token MUMI ditransfer. Sekilas, token kontrak pajak ( 0x7ffb) benar-benar Muncul begitu saja.

Oleh karena itu, token MUMI besar yang muncul begitu saja di alamat kontrak pajak (0x7ffb) memiliki dua karakteristik:

  1. Tidak berdampak terhadap total Pasokan kontrak MUMI

  2. Peningkatan token tidak memicu event Transfer

Maka idenya sangat jelas yaitu harus ada backdoor dalam kontrak token MUMI, backdoor ini secara langsung memodifikasi variabel balance, dan ketika memodifikasi balabce, tidak mengubah totalSupply dan tidak memicu event Transfer.

Dengan kata lain, ini adalah implementasi token ERC20 yang tidak standar atau berbahaya. Pengguna tidak dapat mendeteksi bahwa pihak proyek secara diam-diam mencetak token dari perubahan total pasokan dan peristiwa. **

Langkah selanjutnya adalah memverifikasi ide di atas, kita langsung mencari kata kunci "saldo" di kode sumber kontrak token MUMI.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Hasilnya, kami menemukan bahwa ada fungsi tipe pribadi "swapTokensForEth" dalam kontrak, dan parameter inputnya adalah tokenAmount bertipe uint256. Di baris ke-5 fungsi tersebut, pihak proyek langsung memodifikasi _taxWallet, yang merupakan MUMI saldo kontrak pajak (0x7ffb).adalah tokenAmount * 10**_decimals, yaitu 1.000.000.000 (kira-kira 1 miliar) kali tokenAmount, lalu ubah jumlah tokenAmount MUMI menjadi ETH dari kumpulan likuiditas dan simpan dalam kontrak token (0x4894).

Kemudian cari kata kunci “swapTokenForEth”.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet skala besar

Fungsi "swapTokenForEth" dipanggil dalam fungsi "_transfer". Jika Anda memperhatikan kondisi pemanggilan dengan cermat, Anda akan menemukan:

  1. Jika alamat penerima transfer adalah kumpulan likuiditas MUMI-WETH.

  2. Fungsi "swapTokenForEth" hanya akan dipanggil ketika alamat lain membeli token MUMI di kumpulan likuiditas lebih dari _preventSwapBefore (5 kali)

  3. TokenAmount yang masuk adalah nilai yang lebih kecil antara saldo token MUMI yang dimiliki oleh alamat token dan _maxTaxSwap

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet skala besar

Artinya, ketika kontrak mendeteksi bahwa pengguna telah menukar WETH dengan token MUMI di kumpulan lebih dari 5 kali, kontrak tersebut akan secara diam-diam mencetak sejumlah besar token untuk alamat pajak, dan mengubah sebagian token menjadi ETH dan menyimpannya. mereka dalam kontrak token.

**Di satu sisi, pihak proyek berpura-pura memungut pajak dan secara otomatis menukarkannya dengan sejumlah kecil ETH secara teratur dan memasukkannya ke dalam kontrak token. Hal ini untuk dilihat pengguna, membuat semua orang berpikir bahwa ini adalah sumber proyek keuntungan partai. **

**Sebaliknya, yang sebenarnya dilakukan tim proyek adalah langsung mengubah saldo akun dan menguras semua kumpulan likuiditas setelah jumlah transaksi pengguna mencapai 5 kali. **

  • Cara mendapat untung

Setelah menjalankan fungsi "swapTokenForEth", fungsi "_transfer" juga akan menjalankan sendETHToFee untuk mengirimkan ETH yang diperoleh dari pengumpulan pajak di alamat token ke kontrak pajak (0x77fb).

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

ETH dalam kontrak pajak (0x77fb) dapat dihilangkan dengan fungsi "penyelamatan" yang diterapkan dalam kontraknya.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet skala besar

Sekarang lihat kembali catatan penebusan transaksi menguntungkan terakhir di seluruh exit scam.

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Sebanyak dua pertukaran dilakukan dalam transaksi yang menguntungkan tersebut, yang pertama adalah 4,164,831 (sekitar 4.16 juta) token MUMI seharga 0.349 ETH, dan yang kedua adalah 416,483.100.000.000 (sekitar 416 triliun) token MUMI seharga 9.368 ETH. Pertukaran kedua adalah pertukaran yang dimulai dalam fungsi "swapExactETHForTokens" dalam kontrak pajak (0x7ffb). Alasan mengapa jumlahnya tidak cocok dengan 420.690.000.000.000 (sekitar 420 triliun) token yang diwakili oleh parameter input adalah karena beberapa token digunakan sebagai pajak Dikirim ke kontrak token (0x4894), seperti yang ditunjukkan pada gambar di bawah ini:

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet skala besar

Pertukaran pertama sesuai dengan proses pertukaran kedua. Ketika token dikirim dari kontrak pajak (0x7ffb) ke kontrak router, kondisi pemicu fungsi pintu belakang dalam kontrak token terpenuhi, menyebabkan "swapTokensForEth" terpicu. oleh fungsi tersebut bukan operasi kritis.

  • Sabit di belakang

Seperti dapat dilihat dari penjelasan di atas, seluruh siklus exit scam mulai dari penerapan, hingga pembuatan kumpulan likuiditas, hingga Rug Pull token MUMI hanya membutuhkan waktu sekitar 3 jam, namun dengan biaya kurang dari sekitar 6,5 ETH (3 ETH digunakan untuk Untuk menambah likuiditas, 3 ETH digunakan untuk menukar MUMI dari kumpulan likuiditas untuk insentif, dan kurang dari 0,5 ETH digunakan untuk menyebarkan kontrak dan memulai transaksi) dan memperoleh 9,7 ETH, dengan keuntungan maksimum lebih dari 50%. **

Terdapat 5 transaksi dimana penyerang menukarkan ETH dengan MUMI yang tidak disebutkan pada artikel sebelumnya, informasi transaksinya adalah sebagai berikut:

Dengan menganalisis alamat EOA yang beroperasi dalam likuiditas, kami menemukan bahwa sebagian besar alamat tersebut adalah "robot baru" dalam rantai. Dikombinasikan dengan karakteristik keseluruhan penipuan, yang masuk dan keluar dengan cepat,** kami punya alasan untuk percaya bahwa seluruh penipuan ini menyasar Targetnya adalah semua jenis robot baru dan skrip baru yang sangat aktif dalam rantai. **

Oleh karena itu, apakah itu desain kontrak yang tampaknya tidak perlu namun rumit, penerapan kontrak, dan proses penguncian likuiditas token, atau perilaku mencurigakan dari alamat terkait penyerang yang secara aktif menukar ETH dengan token MUMI, dapat dipahami bahwa penyerang sedang mencoba untuk melakukannya. Penyamaran yang dibuat untuk mencoba menipu program anti-penipuan dari berbagai bot baru di rantai. **

Dengan melacak aliran modal, kami menemukan bahwa semua hasil dari serangan tersebut akhirnya dikirim ke alamat penyelesaian dana ** (0xDF1a)** melalui alamat serangan ② (0x9dF4).

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet skala besar

Faktanya, sumber dana awal dan tujuan akhir dana untuk banyak penipuan keluar yang kami deteksi baru-baru ini mengarah ke alamat ini, jadi kami telah melakukan analisis kasar dan statistik mengenai transaksi di alamat ini.

Akhirnya diketahui bahwa alamat tersebut menjadi aktif sekitar 2 bulan yang lalu dan telah memulai lebih dari 7.000 transaksi hingga hari ini, dan bahwa alamat tersebut telah berinteraksi dengan lebih dari 200 token.

Kami menganalisis sekitar 40 catatan transaksi token dan menemukan bahwa dalam kumpulan likuiditas yang sesuai dengan hampir semua token yang kami lihat, pada akhirnya akan ada transaksi pertukaran dengan jumlah masukan yang jauh lebih besar daripada total pasokan token. ETH masuk habis, dan seluruh periode keluar dari penipuan menjadi lebih pendek.

Transaksi penyebaran beberapa token (Mingyan China) adalah sebagai berikut:

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Rug Pull skala besar

Peringatan Keamanan Web3丨Game baru dalam rantai, dekripsi teknik Tarik Karpet berskala besar

Oleh karena itu, kita dapat menyimpulkan bahwa alamat ini sebenarnya adalah pemanen "keluar penipuan" otomatis berskala besar, dan target pemanenannya adalah robot baru dalam rantai tersebut.

**Alamat ini masih aktif. **

Tulis di akhir

Jika token tidak mengubah totalSupply saat pembuatannya, dan tidak memicu peristiwa Transfer, maka akan sulit bagi kami untuk mendeteksi apakah pihak proyek secara diam-diam membuat token. Hal ini juga akan memperburuk masalah apakah token tersebut aman atau tidak. tidak tergantung sepenuhnya pada sisi proyek. Sadar atau tidak" status quo.

**Oleh karena itu kita mungkin perlu mempertimbangkan untuk meningkatkan mekanisme token yang ada atau memperkenalkan solusi deteksi jumlah total token yang efektif untuk memastikan keterbukaan dan transparansi perubahan jumlah token. **Tidak cukup hanya menangkap perubahan status token dengan peristiwa yang terjadi saat ini.

Dan yang perlu kita waspadai adalah meskipun kesadaran anti-penipuan semua orang meningkat, metode anti-penipuan para penyerang juga meningkat. Ini adalah permainan yang tidak pernah berakhir. Kita perlu terus belajar dan berpikir untuk dapat melakukan ini. .Lindungi diri Anda di dalam game.

Lihat Asli
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
Perdagangkan Kripto Di Mana Saja Kapan Saja
Pindai untuk mengunduh aplikasi Gate.io
Komunitas
Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)