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
Reproducing-ConnMan-1.34 — CVE-2017-12865 exploit | Kitploit
Ferramentas/GitHubGitHub/manaswijaiswal/reproducing-connman-1.34
Bluetooth SecurityVulnerability AnalysisExploitationNetwork SecurityWireless SecurityDNS Analysis
GitHubmanaswijaiswal/reproducing-connman-1.34

Reproducing-ConnMan-1.34

CVE-2017-12865 exploit

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
Ver Repositório
há 11 mesesAinda não revisado

Connection Manager


Copyright (C) 2007-2012 Intel Corporation. Todos os direitos reservados.

Funcionalidades e características

As seguintes funcionalidades estão integradas no Connection Manager: - Infraestrutura genérica de plugins - Abstração de dispositivos e redes (com suporte básico de armazenamento) - IPv4, IPv4-LL (link-local) e DHCP - Deteção de conflito de endereços IPv4 (ACD) conforme RFC 5227 - IPv6, DHCPv6 e túneis 6to4 - Roteamento avançado e configuração de DNS - Proxy DNS integrado e cache inteligente - Logins integrados em hotspots WISPr e deteção de portal - Configuração de hora e fuso horário (manual e automática com NTP) - Gestão de proxy (manual e automática com WPAD) - Suporte a tethering (USB, Bluetooth e modo AP WiFi) - Estatísticas detalhadas (casa e roaming)

Vários plugins podem ser ativados para suporte de rede: - Plugin Ethernet - Plugin WiFi com WEP40/WEP128 e WPA/WPA2 (pessoal e empresarial) - Plugin Bluetooth (usando BlueZ) - Plugin 2G/3G/4G (usando oFono)

Também estão disponíveis plugins com funcionalidades adicionais: - Configuração da interface loopback - Gestão de proxy PACrunner - Suporte de autorização PolicyKit

Note que quando o ConnMan é iniciado, ele limpa todas as interfaces de rede que serão utilizadas. Se isso não for desejado, as interfaces de rede podem ser ignoradas definindo NetworkInterfaceBlacklist no ficheiro de configuração main.conf ou usando a opção de linha de comando -I.

Compilação e instalação

Para compilar o Connection Manager, precisa dos seguintes pacotes de software: - Compilador GCC - Biblioteca GLib - Biblioteca D-Bus - Biblioteca IP-Tables (para suporte de tethering) - Biblioteca GnuTLS (opcional) - PolicyKit (opcional) - readline (cliente de linha de comando)

Para configurar execute: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

O configure procura automaticamente todos os componentes e pacotes necessários.

Para compilar e instalar execute: make && make install

Configuração e opções

Para um sistema funcional, certas opções de configuração precisam ser ativadas:

root@kitploit:~
--disable-ethernet

	Desativa o suporte para placas de rede Ethernet

	Por predefinição, o suporte à tecnologia Ethernet está integrado e
	ativado. Esta opção pode ser usada para construir um daemon pequeno
	para um sistema específico se o suporte Ethernet não for necessário.

--disable-gadget

	Desativa o suporte para dispositivos USB Ethernet Gadget

	Por predefinição, o suporte à tecnologia USB Ethernet Gadget está integrado e
	ativado. Esta opção pode ser usada para construir um daemon pequeno
	para um sistema específico se o suporte USB Ethernet Gadget não for necessário.

--disable-wifi

	Desativa o suporte para dispositivos WiFi

	Por predefinição, o suporte à tecnologia WiFi está integrado e
	ativado. Esta opção pode ser usada para construir um daemon pequeno
	para um sistema específico se o suporte WiFi não for necessário.

	É seguro construir um daemon com suporte WiFi e sem
	wpa_supplicant em execução. O início do wpa_supplicant é
	detetado automaticamente e é apenas uma dependência em tempo de execução.
	Não é necessário para compilar o ConnMan.

--disable-bluetooth

	Desativa o suporte para dispositivos Bluetooth

	Por predefinição, o suporte à tecnologia Bluetooth está integrado e
	ativado. Esta opção pode ser usada para construir um daemon pequeno
	para um sistema específico se o suporte Bluetooth não for necessário.

	É seguro construir um daemon com suporte Bluetooth e sem
	bluetoothd em execução. O início do bluetoothd é automaticamente
	detetado e é apenas uma dependência em tempo de execução. Não é necessário para
	compilar o ConnMan.

