When you relax an edge , store parent[v] = u. This lets you trace back the path that created the current distance. Parent pointers form a tree of shortest paths from the source. If the -th iteration improves distance to node , you know is affected by a negative cycle.
Trace back from using parent pointers to find the cycle. After tracing back steps, you are guaranteed to be inside the cycle. This is because any path longer than edges must contain a repeated node, which forms a cycle.