are there any errors being recorded or better yet what does the apt log file show??
the first will only show the last few lines of the log file and the latter will show all of that log file. This should tell you where the process is hanging and why. You could also try using
ps auxf |grep "apt-get"
The above should show you what the running process for apt-get is and what it is doing. A better way to run the 2 together, so you can see where it starts to hang would be to use the following syntax
sudo apt-get update;sudo apt-get upgrade
This will first run update then run upgrade and allow you to see the output of both. There could be a couple of things causing this. I have experienced similar behavior with Debian when there was a dependency issue. I am not saying that is the problem but checking the logs to see what the last action is before it hangs which should narrow down the issue.