We may earn an affiliate commission when you visit our partners.
Christian Jimenez

En este curso aprenderás, desde las bases teóricas hasta la practica con ejercicios, a entender que es el Buffer Overflow, explotarlo con éxito y tener mas confianza a la hora de enfrentarte a un BoF de una certificación o CTF.

Empezaremos con una pequeña parte de teoria, que es necesaria. Para luego practicar con muchos ejercicios tanto en Linux como en Windows porque practicando se aprende. Todo bajo la arquitectura de 32 Bits.

Crearemos nuestro laboratorio y veremos temas como:

Read more

En este curso aprenderás, desde las bases teóricas hasta la practica con ejercicios, a entender que es el Buffer Overflow, explotarlo con éxito y tener mas confianza a la hora de enfrentarte a un BoF de una certificación o CTF.

Empezaremos con una pequeña parte de teoria, que es necesaria. Para luego practicar con muchos ejercicios tanto en Linux como en Windows porque practicando se aprende. Todo bajo la arquitectura de 32 Bits.

Crearemos nuestro laboratorio y veremos temas como:

  • Entender el Buffer Overflow.

  • Como se realiza el Buffer Overflow Attack.

  • Conceptos Registro de la memoria, como esta estructurada la memoria y el Stack.

  • Conocer instrucciones basicas de Assembly. (Lenguaje de bajo nivel)

  • Practicar fuzzing con Python.

  • Obtener un conexión reversa mediante la inyección de una shellcode.

  • Practicar el Stack-Based Buffer Overflow.

  • Practicar la técnica de Ret2libc.

  • Bypass de protecciones. (ASRL y DEP)

  • Manejo de Debuggers como GDB e Inmunity Debbuger.

  • Integer Overflow

  • Format Strings

  • Cadenas ROP.

  • Windows SEH

  • Windows Egghunter

Con todo lo aprendido en el curso estarás mas seguro para vencer retos CTF de Buffer Overflow, Empezar con certificaciones de exploiting o entender la parte de BoF de certificaciones con la del

No necesitas tener ningún conocimiento previo en Buffer Overflow ya que veremos este tema desde 0 hasta conocer diferentes técnicas de explotación.

Te espero en el curso para explotar muchos ejercicios y programas.

Enroll now

What's inside

Learning objectives

  • Aprender que es el buffer overflow y los conceptos que se utilizan.
  • Aprender a realizar un ataque de buffer overflow en windows y linux.
  • Practicar un poco del lenguaje python al realizar diferentes ejercicios de bof.
  • Aprender diferentes técnicas para aprovecharnos de un desbordamiento de buffer

Syllabus

Explicación teórica de que es el Buffer y como se produce un desbordamiento (Overflow) del buffer de la memoria.

Introducción

Bienvenida al curso, veremos que aprenderemos, para que nos sirve un ataque de Buffer Overflow y como empezaremos.

Read more

Explicación teórica de como se realiza el ataque de Buffer Oveflow tanto en Linux como en Windows en  arquitecturas de 32 Bits.

Virtualización de la maquina atacante Kali Linux para realizar los Ataques de Buffer Oveflow.

Buffer Overflow en Linux

Virtualización de la maquina victima Debian para realizar los Ataques de Buffer Oveflow en Linux de 32 Bits.

Primer ejercicio de Buffer Overflow. Algo básico pero veremos como sobrescribir direcciones en la pila para que se cumpla un condicional.

Mediante otro ejercicio, reforzaremos conceptos para tener una base solida.

Veremos como a través de la exportación de un variable de entorno podemos escribir direcciones en la pila. No hay nada mejor que practicar junto a ejemplos.

En este video veremos un ejemplo de Stack Based Buffer Overflow donde tendremos control del registro EIP e inyectaremos nuestra Shellcode, todo esto mediante un script en Python.

Crearemos una revershell con la ayuda de msfvenom, encontraremos los badchars para que no nos de ningún error y controlaremos el equipo victima desde nuestra maquina de atacante realizando un tratamiento de la tty para tener una shell completamente interactiva. Además veremos el uso de otro complemento de GDB.

