We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

64-Bit Assembly & Shellcoding for Ethical Hackers

Swapnil Singh

Unlock the Secrets of 64-Bit Assembly & Shellcoding for Ethical Hacking.

This offers an in-depth journey into the world of ethical hacking, focusing on 64-bit assembly language and advanced shellcoding techniques.

Read more

Unlock the Secrets of 64-Bit Assembly & Shellcoding for Ethical Hacking.

This offers an in-depth journey into the world of ethical hacking, focusing on 64-bit assembly language and advanced shellcoding techniques.

Explore the depths of cybersecurity with our course, '64-Bit Assembly & Shellcoding for Ethical Hackers.' Tailored for aspiring ethical hackers, this program delves into the intricate realms of 64-bit assembly language and advanced shellcoding techniques.

This comprehensive course guides participants through the fundamentals of assembly language, focusing specifically on 64-bit systems. By mastering these principles, students gain the expertise to manipulate and secure systems, identify vulnerabilities, and develop powerful exploits—all within an ethical framework.

Explore the intricate world of cybersecurity in this course, '64-Bit Assembly & Shellcoding for Ethical Hackers.' Designed for those eager to dive deep into low-level programming, this program focuses on mastering 64-bit assembly language and the art of shellcoding.

Learn the fundamentals of assembly language, understand 64-bit systems, and discover how to manipulate them for ethical hacking purposes. With practical exercises and simulations, you'll develop expertise in crafting powerful shellcode to identify vulnerabilities and fortify systems against potential threats.

This course equips you with the skills to create robust exploits and execute ethical hacking techniques responsibly. Gain a competitive edge in cybersecurity by mastering advanced shellcoding methods and understanding the intricacies of 64-bit assembly language. Join us and enhance your skills to become a proficient ethical hacker.

Enroll now

What's inside

Learning objectives

  • Indepth coverage of 64-bit assembly language, its architecture, and instructions.
  • Fundamental concepts and techniques for writing most basic and advanced shellcodes for ethical hacking and penetration testing.
  • Learn techniques for troubleshooting and debugging assembly language programs and shellcodes which is used in ethical hacking and penetration testing.
  • Practical application of assembly and shellcoding in real-world scenarios.
  • By the end of the course, students will be equipped with the knowledge and skills to effectively work with 64-bit assembly language and shellcoding.

Syllabus

