
Apache Axis1.4 ferramenta de exploração de vulnerabilidade de execução remota de comandos - CVE-2019-0227, suporta randomização de nomes de serviço e nomes de arquivo Webshell
Existe uma vulnerabilidade de execução remota de comandos no Apache Axis1.4 (CVE-2019-0227). Quando a propriedade enableRemoteAdmin está definida como true, um atacante pode implantar um serviço malicioso através da interface AdminService, executando comandos arbitrários no servidor alvo.
Versões Afetadas: Apache Axis ≤ 1.4
Condição de Exploração: enableRemoteAdmin definido como true
| Método | Script | Princípio | Escreve Arquivo? | Furtividade |
|---|---|---|---|---|
| Método 1: JSP Webshell | jsp-webshell/axis_exp.py | Escreve JSP Webshell via LogHandler | ✅ Sim | Baixa |
| Método 2: Execução Direta via Freemarker | freemarker-exec/axis_freemarker_exp.py | Chama diretamente a classe Freemarker Execute para executar comandos | ❌ Não | Alta |
cd jsp-webshell
python3 axis_exp.py -u http://target.com:8080/axis/ -c "whoami"
cd freemarker-exec
python3 axis_freemarker_exp.py -u http://target.com:8080/axis/ -c "whoami"
pip install requests urllib3
Axis1.4-CVE-2019-0227/
├── README.md
├── jsp-webshell/
│ ├── axis_exp.py
│ └── README.md
└── freemarker-exec/
├── axis_freemarker_exp.py
└── README.md
Esta ferramenta destina-se apenas a pesquisas de segurança e testes autorizados. O uso não autorizado desta ferramenta para atacar sistemas alvo é ilegal, e o usuário assume total responsabilidade legal.
MIT License
Implanta um serviço malicioso através do Axis AdminService, usa LogHandler para escrever um JSP Webshell e, em seguida, executa comandos via requisição GET.
部署恶意服务 → LogHandler 写入 shell.jsp → GET 请求执行命令
# 执行单条命令
python3 axis_exp.py -u http://localhost:8080/axis/ -c "whoami"
# 交互式 Shell
python3 axis_exp.py -u http://localhost:8080/axis/ -i
# 带认证
python3 axis_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
Implanta um serviço apontando para a classe freemarker.template.utility.Execute via Axis AdminService, chamando diretamente seu método exec para executar comandos do sistema, sem escrever nenhum arquivo.
部署 Execute 服务 → 直接调用 exec 方法 → 命令执行结果通过 SOAP 响应返回
WEB-INF/lib/ do ambiente Axis alvo deve conter o freemarker.jar (Axis 1.4 inclui por padrão)# 执行单条命令
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -c "whoami"
# 交互式 Shell
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -i
# 带认证
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
| Parâmetro | Descrição |
|---|
-u, --url | Endereço do serviço Axis alvo |
-c, --command | Executa um comando único |
-i, --interactive | Modo Shell interativo |
-U, --username | Nome de usuário de autenticação Basic |
-P, --password | Senha de autenticação Basic |
| Parâmetro | Descrição |
|---|
-u, --url | Endereço do serviço Axis alvo |
-c, --command | Executa um comando único |
-i, --interactive | Modo Shell interativo |
-U, --username | Nome de usuário de autenticação Basic |
-P, --password | Senha de autenticação Basic |