No necesariamente tienes que inyectar tu Shellcode después del registro EIP. Veremos como podemos inyectar en otras secciones de la memoria y poder seguir obteniendo una Shell. Les mostraré una herramienta muy útil que nos ayudara a obtener direcciones de instrucciones especificas.

  • Vamos a practicar con otro ejercicio de Stack Based Buffer Overflow para que los conceptos y técnicas se nos quede claro. Son libres de usar GDB-PEDA o GDB-GEF para la explotación. En este ejemplo estaré usando el primero.

Veremos como no solo podemos inyectar una Shellcode que nos devuelva una Shell, sino otros que nos permiten hacer cosas divertidas.

Ejercicio 6 Stack Based Buffer Overflow

Hasta el momento vimos como podiamos desbordar entradas de texto y aprovecharnos de eso. ¿Sabias que tambien se pueden desbordar valores enteros (números)?

En este video veremos como aprovecharnos de estos valores para hacer que sucedan cosas.

Reforzamos conceptos de Interger Overflow mediante otro ejemplo practico.

Aprenderas a detectar y evadir protecciones de binarios en Linux. Veremos la tecnica del Ret2libc, bypass ASRL y mas.

Vamos a conocer un método con el cual podemos obtener una Shell con la diferencia que podemos evadir la protección NX cuando esta se encuentra activada.

A poner en practica todos los conceptos aprendidos mediante un ejemplo práctico.

Volvemos a realizar otro ejemplo practico para que nos quede mas claro esta técnica. La práctica hace al maestro.

Vamos a comprender un poco mejor el lenguaje ensamblador, como inicia y termina una función, llamadas convencionales en la arquitectura x86, registros caller y calee y mas. Esto nos ayudará a comprender mejor futuras lecciones.

Veremos y comprenderemos el tema de encadenamiento de funciones a través de un poco de teoría y un ejercicio práctico. Sin darnos cuenta lo aplicamos en el método Ret2Libc

Entramos en la sección de Return Oriented Programming (ROP), vamos a conocer una plataforma de WarGames (Retos) para practicar esta técnica con retos muy prácticos.

Vamos ampliar nuestro arsenal con una herramienta que nos permite hacer ingeniería reversa de binarios. Veremos como es posible obtener un pseudo código de las funciones de un binario en caso de no conocer o tener el código fuente del mismo.

Nueva versión de Kali Linux

Vamos a resolver el primer ejercicio dela plataforma ROPEmporium y realizaremos un análisis de código mediante el código assembler.

Vamos a realizar una ingeniería reversa del segundo ejercicio de la plataforma ROPEmporium para ver como funciona el binario.

Creamos un exploit para resolver el segundo ejercicio.

Vamos a realizar una ingeniería reversa del tercer ejercicio de la plataforma ROPEmporium para ver como funciona el binario.

Creamos un exploit para resolver el tercer ejercicio, este es un claro ejemplo de ROP. Vamos a divertirnos.

Entramos a una nueva sección de ataques dentro del Buffer Overflow. Explicaremos qué es y cómo funciona este tipo de ataques.

Vamos a ver, mediante un ejemplo practico, como podemos leer direcciones arbitrarias de la memoria y poder encontrar los parámetros que estamos introduciendo.

Vamos a ver como podemos ingresar a funciones que no tenemos acceso dentro del código mediante los Formats Strings.

Seguimos practicando la técnica Format String para la explotación de binarios.

Format String <0x000014>

Vamos a realizar un bypass de aquello que hemos estado deshabilitando en todas las clases, Ya es hora, bypass de ASRL.

Buffer Overflow en Windows

En este video vamos a introducirnos teóricamente a como funciona y como vamos a explotar un Buffer Overflow en Windows.

Vamos a crear nuestro laboratorio para esta sección. Estaremos virtualizando una maquina Windows 7 Home Basic de 32 bits para trabajar junto a nuestra maquina Kali Linux.

Vamos a instalar algunos programas a la maquina ya virtualizada que nos ayudaran para que que pasa a bajo nivel con los programas que vamos a estar vulnerando.

Vamos a aplicar desbordamiento de buffer Stack Based para lograr una ejecución remota de comandos.

Vamos a aplicar desbordamiento de buffer Stack Based para lograr una ejecución remota de comandos. Este ejercicio aparece en varias certificaciones.