--disable-ofono

	Desativa o suporte para dispositivos celulares 2G/3G/4G

	Por predefinição, o suporte à tecnologia oFono está integrado e
	ativado. Esta opção pode ser usada para construir um daemon pequeno
	para um sistema específico onde o oFono não é utilizado.

	É seguro construir um daemon com suporte oFono e sem
	ofonod em execução. O início do ofonod é automaticamente
	detetado e é apenas uma dependência em tempo de execução. Não é necessário para
	compilar o ConnMan.

--disable-dundee

	Desativa o suporte para dispositivos Bluetooth DUN

	Por predefinição, o suporte à tecnologia Bluetooth DUN (dundee) está
	integrado e ativado. Esta opção pode ser usada para construir um
	daemon pequeno para um sistema específico onde o dundee não é utilizado.

	É seguro construir um daemon com suporte dundee e sem
	dundee em execução. O início do dundee é automaticamente
	detetado e é apenas uma dependência em tempo de execução. Não é necessário para
	compilar o ConnMan.

--enable-iwd

	Ativa o suporte para Wireless daemon for Linux

	O projeto IWD ainda não tem um lançamento inicial,
	portanto, por predefinição, o suporte IWD não está ativado.

	É seguro ativar esta opção juntamente com o suporte WiFi.

--disable-pacrunner

	Desativa o suporte para gestão de proxy PACrunner

	Por predefinição, o suporte PACrunner está integrado e ativado. Esta
	opção pode ser usada para construir um daemon pequeno para um sistema
	específico onde o PACrunner não é utilizado.

	É seguro construir um daemon com suporte PACrunner e sem o
	daemon pacrunner. Este detetará e iniciará um processo PACrunner
	se necessário em tempo de execução. A presença não é necessária
	para compilar o ConnMan.

--disable-loopback

	Desativa a configuração do dispositivo loopback

	Para distribuições com um sistema init realmente mínimo e sem
	scripts de rede, isto pode cuidar da configuração do
	dispositivo loopback e da sua ativação.

	É seguro manter esta opção selecionada mesmo que os scripts
	de rede estejam em vigor. Deteta um dispositivo loopback já
	configurado e deixa-o como está.

--disable-wispr

	Desativa o suporte para logins em hotspots WISPr

	Para sistemas com requisitos de memória realmente mínimos, isto
	desativará o suporte para logins em hotspots WISPr. O código
	para WISPr ainda será compilado no daemon, mas a sua
	dependência do GnuTLS para conexões seguras será removida.

	A falta de suporte GnuTLS reduz os requisitos de memória
	em cerca de 30% e, para sistemas mais estáticos que não
	iniciam sessão em hotspots, isto pode ser um melhor compromisso.

	Desativar o suporte WISPr não desativa o suporte de deteção
	de portal. Um portal ainda será detetado, mas em vez de ser
	solicitado o login, o pedido de uma sessão de navegador
	será feito através do agente.

--enable-polkit

	Ativa o suporte para autorização PolicyKit

	Isto permite verificar cada acesso D-Bus contra uma política
	de segurança e, assim, restringir o acesso a determinadas funcionalidades.

--enable-nmcompat

	Ativa o suporte para interfaces de compatibilidade NetworkManager

	Isto permite expor um conjunto mínimo de interfaces NetworkManager.
	É útil para sistemas com aplicações escritas para usar o NetworkManager
	para detetar o estado online/offline e que ainda não foram convertidas
	para usar o ConnMan.

--disable-client

	Desativa o suporte para o cliente de linha de comando

	Por predefinição, o cliente de linha de comando está ativado e usa a
	biblioteca readline. Para sistemas específicos onde o ConnMan é
	configurado por outros meios, o cliente de linha de comando pode ser
	desativado e a dependência do readline é removida.

--enable-selinux

	Ativa o suporte para compilar regras de imposição de tipo SElinux

	As regras TE são necessárias se o ambiente do hospedeiro estiver em modo
	de imposição. Sem esta opção, o processo cliente VPN não pode
	enviar notificação para o connman-vpnd através da interface
	net.connman.Task. O módulo compilado connman-task.pp precisa
	também ser instalado usando este comando
		# semodule -i connman-task.pp
	para ativar o acesso ao dbus.

--with-dns-backend=TYPE

	Ativa o suporte para um backend de resolução de DNS

	Seleciona um backend DNS a usar. Os valores suportados são "internal"
	e "systemd-resolved". Se "internal" for selecionado, o ConnMan
	será construído com um proxy DNS com cache. Se "systemd-resolved"
	for selecionado, o ConnMan configura o systemd-resolved para fazer resolução
	de DNS. O valor predefinido é "internal".

