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