Você está na página 1de 7

 

Name Multi User Escalation III

AUTOR DARKCODE0X00(LUIZ CORREA)

URL https://www.attackdefense.com/challengedetails?cid=89

tipo escalada de privilegio (linux)

início
No artigo de hoje veremos como fazer um privilegio de escalação usando o linux, navegando por
múltiplos usuário, espero que gostem e vamos lá.

Oque iremos ver nesse artigo

permissões mal-configuradas

arquivos sensíveis com permissão de leitura


quebrar hash com John the Ripper

busca por binário com suid


elevar privilegio com perl(sudoers)

início da pós-exploração {permissões mal-


configuradas}
Para nós exploradores de sistema, usaremos o comando find para procurar arquivos com
permissões, liberando que o linux segue o padrão ugo

usuário(user)

grupo(group)
outro(other)

antes de da início a exploração em si, vamos relembrar como as permissões mal-configurada do


linux podem nos ajudar no processo de pós-exploração

após executar o comando ls -la no seu sistema de arquivos você irá se deparar com a seguinte
saída

agora vamos entender a saída desse comando,algo de extrema importância para todos os
sysadm/pentester
com a permissão r temos a permissão para ler um arquivo ou
r= read(leitura)
um diretório

com a permissão w temos a permissão de escrever em um


w=write(escrita)
arquivo/diretório

com a permissão x termos a permissão de executar um


x=execute(executar)
arquivo/binário

não podemos fazer nada, ate conseguirmos um


-=sem permissão
usuário/grupo com permissões no arquivo/Diretório

referente ao tipos de arquivos

d=dir(diretório) diretório retornado no seu out

-/s=file*(arquivos comuns) arquivos retornados no seu out

I=links link simbólicos de arquivos

c=devices(dispositivos) dispositivos do sistema

Representação dos usuários:

u=user(usuário) usuário corrente

g=group(grupo) grupo do usuário

o=othres(outros) outros, pessoas que não estão no mesmo grupo/usuário

a=all ou a(ugo)=all permissões completas para todos (usuário,grupo,outros)

Operações:

+ = add adicionar uma permissão a um arquivo/grupo

- =remove remover uma permissão de um arquivo/grupo

= = explicit permition colocar permissões explicitas a um arquivo

Modéstia a parte eu prefiro a forma explicita

Exemplo:

chmod u+x, g-w, o=R (arquivo)


tenha sempre isso em mente !!!!!!!

para finalizar a parte do entendimento do comandos ls -la, vamos analisar a nossa saída, e
lembra depois que vc ler esse arquivo vocês será capaz de entender as permissões do linux em
qualquer ambiente sysadm/ctf(já que é a mesma coisa só vai mudar as suas intenções hahaha)
brincadeiras a parte vamos lá

não literalmente nada nesse sistema de arquivos, apenas um diretório com permissões, por
questão de dá tica vamos analisar

temos no nosso bloco de permissões um d(diretório) para ambos os usuários, agora vamos ver
as suas permissões rxw(permissões completas para leitura, escrita e execução em um arquivo), o
grupo com permissões de (xr execução e leitura em arquivos), os outros com apenas permissões
de execução(algo muito perigo ao meu ponto de vista), analisando os usuários temos dois, o
usuário student e o root ambos com seus devidos grupos de respectivamente

usando o find para procurar


arquivos{arquivos sensíveis com
permissão de leitura}
agora vamos procurar algumas arquivos interessantes, tais como em toda exploração os

passwd
passwd-
gshadow
gshadow-
shadow
shadow-

temos uma sintaxe bem legal para usar nesse caso, vai ser a junção do comando que nós
usamos anteriormente o ls junto com o comando grep a combinação desses dois e algo incrível
quando vc consegue entender a magia da coisa, então vamos lá

analisando esses arquivos vemos que tem algo de muito errado não e meu jovem, será que você
olhando agora junto comigo percebe oque está errado ? pois e isso mesmo o arquivo -r--r--r-- 1
root shadow 598 Sep 26 2018 shadow está completamente zuado, pois um shadow bem
configurado não permite a leitura de linguem, pois e dentro desse arquivo que linux guarda a
suas hashs de senha(algo que um atacante está louco para por as mãos não e heheheh)
após vermos que o arquivo tem permissões de leitura, vamos ler, para ganhar uma shell mais
poderosa

vamos usar o sub programa unshadow que faz parte do john the ripper para nos auxiliar a
quebra as hash do nosso alvo, ressaltando que só encontramos uma hash possivelmente
quebrável referente ao usuário admin , usando as seguintes sintaxe, você verá que e possível
quebrar essa senha e subir privilegio com esse usuário

1-

veremos que após esse comando você será capas que ver as hahs formatadas pelo john
2-

nesse caso eu tentei passar sem uma wordlist e ele conseguiu, terá casos que você precisa
vascular o sistema para montar a sua wordlist de acordo com o alvo.

com a senha pega, agora vamos trocar de usuário e ver oque podemos achar com o usuário
admin, será que vai ser nele que teremos o root ? acompanha o artigo para você saber.

subindo privilegio com o usuário admin

1-

como vemos, conseguimos efetuar um login com nosso usuário admin, algo típico a fazer são
basicamente 3 coisas usar o find para procurar suid com a visão desse usuário, ou usar o sudo -
lll para ver se eu consigo usar algum comando sem ter que colocar a senha do user(isso
acontece quando ele não está no grupo de usuário sudo, dentro do arquivo sudoers), dito isso a
terceira coisa é lista os arquivos do diretório $HOME do nosso usuário

2-

olha só que legal, foi legal a gente ter refeito uma revisão sobre permissões neh, temos um
binário suspeito dentro do nosso usuário chamado chpasswd(change password) pelo nome
podemos deduzir, que ele será capas de troca a senha do nosso usuários, olha só que mindset
foda, podemos trocar a senha de qualquer usuário e acessa-lo.

vamos fazer uma uma analise a nossa saída, para ninguém ficar com duvida

temos dois grupos(admin,root) e dois usuários(admin,root) com as seguinte permissões, vamos


começar pelo root, suas permissões lhe concedem o poder de executar, ler e escrever, o grupo
root só pode executar e ler, e olha que maneiro, outros(nós por que não fazemos parte do
usuário e nem do grupo root), já da para fazer uma brincadeira massa ai
3-

pois é não da para ir com muita cede ao pote,e com isso resolvi voltar e rever os usuários
presentes no sistema e percebi que temos 3 usuários

1-student(shell inicial)

2-admin(priv esc)

3-teacher(vamos tentar trocar a senha do user agora )

4-

pimba, conseguimos entra com o usuário teacher, vamos ver se tem algum binário que podemos
executar a partir dele

5-

através do perl podemos pegar uma shell root, de agora para frente já vimos a nossa shell root a
vista jovem marinheiro!!!!
6-

a partir de agora a ctf acabou, espero que todos tenham gostado desse artigo e aprendido
bastante meu nome e luiz correa, mais conhecido como darkcode

Você também pode gostar