Introduction
Building the basics for 64 bit assembly programming
How a computer system works ?
How does a CPU works ?
Read more
How registers work in CPU ?
Understanding Flags and Flags working in CPU
Lab Machine
Understanding Memory layout of a program
In this module we will learn what concepts are needed to write a hello world program in assembly language.
Structure of an assembly program
Concept of System Calls before printing Hello World in assembly
Getting System call information from system to print Hello World in assembly
Writing Hello World in assembly
In this module we will jump into how to define and move our data in assembly programming
How to define data in assembly programming
Understanding memory indexing of defined data in assembly programming
GDB settings for debugging our assembly programs
How to use mov instruction to move data in assembly programs
Moving data from memory into registers in assembly programming
Moving data from register to memory in assembly
Moving values from one register to another register in assembly
Moving data into small memory units of registers in assembly programming
Moving array data into registers in assembly programming
Moving word and dword values into registers in assembly
Moving character bytes in different sizes into registers in assembly
By the end of this session, participants will be able to demonstrate proficiency in performing arithmetic operations (addition, subtraction, multiplication, and division) in assembly programming.
Adding two integer numbers in assembly programming
Subtraction of integer numbers in assembly programming
Multiplication of integers in assembly programming
Division in assembly programming
Upon completion of this lesson, students will be able to explain how flags function in assembly programming and apply their knowledge to write code that utilizes flags effectively.
Understanding how registers store numbers in assembly program
Understanding overflow flag concept in assembly
Understanding Carry flag in assembly program
Understanding Parity flag in assembly program
Understanding Zero flag in assembly program
Understanding Auxiliary Flag in assembly programs
At the end of this instructional session, participants will be able to proficiently utilize bitwise logical operations in assembly programming.
Not bit logical operation in assembly programming
AND bit logical operation in assembly programming
OR logical operation in assembly programming
XOR logical operation in assembly programming
Bit shifting operations in assembly
Branching and looping in assembly
How jump works in assembly program
Conditional jumps in assembly program
How loop instruction works in assembly program
How to use loop instruction in assembly program
Functions in assembly programming
Installing gdb peda plugin to speed up debugging process
Understanding stack memory workings
Understanding push and pop instructions in assembly
Understanding stack frame in assembly
Creating stack frames in an assembly program
Function working basics in assembly programs
Using functions in assembly program
Passing input parameters to functions in assembly programming
Working with Strings in assembly programming
How strings are moved in assembly programming - the basic concept
Practical of how to move strings in assembly programming
Understanding the concept of Direction Flag in string movement in assembly
How to use REP ( repeat ) instruction to move strings in assembly programming
How to strings are compared in assembly programming
How LODS and STOS assembly instruction works in assembly programming
How to use LODS and STOS assembly instructions in assembly programming
Concept of how to encrypt strings in assembly programming
Practical demonstration of how to encrypt a string in assembly programming
Concept of how to decrypt any encrypted string in assembly programming
Practical demonstration of how to decrypt a string in assembly programming
After completing this section students will feel very confident in writing different types of shellcodes.
Shellcode basic concepts
Lab machine setup for shellcoding practice
Shellcode creation basic steps
Creating exit shellcode
GDB memory analysis of exit shellcode
Hello World shellcode using JMP CALL POP technique
Creating Hello World shellcode
In depth memory analysis of hello world shellcode using gdb
Hello world shellcode using stack memory
Creating Hello World shellcode using stack memory
Memory analysis of hello world shellcode using stack in gdb
Creating Hello World shellcode using RIP relative addressing technique
Memory analysis of Hello world shellcode using RIP relative addressing in gdb
How to create shellcode using execve syscall
Creating the shellcode using execve syscall
Indepth GDB memory analysis of shellcode which uses execve syscall

In this video we will see how many syscalls are used in order to create our TCP bind shellcode.

In this video we will create our TCP bind shellcode in assembly programming in our ubuntu lab machine.

Remove the nulls from the assembly program of our TCP bind shellcode in assembly
In this section we will learn how to encode and decode our shellcodes in memory using assembly programming. This will help you to understand the concept of encoding and decoding of shellcodes.

In this lecture you will learn a very good concept of decoding the shellcodes in memory at runtime using assembly instructions.

In this lecture we will encode our hello world shellcode and then we use the assembly program shellcode to decode the encoded shellcode in memory at runtime. You will learn a very good concept of decoding the shellcodes in memory at runtime using assembly instructions.

In this video lecture we are going to make some good memory analysis using GDB debugger in which we will see how encoded shellcode is decoded in memory using our assembly program which decodes the encoded shellcode in memory using a decoding procedure in assembly.

In this lecture first we will encode our /bin/sh shellcode then we will create an assembly program which decodes it at runtime. We use this decoder assembly instructions as a shellcode to decode all the /bin/sh encoded shellcode in memory to successfully execute it in memory.

We will use gdb debugger to see the decoding process of our decoder shellcode which decodes our /bin/sh shellcode in running memory.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Delves into low-level programming concepts, making it suitable for students with an interest in computer science and cybersecurity
Provides hands-on labs and simulations, allowing for practical application of assembly and shellcoding techniques
Focuses on ethical hacking, making it relevant for cybersecurity professionals and aspiring ethical hackers
Covers advanced shellcoding techniques, suitable for students with prior knowledge in assembly language
Lacks explicit prerequisites, which could be a caveat for students new to assembly language and shellcoding
May require additional resources for students to fully grasp the advanced concepts covered

Save this course

Save 64-Bit Assembly & Shellcoding for Ethical Hackers to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 64-Bit Assembly & Shellcoding for Ethical Hackers with these activities:
Practice Assembly Language Programming
Sharpen your assembly language skills and reinforce core concepts by practicing writing and debugging assembly programs.
Browse courses on Assembly Language
Show steps
  • Set up a development environment for assembly language
  • Create simple assembly programs that perform basic operations
  • Debug and troubleshoot your programs to identify and correct errors
  • Experiment with different assembly instructions and optimizations
