Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-21978 — Script de exploração de vulnerabilidades com retorno de saída | Kitploit
Ferramentas/GitHubGitHub/skytina/cve-2021-21978
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubskytina/cve-2021-21978

CVE-2021-21978

Script de exploração de vulnerabilidades com retorno de saída

Ver Repositório
255há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2021-21978

Versão com retorno de saída do script de exploração, uma forma mais simples

0. Informações da vulnerabilidade

A interface de gerenciamento Web do VMware View Planner possui um ponto de entrada para upload de arquivos de função de log, sem exigir autenticação, e o caminho do arquivo de log gravado é controlável pelo usuário. Ao sobrescrever o arquivo de função de upload de log log_upload_wsgi.py, é possível obter RCE.

Código da vulnerabilidade:

root@kitploit:~
def application(environ, start_response):
    logger.debug("application called")

    if environ['REQUEST_METHOD'] == 'POST':
        post = cgi.FieldStorage(
            fp=environ['wsgi.input'],
            environ=environ,
            keep_blank_values=True
        )

        # TO DO: Puth path in some config or read from config is already available
        resultBasePath = "/etc/httpd/html/vpresults"
        try:
            filedata = post["logfile"]
            metaData = post["logMetaData"]

            if metaData.value:
                logFileJson = LogFileJson.from_json(metaData.value)

            if not os.path.exists(os.path.join(resultBasePath, logFileJson.itrLogPath)):
                os.makedirs(os.path.join(resultBasePath, logFileJson.itrLogPath))

            if filedata.file:
                if (logFileJson.logFileType == agentlogFileType.WORKLOAD_ZIP_LOG):
                    filePath = os.path.join(resultBasePath, logFileJson.itrLogPath, WORKLOAD_LOG_ZIP_ARCHIVE_FILE_NAME.format(str(logFileJson.workloadID)))
                else:
                    filePath = os.path.join(resultBasePath, logFileJson.itrLogPath, logFileJson.logFileType)
                with open(filePath, 'wb') as output_file:
                    while True:
                        data = filedata.file.read(1024)
                        # End of file
                        if not data:
                            break
                        output_file.write(data)

1. Dependências

root@kitploit:~
pip install requests

2. Detecção

root@kitploit:~
git clone https://github.com/skytina/CVE-2021-21978
cd CVE-2021-21978
python3 CVE-2021-21978.py https://192.168.80.3/

image-20210305162131318

3. Exploração da vulnerabilidade

O script de exploração reescreve o log_upload_wsgi.py, transformando-o em um backdoor.

image-20210305162339613

4. Links de referência

Fonte da exploração: https://twitter.com/osama_hroot/status/1367258907601698816

Comunicado oficial da VMware: https://www.vmware.com/security/advisories/VMSA-2021-0003.html

Declaração

  • A ferramenta é destinada apenas a testes e pesquisas de segurança realizados por profissionais de segurança. Quaisquer consequências e perdas, diretas ou indiretas, causadas por testes não autorizados são de responsabilidade do próprio usuário.
  • A ferramenta é usada apenas para testes e pesquisas de segurança por profissionais de segurança. Quaisquer consequências e perdas, diretas ou indiretas, causadas por testes não autorizados são de responsabilidade do usuário.

Se você achar o conteúdo acima útil, pode seguir a conta oficial.

Baixar ferramenta