UTS Namespace
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Basic Information
Um namespace UTS (UNIX Time-Sharing System) é um recurso do kernel Linux que fornece isolamento de dois identificadores de sistema: o hostname e o NIS (Network Information Service) nome de domínio. Esse isolamento permite que cada namespace UTS tenha seu próprio hostname e nome de domínio NIS independentes, o que é particularmente útil em cenários de containerização onde cada contêiner deve aparecer como um sistema separado com seu próprio hostname.
How it works:
Quando um novo namespace UTS é criado, ele começa com uma cópia do hostname e do nome de domínio NIS do seu namespace pai. Isso significa que, na criação, o novo namespace compartilha os mesmos identificadores que seu pai. No entanto, quaisquer alterações subsequentes no hostname ou no nome de domínio NIS dentro do namespace não afetarão outros namespaces.
Processos dentro de um namespace UTS podem alterar o hostname e o nome de domínio NIS usando as chamadas de sistema
sethostname()
esetdomainname()
, respectivamente. Essas alterações são locais para o namespace e não afetam outros namespaces ou o sistema host.Processos podem se mover entre namespaces usando a chamada de sistema
setns()
ou criar novos namespaces usando as chamadas de sistemaunshare()
ouclone()
com a flagCLONE_NEWUTS
. Quando um processo se move para um novo namespace ou cria um, ele começará a usar o hostname e o nome de domínio NIS associados a esse namespace.
Lab:
Create different Namespaces
CLI
Ao montar uma nova instância do sistema de arquivos /proc
se você usar o parâmetro --mount-proc
, você garante que o novo namespace de montagem tenha uma visão precisa e isolada das informações do processo específicas para aquele namespace.
Docker
Verifique em qual namespace seu processo está
Encontre todos os namespaces UTS
Entrar dentro de um namespace UTS
Last updated