Review Fundamental Computer Science Concepts
Strengthen your foundation by reviewing the fundamental concepts of computer science, including programming principles, operating systems, and data structures.
Browse courses on Computer Science
Show steps
  • Revisit textbooks or online materials on computer science fundamentals
  • Solve practice problems and coding exercises
  • Attend online webinars or workshops to refresh your knowledge
  • Discuss concepts with peers or a mentor
Organize and Review Course Materials
Improve retention and understanding by periodically organizing, reviewing, and summarizing the key concepts and materials from the course.
Show steps
  • Gather and organize notes, assignments, and other materials
  • Review and summarize the main concepts
  • Identify areas for further clarification or practice
  • Create study guides or flashcards for quick reference
Six other activities
Expand to see all activities and additional details
Show all nine activities
Solve Assembly Language Challenges
Deepen your understanding of assembly language through practice by solving coding challenges and puzzles designed to test your skills.
Browse courses on Assembly Language
Show steps
  • Find online platforms or resources with assembly language challenges
  • Select challenges that match your skill level
  • Solve the challenges and debug your code
  • Analyze your solutions and learn from your mistakes
Learn Advanced Assembly Language Techniques
Enhance your assembly language skills by following guided tutorials that cover advanced techniques for optimizing code and enhancing performance.
Browse courses on Assembly Language
Show steps
  • Identify reputable online resources or tutorials
  • Select tutorials that align with your learning goals
  • Follow the instructions and implement the techniques
  • Experiment with different approaches and optimize your code
Join a Study Group
Collaborate with peers to reinforce learning, exchange ideas, and clarify concepts related to assembly language and ethical hacking.
Show steps
  • Find or create a study group with like-minded individuals
  • Establish regular meeting times and a study schedule
  • Discuss course materials, solve problems, and share resources
  • Provide feedback and support to group members
Create an Assembly Language Shellcode Tutorial
Solidify your understanding of assembly language and shellcoding by creating a step-by-step tutorial explaining how to craft effective shellcode.
Browse courses on Assembly Language
Show steps
  • Research and gather information on assembly language and shellcoding
  • Choose a specific topic or technique to focus on
  • Write clear and concise instructions with detailed examples
  • Proofread and revise your tutorial for clarity and accuracy
Attend Cybersecurity Conferences
Expand your knowledge and connect with professionals in the field by attending cybersecurity conferences that focus on ethical hacking and assembly language.
Browse courses on Cybersecurity
Show steps
  • Research and identify relevant conferences
  • Register and make travel arrangements
  • Attend sessions on assembly language and ethical hacking
  • Network with speakers and attendees
Develop an Ethical Hacking Tool
Apply your assembly language and shellcoding skills by creating a practical tool to assist in ethical hacking activities, such as vulnerability assessment or security analysis.
Browse courses on Ethical Hacking
Show steps
  • Identify a specific hacking task or problem to solve
  • Design and plan the functionality of your tool
  • Implement the tool in assembly language, incorporating shellcoding techniques
  • Test and refine your tool to ensure its effectiveness
  • Document and share your tool with the community

Career center

Learners who complete 64-Bit Assembly & Shellcoding for Ethical Hackers will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to 64-Bit Assembly & Shellcoding for Ethical Hackers.
x64 Assembly Language and Reverse Engineering Practicals
Most relevant
Specialized Exploits: Windows and Linux Shellcode
Most relevant
Try It: Ethical Hacking
Most relevant
Kali Linux Concepts and Basic Functionality
Most relevant
The Complete Nmap Ethical Hacking Course : Network...
Most relevant
Hacking in Practice: Intensive Ethical Hacking MEGA Course
Most relevant
Penetration Testing and Ethical Hacking Complete Hands-on
Most relevant
Design a CPU 2
Most relevant
Ethical Hacking: Understanding Ethical Hacking
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser