Sed editor method we place a newline after the 5th semicolon, print upto the newline, remove upto newline, rinse n repeat till you run out of the pattern space.
$ sed -e 's/;/;\n/5;P;D' file
With Perl, use semicolon as field separator and print in bunches of 5 with semicolons as OFS and an empty field at the end to get the trailing semicolon printed :
$ perl -F\; -lane '$,=";"; print splice(@F, 0, 5), q() while @F; ' file
Using Awk we look at a bunch of 5 fields and append a semicolon to the first 4 and semicolon + newline to the fifth. Then print the fields with a null separating them:
$ awk -F\; -vOFS= '{ for(i=1; i<=NF; i++) $(i) = $(i) (i%5 ? FS : FS RS) }1' file