The last parameter of glDrawElements expects a pointer to an array of indices. Since you supply 0 (a NULL pointer), it will take the indices from the buffer bound to GL_ELEMENT_ARRAY_BUFFER. However, the binding of this buffer is not stored in the Vertex Array Object, so you will need to bind ebo before every render.