First I'll answer the question, then I'll mention two alternatives that don't involve computing the 8 vertices.
1) The extents (x, y, and z) are half of the size in those directions. So you can get one corner by subtracting the extents from the center, and the opposite corner by adding the extents:
Vector pt1 = collider.bounds.center - collider.bound.extents;
Vector pt2 = collider.bounds.center + collider.bound.extents;
The other corners can be found by adding some extents, subtracting others. Something like:
Vector pt3 = New Vector3(collider.bounds.x - collider.bound.extents.x,
collider.bounds.y + collider.bound.extents.y,
collider.bounds.z + collider.bound.extents.z);
This time I subtracted x, added y, added z. There are 8 possible combinations of additions and subtractions. Those are your 8 vertices.
2) But maybe you don't need the 8 vertices. You could instead create a GameObject that's a 1x1x1 cube, then move it to the center of the collision, and set the scale of the cube to match the size of the collider. I didn't test this, but it would look something like this:
GameObject myCube = GameObject.CreatePrimitive(PrimitiveType.Cube); // or, instantiate a prefab cube
myCube.tranform.position = collider.bounds.center;
myCube.tranform.localScale = collider.bounds.size;
(And instead of creating a primitive cube, you could instantiate a prefab cube, which would have whatever material, scripts, and other components you wanted to put on it.)
3) If you just want to draw it in the Scene View for debugging purposes, you can simply call Gizmos.DrawCube or Gizmos.DrawWireCube, passing it bounds.center and bounds.size as the arguments.