Le 16 mai 2022, Beosin EagleEye a surveillé que le contrat FEGexPRO de FEGtoken sur Ethereum et BNB Chain était exploité pour environ 3 280 BNB et 144 ETH par une attaque flashloan. L’équipe de sécurité de Beosin a analysé l’incident et les résultats sont présentés ci-dessous.
Présentation du jeton FEG
Le projet FEGtoken comprend le jeton déflationniste FEG sur Ethereum et BNB Chain et l’échange décentralisé multi-chaînes FEGex. Le site officiel : https://fegtoken.com
Les informations pertinentes
L’attaque contenait plusieurs transactions, dont certaines sont présentées ci-dessous.
Hachage de la transaction :
0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063 (chaîne BNB)
0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2 (Ethereum)
Adresse du pirate :
0x73b359d5da488eb2e97990619976f2f004e9ff7c
Contrat hacker :
0x9a843bb125a3c03f496cb44653741f2cef82f445
Contrat de victime :
0x818e2013dd7d9bf4547aaabf6b617c1262578bc7 (chaîne BNB)
0xf2bda964ec2d2fcb1610c886ed4831bf58f64948 (Ethereum)
Flux d’exploitation
Le flux d’exploitation est le même sur Ethereum et BNB Chain, et l’analyse suivante est basée sur BNB Chain.
1. Le pirate appelle le contrat d’attaque (0x9a84…. .f445) pour prêter 915,84 WBNB à partir du contrat DVM (0xd534… .0dd7), puis convertit 116,81 WBNB en 115,65 fWBNB pour se préparer à l’attaque suivante.
2. Le pirate a utilisé le contrat d’attaque pour créer 10 contrats.

3. Le pirate informatique mise ensuite les jetons fWBNB échangés sur le contrat FEGexPRO (0x818e…8bc7).

4. Ensuite, le pirate appelle à plusieurs reprises le dépôtInterne et swapToSwap fonctions pour laisser le contrat FEGexPRO approuver fBNB aux autres contrats précédemment déployés.

5. Puis le transfert à partir de La fonction est appelée en utilisant d’autres contrats d’attaque pour transférer tous les fBNB du contrat FEGexPRO vers le contrat d’attaque (0x9a84….f445).

6. Ensuite, empruntez 31 217 683 882 286,007211154 jetons FEG et 423 WBNB du contrat de paire de trading LP (0x2aa7.. .6c14).

7. Répétez les étapes 3, 4 et 5 pour voler une grande quantité de jetons FEG du contrat FEGexPRO dans le contrat d’attaque.


8. Renvoyez ensuite le prêt flash et transférez le WBNB obtenu au contrat d’attaque pour terminer cette attaque.

9. Plus de 50 attaques identiques ont été exécutées en utilisant la même méthode, avec un profit total d’environ 144 ETH et 3280 BNB.



Analyse de vulnérabilité
Cette attaque exploite principalement la vulnérabilité que l’adresse du chemin dans le swapToSwap fonction du contrat FEGexPRO peut être contrôlée et la validité de l’adresse du chemin n’est pas vérifiée dans le contrat. Étant donné que le contrat dépend du solde actuel du jeton dans le contrat lors de la mise à jour du solde de l’utilisateur dans le dépôtInterne fonction, l’attaquant est capable de transmettre une adresse de chemin malveillante et le solde du jeton dans le contrat ne changera pas lorsque le swapToSwap est appelée, permettant à l’attaquant de réinitialiser à plusieurs reprises le nombre de jetons enregistrés par le contrat d’attaque dans le contrat FEGexPRO, permettant ainsi au contrat FEGexPRO d’approuver à plusieurs reprises ses jetons pour plusieurs contrats malveillants contrôlés par l’attaquant.


Recherche de fonds
Au moment d’écrire ces lignes, les fonds volés sont toujours à l’adresse de l’attaquant (0x73b3…. .ff7c) sans être transférés.


Résumé
En réponse à cet incident, l’équipe de sécurité de Beosin recommande :
1. Lors du développement d’un projet, il convient de prêter attention aux éventuels risques de sécurité lors de l’interaction avec d’autres contrats et d’essayer d’éviter de définir des paramètres clés contrôlables par l’utilisateur. Si les besoins de l’entreprise sont tels, les paramètres entrés par l’utilisateur doivent être strictement jugés comme risqués ou non.
2. Avant la mise en ligne du projet, il est fortement recommandé de choisir une société d’audit de sécurité professionnelle pour un audit de sécurité complet afin d’éviter les risques de sécurité.
1.Quel est l’impact sur Web3 après le crash de LUNA et la « fuite » de DeFi ?
2. Comment assurer la sécurité du NFT sous le boom du Web 3.0 ?
3. DEUS Finance a subi sa deuxième attaque de prêt éclair cette année : analyse détaillée de Beosin
4. Beosin a terminé le service d’audit de sécurité de Crypto LEGO ALG
5. Quel est l’impact sur Web3 après le crash de LUNA et la « fuite » de DeFi ?
6. 「RECAP」AMA sur la façon de sécuriser votre contrat intelligent pendant le développement avec Beosin VaaS
Si vous avez besoin de services de sécurité blockchain, veuillez nous contacter :
Site Internet E-mail Gazouillement officiel Alerte Télégramme LinkedIn