Ativar a depuração

Pode ativar impressões de depuração no ConnMan usando a opção de linha de comando -d. Se a opção -d não tiver parâmetros, a depuração é ativada para todos os ficheiros de código-fonte. Se a opção -d tiver parâmetros, eles indicam quais ficheiros de código-fonte têm a depuração ativada. Podem ser usados caracteres curinga nos nomes dos ficheiros. Exemplo: -d Ativa todas as impressões de depuração normais -d src/service.c Imprime informações de depuração apenas do ficheiro src/service.c -d src/network.c:src/ipconfig.c Ativa impressões de depuração nos ficheiros src/network.c e src/ipconfig.c. -d 'src/n*.c' Ativaria impressões de depuração de todos os ficheiros fonte C começando com a letra 'n' no diretório src. Note as aspas em torno da opção, para evitar expansão pelo shell. -d '/n.c:/i.c' Ativa impressões de depuração para todos os ficheiros fonte C começando com as letras 'n' ou 'i' em qualquer subdiretório.

Alguns componentes do ConnMan têm impressões de depuração ativadas por variáveis de ambiente. Se a variável de ambiente estiver definida, o componente correspondente imprimirá algumas informações de depuração extra. As seguintes variáveis de ambiente podem ser usadas: CONNMAN_DHCP_DEBUG Informações de depuração relacionadas ao DHCPv4 CONNMAN_DHCPV6_DEBUG Informações de depuração relacionadas ao DHCPv6 CONNMAN_IPTABLES_DEBUG Informações extra quando o iptables é usado CONNMAN_RESOLV_DEBUG Impressões de depuração do resolvedor de nomes. Estas impressões de depuração são usadas quando o ConnMan resolve nomes de anfitrião para uso próprio. Note que as impressões de depuração do proxy DNS não usam esta variável de ambiente. Para isso, pode usar a opção de linha de comando "-d src/dnsproxy.c". CONNMAN_SUPPLICANT_DEBUG Impressões de depuração para comunicação entre os processos connmand e wpa_supplicant. CONNMAN_WEB_DEBUG Informações de depuração quando o ConnMan faz verificação de conectividade à Internet nos componentes Wispr e 6to4.

Exemplo: CONNMAN_WEB_DEBUG=1 src/connmand -n

Se as condições de temporização forem relevantes, recomenda-se o comando para obter rastreios de log da seguinte forma: connmand -d 2>&1 | ts '[%H:%M:%.S]' | tee connman.log

O programa 'ts' normalmente está disponível no pacote moreutils.

Configuração do kernel

Para suportar tethering, as seguintes opções de configuração do kernel precisam ser ativadas como módulos (m) ou incorporadas (y):

CONFIG_BRIDGE CONFIG_IP_NF_TARGET_MASQUERADE

Para ativar CONFIG_IP_NF_TARGET_MASQUERADE, as seguintes opções precisam ser ativadas também como módulos (m) ou incorporadas (y):

CONFIG_NETFILTER CONFIG_NF_CONNTRACK_IPV4 CONFIG_NF_NAT_IPV4

Para suporte de roteamento e estatísticas em Sessões, as seguintes opções precisam ser ativadas como módulos (m) ou incorporadas (y):

CONFIG_IP_NF_IPTABLES CONFIG_IP_MULTIPLE_TABLES CONFIG_NETFILTER_NETLINK_ACCT CONFIG_NETFILTER_XT_MATCH_NFACCT CONFIG_NETFILTER_XT_CONNMARK CONFIG_NETFILTER_XT_TARGET_CONNMARK CONFIG_NETFILTER_XT_MATCH_CONNMARK

Para suportar tethering USB gadget, as seguintes opções de configuração do kernel precisam ser ativadas:

CONFIG_USB_GADGET CONFIG_USB_ETH

Configuração do wpa_supplicant

Para que o wpa_supplicant e o Connection Manager funcionem corretamente juntos, deve editar o ficheiro .config do wpa_supplicant e definir:

CONFIG_WPS=y CONFIG_AP=y CONFIG_CTRL_IFACE_DBUS_NEW=y

adicione:

CONFIG_BGSCAN_SIMPLE=y

Esta última opção ativará o suporte de verificação de fundo enquanto estiver conectado, o que é necessário para roaming em wifi.

Recomenda-se usar wpa_supplicant 2.x ou posterior.

