Workshop @ Hack.lu 2019: Reversing WebAssembly Module 101


2019/10/22 @ Hack.lu 2019

WebAssembly (WASM) is a new binary format currently supported by all major web-browsers (Firefox, Chrome, Safari and Edge). WebAssembly module are most commonly compiled from C/C++/Rust source code, loaded and executed inside JS scripts. It is known for being used for malicious purposes like cryptojacking but you will legitimately found usage of WebAssembly inside web-browsers addons, nodejs module or even blockchain smart contracts.

In this workshop, I will first introduce WebAssembly concepts and why it’s consider as a “game changer for the web”. Secondly, I will expose how to analyze a WebAssembly module using different techniques (static & dynamic) as well as some open-source tools that make you the life easier (Octopus, Wasabi, …). Finally, we will hands-on with simple examples/crackmes and finally go throws the analysis of cryptominers.

The following point will be discussed in this workshop.

  1. Introduction
  2. WebAssembly Basics
  3. WebAssembly Runtime VM
  4. Module dissection
  5. Reversing wasm module
  6. Dynamic analysis
  7. Cryptominers
  8. Conclusion

link / slides / repository

Workshop @ Northsec 2019: Reversing WebAssembly Module 101


2019/05/21 @ Northsec 2019

WebAssembly (WASM) is a new binary format currently supported by all major browsers (Firefox, Chrome, WebKit /Safari and Microsoft Edge) and executed inside JS scripts. It is already used for malicious purposes like Cryptojacking and can be found inside some web-browsers addons.

In this workshop, I will first introduce WebAssembly concepts and why it’s consider as a “game changer for the web”. Secondly, I will expose different techniques (Static/Dynamic analysis) and tools (OctopusWasabi, …) to perform a WebAssembly module analysis. Finally, we will hands-on with basic examples (crackmes) and go throws some real-life cryptominer and web-browsers plugins using WebAssembly module.

Along the talk, I will only used open source tools.

  1. Introduction
  2. WebAssembly Basics
  3. WebAssembly Runtime VM
  4. WebAssembly VM internals
  5. Module dissection
  6. Program analysis
  7. Wasabi
  8. Cryptominers
  9. Firefox addons analysis
  10. Conclusion

link / slides (not yet) / repository

Workshop @ Geneva Annual Blockchain Congress 2019: Introduction to Ethereum smart contract development and security

blockchain geneva octopus patrick ventuzelo ethereum eth introduction security smart contract workshop

2019/01/21 @ Geneva Annual Blockchain Congress 2019

Ethereum is one of the top5 cryptocurrency on the market cap and the major public smart contract platform. This position is due partially to the possibility to create decentralized applications (Dapps) by writing smart contracts. The Solidity source code can contains flaws (reentrancy, integer overflow/underflow, bad randomness, backdoor, …) and it’s important to keep security in mind when developing smart contracts.

After this workshop delivered by Quoscient, attendees will be able to create simple Ethereum smart contract, upload and interact with them on the blockchain.
We will also discuss about major security flaws/vulnerabilities that have occurred on the Ethereum main-net and how to prevent them from a developer point of view.

The following points will be covered in the workshop:

  1. Introduction of Ethereum
  2. Smart contracts development
  3. Vulnerabilities inside smart contracts
  4. Going deeper & Questions

link / slides

Workshop @ BlackAlps 2018: Reversing and Vulnerability research of Ethereum Smart Contracts

blackalps 2018 ethereum reverse vulnerability research octopus patrick ventuzelo smart contract evm ethereum ETH EVM workshop


2018/11/08 @ BlackAlps 2018

Ethereum is the reference of smart contract platform due to the possibility to create decentralized applications (Dapps) by writing smart contracts. The Solidity source code of those smart contracts are not always available and can contains flaws (reentrancy, integer overflow/underflow, bad randomness, backdoor, ….). Some smart contract handle thousand of ETH and can’t be modified once pushed into the blockchain. More than 90% of them doesn’t provide the associated Solidity source code and that’s also why be able to reverse and analyze Ethereum smart contract (only with the EVM bytecode) make even more sense.

This workshop is intended to bring attendees the basic skills (theoretical and practical) to analyze Ethereum smart contracts. After the workshop, they will be able to reverse, debug and find basic vulnerabilities into real-life smart contracts without having the Solidity source code.

The following points will be covered in the workshop:

  1. Quick introduction of Ethereum
  2. Basic Ethereum testing lab
  3. Reverse engineering of Ethereum smart contracts
  4. Analysis and vulnerability research
  5. Going deeper & Questions

link / slides / video

Workshop @ hack.lu 2018: Reversing and Vulnerability research of Ethereum Smart Contracts

hacklu 2018 ethereum reverse vulnerability octopus patrick ventuzelo smart contract evm ethereum ETH


2018/10/18 @ hack.lu 2018

This workshop is intended to bring attendees the basic skills (theoretical and practical) to analyze Ethereum smart contracts. After the workshop, they will be able to reverse, debug and find basic vulnerabilities into real-life smart contracts without having the Solidity source code.

The following points will be covered in the workshop:

  1. Quick introduction of Ethereum
  2. Basic Ethereum testing lab
  3. Reverse engineering of Ethereum smart contracts
  4. Analysis and vulnerability research
  5. Going deeper & Questions

link / slides