Que el manejo de excepciones no nos detenga, es mas vamos a aprovecharnos de eso para que apunte a nuestra Shellcode. Técnica SEH.

Es hora de aplicar la técnica SEH para conseguir un desbordamiento de buffer y ejecución remota de comandos.

Esta técnica nos salvara la vida cuando no tengamos mucho espacio para introducir nuestra Shellcode. Técnica de EggHunter.

En este ejemplo practico vamos a combinar un Stack Based con un EggHunter.

En este ejemplo practico vamos a combinar un SEH con un EggHunter.

El DEP ya nos ha molestado en Linux y ahora lo hace en Windows. No tenemos de otra que hacerle un Bypass. Uso de cadenas ROP para vencer a DEP.

Vamos a aplicar todo lo aprendido teóricamente para ejecutar nuestra Shellcode dentro de la pila a pesar de que el DEP este habilitado.

Recapitulamos todo lo visto en el curso y veremos que podemos hacer con eso desde ahora.

¿Te gustaría conocer que certificaciones a nivel internacional hay para el desarrollo de exploits?

Muchas gracias por tomar el curso. Nos vemos la próxima!

Conocerás acerca de futuros cursos del instructor.
Clase Extra

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers buffer overflows on both Windows and Linux, which are foundational concepts for understanding more advanced exploitation techniques and vulnerability analysis
Includes hands-on exercises and labs, which allows learners to practice and apply the concepts they learn in a practical setting, reinforcing their understanding
Starts with the theoretical foundations of buffer overflows and gradually progresses to practical exploitation techniques, making it suitable for learners with varying levels of experience
Explores techniques like Ret2libc, ASRL bypass, DEP bypass, SEH exploitation, and EggHunter, which are commonly encountered in CTF challenges and relevant to certification exams
Involves assembly language basics, debugging with GDB and Immunity Debugger, and reverse engineering binaries, which are valuable skills for understanding software vulnerabilities
Focuses on 32-bit architectures, which may not be as relevant for modern systems that are predominantly 64-bit, potentially limiting the applicability of the skills learned

Save this course

Save Hacking y Exploiting Buffer Overflow en Windows y Linux 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 Hacking y Exploiting Buffer Overflow en Windows y Linux with these activities:
Repasar los fundamentos de la arquitectura de 32 bits
Refrescar los conocimientos sobre la arquitectura de 32 bits para comprender mejor cómo funciona el buffer overflow.
Show steps
  • Revisar la organización de la memoria en sistemas de 32 bits.
  • Estudiar los registros de la CPU y su función.
  • Comprender el funcionamiento de la pila (stack).
Leer 'Hacking: El arte de la explotación'
Leer este libro para obtener una base sólida en los conceptos de hacking y explotación de vulnerabilidades.
View Alter Ego: A Novel on Amazon
Show steps
  • Leer los capítulos relacionados con el buffer overflow y la explotación de vulnerabilidades.
  • Realizar los ejercicios prácticos propuestos en el libro.
  • Investigar los temas que no queden claros.
Practicar ejercicios de buffer overflow en VulnHub
Practicar con máquinas virtuales vulnerables para aplicar los conocimientos adquiridos en el curso.
Show steps
  • Descargar máquinas virtuales vulnerables de VulnHub.
  • Identificar y explotar vulnerabilidades de buffer overflow en las máquinas virtuales.
  • Documentar el proceso de explotación.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Crear un blog sobre buffer overflows
Escribir artículos de blog para consolidar el conocimiento y compartirlo con otros.
Show steps
  • Elegir un tema específico relacionado con buffer overflows.
  • Investigar y documentar el tema elegido.
  • Escribir un artículo de blog claro y conciso.
  • Publicar el artículo en un blog personal o en una plataforma de blogging.
Desarrollar un exploit para una aplicación vulnerable
Desarrollar un exploit para una aplicación vulnerable para aplicar los conocimientos adquiridos en el curso.
Show steps
  • Identificar una aplicación vulnerable a buffer overflow.
  • Analizar la aplicación para identificar la vulnerabilidad.
  • Desarrollar un exploit para la vulnerabilidad.
  • Probar el exploit en un entorno controlado.