Se o wpa_supplicant estiver configurado para arranque automático via D-Bus, então o ConnMan acionará o arranque automático do wpa_supplicant. No entanto, tenha em mente que este acionamento ocorre apenas uma vez. Se o wpa_supplicant parar ou falhar, o ConnMan não tenta periodicamente reiniciá-lo automaticamente. Cabe ao systemd ou ferramenta de gestão de serviços semelhante reiniciá-lo automaticamente. Caso o wpa_supplicant não seja iniciado pelo ConnMan, certifique-se de que a opção "-u" é usada para ativar a sua interface de controlo D-Bus e garantir que o ConnMan pode comunicar com ele.

VPN

Para compilar os plugins VPN pptp e l2tp, precisa do pacote de desenvolvimento ppp.

Para executar l2tp precisará de - xl2tpd, http://www.xelerance.com/services/software/xl2tpd

Para executar pptp precisará de - Cliente pptp, http://pptpclient.sourceforge.net

Tanto l2tp como pptp também precisam do pppd.

OpenVPN

Até à versão 2.2 do OpenVPN, empurrar rotas adicionais do servidor nem sempre funcionará. Alguns dos sintomas são que as rotas adicionais não serão definidas pelo ConnMan se a ligação ascendente for uma rede celular. Enquanto a mesma configuração funciona bem para uma ligação ascendente WiFi ou ethernet.

Até à (pelo menos) versão 2.4.5 do OpenVPN, obter informações sobre falhas de desencriptação de chave privada através do canal de gestão está em falta. Isto resultará em tentativas repetidas com a chave inválida, pois a informação sobre a falha de desencriptação não é entregue ao plugin OpenVPN. O seguinte patch para o OpenVPN é necessário para que as falhas de desencriptação de chave privada sejam enviadas: https://git.sailfishos.org/mer-core/openvpn/blob/ 4f4b4af116292a207416c8a990392e35a6fc41af/rpm/privatekey-passphrase- handling.diff

GnuTLS

Ao usar GnuTLS, esteja ciente que, dependendo da configuração do GnuTLS, é feita uma inicialização preguiçosa (lazy) ou imediata (eager) de um conjunto interno de entropia usando /dev/urandom. Na inicialização imediata, o carregamento do ConnMan será atrasado pelo linker até que o conjunto de entropia esteja preenchido. Em sistemas mais pequenos, isto pode facilmente atrasar o arranque do ConnMan por vários segundos (tivemos relatos de 25 segundos ou mais de atraso).

O GnuTLS permite voltar à avaliação preguiçosa quando a variável de ambiente GNUTLS_NO_EXPLICIT_INIT está definida. Para mais detalhes, leia a página de manual do gnutls_global_init(3).

Verificação online

O ConnMan tenta detetar se tem conexão à Internet ou não quando um serviço está conectado. Se a verificação online for bem-sucedida, o serviço entra no estado Online; caso contrário, permanece no estado Ready. A verificação online também é usada para detetar se o ConnMan está atrás de um portal cativo, como quando está num hotel e precisa pagar pela conectividade.

A verificação online é feita tentando obter o documento status.html de ipv4.connman.net (para conectividade IPv4) e ipv6.connman.net (para conectividade IPv6). O URL usado tem este aspeto http://ipv{4|6}.connman.net/online/status.html

A verificação online opera num de três modos:

  • "none"
  • "one-shot"
  • "continuous"

onde "one-shot" é o predefinido e é governado pela definição "OnlineCheckMode".

No modo "none", não há verificações "online" de alcance à Internet baseadas em HTTP. Qualquer serviço conectado e o estado do gestor terminarão no estado Ready e não progredirão para Online.

No modo "one-shot", o modo predefinido, há uma única verificação "online" de alcance à Internet baseada em HTTP para o serviço predefinido (isto é, o serviço com a rota predefinida de gateway de alta prioridade (métrica 0)). Quando a verificação é bem-sucedida, o serviço associado e o estado do gestor terminarão no estado "online". Quando a verificação falha, as verificações subsequentes serão reagendadas de acordo com "OnlineCheckIntervalStyle", "OnlineCheckInitialInterval" e "OnlineCheckMaxInterval" e continuarão indefinidamente até que uma seja bem-sucedida ou até que o serviço seja desconectado.

