Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux
Neste artigo, resolveremos a 25ĀŖ tarefa do site pwnable.kr.

Informações organizacionaisEspecialmente para aqueles que desejam aprender algo novo e se desenvolver em qualquer Ôrea da segurança da informação e da computação, escrevo e compartilho sobre as seguintes categorias:

  • PWN;
  • criptografia (Crypto);
  • tecnologias de rede (Network);
  • engenharia reversa (Reverse Engineering);
  • esteganografia (Stegano);
  • pesquisa e exploração de vulnerabilidades WEB.

Além disso, compartilharei minha experiência em crimes computacionais, anÔlise de malware e firmware, ataques a redes sem fio e redes locais, realização de pentests e escrita de exploits.

Para que você possa se manter informado sobre novos artigos, software e outras informações, eu criei um canal no Telegram e um grupo para discutir quaisquer questões na Ôrea de segurança da informação e gestão de riscos. Além disso, suas solicitações pessoais, perguntas, sugestões e recomendações serão consideradas pessoalmente e eu responderei a todos.

Todas as informações estão apresentadas exclusivamente para fins educacionais. O autor deste documento não se responsabiliza por quaisquer danos causados a terceiros como resultado do uso dos conhecimentos e métodos obtidos através do estudo deste documento.

Solução da tarefa otp

Continuamos a segunda seção. Direi de antemão que é mais difícil que a primeira, mas desta vez fornecem o código-fonte do programa. Não esqueçamos da discussão aqui(https://t.me/RalfHackerPublicChat) e aqui (https://t.me/RalfHackerChannel). Vamos começar.

Clicamos no ícone com a legenda otp. Eles nos fornecem um endereço e uma porta para conexão.

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Conectamos e exploramos o servidor.

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

A bandeira que não conseguimos ler, o programa e seu código-fonte. Vamos ver o código-fonte.

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Vamos descompactĆ”-lo. O programa aceita uma senha como argumento.

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Em seguida, na variÔvel otp, são armazenados 16 bytes aleatórios.

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Na pasta tmp, um arquivo com um nome aleatório (os primeiros 8 bytes de otp) é criado e nele são gravados 8 bytes aleatórios (os 8 bytes restantes de otp).

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Por algum motivo, o valor desse arquivo criado Ć© lido e comparado com a senha inserida.

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Aqui estÔ a vulnerabilidade. Ela reside na salvaguarda intermediÔria do número gerado em um arquivo. Podemos restringir o tamanho do arquivo, por exemplo, a 0, então ao gravar e ler com a senha, serÔ comparado 0. Podemos fazer isso assim.

# ulimit -f 0

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Agora vamos executar o programa.

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Recebemos um erro. NĆ£o se preocupe, pois pode ser tratado com o mesmo Python.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

Solução da tarefa do pwnable.kr 25 — otp. Limitação de tamanho de arquivo no Linux

Recebemos a bandeira e nossos fÔceis 100 pontos. E seguimos: no próximo artigo, abordaremos Web. Você pode se juntar a nós em Telegram.

Fonte: habr.com

Compre hospedagem confiĆ”vel para sites com proteção contra DDoS, servidores VPS VDS šŸ”„ Compre hospedagem confiĆ”vel para sites com proteção contra DDoS, servidores VPS VDS | ProHoster