Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cornershot — Amplie a visibilidade da rede a partir de múltiplos pontos de vista de outros hosts. | Kitploit
Ferramentas/GitHubGitHub/zeronetworks/cornershot
ReconhecimentoAnálise de VulnerabilidadesColeta de InformaçõesSegurança de RedeTestes de Penetração
GitHubzeronetworks/cornershot

cornershot

Amplie a visibilidade da rede a partir de múltiplos pontos de vista de outros hosts.

Ver Repositório
3114916há 2 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

GitHub release (latest SemVer) GitHub all releases

O que é CornerShot

Na guerra, CornerShot é uma arma que permite a um soldado olhar além de uma esquina (e talvez atirar) sem se expor ao risco. Da mesma forma, o pacote CornerShot permite que se olhe para o acesso de rede de um host remoto sem a necessidade de ter privilégios especiais nesse host.

Usando CornerShot, uma origem, com acesso de rede ao portador, pode determinar se existe acesso de rede entre o portador e o alvo para uma porta específica p.

Por exemplo, vamos supor que uma equipe vermelha está tentando se propagar de um host de origem A "comprometido" para um host alvo X, para o qual o host A não tem acesso. Se eles se propagarem pelo host B, só então descobrirão que não há acesso de rede entre o host B e X.

Usando CornerShot, a equipe pode descobrir que o host C na verdade tem acesso ao alvo X, então a propagação em direção ao alvo X deve passar pelo host C primeiro.

+-----+        +-----+          +-----+
|     |        |     | filtered |     |
|  A  +-------->  B  +----X--->(p) X  |
|     |        |     |          |     |
+-----+        +-----+          +-(p)-+
 source      carrier        target
   +                               ^
   |                               |
   |           +-----+             |
   |           |     |   open      |
   +---------->+  C  +-------------+
               |     |
               +-----+


De forma semelhante ao nmap, CornerShot diferencia entre os seguintes estados de portas: aberto, fechado, filtrado e desconhecido (se não for possível determinar).

A demonstração a seguir mostra a execução do CornerShot contra dois hosts portadores 172.0.1.12 e 172.0.1.13, para determinar se eles têm acesso de rede a 192.168.200.1:

cornershot demo

Leia mais aqui.

Casos de Uso

Implantação Única para Visibilidade Completa de Rede

A tarefa aparentemente simples de identificar se algum host B na rede tem acesso ao host C pode exigir uma grande implantação de sensores de rede, agentes de dispositivos ou coleta de uma infinidade de regras de firewall, configurações de roteador e políticas de host.

CornerShot pode simplificar esse processo usando um (ou muito poucos) agentes que podem consultar outros hosts na rede, para determinar seu acesso a hosts remotos.

Validar Caminhos do BloodHound

Equipes de segurança que utilizam BloodHound para encontrar e mitigar caminhos de escalada de privilégios dentro de sua rede, muitas vezes enfrentam milhões de caminhos lógicos descobertos pelo BloodHound.

ShotHound é uma ferramenta que integra CornerShot com BloodHound, a fim de descobrir caminhos práticos que são suportados pelo acesso de rede.

Primeiros Passos

CornerShot pode ser usado como um pacote ou como um módulo independente. Os únicos requisitos são Python 3 e o pacote impacket.

Instalação

pip install cornershot

Uso Independente

O uso básico requer credenciais de um usuário de domínio válido, um domínio FQDN, um IP do portador e um IP do alvo.

python -m cornershot <user> <password> <domain> <carrier> <target>

Para escanear uma faixa de portadores contra uma faixa de alvos, sub-redes ou faixas de IP podem ser usadas em uma lista delimitada por vírgulas:

python -m cornershot <user> <password> <domain> 192.168.1.10-192.168.1.20 192.168.5.0/24,192.168.6.0/24

Por padrão, CornerShot tentará escanear as seguintes portas: 135, 445, 3389, 5985, 5986. O usuário pode fornecer uma lista delimitada por vírgulas de portas e faixas de portas:

python -m cornershot -tp 22,8080,45000-45005 <user> <password> <domain> <carrier> <target>

Como um Pacote

No código, é necessário instanciar um objeto CornerShot com o nome de usuário, senha e nome de domínio de um usuário de domínio válido. Adicionar portadores, alvo e portas é feito através do método add_shots. Uma vez pronto, o método open_fire pode ser chamado, que realiza apenas as chamadas RPC relevantes com base nas portas necessárias.

from cornershot import CornerShot
cs = CornerShot("username", "password", "fqdn")
cs.add_shots(carriers=["192.168.1.1"],targets=["192.168.1.2","192.168.1.3"])
results = cs.open_fire()

O resultado de open_fire é um dicionário com chaves de portadores, cada portador tem outro conjunto de chaves para alvos, e finalmente, cada alvo contém um dicionário de portas e seus respectivos estados. Este é um formato de exemplo de resultado:

{'carrier_1': 
	{'target_1': 
		{135: 'unknown', 445: 'filtered', 3389: 'filtered', 5986: 'filtered', 5985: 'filtered'},
	'target_2': 
		{135: 'unknown', 445: 'open', 5985: 'unknown', 5986: 'filtered', 3389: 'open'}
	}, 
'carrier_2': 
	{'target_1': 
		{3389: 'filtered', 135: 'filtered', 5985: 'filtered', 445: 'filtered', 5986: 'unknown'}, 
	'target_2': 
		{5985: 'filtered', 5986: 'filtered', 445: 'filtered', 135: 'filtered', 3389: 'open'}
	}
}

Como CornerShot Funciona?

CornerShot se baseia em vários métodos padrão de Chamada de Procedimento Remoto (RPC) bem documentados, que são usados por vários serviços Microsoft. Ao usar métodos que exigem apenas uma conta autenticada no domínio, CornerShot é capaz de gerar tráfego de rede de um host portador para um alvo.

CornerShot é capaz de determinar o estado da porta remota medindo o tempo que uma chamada RPC levou e usando diferentes códigos de erro para cada método RPC.

Métodos RPC

Baixar ferramenta