There are various easy to find solutions for dns tunnel so it does not make sense to describe specific solutions in detail.
But, this does not mean that these solutions will work with captive portals. These work only for captive portals which let DNS traffic pass and only redirect traffic to port 80 to the portal until the system was authorized. But there are other captive portals which instead reply to the DNS questions themselves in order to direct the user to the portal. These will not work with DNS tunnels.
Apart from that some tunnel solutions need TXT records to pass the data but some portals will only pass DNS questions for address records.