No modo "continuous", há verificações "online" contínuas de alcance à Internet baseadas em HTTP para o serviço predefinido (isto é, o serviço com a rota predefinida de gateway de alta prioridade (métrica 0)). Tal como no modo "one-shot", quando a primeira verificação é bem-sucedida, o serviço associado e o estado do gestor terminarão no estado Online. A partir daí, as verificações subsequentes serão agendadas de acordo com "OnlineCheckIntervalStyle" e "OnlineCheckMaxInterval". Quando a verificação falha, as verificações subsequentes serão reagendadas de acordo com "OnlineCheckIntervalStyle", "OnlineCheckInitialInterval" e "OnlineCheckMaxInterval". Quando e se "OnlineCheckFailuresThreshold" for atingido, o serviço e o estado do gestor serão rebaixados para Ready e o serviço terá a sua propriedade "Error" definida como "online-check-failed" enquanto as verificações subsequentes continuam. Entretanto, se disponível, outro serviço pode ser promovido a serviço predefinido e as verificações online serão iniciadas para ele. Quando e se, para o serviço rebaixado, "OnlineCheckSuccessesThreshold" for atingido, a propriedade "Error" do serviço será limpa e o estado do serviço promovido para Online, potencialmente fazendo com que se torne novamente o serviço predefinido.

Consulte connman.conf(5) para a opção "OnlineCheckMode", se precisar desativar a funcionalidade. Também é possível especificar outros URLs através das opções "OnlineCheckIPv4URL" e "OnlineCheckIPv6URL". O intervalo de intervalos entre dois pedidos de verificação online pode ser ajustado através das opções "OnlineCheckInitialInterval" e "OnlineCheckMaxInterval", bem como com a opção "OnlineCheckIntervalStyle".

Como sugerido acima, para os modos "one-shot" e "continuous", quando um pedido de verificação online falha (ou, no caso do modo "continuous", também quando é bem-sucedido), outro é acionado após um intervalo maior. Os intervalos seguem uma de duas sequências matemáticas, dependendo da definição "OnlineCheckIntervalStyle": "fibonacci" ou "geometric", com um predefinido de "geometric". A definição geométrica é a série quadrada de números no intervalo especificado por "OnlineCheckInitialInterval" e "OnlineCheckMaxInterval". Os valores predefinidos para "OnlineCheckInitialInterval" e "OnlineCheckMaxInterval" são o intervalo [1, 12], que correspondem aos seguintes intervalos "geometric", em segundos: 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121 e 144 nesse intervalo. Em contraste, a sequência "fibonacci" correspondente nesse intervalo é 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 e 144. A série e estilo "fibonacci" é mais agressiva na taxa de verificação até 12 passos (o seu ponto de equivalência com "geometric" aos 144 segundos) do que "geometric", mas reduz a taxa muito mais agressivamente após esse ponto, atingindo uma hora no intervalo 19 que "geometric" não atinge até ao intervalo 60.

Durante o procedimento de verificação online, o ConnMan instalará temporariamente uma rota de anfitrião para ipv4.connman.net e ipv6.connman.net para que a consulta de verificação online possa ser direcionada através da interface de rede correta que o serviço conectado está a usar. Esta rota de anfitrião é automaticamente removida quando a verificação online termina. Note que o servidor expressamente não regista qualquer informação de conexão, incluindo endereços IPv4/6 dos clientes que se conectam. Os registos de tempo de execução do servidor circulam na memória RAM dependendo da quantidade de conexões processadas.

O ConnMan envia esta informação muito mínima no cabeçalho http ao fazer o pedido de verificação online (exemplo): Host: ipv4.connman.net User-Agent: ConnMan/1.23 wispr Connection: close

Atualmente, a seguinte informação é retornada do connman.net se a conexão for bem-sucedida (código de resposta http 200 OK é retornado): Server: nginx Date: Mon, 09 Jun 2014 09:25:42 GMT Content-Type: text/html Connection: close X-ConnMan-Status: online

O campo X-ConnMan-Status é usado na deteção de portal; se estiver ausente, o ConnMan chamará o método RequestBrowser na interface dbus net.connman.Agent para lidar com o login do portal, se o portal não suportar WISPr. Consulte doc/agent-api.txt para mais detalhes.

Informação

Lista de correio: [email protected]

Se desejar subscrever para receber correio na sua caixa de entrada, basta enviar uma mensagem (vazia) a partir da sua conta de email para

root@kitploit:~
[email protected]

Arquivo da lista de correio: https://lore.kernel.org/connman

IRC: ircs://irc.oftc.net:6697/#connman (para SSL) irc://irc.oftc.net:6667/#connman (para não SSL)

Baixar ferramenta