情報セキュリティ試合殺しプロセススクリプト
試合はもう終わりましたから、出してください.
既存のプロセスを保護し、新しくなったプロセスを殺す.
既存のプロセスを保護し、新しくなったプロセスを殺す.
#-*- coding:utf-8 -*-
#2018-01-17
#by-duwentao
#version:python 2.7.9
#python2.6.6
import os
import signal
pid_list=[]
#
def max_pid():
f = open("/proc/sys/kernel/pid_max","r")
pid = int(f.read().strip("
"))
f.close()
if pid != 1024:
print pid
# 1024
os.system("echo \"1024\" >> /proc/sys/kernel/pid_max")
else:
print "max_pid : 1024"
# pid
def get_pid():
# ,
if os.path.exists("pid.txt"):
pass
else:
os.system("ps aux |awk \'{print $2}\' |sed \'s/PID/0/g\' >> pid.txt")
#
f = open("pid.txt","r")
for pid in f.readlines():
pid = int(pid.strip("
"))
pid_list.append(pid)
f.close()
return pid_list
def kill_pid(pid_list):
self_pid = os.getpid() # pid
while True:
for i in range(1,1025):
if i in pid_list:
pass
elif (i == self_pid):
pass
else:
try:
a = os.kill(i, signal.SIGKILL)
print ' pid %s , :%s' % (i, a)
except:
pass
def get_ip():
ip5 = int(raw_input(" ip (3 4):").strip("
"))
if ip5 == 3 :
ip1 = int(raw_input(" ip :").strip("
"))
ip2 = int(raw_input(" ip :").strip("
"))
ip3 = int(raw_input(" ip :").strip("
"))
ip4 = int(raw_input(" ip :").strip("
"))
username = raw_input(" :").strip("
")
passwd = raw_input(" :").strip("
")
for ip3 in range(105,107):
ip = str(ip1) + "." + str(ip2) + "." + str(ip3) + "." + str(ip4)
ssh_connect(ip,username,passwd) #
elif ip5 == 4:
ip1 = int(raw_input(" ip :").strip("
"))
ip2 = int(raw_input(" ip :").strip("
"))
ip3 = int(raw_input(" ip :").strip("
"))
#ip4 = int(raw_input(" ip :").strip("
"))
username = raw_input(" :").strip("
")
passwd = raw_input(" :").strip("
")
for ip4 in range(105,107):
ip = str(ip1) + "." + str(ip2) + "." + str(ip3) + "." + str(ip4)
ssh_connect(ip,username,passwd)
else:
print (" , ")
exit()
def ssh_connect(ip,username,passwd):
try:
#python2.6.6
import paramiko
except:
print " python2.6.6 paramiko "
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,username=username,password=passwd,timeout= 1 )
#os.system(" echo centos | passwd --stdin root")
# root centos
f=open('ssh.txt','a')
f.write("ip:%s,username:%s,password:%s
" %(ip,username,passwd))
f.close()
ssh.close()
except:
·pass
def menu():
while True:
print "\033[32m ------- ------\033[0m"
print "\033[32m 1. pid\033[0m"
print "\033[32m 2. pid \033[0m"
print "\033[32m 3. ssh \033[0m"
print "\033[32m 4. pid\033[0m"
print "\033[32m 5. \033[0m"
try:
c =int(raw_input(" :"))
except:
print "\033[31m your input is wrong \033[0m"
continue
if c == 1:
max_pid()
elif (c == 2):
get_pid()
elif ( c == 3 ):
get_ip()
elif (c == 4):
kill_pid(pid_list)
elif ( c == 5 ):
exit()
else:
print "\033[31m your input is wrong \033[0m"
if __name__ == '__main__':
print(" , ")
menu()