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
Ferramentas/GitHubGitHub/pimps/ysoserial-modified
Frameworks de Testes de PenetraçãoFrameworks de ExploraçãoExploração de Aplicações WebDesenvolvimento de Payloads
GitHubpimps/ysoserial-modified

ysoserial-modified

Esse repositório contém minhas atualizações para a conhecida ferramenta de exploração de desserialização Java ysoserial.

Ver Repositório
18940há 4 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

ysoserial-modified

Isso é um fork do aplicativo ysoserial original que pode ser encontrado aqui: https://github.com/frohoff/ysoserial

Descrição da Modificação

Devido à forma como Runtime.getRuntime().exec(String.class) funciona em Java, comandos aninhados e complexos em que você precise controlar pipes ou enviar a saída para arquivos (ex.: cat /etc/passwd > /tmp/passwd_copy) não funcionarão, pois o comando executado pelo método exec() da classe Runtime não é executado dentro de um ambiente de terminal. Uma possível gambiarra é executar "/bin/sh -c 'command'", mas você precisará escapar o caractere de espaço em 'command' usando ${IFS} ou não funcionará como esperado. Para mais detalhes sobre esse problema e possíveis soluções, leia este post, que aborda o assunto em profundidade.

Uma boa solução para corrigir esse problema é passar os argumentos para o método Runtime.getRuntime().exec(String[].class), que espera um array de Strings. A melhor opção é executar o seguinte: Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", "command"}). Passando os argumentos dessa forma, o Java entenderá que você está executando o /bin/bash passando os argumentos -c e 'command' da maneira correta e executará seu comando dentro de um ambiente de terminal, o que permitirá usar comandos aninhados ou complexos (com | ou ;) e também controlar entradas e saídas (com < e >).

Sabendo disso, adicionei uma funcionalidade ao ysoserial em que você informa o tipo de terminal que deseja usar para executar seu comando (cmd / bash / powershell ou none) e minha modificação executará seu comando dentro desse contexto de terminal, permitindo que você execute qualquer comando complexo como deveria funcionar!

Uso

root@kitploit:~
pimps@Scorpion:~/git/ysoserial-modified/target$ java -jar ysoserial-modified.jar 
Y SO SERIAL?
Usage: java -jar ysoserial-[version]-all.jar [payload type] [terminal type: cmd / bash / powershell / none] '[command to execute]'
   ex: java -jar ysoserial-[version]-all.jar CommonsCollections5 bash 'touch /tmp/ysoserial'
	Available payload types:
		BeanShell1 [org.beanshell:bsh:2.0b5]
		C3P0 [com.mchange:c3p0:0.9.5.2, com.mchange:mchange-commons-java:0.2.11]
		CommonsBeanutils1 [commons-beanutils:commons-beanutils:1.9.2, commons-collections:commons-collections:3.1, commons-logging:commons-logging:1.2]
		CommonsCollections1 [commons-collections:commons-collections:3.1]
		CommonsCollections2 [org.apache.commons:commons-collections4:4.0]
		CommonsCollections3 [commons-collections:commons-collections:3.1]
		CommonsCollections4 [org.apache.commons:commons-collections4:4.0]
		CommonsCollections5 [commons-collections:commons-collections:3.1]
		CommonsCollections6 [commons-collections:commons-collections:3.1]
		FileUpload1 [commons-fileupload:commons-fileupload:1.3.1, commons-io:commons-io:2.4]
		Groovy1 [org.codehaus.groovy:groovy:2.3.9]
		Hibernate1 []
...

Download / Instalação

Baixe o jar compilado do diretório /target neste repositório ou apenas clique aqui

Para compilá-lo você mesmo:

Requer Java 1.7+ e Maven 3.x+

root@kitploit:~
$ git clone https://github.com/pimps/ysoserial-modified.git
$ cd ysoserial-modified
$ mvn clean package -DskipTests

O arquivo jar estará localizado no diretório target

Baixar ferramenta