If the tempo is ragged in each track, it's a much bigger job than if the tempo is even but simply different. I'll assume the second.
There may be software that can help automate this, but here's how I'd approach this using (free) Audacity. The concept is simple and would apply to any program capable of the same tricks. Load each instrument to a different track.
First establish one track as a baseline. I'd pick the most sonically complex track to avoid distorting it in the process. Find a beat near the beginning and one near the end, and get the exact time difference between them, in seconds or samples, whatever.
Next, for any other track find beats which should match at that same rough distance, and get the time difference for those. Compute the ratio of those two times, then select the entire track and apply the Change Tempo effect using the computed ratio. Line up the beginning beat and assure that the change was what you wanted. Do the same for each remaining track.
And in the future, record against a click track! (-: