Hey! This is a very good subject to talk on. I personally believe that whilst going from level to level up to B2 is about learning the language and learning the grammar, the difference between that and getting to C1 from B2 is purely in practice and vocab.
As far as the practice, what you can do is download A LOT of podcasts and just play them in the background when you do things... just be listening to English as MUCH AS POSSIBLE. Watch series, talk to natives, watch youtube videos etc.
Every single person learns vocab in a different way and in a way that coincides with them as a person but I will attempt to give you some tips from my experience and the experience of others...
Here are some websites that you can use... Memrise.com , duolingo.com , quizlet.com
You can listen to music and pick out the words that you dont know.
One of the most important parts to learning vocab is to make it so the word MEANS something to do...
What I want to say with that is to create personal and individual meaning(s) for the word that also coincides with the official definition...
This method may be used in a way in which you make the definition in english or in your native tongue (however you prefer it to be)
I see your native language is portuguese so im gonna give this example: as I am learning portuguese, i learned the verb "arrancar" by reaching my hands out and pulling back rather than learning that arrancar is translated to rip out, pull etc. (I had to look up that translation because I didn't know it) However I use arrancar ALL THE TIME because i know what it means rather that just the generic definition/translation