With some insane amount of work could be done in ilustrator, with some real life photos for reference.

But they are more easity done taking a photo... you gessed... Ink on a water tank.

https://www.google.com/search?q=ink+on+a+tank+photo+tutorial

They also can be done in 3D with a specialized particle generator and render engine: https://www.afterworks.com/FumeFX/Overview.asp 

or try blender 

- https://www.google.com.mx/search?q=blender+smoke

- https://www.blender.org/manual/pt/physics/smoke/index.html