Thursday 20 July 2017

Find setuid 0 binary options


Você tem acesso físico a um computador linux que você quer comprometer, e você pode inicializar a partir do CD. Existem várias maneiras de obter acesso root ao computador através de um CD ao vivo do linux. Uma maneira é inicializar o livecd, chroot para a partição linux, em seguida, executar uma raiz passwd. Outra maneira é adicionar seu nome de usuário à lista de sudoers em / etc / sudoers na partição linux. O problema com essas técnicas é que eles deixam pegadas que são facilmente perceptíveis pelo administrador porque os arquivos do sistema estão sendo modificados. Um truque é criar um shell root root simples. Então você só tem que executar o programa como usuário normal para obter acesso root. O programa pode então ser localizado em qualquer lugar na partição linux. Setuid é um indicador de direito de acesso que pode ser definido em um binário. Se estiver definido, o programa será executado como root quando for iniciado até que os privilégios sejam abandonados em determinado ponto do programa, retornando às permissões normais. Isso foi projetado para permitir que um programa use o acesso root somente quando for necessário para o programa. Isso migra os efeitos que um exploit terá se o programa tiver qualquer furo de segurança. Aqui estavam explorando o fato de que um usuário normal pode ter acesso root usando um binário com setuid definido para criar um backdoor Shell. Assim as etapas são: 1. Bota seu cd vivo. 2. Monte a partição linux com o setuid ativado (habilitado por padrão) 3. Copie o backdoor para algum lugar acessível por você na partição (por exemplo, sua pasta home) Heres a fonte para o backdoor minúsculo: //bdoor. c int // set o id do grupo para 0 (raiz) execl (/ bin / sh, sh, 0) // execute o uid real, efetivo, salvo para 0 (root) setgid Um shell return 0 // sniper11 Compile com: root gcc bdoor. c - o bdoor Então (o binário precisa ser propriedade da raiz): root chown root. root bdoor finalmente (set o bit setuid): root chmod 4755 bdoor Você precisa Compilar e fazer o chmod e chown de seu livecd (como root). Em seguida, copie o bdoor para sua pasta base no sistema de destino e você pode ocultá-lo em qualquer subpasta. Agora, reinicie, faça o login como usuário normal, execute o programa para obter acesso root e desfrute de permissões de arquivo XDSpecial (setuid. Setgid e Sticky Bit) Três tipos especiais de permissões estão disponíveis para arquivos executáveis ​​e diretórios públicos. Quando essas permissões são definidas, qualquer usuário que executa esse arquivo executável assume o ID de usuário do proprietário (ou grupo) do arquivo executável. Você deve ter muito cuidado ao definir permissões especiais, porque as permissões especiais constituem um risco de segurança. Por exemplo, um usuário pode obter privilégios de superusuário executando um programa que define o ID de usuário (UID) como raiz. Além disso, todos os usuários podem definir permissões especiais para arquivos que possuem, o que constitui outra preocupação de segurança. Você deve monitorar seu sistema para qualquer uso não autorizado das permissões setuid e setgid para obter privilégios de superusuário. Para procurar e listar todos os arquivos que usam essas permissões, consulte Como localizar arquivos com permissões setuid. Uma listagem suspeita concede a propriedade de um programa desse tipo a um usuário em vez de root ou bin. Setuid Permissão Quando a permissão de set-user-user (setuid) é definida em um arquivo executável, um processo que executa esse arquivo é concedido acesso baseado no proprietário do arquivo (geralmente root), em vez do usuário que está executando o arquivo executável. Essa permissão especial permite que um usuário acesse arquivos e diretórios que normalmente só estão disponíveis para o proprietário. Por exemplo, a permissão setuid no comando passwd torna possível para um usuário alterar senhas, assumindo as permissões da ID raiz: Esta permissão especial apresenta um risco de segurança, porque alguns usuários determinados podem encontrar uma maneira de manter as permissões que são Concedido a eles pelo processo setuid mesmo após o processo ter terminado a execução. O uso de permissões de setuid com os UIDs reservados (0ndash100) de um programa pode não definir o UID efetivo corretamente. Em vez disso, use um script shell ou evite usar os UIDs reservados com permissões setuid. Setgid Permissão A permissão de identificação de conjunto de grupos (setgid) é similar a setuid. Exceto pelo fato de que os processos ID de grupo efetivo (GID) são alterados para o proprietário do grupo do arquivo e um usuário é concedido acesso com base em permissões concedidas a esse grupo. O comando / usr / bin / mail tem permissões de setgid: Quando a permissão setgid é aplicada a um diretório, os arquivos criados neste diretório pertencem ao grupo ao qual o diretório pertence e não ao grupo ao qual o processo de criação pertence. Qualquer usuário que tenha permissões de gravação e execução no diretório pode criar um arquivo lá. No entanto, o arquivo pertence ao grupo que possui o diretório, não para a propriedade do grupo de usuários. Você deve monitorar seu sistema para qualquer uso não autorizado das permissões setuid e setgid para obter privilégios de superusuário. Para procurar e listar todos os arquivos que usam essas permissões, consulte Como localizar arquivos com permissões setuid. Uma listagem suspeita concede propriedade do grupo de um programa desse tipo a um usuário em vez de root ou bin. Sticky Bit O bit pegajoso é um bit de permissão que protege os arquivos dentro de um diretório. Se o diretório tiver o bit pegajoso definido, um arquivo pode ser excluído somente pelo proprietário do arquivo, pelo proprietário do diretório ou por root. Essa permissão especial impede que um usuário exclua outros arquivos de usuários de diretórios públicos, como / tmp. Certifique-se de definir o bit sticky manualmente quando você configurar um diretório público em um sistema de arquivos TMPFS. UNIX / Linux: Explica setuid File Permissão W o que significa para um arquivo a ser 8220setuid8221 Como manter o controle de todos os setuid setuid habilitado setuid Significa definir ID do usuário na execução. Se bit setuid ativado em um arquivo, o usuário executando esse arquivo executável obtém as permissões do indivíduo ou grupo que possui o arquivo. Você precisa usar o comando ls - l ou find para ver os programas setuid. Todos os programas setuid exibem S ou s no bit de permissão (owner-execute) do comando ls. Digite o seguinte comando: Como listar todos os arquivos habilitados para setuid O comando a seguir descobre e imprime quaisquer arquivos setuid no sistema local: find / - xdev (-perm -4000) - type f - print0 xargs -0 ls - l O bit s Pode ser removido com o seguinte comando: chmod - s / path / to / file Setuid Programas Risco Um invasor pode explorar binários setuid usando um script shell ou fornecendo dados falsos. Os usuários normalmente não devem ter setuid programas instalados, especialmente setuid para outros usuários que não eles próprios. Por exemplo, você não deve encontrar o binário habilitado para setuid para root em / home / vivek / crack. Estes são geralmente cavalos de Tróia tipo de programas. Exemplo Neste exemplo, o usuário vivek executa o comando chamado 8220 / usr / bin / vi /shared/financialdata. txt8221 ea permissão no comando vi eo arquivo /shared/financialdata. txt são os seguintes: Vivek tem permissão para executar / Usr / bin / vi, mas não permissão para ler /shared/financialdata. txt. Então, quando vi tenta ler o arquivo, uma mensagem de erro 8220permission denied8221 será exibida para vivek. No entanto, se você definir o bit SUID no vi: Agora, quando vivek executa este programa SUID, o acesso a /shared/financialdata. txt é concedido. Como funciona o sistema UNIX doesn8217t acho que vivek está lendo arquivo via vi, ele acha que 8220root8221 é o usuário e, portanto, o acesso é concedido. Como fazer auditoria e registro setuid System Call sob Linux para cada setuid O auditd binário pode ser usado para a auditoria do sistema em Linux. Ele pode registrar e auditar a chamada do sistema setuid. Edite /etc/audit/audit. rules: vi /etc/audit/audit. rules Execute o seguinte comando para obter o binário setuid habilitado em / bin e adicione-os como acima: find / bin - type f - perm -04000 Salvar e fechar o arquivo. Reinicie o auditd: service auditd restart Use o comando aureport para exibir os relatórios de auditoria: aureport --key --summary ausearch --key acesso --raw aureport --file --summary ausearch --key access --raw aureport - x --summary Ausearch --key access --file / bin / mount --raw aureport --user --summary - i Consulte Arquivos de auditoria do Linux para ver quem fez alterações em um arquivo. Como negociar opções binárias Este tipo de opções binárias está indo vê-lo esperançosamente que faz um retorno fixo sobre todo o período de tempo dado, porque cada opções binárias você pode colocar um comércio sobre terá um tempo de expiração e Também um preço de exercício fixo. Assim, por exemplo, se você acha que o preço do ouro vai diminuir em valor ao longo de um determinado período de tempo, então você deve colocar uma opção baixa, e se o ouro, em seguida, cai em valor como previsto por você durante o período de tempo escolhido então Você terá colocado um comércio vencedor e você será pago como a taxa acordada com o corretor com base no valor que você investiu nesse comércio. Se, por outro lado, o valor do ouro sobe em valor ao longo do período de tempo atribuído ao seu comércio, então você terá colocado um comércio perdedor e seus fundos investidos serão perdidos. As razões pelas quais as Opções Binárias são chamadas Opções Binárias é que há apenas dois resultados possíveis, com um comércio vencedor ou um comércio perdedor, muito parecido com o Binário há apenas 0s e 1s. Se você está interessado em colocar este tipo de opções binárias comércio, então você será confrontado com a tomada de uma decisão de saber se o valor de qualquer que seja você intenção de basear o seu comércio em torno de aumento ou queda. O uso da terminologia para colocar um comércio quando um comerciante está esperando o valor de seu comércio escolhido vai subir é um comércio de chamada. E o oposto daquele comércio que é um comércio em que o comerciante vai esperar que o valor diminui em valor é conhecido como um comércio de put. O corretor em que você está colocando o seu comércio de opções binárias no vai oferecer algo conhecido como um preço de exercício, e tudo o que é que você baseou o seu comércio em torno deve terminar sobre esse valor se você tiver colocado um comércio de chamada ou abaixo desse valor se você tiver Optou por colocar um comércio posto. Cada comércio único que você decidir colocar também terá um tempo de expiração, e é nesse exato momento no tempo em que você vai saber se você colocou um comércio vencedor ou perdedor, dependendo do preço real alcançado nos mercados abertos para qualquer É você baseou seu comércio ou comércios ao redor. A principal atração de negociações de opções binárias é que você nunca vai ter que comprar, por exemplo, a mercadoria ou ações que você estará baseando seus negócios ao redor. Assim, por exemplo, um negociante de ouro bullion primeiro terá de fonte um suprimento de ouro, pagar para que o ouro receber a entrega e, em seguida, armazená-lo, até que o valor se eleva esperançosamente eo negociante então precisará encontrar um comprador e, em seguida, vender o ouro Sobre para fazer o seu ou seu lucro. Ao colocar o comércio de opções binárias você pode, portanto, basear seus negócios em torno do preço do ouro, mas nunca terá que comprar qualquer ouro físico, que como você sabe pode ser muito caro, mais quando você fator em custos de transporte e custos de armazenamento. Há, naturalmente, prós e contras de se tornar um operador de opções binárias com uma das desvantagens sendo que você corre o risco de perder todo o seu investimento colocado em qualquer um único comércio. No entanto, os benefícios de colocar negociações de opções binárias é que você está sempre no controle de apenas o quanto você investir em qualquer comércio único que você coloca, e você também vai saber com antecedência o quanto você está a fazer em cada único comércio que você escolheu colocar. Sem risco de negociação de opções binárias Se você gostaria de testar negociação de opções binárias on-line ou através de uma plataforma de negociação móvel, então você vai encontrar todos os nossos corretores de destaque permitirá que você abra suas próprias contas demo de negociação em seus respectivos sites. Isso permitirá que você se acostumar com a forma como cada plataforma de negociação funciona e opera e você será creditado com um enorme saldo da conta demo demo valorizado. Você será capaz de usar esses créditos demo para colocar negociações Opções Binárias em todos os corretores que vivem e abrir mercados, mas sem qualquer risco. Você realmente vai se surpreender com o quão fácil será para o comércio de qualquer tipo de opções binárias e, abrindo uma conta demo você será capaz de colocar alguns dos negócios muito mais exótico que estão disponíveis. Assim que você tem, em seguida, indo para totalmente mater a forma como o seu escolhido Brokers plataformas de negociação operar você será capaz de mudar para usar uma conta de negociação de dinheiro real instantaneamente, e depois de ter feito um depósito em que a conta pode então colocar trades Para dinheiro real. Na verdade, através da assinatura de um ou mais dos nossos showcased e totalmente revisto Broker opções binárias você vai descobrir que depois de ter feito um depósito inicial você com, em seguida, qualificar para um novo comerciante inscrever bônus. O valor de cada bônus de boas-vindas dos Corretores será exibido no site respectivo e você também encontrará detalhes dos valores de bônus em todo o nosso website, então dê uma olhada em algumas de nossas revisões de Broker e comece a negociar hoje. Sobre o Autor Oi, meu nome é Clive Nelson e bem-vindo à Traders Bible. Mantenha-se atualizado com o mundo binário e forex here. A poucos minutos de preparação e planejamento antes de colocar seus sistemas on-line pode ajudar a proteger o seu sistema e os dados que são armazenados nele. Esta seção discute alguns dos métodos nos quais você pode usar para proteger os arquivos em seu sistema, algumas diretrizes gerais para melhorar a segurança geral dos arquivos no seu sistema e algumas idéias para evitar que ocorram problemas. Ele também discute os comandos a serem usados ​​para modificar as permissões e propriedade de arquivos e diretórios em seu sistema. Antes de discutirmos alguns desses métodos de melhorar a segurança do sistema de arquivos, é importante ter uma compreensão da segurança básica do arquivo Linux, da propriedade e do que cada um dos campos de uma lista de arquivos realmente significa. Para exibir a propriedade e as permissões de um arquivo em seu sistema, use a opção de listagem longa, bem como a opção exibir todos os arquivos para o comando ls (1). Um comando típico / bin / ls - la pode mostrar o seguinte, com a primeira linha sendo um marcador de campo: Cada um desses campos fornece informações úteis ao administrador de segurança. Em primeiro lugar, uma descrição de cada campo (como mostrado da esquerda para a direita), em seguida, uma explicação mais aprofundada dos mais importantes. Os números abaixo do lado esquerdo representam os números de linha, que serão referidos mais tarde. Campo Um: Permissões para este arquivo ou diretório. As nove primeiras posições da direita descrevem o usuário. Grupo. E outras permissões em grupos de três. Dentro de cada grupo de três, o primeiro caractere denota acesso de leitura, o segundo denota acesso de escrita eo último denota executar, trabalhando da esquerda para a direita. A décima posição descreve o tipo de arquivo, que pode ser um arquivo regular, diretório, FIFO, link simbólico ou outro tipo de arquivo especial. Campo Dois: Número de links rígidos para este arquivo ou diretório. Esses links podem ser diretórios, por exemplo. Neste caso, o diretório atual (linha 1) provavelmente tem 24 diretórios abaixo dele, dos quais apenas dois são mostrados aqui (Segurança e Correio) Campo Três: Proprietário do arquivo ou diretório. Este campo é tão importante quanto as próprias permissões. Campo quatro: O grupo ao qual o arquivo pertence. Este campo, em conjunto com o campo de proprietário (campo três) são necessários para definir as permissões corretamente. Field Five: Tamanho de fileField Seis: Modification timeContinuing onde deixamos na seção anterior, podemos agora discutir alguns dos campos descrito acima. Particularmente, campo um e campos três e quatro são os mais exiciting. O Linux separa o controle de acesso em arquivos e diretórios de acordo com três características: proprietário. Grupo. e outro . Há sempre exatamente um proprietário, qualquer número de membros do grupo e todos os outros. Os arquivos dentro de cada uma dessas categorias têm permissões específicas com as quais são acessados. As permissões de arquivo, incluindo arquivos regulares, arquivos especiais (como FIFOs, soquetes, etc) ou links simbólicos (que dereference as permissões para o arquivo que apontam) podem ter qualquer um ou qualquer um dos seguintes: , E executar permissões devem ser bastante claro quanto ao seu significado. No entanto, o símbolo s pode precisar de explicação. As próximas duas seções abordam este símbolo. Definir Atributo de Identificação de Usuário Quando o modo de acesso de ID de usuário definido é definido nas permissões de proprietário e o arquivo é executável, os processos que o executam têm acesso aos recursos do sistema com base no proprietário do arquivo. Tenha muito cuidado ao definir essas permissões. Qualquer usuário que executa esse arquivo assume as permissões do proprietário do arquivo executável, em vez do usuário que criou o processo. Esta é a causa de muitas explorações de estouro de buffer, normalmente resultando em privilégios de superusuário. A permissão setuid é mostrada como um s nas permissões de arquivo. Por exemplo, a permissão setuid no comando / usr / bin / passwd permite aos usuários normais ler e gravar um arquivo / etc / passwd de outra forma inacessível: Você notará que o s toma o lugar do bit de execução no exemplo acima. Este modo de permissão especial realmente não tem significado, a menos que o arquivo também tenha permissão de execução também. No exemplo, vemos que o arquivo / etc / shadow é apenas legível por root, mas o arquivo / usr / bin / passwd nos permite escrever nossas alterações de senha lá. Quando um usuário normal, um membro do grupo bin, ou mesmo qualquer outra pessoa executa / usr / bin / passwd. É realmente executado como root. Devido ao bit s definido no campo de permissões do proprietário. Tenha em mente que o setuid tem um significado diferente quando aplicado a diretórios. Consulte a explicação para os diretórios a seguir. É aconselhável manter os binários setuid e setgid no seu sistema a um mínimo, a fim de reduzir a possibilidade de serem explorados. Você nunca deve executar um binário suid ou sgid como um usuário normal, sem saber o que ele faz. E certamente não arbitrariamente modificar um binário de outra forma não-setuid para ter permissões setuid, simplesmente para conveniência. Definir Atributo de Identificação de Grupo Se definido nas permissões de grupo, esse bit controla o status de ID de grupo definido de um arquivo. Isso se comporta da mesma maneira que setuid, exceto que o grupo é afetado em vez disso. O arquivo também deve ser executável para que isso tenha algum efeito. Após a execução de um arquivo com este conjunto de bits, a identificação de grupo efetiva para o processo é alterada para o proprietário do grupo do arquivo e um usuário é concedido acesso com base nas permissões concedidas a esse grupo. O programa de parede (1), / usr / bin / wall. É usado para gravar todos os usuários que estiverem conectados ao sistema ao mesmo tempo. Deve ser definido ID de grupo para ter permissão suficiente para gravar em terminais que não pertencem ao usuário que executa o programa: Vemos aqui que todo mundo tem a capacidade de executar o binário. É de propriedade da raiz. E um membro do grupo tty. Ter cada usuário no sistema um membro do tty não é prático, e nem está mudando o grupo ao qual o programa de parede pertence. É aconselhável manter os binários setuid e setgid no seu sistema a um mínimo, a fim de reduzir a possibilidade de serem explorados. Você nunca deve executar um binário suid ou sgid como um usuário normal, sem saber o que ele faz. E certamente não arbitrariamente modificar um binário de outra forma não-setuid para ter permissões setuid, simplesmente para conveniência. Tenha em mente que o setgid tem um significado diferente quando aplicado a diretórios. Consulte a explicação para os diretórios a seguir. Você pode proteger os arquivos em um diretório e seus subdiretórios, negando acesso a todo o diretório propriamente dito. As permissões de um diretório normalmente têm um significado ligeiramente diferente do que as permissões equivalentes em um arquivo. Permissões adicionais estão disponíveis em diretórios, incluindo setuid, setgid eo bit pegajoso. As entradas de diretório podem ter qualquer uma ou qualquer das seguintes opções: É importante compreender os significados de cada um desses símbolos e como você pode usá-los para proteger seus arquivos. Muitos destes símbolos podem ser claros quanto ao seu significado, mas talvez os outros modos mereçam uma explicação mais aprofundada. O símbolo de leitura indica a capacidade de listar o conteúdo dentro do diretório, assumindo que você também tem acesso para abrir o diretório. O símbolo de gravação indica a capacidade de adicionar, remover ou modificar arquivos dentro do diretório, também assumindo que você tem acesso para abrir o diretório. É importante notar que o acesso de gravação em um arquivo dentro de um diretório não é necessário para excluí-lo. Salvar o atributo de texto (Bit Sticky) O Salvar Texto (também conhecido como o bit pegajoso) é uma opção realmente somente disponível para diretórios. Se o bit pegajoso é definido em um diretório, um usuário só pode excluir arquivos que o usuário possui ou para o qual ele tem permissão de gravação explícita concedida, mesmo quando ele tem acesso de gravação para o diretório. Isto é projetado para diretórios que são world-writable, mas onde pode não ser desejável para permitir que qualquer usuário para excluir arquivos à vontade. O bit pegajoso é visto como um t em uma longa listagem de diretório. Por exemplo, o diretório / tmp normalmente é compatível com o mundo, então todo mundo tem um lugar no qual gravar arquivos temporários. O diretório / tmp se parece com isso em uma listagem longa: Isso mostra que todos podem ler, gravar e acessar o diretório. Mas o t mostra-nos que apenas o usuário (e raiz, é claro) que criou um arquivo lá pode excluir esse arquivo. O comando chmod (1) controla as permissões de bits pegajosos. Por exemplo, você pode adicionar o bit sticky a um diretório usando o seguinte: Enquanto você pode usar o bit pegajoso em arquivos, ele realmente não serve uma finalidade em sistemas Linux, como fez em sistemas UNIX do ano passado. Além disso, esta opção não deve ser usada casualmente. Em vez disso, crie um diretório no diretório home de usuários para o qual ele ou ela pode gravar arquivos temporários. A variável de ambiente TMPDIR pode ser definida e os programas que usam a chamada de sistema tempnam (3) irão procurar esta variável e usá-la, em vez de / tmp Consulte a seção sobre Como escrever código seguro para obter uma explicação adicional por que há problemas de segurança ocultos com / Tmp Definir Atributo de Identificação de Grupo Se você definir o bit setgid em um diretório, os arquivos criados nesse diretório terão a mesma propriedade de grupo que o próprio diretório, em vez do grupo primário do usuário que criou o arquivo. Esse atributo é útil quando vários usuários precisam acessar arquivos específicos, mas ainda precisam de isolamento de outros arquivos. Tê-los trabalhar a partir de um diretório comum com o conjunto de atributo setgid significa que quaisquer arquivos criados lá obterão as permissões desse diretório comum. Por exemplo, Joe e Mary podem estar em grupos primários diferentes, mas precisam colaborar em um projeto comum. Nesse caso, a criação de um diretório comum pode ser usada para que ambos tenham acesso de gravação. Você pode controlar o atributo setgid em um diretório com o seguinte comando: Podemos ver aqui que o s no lugar do bit de execução nas permissões de grupo indica que todos os arquivos escritos para o commondir agora pertencerão ao grupo dev O comando chmod (1) Controla a alteração de permissões de arquivo e diretório. Somente o proprietário (ou superusuário, é claro) pode alterar as permissões de um arquivo ou diretório. O comando chmod (1) possui dois modos de operação. O primeiro, chamado modo absoluto. Funciona explicitamente especificando as permissões usando um valor octal, como 644 ou 755. O segundo modo de operação, chamado modo simbólico. Funciona usando combinações de letras e símbolos para adicionar ou remover permissões. Usando o método de valores octal de alterar permissões pode ser mais difícil de usar no início, mas você achará que é mais rápido e mais fácil, uma vez que você fez o investimento tempo inicial, e aprendeu a fazê-lo corretamente. Alterando Permissões de Arquivos Usando Valores Octal (Modo Absoluto) O valor octal para especificar permissões funciona especificando um argumento numérico para as permissões para as quais você deseja alterar. Esses números são usados ​​em conjuntos de três para definir permissões para o proprietário. Grupo. E outros (todos os outros). A tabela a seguir mostra o que cada valor octal significa: Usando a tabela acima, você pode usar chmod (1) para modificar permissões de arquivo e diretório. Ela ajuda a distrair cada uma das seções, e explicar uma de cada vez. Dado o exemplo a seguir: Vemos neste exemplo que dave é o proprietário eo arquivo pertence ao grupo sysadmin. A partir das informações no primeiro campo, vemos que este é um arquivo normal, como mostrado pelo - como o caractere mais à esquerda no campo mais à esquerda. O dono deste script perl, dave. Tem permissão para ler, escrever e executar este arquivo. O grupo, sysadmin tem permissão para ler e escrever para ele (incluindo excluí-lo). Todo mundo só pode ler este arquivo. Usando essas informações, podemos olhar mais de perto as permissões que o arquivo tem: O octal equivilent do número binário é gerado usando poderes de dois. Cada posição que é habilitada, como mostrado por um 1 em vez de um 0. representa uma potência de dois. Especificamente, da direita para a esquerda, temos 20, ou 1, então 21, ou 2, então 22 ou 4. Adicionando os valores ativados correspondentes aos bits que estão habilitados dá o número octal que usamos com chmod (1). Um pode decidir remover a capacidade de outros para ler este arquivo. Você pode fazer isso usando chmod (1) da seguinte maneira: Vemos aqui que run. pl agora foi modificado para negar acesso de leitura (assim como todos os outros tipos de acesso) a outros usuários que não pertençam ao grupo sysadmin. E o proprietário (neste caso, dave) Alterando Permissões de Diretório Usando Valores Octal (Modo Absoluto) Usando o mesmo formato usado para descrever as permissões de arquivo mostradas acima, vamos continuar e explicar como alterar permissões de diretório usando valores octal. O valor octal para especificar permissões funciona especificando um argumento numérico para as permissões para as quais você deseja alterar. Esses números são usados ​​em conjuntos de três para definir permissões para o proprietário. Grupo. E outros (todos os outros). A principal diferença entre as permissões em arquivos e permissões em diretórios é o controle de acesso. Permissões em diretórios normalmente indicam acessibilidade. Dica: Você não pode executar um diretório - gt A tabela a seguir mostra o que cada valor octal significa, bem como o controle de acesso é dado para as permissões correspondentes: Usando a tabela acima, você pode usar chmod (1) para modificar permissões de arquivo e diretório . Ela ajuda a distrair cada uma das seções, e explicar uma de cada vez. Dado o exemplo a seguir: Vemos neste exemplo que dave é o proprietário eo diretório pertence ao grupo sysadmin. A partir da informação no primeiro campo, vemos que este é um diretório, como mostrado pelo d como o caractere mais à esquerda no campo mais à esquerda. O proprietário deste diretório, dave. Tem permissão para ler, escrever e acessar esse diretório. O grupo, sysadmin tem permissão para acessar o diretório, bem como listar seu conteúdo. Os arquivos dentro deste diretório com a permissão de leitura apropriada também poderão ser lidos. Outros usuários não têm permissão para acessar este diretório. Usando essa informação, podemos olhar mais de perto as permissões que o diretório tem: O octal equivilent do número binário é gerado usando poderes de dois. Cada posição que é habilitada, como mostrado por um 1 em vez de um 0. representa uma potência de dois. Especificamente, da direita para a esquerda, temos 20, ou 1, então 21, ou 2, então 22 ou 4. Adicionando os valores ativados correspondentes aos bits que estão habilitados dá o número octal que usamos com chmod (1). Um pode decidir dar a outros usuários a capacidade de outros para acessar esse arquivo, e listar o conteúdo dentro dele. Você pode fazer isso usando chmod (1) da seguinte maneira: Vemos aqui que os jogos foram agora modificados para permitir o acesso a outros usuários que não pertençam ao grupo sysadmin. E o proprietário (dave neste caso) Alterando Permissões Usando Símbolos (Modo Simbólico) O modo simbólico é talvez o mais fácil dos dois métodos para usar para alterar permissões de arquivo. É provavelmente o que você deve trabalhar primeiro se você está apenas aprendendo isso. Esta seção discute os meios básicos nos quais se pode alterar as permissões de um arquivo ou diretório, usando chmod (1) O modo simbólico de chmod (1) funciona no conceito de classes de acesso. Essas classes consistem em (u) ser. Que é o proprietário do arquivo, (g) roup. Do qual o usuário é um membro, e (o) ther. Que é esses usuários não um membro do grupo ou o proprietário do arquivo. O modo final é (a) ll. Que consiste em todos os três modos anteriores. Usando esses modos, em conjunto com as permissões desejadas, você pode modificar o acesso a um determinado arquivo ou diretório. As permissões são um ou mais de (r) ead. (Escreva . E e (x) ecute. Combinando a classe de acesso e as novas permissões desejadas, com um operador, dá-lhe a capacidade de alterar as permissões em um arquivo ou diretório. Os operadores disponíveis são. O que significa adicionar às permissões existentes, -. Que significa subtrair das permissões existentes, e. O que significa definir as novas permissões iguais às fornecidas. Por exemplo, arw significa adicionar permissão de leitura e escrita a todos os três grupos de usuários. Usando gor significa para definir o grupo e outros campos para ter apenas acesso de leitura, independentemente do que eles tinham anteriormente. Um exemplo mais completo é o seguinte: Para remover o acesso de gravação para todos de um arquivo, use o sinal de menos: Você pode controlar o setuid e setgid em arquivos e diretórios, bem como o bit pegajoso, usando o modo simbólico com chmod (1 ). Esse exemplo pode ser o seguinte: Este é um exemplo interessante que usa muitos dos recursos de chmod (1). As linhas de 1 a 4 mostram a longa lista do arquivo e dois diretórios antes de qualquer alteração ser feita. Vemos aqui que groupdir e myprog são membros do grupo sysadmin. Outro ponto de interesse é que ninguém, exceto o proprietário desses arquivos (root em todos esses casos) é capaz de gravar o arquivo ou diretórios. A linha 5 mostra como adicionar tanto a permissão de gravação de grupo como o acesso de setgid ao diretório groupdir. Isso permitirá que os membros do grupo sysadmin gravem arquivos lá e mantenham o grupo sysadmin. A linha 6 mostra como adicionar o bit setuid ao binário myprog. Isso significa que qualquer usuário no grupo sysadmin que executa este binário é concedido acesso com base no proprietário do arquivo, neste caso, root. Em vez do usuário que o executou. A linha 7 mostra como adicionar o bit pegajoso ao diretório de spool, bem como adicionar permissão de gravação para todos os usuários. Este é um diretório acessível ao público, e gravável por todos. No entanto, somente aqueles que realmente possuem os arquivos podem excluí-los. As linhas 8 a 11 mostram os diretórios e arquivos depois que as modificações foram feitas. Esta seção discute os métodos nos quais um administrador pode alterar o proprietário eo grupo ao qual um arquivo pertence. Use o comando chown (1) para alterar o proprietário de um arquivo (só pode ser feito por root) e chgrp para alterar o grupo ao qual pertence um arquivo ou diretório. Como com qualquer tarefa relacionada à segurança, você deve ter cuidado ao alterar a propriedade de um arquivo ou diretório. Na maioria das vezes você pode adicionar um usuário a um grupo sem ter que alterar a propriedade. Você também deve reavaliar as permissões do arquivo ou diretório depois de ter feito a alteração. Para usar o chown (1). Forneça o novo nome de usuário e os arquivos que você deseja alterar: Você também pode alterar a propriedade dos arquivos recursivamente usando a opção chown - R. Quando você usa a opção - R, o comando chown desce através do diretório e de quaisquer subdiretórios abaixo desse, alterando a propriedade. Se um link simbólico for encontrado, a propriedade do grupo será alterada no arquivo para o qual o link aponta. Esta seção é muito semelhante à seção anterior. Ele discute os métodos nos quais um administrador pode alterar os grupos aos quais um arquivo pertence. Use o comando chgrp (1) para alterar a propriedade do grupo. Para que um usuário normal altere um grupo de arquivos de um para outro, o usuário deve ser um membro de ambos os grupos. Para usar o chgrp (1). Forneça o nome do novo grupo e os arquivos que você deseja alterar: Você também pode alterar a propriedade do grupo de arquivos de forma recursiva usando a opção chgrp - R. Quando você usa a opção - R, o comando chgrp desce através do diretório e de quaisquer subdiretórios abaixo desse, alterando a propriedade. Você também pode usar o comando chown (1) para alterar o proprietário eo grupo ao mesmo tempo. Use dois pontos entre o novo proprietário e grupo desejado. Por exemplo: Observe que as permissões não são alteradas simplesmente porque você alterou a propriedade. Tenha cuidado aqui para ter certeza de que você não está inadvertidamente dando permissão para alguém que não deveria tê-lo. Se um link simbólico for encontrado, a propriedade do grupo será alterada no arquivo para o qual o link aponta. O comando umask pode ser usado para determinar o modo de criação de arquivo padrão em seu sistema. É o complemento octal do modo de arquivo desejado. Se os arquivos são criados sem qualquer consideração para suas configurações de permissões, um usuário inadvertidamente pode dar permissão de leitura ou gravação para alguém que não deve ter essa permissão. O umask para a criação de novos arquivos executáveis ​​é calculado da seguinte forma: Então, neste exemplo, escolhemos 022 como nosso umask. Isso nos mostra que os novos executáveis ​​que são criados são dados o modo 755. o que significa que o proprietário pode ler, escrever e executar o binário, enquanto os membros do grupo ao qual o binário pertence e todos os outros, só pode lê-los e executá-lo . O umask para a criação de novos arquivos de texto é calculado da seguinte forma: Este exemplo mostra-nos que, dado o umask padrão de 666. e subtraindo nosso exemplo umask valor de 022. novos arquivos de texto são criados com o modo 644. que afirma que o proprietário pode Ler e gravar o arquivo, enquanto os membros do grupo ao qual o arquivo pertence, e todos os outros só podem ler o novo arquivo. Normalmente configurações umask incluem 022, 027 e 077, que é o mais restritivo. Normalmente, o umask é definido em / etc / profile. Por isso se aplica a todos os usuários no sistema. A máscara de criação de arquivo deve ser definida, tendo em mente o propósito da conta. As permissões que são demasiado restritivas podem fazer com que os usuários comecem a compartilhar contas ou senhas ou comprometer a segurança. Por exemplo, você pode ter uma linha semelhante a esta: Certifique-se de fazer raízes umask para pelo menos 022, que irá desativar a permissão de gravação e execução para outros usuários, a menos que explicitamente mudou usando chmod (1). Se você estiver usando o Red Hat Linux e aderiu ao seu esquema de criação de ID de usuário e grupo (User Private Groups), só é necessário usar 002 para um umask com usuários normais. Isto é devido ao fato de que a configuração padrão é um usuário por grupo. Além de definir o umask usuário padrão, você deve ter certeza que você está ciente do valor umask que é definido em scripts de inicialização também. Quaisquer arquivos que são criados durante o processo de inicialização podem ser criados com o umask padrão de 666 se ele não for explicitamente especificado. Além disso, todos os servidores que são iniciados no momento da inicialização, como inetd (8). Pode herdar o umask no momento do boot, que por sua vez será transmitido aos serviços e servidores, que ele controla. O valor de umask que o servidor FTP, gerado pelo inetd (8) usa, por exemplo, pode ser facilmente ignorado, permitindo o potencial de permissões muito lenientes em arquivos. Neste exemplo específico, o servidor FTP tem opções de linha de comando para controlar valores de umask. Muitos não, no entanto. Por esta razão, você pode considerar a criação de um arquivo que é executado no tempo de inicialização do sistema, antes de quaisquer outros, que simplesmente explicitamente define o umask para um valor conhecido. Você deve monitorar regularmente seus sistemas para qualquer uso não autorizado das permissões setuid ou setgid para obter privilégios de superusuário. Setuid e setgid em seu sistema são um risco potencial de segurança, e devem ser monitorados de perto. Como esses programas concedem privilégios especiais ao usuário que os está executando, é necessário garantir que programas inseguros não estejam instalados. Um truque favorito de biscoitos é explorar os programas de raiz setuid, em seguida, deixar um programa setuid como uma porta de trás para entrar na próxima vez, mesmo se o buraco original está conectado. Encontre todos os programas setuid e setgid em seu sistema e mantenha um registro do que eles são, então você está ciente de quaisquer mudanças que poderiam indicar um intruso em potencial. Use o seguinte comando para localizar todos os programas setuid e setgid em seu sistema: Você pode remover discriminadamente as permissões setuid ou setgid em um programa suspeito com chmod (1). Em seguida, alterá-lo de volta se você absolutamente sentir que é necessário. Arquivos com permissão de escrita mundial, particularmente os arquivos do sistema, podem ser um buraco de segurança se um cracker ganhar acesso ao seu sistema e os modificar. Além disso, os diretórios que podem ser gravados em todo o mundo são perigosos, pois permitem que um cracker adicione ou exclua arquivos conforme desejar. Para localizar todos os arquivos graváveis ​​no seu sistema, use o seguinte comando: e certifique-se de saber por que esses arquivos são graváveis. No curso normal da operação, vários arquivos serão graváveis, incluindo alguns de / dev. Arquivos não possuídos também podem ser uma indicação de que um intruso acessou seu sistema. You can locate files on your system that do not have an owner, or belong to a group with the command: The following is a list of general guidelines you should be aware of when configuring the files on your hosts. There should never be a reason for users home directories to allow setuid and setgid programs to be run from there. Use the nosuid option in /etc/fstab for partitions that are writable by others than root. You may also wish to use nodev and noexec on users home partitions, as well as /var. which prohibits execution of programs, and creation of character or block devices, which should never be necessary anyway. User files can introduce system vulnerabilities. Some of the things you should watch for include: Installation of Trojan horse programs Protect personal start-up files from modification by othersDo not specify personal or shared directories before system-provided directories in executable search paths. (This invites the installation of Trojan horses.)Default protections assigned at file creation should meet system standardsLimit write access in a users personal file space (by appropriate protection of user directories). System files are a crucial component in preventing a security incident. Some of the things to watch for here include:The system configuration files and shared binaries must be protected against Trojan horses Audit trails must be protected against undesired modificationRestrict modification privileges for system binaries to systems staffReview the content of system binaries for unexpected changesRestrict modification of system start-up scripts to systems staffReview content of system start-up scripts to ensure that secure defaults are specified and programs executed are not candidates for Trojan horse conversionProtect audit trail log files from unauthorized modification If you are mounting filesystems using a network filesystem such as NFS, be sure to configure /etc/fstab with suitable restrictions. Typically, using nodev. nosuid. and perhaps noexec. are desirable. Set filesystem limits instead of allowing unlimited as is the default. You can control the per-user limits using the resource-limits PAM module and /etc/pam. d/limits. conf. For example, limits for group users might look like this:This says to limit the creation of core files, restrict the number of processes to 50, and restrict memory usage per user to 5 Meg. The /var/log/wtmp and /var/run/utmp files contain the login records for all users on your system. Its integrity must be maintained because it can be used to determine when and from where a user (or potential intruder) has entered your system. These files should also have 644 permissions, without affecting normal system operation. System configuration files (usually in /etc ) are usually mode 644 (-rw-r--r--). and owned by root. Depending on your sites security requirements, you might adjust this. Never leave any system files writable by a group or everyone. Some configuration files, including /etc/shadow. should only be readable by root. and directories in /etc should at least not be accessible by others. setuid shell scripts are a serious security risk, and for this reason the kernel will not honor them. Regardless of how secure you think the shell script is, it can be exploited to give the cracker a root shell. Finally, before changing permissions on any system files, make sure you understand what you are doing. Never change permissions on a file because it seems like the easy way to get things working. Always determine why the file has that permission before changing it. And removing permissions from files is typically a good idea, but it is not always practical. Change permissions slowly, and watch carefully for undesired results.

No comments:

Post a Comment