Enumeração Linux e Unix,Básico de Linux sobre usuários e grupos

Propaganda
Enumeração Linux e Unix
Os sistemas linux e unix são similares ao Windows e podem ser
enumerados. A diferença é nas ferramentas e na abordagem.
Veremos como usar estas ferramentas e
informações ao explorar estes sistemas.
obter
algumas
É importante lembrar que os comandos são case-sensitive, ou
seja, deve-se prestar atenção aos comandos.
finger
O comando finger foi feito para retornar informações sobre um
usuário em um sistema. Quando executado, ele retorna
informações sobre o usuário como o diretório home, hora do
login, tempo ocioso, localização do escritório e a última vez
que eles recebem ou leram e-mail.
O comando do finger é semelhante a esta estrutura:
finger <switches> usuário
Os switches que podem ser usados são:
-b remove a exibição do diretório home e o shell do
usuário;
-f remove a exibição do cabeçalho;
-w remove o nome completo da exibição;
-l retorna a lista de usuários;
rpcinfo
Este comando enumera informações expostas sobre o protocolo
Remote Procedure Call (RPC).
O comando é semelhante a esta estrutura:
rpcinfo <switches> hostname
Os switches que podem ser usados são:
-m exibe a lista de estatísticas do RPC de um host;
-s exibe a lista de aplicações RPC registradas de um
host;
showmount
Este comando lista e identifica diretórios compartilhados
presente em um sistema. showmount exibe a lista de todos os
clientes que tem um sistema de arquivos montados remotamente.
O comando é semelhante a esta estrutura:
/usr/share/showmount [- ade ] [hostname]
Os switches que podem ser usados são:
-a imprime todas as montagens remotas;
-d lista os diretórios que foram montadas remotamente
pelos clientes;
-e imprime a lista de sistemas de arquivos
compartilhados;
enum4linux
Uma ferramenta que faz este tipo de enumeração é o enum4linux,
o qual permite extrair informações do Windows ou Samba. Mas o
que é o Samba?
De acordo com o site samba.org, o software é descrito como:
…software that can be run on a platform other than Microsoft
Windows, for example,
UNIX, Linux, IBM System 390, OpenVMS, and other operating
systems. Samba uses
the TCP/IP protocol that is installed on the host server.
When correctly configured, it
allows that host to interact with a Microsoft Windows client
or server as if it is a
Windows file and print server.
Enum4linux permite a extração de informações onde o Samba está
sendo usado. Informações que podem ser retornadas incluem as
seguintes:
Informações de grupos de membros;
Informações compartilhadas;
Membros do grupo de trabalho ou domínio;
Identificação do SO;
Obter a política de senha;
Sugestões de livros:
Básico
de
Linux
usuários e grupos
sobre
Os sistemas operacionais Linux e Windows têm número de coisas
em comum e uma delas é a necessidade de usuários e grupos. Uma
vez que você vai encontrar sistemas Linux durante os pentests,
precisamos dar uma olhada neles também.
Usuários no Linux, assim como no Windows, servem para logar e
obter acesso ao sistema. As contas de usuários contém todas as
propriedades que permitirão um usuário acessar todos os
recursos, arquivos e pastas em um computador. As informações
associadas com uma conta de usuário pode ser armazenada no
host local ou na rede.
Uma conta típica usada para logar num computador Linux
consiste das seguintes informações:
Usuário e user ID (UID);
Senha
Nome do grupo primário e group ID (GID);
Nome do grupo secundário e grup IDs;
Localização do diretório home;
Shell preferido;
Assim que um usuário é criado, o Linux armazena as informações
do usuário e seus valores no arquivo etc/passwd do próprio
host. O passwd pode ser visto e editado com qualquer editor de
texto.
Cada usuário tem um registro com o seguinte formato:
usuario:senha:UID:GID:nome:diretorio home:shell
Analisando cada um dos itens, temos o seguinte:
O usuário e o user ID identificam o usuário no sistema.
Quando um usuário é criado, é dado um nome e assinalado
um UID de um predeterminado range de números. O UID deve
ser um número positivo e geralmente acima de 500 para as
contas de usuários. Contas de sistema normalmente tem um
número abaixo de 100;
Cada conta de usuário tem sua senha, a qual é
criptografada e armazenada no próprio computador ou em
outro computador em rede. Quando está no próprio
computador, fica no arquivo /etc/passwd ou no
/etc/shadow;
Administradores sempre usam o arquivo /etc/passwd para
gerenciar informações de contas mas também para
armazenar as senhas criptografadas no /etc/shadow, o
qual é possível ler através de uma conta root. Quando
este método é usado, o arquivo passwd tem um x no campo
de senha;
Grupos são usados para administrar e organizar contas de
usuários. Quando as permissões e direitos são atribuídos
para um grupo, todos os usuários parte deste grupo irão
receber os mesmos privilégios e permissões. Os grupos
possuem um nome único e um número de identificação
(GID). O GID primário e o nome do grupo são armazenados
como registros no arquivo /etc/passwd/ no próprio
computador;
Cada usuário tem um grupo primário por padrão e pode
pertencer a outros grupos adicionais chamados de
secundários. Quando usuários criam arquivos ou executam
programas, estes ficam associados com um grupo assim
como o dono. Um usuário pode acessar arquivos e
programas se eles forem membros de um grupo com
permissões para acessar. O grupo pode ser do grupo
primário do usuário ou de qualquer um de seus grupos
secundários.
Grupos e GIDs são usados para gerenciar os direitos e
permissões de outros arquivos e pastas. Grupos
secundários para cada usuário são listados como
registros no próprio computador em /etc/group.
Sugestões de livros:
Material LINUX gratuito
Material gratuito sistema operacional LINUX básico disponível
para download.
Quem acompanha o Portal GSTI sabe que nós tentamos divulgar
sempre os materiais e cursos de melhor qualidade, mesmo que
oferecidos para download gratis.
Agradecemos as pessoas que encaminham bons materiais. De todos
que foram indicados para este tema, escolhemos o que segue
abaixo. Em breve, selecionaremos muito mais, pois reconhecemos
o interesse dos frequentadores do Portal em LINUX!
Primeiramente, precisamos explicar a origem deste excelente
material, como é de costume: ele está disponível para download
no Portal comunitário do campus Campus São José – IF-SC, que
pertence ao Centro Federal de Educação Tecnológica – Unidade
São José dos Campos. Se estiver com um tempinho extra para
conferir, recomendamos uma visita.
O autor da apostila está identificado como Odilson Tadeu
Valle.
Feita estas apresentações, vamos ao que interessa!
O material a seguir, contém um escopo excelente para uma
introdução completa para o sistema operacional LINUX. São 56
páginas, mas consideramos a leitura leve e bem didática.
Espero que seja útil!
Nota: confira no rodapé desta postagem outros conteúdos
diversos, tais como videoaulas e materiais.
Aproveite: é grátis!
via Material LINUX gratuito
Comandos do Linux para Redes
Configuração de endereço IPv4 fixo
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
(configura um
ip manualmente)
ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 (configura
um alias, um segundo endereço ip)
ifconfig eth0.1 192.168.1.1 netmask 255.255.255.0
IP com dot1.q)
(configura
ifconfig eth0 (verifica se a configuração foi realizada
com sucesso)
ifconfig eth0 down (desativa a placa de rede)
ifconfig eth0 up (ativa a placa de rede)
Configuração de gateway IPv4
fixo
route add default gw 192.168.10.10 (configura um gateway)
route (mostra se o gateway foi configurado)
Configuração de endereço IPv4 fixo pelo
arquivo de configuração
Edite o arquivo de configuração “interfaces”, reinicie a
interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração
de interfaces de rede)
#Configuração IPv4 fixo na eht0
#allow-hotplug eth0 (Quando o kernel detecta a interface
física faz com que mesma levante. Está comentada e não
habilitada. Pode ser utilizada ao invéz de “auto”)
auto eth0
(configuração é iniciada após o restart)
iface eth0 inet static
(configura ainterface eth0 para ip
estático)
address 192.168.1.1 (configura o endereço ip)
netmask 255.255.255.0 (configura a masrcara)
broadcast 192.168.1.255 (configura o endereço de bradcast)
gateway 192.168.1.254 (configura o endereço de gateway)
dns-domain Lan_Senac-ti_FNS (nome da rede)
dns-nameservers 192.168.11.1 (endereço do dns)
ifconfig eth0 (verifica se a configuração foi realizada com
sucesso)
route (mostra se o gateway foi configurado)
Verificar o status fisíco da interface de
rede
mii-tool -v (mostra se há conectividade na NIC)
Verificar as conexões de internet ativas
netstat -putan
Verificar os processos ativos
ps aux
Configuração de endereço IPv4 dinâmico
(dhcp)
dhclient eth0
(configura um ip dinâmicamente por dhcp)
Configuração de endereço IPv4 dinâmico
(dhcp) pelo arquivo de configuração
Edite o arquivo de configuração “interfaces”, reinicie a
interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração
de interfaces de rede)
# Configuração IPv4 dinâmico na eht0
auto eth0
iface eth0 inet dhcp (configura ainterface eth0 para cliente
dhcp)
/etc/init.d/networking restart (reinicia as interfaces de
rede)
ifconfig eth0 (verifica se a configuração foi realizada com
sucesso)
route (verifica se o gateway foi configurado)
Alteração de um endereço MAC
ifconfig eth0 hw ether 00:90:F5:75:16:27 (altera o endereço
MAC da interface eth0)
Configuração de uma interface para o modo
promíscuo
ifconfig eth0 promisc (configura a interface eth0 para o modo
promíscuo)
ifconfig eth0 -promisc (desativa o modo promíscuo)
ifconfig eth0 | grep -i PROMISC (verifica e interface eth0
está em modo promíscuo)
Configuração de endereço IPv6 fixo
ip -6 addr add 200::1/64 dev eth0
(configura um ipv6 200::1
com mascara /64 manualmente)
ip -6 addr del 200::1/64 dev eth0
com mascara /64 manualmente)
(configura um ipv6 200::1
ifconfig eth0 (verifica se a configuração foi realizada com
sucesso)
ifconfig eth0 down (desativa a placa de rede)
ifconfig eth0 up (ativa a placa de rede)
ping6 ::1 (faz um icmp para o endereço ipv6 de loopback ::1,
equivalente ao 127.0.0.1 do ipv4)
Configuração de endereço IPv6 fixo pelo
arquivo de configuração
Edite o arquivo de configuração “networking”, reinicie a
interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração
de interfaces de rede)
# Configuração IPv6 fixo na eht0
auto eth0
iface eth0 inet6 static (configura ainterface eth0 para ip
estático)
address 200::1 (configura o endereço ip)
netmask 64 (configura a masrcara)
gateway 200::2 (configura o endereço de gateway)
/etc/init.d/networking restart (reinicia as interfaces de
rede)
ifconfig eth0 (verifica se a configuração foi realizada com
sucesso)
ip -6 route show (verifica se o gateway foi configurado)
Todos os comandos postados aqui são baseados na
distribuição Debian
Fonte: TI Redes – Via Oficina da Net
Cavalo
de
multiplataforma
Windows, Mac e Linux
Tróia
ataca
Novo Cavalo de Tróia pode afetar máquinas rodando Windows, Mac
ou Linux. Ele identifica o sistema operacional do usuário e
baixa o malware mais adequado para completar a infecção. O
objetivo final é transformar o computador afetado em um zumbi,
suscetível a instruções posteriores de um servidor externo.
Segundo o F-Secure, primeira empresa a identificar a ameaça
multiplataforma em um site colombiano, otrojan se instala a
partir de um applet Java malicioso. Ao visitar um site
contaminado, o usuário é ludibriado a executar o aplicativo
Java, o que abre passagem para a invasão. A partir daí, o
programa tenta identificar o sistema operacional do
computador.
O
Cavalo
de
Tróia
foi
nomeado
TrojanDownloader:Java/GetShell.A. Os componentes adicionais para
cada plataforma, Windows,
Mac, e Linux são respectivamente:
Backdoor:W32/GetShell.A, Backdoor:OSX/GetShell.A e
Backdoor:Linux/GetShell.A. Por enquanto, o servidor de Command
and Control (C&C) não enviou nenhuma instrução para as
máquinas afetadas, de acordo com o monitoramento da F-Secure,
mas isso pode acontecer a qualquer momento.
Fonte: Código Fonte
Versão 2.5 da ferramenta
Intersect para sistemas Linux
é liberada
O Intersect, ferramenta automatizada de “post-exploitation”
para sistemas Linux escrita em Python, recebeu nesta
semana sua versão 2.5.
O principal objetivo do projeto é dar assistências a
testadores de infiltração na automação de tarefas que
normalmente precisariam ser executadas manualmente.
O Intersect coleta arquivos de senhas, cópia de chaves SSH,
processos para enumerar aplicativos instalados, reúne
informações detalhadas sobre a rede, mapeia a rede (hosts
internos para dinamização), localiza e identifica aplicações
comuns do antivírus e do firewall, entre outras
funcionalidades.
Na nova versão, houve a inclusão de todas as características
da versão anterior, além da implementação de novos módulos
como egress buster, reverse HTTP shells, persistent backdoors
e cracking de senha. O “Egress Buster”, instaurado por Dave
Kennedy (ReL1K), foi adaptado exatamente para a versão 2.5.
Além disso, a Intersect 2.5 apresenta um novo XMLRPC Cracking
Utility, para automatizar a quebra de senhas.
A equipe desenvolvedora da ferramenta espera que aqueles que
experimentarem as suas funcionalidades possam propagá-las, e
tenham interessem em construir seus próprios módulos e
contribuir para o crescimento do projeto Intersect.
O Intersect 2.5 está disponível para download no GitHub.
Com informações de Under-Linux
Lançado DEFT Linux 7.1
No dia 02 de abril, foi liberada a versão 7.1 do DEFT Linux.
Sendo um utilitário bastante conhecido e conceituado por todos
os profissionais e por muitos interessados na área forense,
DEFT Linux é sinônimo de inovação no âmbito forense
computacional, trazendo um sistema ao vivo que utiliza como
ambiente desktop, a leveza e a rapidez do LXDE, file manager
thunar e mount manager como ferramenta para gerenciamento de
dispositivos.
DEFT Linux é muito fácil e prático de utilizar, além de
apresentar um ótimo sistema de detecção de hardware e as
melhores aplicações livres e de código aberto, dedicadas ao
trabalho de resposta a incidentes e computação forense de um
modo geral. Nesta versão de lançamento, houve correção de bugs
relacionados ao Hb4most e ao GParted, atualização para os
pacotes da libewf-20120304, para o bulk_extractor
1.2.0.tar.gz-, guymager 0.6.5-1, Analyzer iPhone Backup
10/2012 e para o Xplico 1.0. Outros detalhes sobre sas
mudanças e recursos implementados ao DEFT Linux 7.1, podem ser
encontrados em suas notas oficiais de lançamento. A versão
lançada está disponível para download, a partir do seu próprio
site.
Fonte: Under-Linux
Livro
Grátis
“Manual
Sobrevivencia Linux”
Ótimo livro para estudantes, entusiastas do software livre,
que sempre buscam disseminar a cultura livre, para que todos
possam compreender e utilizar suas ferramentas.
Manual de Sobrevivência é um livro voltado para a parte
técnica, indicado para usuário intermediários tentando para
avançados. O objetivo do livro é de auxiliar o usuário de
forma rápida e prática, ou seja, um Handbook.
View this document on Scribd
Baixe agora! Manual Sobrevivência Linux
Fonte: Analista TI
Sistemas de Arquivos
Partições
Podemos dividir um disco rígido em várias partes ou partições,
onde cada partição é independente das outras, ou seja, cada
partição pode ter o seu próprio sistema de arquivo. Isto
significa que uma partição do disco não interfere nas outras
partições. Podemos, por exemplo, instalar o Linux em uma
partição e o Windows em outra partição.
Um disco pode ser dividido em até 4 partições. Uma partição
pode ser primária ou estendida. Sendo que, no máximo, apenas
uma partição pode ser do tipo estendida. Isto significa que
você pode ter 4 partições primárias ou 3 partições primárias e
uma partição estendida. É possível dividir uma partição
estendida em até 64 partições menores chamadas de partições
lógicas (a partição estendida não armazena dados e sim, outras
partições lógicas). Não é possível, entretanto, dividir uma
partição primária.
A tabela onde são armazenadas as informações sobre as
partições fica no primeiro setor do disco e chamase MBR (Master Boot Record). Esta tabela possui 4 entradas
onde cada entrada descreve uma única partição.
Deve-se colocar o DOS em uma partição primária, pois este
sistema operacional não consegue inicializar numa partição
lógica, enquanto o Linux nã possui nenhuma restrição
(veja LILO para mais detalhes). Por outro lado, o Linux requer
na sua instalação a criação de pelo menos duas partições, uma
para instalar o próprio Linux (partição Linux nativo) e a
outra para servir de memória auxiliar para o Linux (partição
de swap ou troca). A partição Linux nativo é conhecida por
diretório raiz do Linux e é representada por /.
O programa mais comumente usado para particionar discos é
o fdisk. O problema com este aplicativo é que ele destrói os
dados armazenados ao particionar o disco.
Sistemas de arquivos
A tabela abaixo mostra os tipos mais comuns de sistemas de
arquivos que são reconhecidos pelo Linux.
Tipo
Descrição
ext
Sistema nativo Linux antigo
ext2
Atual sistema nativo Linux de
arquivos
iso9660
Sistema de arquivos do CD-ROOM
(read only)
msdos
Sistema de arquivos DOS
nfs
Sistema de arquivo remoto NFS
proc
Sistema de arquivos Linux
Process Information
swap
Sistema de arquivos de troca
(swap)
umsdos
Sistema de arquivos para
suportar arquivos DOS e Linux
coexistentes
Sistema de arquivos Windows
vfat
(permite definição de nomes de
arquivos com até 32 caracteres)
Para verificar quais os sistemas de arquivos que o seu Linux
suporta,
basta
verificar
o
conteúdo
do
arquivo /proc/filesystems. O exemplo abaixo mostra que o
sistema pode montar um CD-ROOM e um sistema de arquivos DOS ou
Windows.
ext2
nodev proc
iso9660
nodev devpts
msdos
O suporte para diferentes sistemas de arquivos pode ser obtido
através
de
módulos
de
kernel
carregáveis
no
diretório /lib/modules/XXX/fs, onde XXX é a versão atual do
Linux.
Sistemas de arquivos do Linux
No Linux, um diretório (corresponde ao conceito de pasta do
Windows) pode ter outros diretórios ou arquivos. Dizemos que
um diretório é filho de outro diretório quando ele está logo
abaixo do diretório em questão. O diretório que está um nível
acima é chamado de diretório pai.
O diretório raiz do Linux (ou diretório /) é o diretório com
maior hierarquia entre todos os diretórios do sistema. Isto
significa que todos os diretórios do Linux ficam abaixo deste
diretório. Por padrão (independente da distribuição usada),
temos no Linux
diretório raiz :
os
seguintes
diretórios
abaixo
do
bin – diretório com os arquivos binários de comandos
disponíveis para todos os usuários.
boot – diretório com os arquivos do boot de
inicialização.
dev – diretório com as definições dos dispositivos de
entrada/saída.
etc – diretório com os arquivos de configuração do
sistema.
home – diretório que armazena os diretórios dos usuários
do sistema.
lib – diretório com as bibliotecas e módulos
(carregáveis) do sistema.
mnt – diretório usado para montagem de partições.
opt – diretório usado para instalar pacotes opcionais
que não fazem parte da distribuição Linux.
proc – diretório com informações sobre os processos do
sistema.
root – diretório home do administrador do sistema.
sbin – diretório com os arquivos binários de comandos
disponíveis para administrar o sistema.
tmp – diretório com arquivos temporários.
usr – diretório com arquivos binários, páginas de manual
e outros arquivos imutáveis utilizados pelos usuários do
sistema, mas que não são essenciais para o uso do
sistema como, por exemplo, o sistema de janelas X,
jogos, bibliotecas compartilhadas e programas de
usuários e de administração.
var – diretório com arquivos de dados variáveis (spool,
logs, etc).
O
diretório
inicial
de
um
usuário
é
conhecido
como
diretório
home,
diretório
raiz
do
usuário
ou
diretório principal do usuário. Este diretório é o de maior
hierarquia no conjunto de diretórios do usuário. O usuário tem
total controle sobre o seu diretório home e sobre todos os
arquivos e diretórios que estão abaixo dele. Isto significa
que o usuário pode criar, deletar e modificar tudo que está
abaixo do seu diretório principal. Além disso, o usuário pode
definir as permissões de acesso (leitura, gravação e execução)
dos outros usuários em relação aos seus arquivos.
Normalmente, o diretório raiz de um usuário está localizado
em /home e possui o mesmo nome do login de acesso do usuário
(o root pode mudar este padrão durante a criação da conta do
usuário). Por exemplo, o diretório raiz do usuário aluno, por
padrão, é /home/aluno.
Convém também observar que é possível colocar os subdiretórios
do diretório raiz em partições separadas. O objetivo é
facilitar a manutenção do sistema e aumentar a segurança dos
dados. Portanto, a distribuição do diretório raiz em várias
partições é uma escolha pessoal do administrador do sistema.
Normalmente, é sugerido que os seguintes diretórios possuam
uma partição própria: /home, /opt, /tmp, /usr e /usr/local.
Estrutura de diretórios para
iniciantes
Segue abaixo para iniciantes um conceito de estrutura de
diretórios no Linux.
Trata-se deum sistema hierárquico de sistema de diretórios. O
mais importante é o diretório”/” ou raiz . Esse diretório é
montado inicialmente no momento em que o sistema é carregado,
e ele contém o sitema base nescessário para preparar a entrada
em modo de operação multi-usuário do sistema operacional. O
diretório “/” contém ainda pontos de montagem para cada outro
sistema de arquivos que você queira montar.
Na imagem abaixo,se refere
diretórios no Linux:
a
estrutura
de
sistema
de
Fonte: Blog Trackynx
Download