Leer 'Gray Hat Hacking: The Ethical Hacker's Handbook'
Leer este libro para obtener una visión general de las técnicas de hacking ético y cómo se utilizan las vulnerabilidades en ataques reales.
View Alter Ego: A Novel on Amazon
Show steps
  • Leer los capítulos relacionados con la explotación de vulnerabilidades y el hacking ético.
  • Investigar los temas que no queden claros.
  • Considerar cómo las técnicas descritas se aplican a la defensa contra ataques.
Contribuir a un proyecto de seguridad informática
Contribuir a un proyecto de seguridad informática para aplicar los conocimientos adquiridos en el curso y aprender de otros profesionales.
Show steps
  • Buscar un proyecto de seguridad informática de código abierto que te interese.
  • Identificar una tarea en la que puedas contribuir.
  • Contribuir al proyecto siguiendo las pautas del proyecto.

Career center

Learners who complete Hacking y Exploiting Buffer Overflow en Windows y Linux will develop knowledge and skills that may be useful to these careers:
Desarrollador de Exploits
Un Desarrollador de Exploits crea código que aprovecha las vulnerabilidades en el software para obtener acceso no autorizado. Este curso es el material ideal para un aspirante a desarrollador de exploits, ya que cubre desde la teoría hasta la práctica en la explotación de buffer overflows, tanto en Windows como en Linux. El curso enseña cómo crear shellcodes, realizar bypass de protecciones como ASRL y DEP, y utilizar técnicas avanzadas como cadenas ROP, Windows SEH y Windows Egghunter. En general, la habilidad de crear exploits es valiosa para probar la seguridad de los sistemas o para investigaciones de seguridad ofensiva.
Probador de Penetración
Un Probador de Penetración evalúa la seguridad de sistemas informáticos simulando ataques maliciosos. Este curso es valioso porque cubre el hackeo y la explotación de buffer overflows, una habilidad esencial para un probador de penetración. La capacidad de explotar vulnerabilidades en Windows y Linux, como se enseña en este curso, permite al probador de penetración identificar debilidades en la seguridad que podrían ser aprovechadas por atacantes reales. Adicionalmente, las técnicas de bypass de protecciones como ASRL y DEP, así como el uso de cadenas ROP, Windows SEH y Windows Egghunter, son cruciales para superar medidas de seguridad y demostrar el impacto potencial de las vulnerabilidades. Para un aspirante a probador de penetración, el curso ofrece una base sólida en técnicas de explotación de bajo nivel.
Analista de Seguridad Informática
Un Analista de Seguridad Informática protege los sistemas y redes de una organización contra las ciberamenazas. Este curso puede ser de gran ayuda para comprender las vulnerabilidades de buffer overflow y cómo explotarlas, lo cual es fundamental para identificar y mitigar riesgos. El curso profundiza en la explotación de buffer overflow en Windows y Linux, lo que prepara al estudiante para analizar el código en busca de vulnerabilidades y desarrollar estrategias de defensa más efectivas. El conocimiento de técnicas como Ret2libc, bypass de ASRL y DEP, cadenas ROP, Windows SEH y Windows Egghunter, proporciona una ventaja significativa para asegurar aplicaciones y sistemas. Un analista de seguridad informática que está aprendiendo sobre buffer overflows y cómo explotarlos en situaciones del mundo real a través de ejercicios prácticos podría encontrar este curso esencial para desarrollar su comprensión sobre el dominio.
Ingeniero de Seguridad
Un Ingeniero de Seguridad diseña, implementa y gestiona sistemas de seguridad para proteger la infraestructura de una organización. Este curso ayuda a un ingeniero de seguridad a comprender las vulnerabilidades a nivel de código y cómo los atacantes pueden explotarlas. El conocimiento práctico de buffer overflows en Windows y Linux, así como las técnicas de bypass de protecciones, permite al ingeniero de seguridad diseñar sistemas más robustos y seguros. Este curso podría ser útil para que un ingeniero de seguridad mejore sus habilidades, particularmente el uso de herramientas como GDB e Immunity Debugger y el entendimiento de la arquitectura de 32 bits. El curso, que cubre fuzzing con Python y la inyección de shellcode, equipa al ingeniero de seguridad con las herramientas necesarias para defenderse contra ataques sofisticados.
Analista de Vulnerabilidades
Un Analista de Vulnerabilidades identifica y evalúa las debilidades en sistemas y aplicaciones. Este curso ayuda a desarrollar las habilidades necesarias para encontrar y entender buffer overflows, una clase común de vulnerabilidad. Al aprender cómo explotar estas vulnerabilidades en entornos Windows y Linux, el analista puede evaluar con mayor precisión el riesgo que representan y recomendar soluciones efectivas. El analista de vulnerabilidades se beneficiaría enormemente, ya que el curso abarca temas relevantes como fuzzing con Python, inyección de shellcode y técnicas de bypass de protecciones (ASRL, DEP), proporcionando una comprensión profunda de cómo los atacantes pueden aprovechar estas debilidades.
Ingeniero de Pruebas de Seguridad
Un Ingeniero de Pruebas de Seguridad diseña y ejecuta pruebas de seguridad para identificar vulnerabilidades en sistemas y aplicaciones. Este curso ayuda a desarrollar las habilidades técnicas necesarias para realizar pruebas de penetración y análisis de vulnerabilidades, especialmente en lo que respecta a buffer overflows. La capacidad de explotar vulnerabilidades en Windows y Linux, así como el conocimiento de técnicas de bypass de protecciones, permite al ingeniero de pruebas de seguridad evaluar con mayor precisión el riesgo que representan las vulnerabilidades y desarrollar pruebas más efectivas. Un ingeniero de pruebas de seguridad puede usar las técnicas aprendidas para descubrir vulnerabilidades críticas antes de que sean explotadas por atacantes.
Investigador de Malware
Un Investigador de Malware analiza software malicioso para comprender su funcionamiento e identificar formas de detectarlo y neutralizarlo. Este curso proporciona conocimientos esenciales sobre cómo se explotan las vulnerabilidades de buffer overflow, lo cual es una técnica común utilizada en el malware. Al comprender las técnicas de explotación en Windows y Linux, un investigador de malware puede analizar el código malicioso con mayor eficacia e identificar patrones y firmas que permitan la detección temprana. La práctica de fuzzing con Python, la inyección de shellcode y el análisis de cadenas ROP y técnicas SEH son particularmente útiles para comprender el comportamiento del malware y desarrollar contramedidas efectivas. Un futuro investigador de malware puede encontrar en este curso la oportunidad de obtener experiencia en la detección y análisis de estas vulnerabilidades.
Analista de Operaciones de Seguridad
Un Analista de Operaciones de Seguridad (SOC) monitorea y analiza la actividad de seguridad para detectar y responder a amenazas. Este curso ayuda a comprender las técnicas de explotación utilizadas en los ataques, lo cual es fundamental para identificar y priorizar alertas de seguridad. El conocimiento profundo de buffer overflows en Windows y Linux, así como las técnicas de inyección de shellcode y bypass de protecciones, permite al analista de SOC analizar el malware y los exploits utilizados en los ataques e implementar contramedidas efectivas. Un analista de operaciones de seguridad podría usar este curso para aprender sobre ataques reales para estar preparado para detectar intrusiones y responder con rapidez.
Especialista en Respuesta a Incidentes
Un Especialista en Respuesta a Incidentes investiga y gestiona incidentes de seguridad informática para minimizar su impacto. Este curso permite comprender las técnicas de explotación utilizadas en los ataques, lo cual es fundamental para identificar la causa raíz de un incidente y contener su propagación. El conocimiento profundo de buffer overflows en Windows y Linux, así como las técnicas de inyección de shellcode y bypass de protecciones, permite al especialista en respuesta a incidentes analizar el malware y los exploits utilizados en los ataques e implementar contramedidas efectivas. Un especialista en respuesta a incidentes podría usar este curso para simular desbordamientos de buffer y mejorar los protocolos para la respuesta a incidentes.
Desarrollador de Software Seguro
Un Desarrollador de Software Seguro escribe código teniendo en cuenta la seguridad, para prevenir vulnerabilidades que puedan ser explotadas. Este curso puede ser beneficioso porque enseña cómo los buffer overflows pueden ser explotados en Windows y Linux, lo que sensibiliza al desarrollador sobre la importancia de escribir código que maneje correctamente la memoria y evite estos desbordamientos. La comprensión de técnicas como Ret2libc, bypass de ASRL y DEP, cadenas ROP, Windows SEH y Windows Egghunter ayuda al desarrollador a implementar medidas de seguridad más efectivas y a realizar pruebas de seguridad más rigurosas. Al completar este curso, un desarrollador de software aprende cómo escribir código más robusto y seguro, minimizando los riesgos de vulnerabilidades explotables.
Auditor de Seguridad Informática
Un Auditor de Seguridad Informática evalúa la seguridad de los sistemas y procesos de una organización para asegurar el cumplimiento de las políticas y regulaciones. El curso ayuda a un auditor a entender a fondo las vulnerabilidades técnicas y cómo pueden ser explotadas, lo que es esencial para realizar auditorías efectivas. La capacidad de comprender las técnicas de explotación de buffer overflows en Windows y Linux, así como los métodos de bypass de protecciones, permite al auditor evaluar con mayor precisión los riesgos de seguridad y recomendar mejoras. Al realizar una auditoría de seguridad informática, es importante conocer las técnicas de Ret2libc para evaluar adecuadamente los riesgos.
Analista de Inteligencia de Amenazas
Un Analista de Inteligencia de Amenazas recopila y analiza información sobre amenazas cibernéticas para anticipar y prevenir ataques. Este curso puede ser útil porque aprende acerca de las técnicas de explotación utilizadas por los atacantes, lo cual es fundamental para comprender el panorama de amenazas y desarrollar estrategias de defensa proactivas. La base del curso está en buffer overflows en Windows y Linux y técnicas de explotación para proporcionar inteligencia procesable sobre las amenazas emergentes. El analista de inteligencia de amenazas también debe estar familiarizado con Ret2libc para evaluar adecuadamente los riesgos.
Administrador de Seguridad de Redes
Un Administrador de Seguridad de Redes gestiona la seguridad de la infraestructura de red de una organización. Este curso puede ayudar al administrador a entender las vulnerabilidades técnicas y cómo pueden ser explotadas, lo que es esencial para configurar y gestionar firewalls, sistemas de detección de intrusos y otras herramientas de seguridad de manera efectiva. El administrador puede aprender sobre las técnicas de buffer overflows en Windows y Linux para ayudar a prevenir ataques. En general, el administrador de seguridad de redes puede utilizar este curso para tomar los pasos apropiados para asegurar redes.
Consultor de Seguridad Informática
Un Consultor de Seguridad Informática asesora a las organizaciones sobre cómo mejorar su postura de seguridad. Este curso puede ser de utilidad para que el consultor entienda las vulnerabilidades técnicas y cómo pueden ser explotadas, lo que es esencial para proporcionar recomendaciones efectivas. El consultor puede aprender sobre las técnicas de buffer overflows en Windows y Linux para ayudar a las organizaciones a implementar medidas de seguridad más robustas. Un consultor de seguridad informática debe tener un conocimiento sólido de buffer overflows y Ret2libc.
Arquitecto de Seguridad
Un Arquitecto de Seguridad diseña la infraestructura de seguridad de una organización, asegurando que los sistemas estén protegidos contra amenazas. Este curso puede ayudar a un arquitecto a comprender mejor las vulnerabilidades en el nivel de código y cómo los atacantes pueden explotarlas. Al conocer los métodos de buffer overflows, así como las técnicas para evadirlos, el arquitecto de seguridad puede diseñar sistemas más robustos y seguros. El curso puede ser útil porque profundiza en la explotación de buffer overflow en Windows y Linux, prepara al estudiante para analizar el código en busca de vulnerabilidades y desarrollar estrategias de defensa más efectivas.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Hacking y Exploiting Buffer Overflow en Windows y Linux.
Este libro es una referencia clásica en el mundo del hacking y la seguridad informática. Cubre en detalle los fundamentos de la explotación de vulnerabilidades, incluyendo el buffer overflow. Es especialmente útil para comprender los conceptos teóricos y prácticos necesarios para el curso, y proporciona ejemplos claros y concisos. Este libro es muy útil como lectura complementaria.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser