Literally speaking you only need LaTeX/TeX and any plain text editor like Notepad or vi. That is all. However, this will not make your life as easy as it could be. For example, with Notepad or vi you will not have autocomplete features and you will have to deal with references in a manual way. Therefore, unless you are already a LaTeX guru this is not the best way forward.
To make things a lot easier I list below the recommended programs to write documents with LaTeX. They are all free software with easy installation and configuration processes.
This one is pretty obvious. Modern distributions of TeX already comes with LaTeX included. This simplifies the installation process since only one package must be installed. I have always used the distributions recommended by the LaTeX project. In addition to LaTeX and TeX, these distributions include several other tools like a LaTeX editor. However, the LaTeX editor that we will be using is TeXstudio.
TeXstudio is the text editor that will help us write the plain text LaTeX document that later TeX will typeset into the final document. I have tried several text editors for LaTeX and so far TeXstudio is my favorite. Among the many reasons for this preference are the integrated auto-completion for LaTeX commands, image and table assistant, interactive grammar and spell checker and the customizable setup for the production of the final document. You can get TeXstudio here. After installing Texstudio check how to properly configure it here.
Mendeley is a citation manager that automatically export your references to the .bib files required by LaTeX. You can get Mendeley here. After installing Mendeley check how to properly configure it here.