Пример #1
0
 def http_proxy_options(self, threads_value):
     self.target_type = "http"
     self.register_options([
         BaseOption(
             name="HttpProxyHost",
             required=True,
             description="An optional proxy server IP address or hostname",
             value=''),
         BaseOption(
             name="HttpProxyPort",
             required=True,
             description="An optional proxy server port",
             value=5,
         ),
         BaseOption(name="HttpProxyUser",
                    required=True,
                    description="An optional proxy server username",
                    value=''),
         BaseOption(name="HttpProxyPass",
                    required=True,
                    description="An optional proxy server password",
                    value=threads_value),
         BaseOption(name="HttpProxyType",
                    required=True,
                    description="The type of HTTP proxy['HTTP', 'SOCKS']",
                    value=threads_value),
     ])
 def __init__(self):
     super(Exploit, self).__init__()
     self.update_info({
         "name": "vsftpd_234_backdoor.py",
         "description": """reverse shell programing.""",
         "author": ["darkcode0x00"],
         "references": [
             "darkcode0x00 pro",
         ],
         "disclosure_date": "2020, 10, 5",
         "service_name": "reverse shell",
         "service_version": "telegram send bot msg 0.1",
     })
     self.register_options([
         BaseOption(name="LPORT",
                    required=True,
                    description="LISTEN",
                    value=""),
         BaseOption(name="RPORT",
                    required=True,
                    description="REMOTE PORTE",
                    value=""),
         BaseOption(name="RHOST",
                    required=True,
                    description="REMOTE HOST",
                    value=""),
         BaseOption(name="COMMAND",
                    required=True,
                    description="SEND COMMAND",
                    value=""),
     ])
Пример #3
0
 def register_tcp_target(self,
                         port_value=None,
                         timeout_value=5,
                         threads_value=1):
     """adiciona o os principais metodos
         do modulo nesse caso metodos classico de uma conexão tcp"""
     self.target_type = "tcp"
     self.register_options([
         BaseOption(
             name="HOST",
             required=True,
             description="The IP address to be tested",
         ),
         BaseOption(
             name="PORT",
             required=True,
             description="The port to be tested",
             value=port_value,
         ),
         BaseOption(
             name="TIMEOUT",
             required=True,
             description="Connection timeout",
             value=timeout_value,
         ),
         BaseOption(
             name="THREADS",
             required=True,
             description="The number of threads",
             value=threads_value,
         ),
     ])
Пример #4
0
 def __init__(self):
     super(Exploit, self).__init__()
     self.update_info({
         "name": "Telegram Message Client",
         "description":
         """ This module will send a Telegram message to given chat ID with the
         given bot token. Please refer to the module documentation for info
         on how to retrieve the bot token and corresponding chat ID values.""",
         "author": ["darkcode0x00"],
         "references": [
             "telegram api",
         ],
         "disclosure_date": "2020, 9, 5",
         "service_name": "torch",
         "service_version": "telegram send bot msg 0.1",
     })
     self.register_options([
         BaseOption(
             name="BOT_TOKEN",
             required=True,
             description="Telegram BOT token",
             value="",
         ),
         BaseOption(
             name="CHAT_ID",
             required=True,
             description="Chat ID for the BOT",
             value="",
         ),
         BaseOption(name="MSG",
                    required=True,
                    description="Message content",
                    value=""),
     ])
Пример #5
0
    def thg_show(self, content):
        """
        Display module information

        Eg:
            show info
            show options
            show missing
        """
        if not self.module_instance:
            raise ModuleNotUseException()

        if content == "info":
            info = self.module_instance.get_info
            self.poutput("Module info:")
            info_table = [[item + ":", info.get(item)] for item in info.keys()]
            self.poutput(
                tabulate(info_table, colalign=("right", ), tablefmt="plain"))

        if content in ["options", "info"]:
            options = self.module_instance.options.get_options()
            default_options_instance = BaseOption()
            options_table = []
            for option in options:
                options_table_row = [
                    getattr(option, field)
                    for field in default_options_instance.__dict__.keys()
                ]

                options_table.append(options_table_row)

            self.poutput("Module options:")
            self.poutput(
                tabulate(
                    options_table,
                    headers=default_options_instance.__dict__.keys(),
                ))

        if content == "missing":
            missing_options = self.module_instance.get_missing_options()
            if len(missing_options) == 0:
                self.poutput("No option missing!")
                return None

            default_options_instance = BaseOption()
            missing_options_table = []
            for option in missing_options:
                options_table_row = [
                    getattr(option, field)
                    for field in default_options_instance.__dict__.keys()
                ]

                missing_options_table.append(options_table_row)
            self.poutput("Missing Module options:")
            self.poutput(
                tabulate(
                    missing_options_table,
                    headers=default_options_instance.__dict__.keys(),
                ))
Пример #6
0
 def __init__(self):
     super(Exploit, self).__init__()
     self.update_info({
         "name":
         "teste lib nome",
         "description":
         "teste lib descricao",
         "author": ["teste lib autor"],
         "references": [
             "xxxxx1",
             "xxxxx2",
             "xxxxx3",
             "xxxxx4",
         ],
         "disclosure_date":
         "teste lib data",
         "service_name":
         "teste lib nome servico",
         "service_version":
         "teste lib autor versao",
     })
     self.register_http_target()
     self.register_options([
         BaseOption(name="teste",
                    required=True,
                    description="teste",
                    value="teste")
     ])
Пример #7
0
 def register_query_target(self, query="darkcode", pages=20):
     """adicionar metodo query, para busca de informações"""
     self.target_type = "query"
     self.register_options([
         BaseOption(
             name="query",
             required=True,
             description="query para busca de dados ",
             value=query,
         ),
         BaseOption(
             name="pages",
             required=True,
             description="numero maximo de páginas a se buscar",
             value=pages,
         ),
     ])
Пример #8
0
 def register_http_target(self, timeout_value=5, threads_value=1):
     """adiciona o os principais metodos do
         modulo nesse caso metodos classico de uma conexão http"""
     self.target_type = "http"
     self.register_options([
         BaseOption(name="URL",
                    required=True,
                    description="The url to be tested"),
         BaseOption(
             name="TIMEOUT",
             required=True,
             description="Connection timeout",
             value=timeout_value,
         ),
         BaseOption(name="THREADS",
                    required=True,
                    description="The number of threads",
                    value=threads_value),
     ])
Пример #9
0
 def http_header_options(self, threads_value):
     self.target_type = "http"
     self.register_options([
         BaseOption(
             name="HttpHostHeader",
             required=True,
             description="An optional value to use for the Host HTTP header",
             value=0),
         BaseOption(
             name="HttpCookie",
             required=True,
             description=
             "An optional value to use for the Cookie HTTP header",
             value=5,
         ),
         BaseOption(name="HttpReferer",
                    required=True,
                    description=
                    "An optional value to use for the Referer HTTP header",
                    value=threads_value),
     ])
Пример #10
0
 def stager_retry_options(self, threads_value):
     self.target_type = "http"
     self.register_options([
         BaseOption(
             name="StagerRetryCount",
             required=True,
             description=
             "The number of times the stager should retry if the first connect fails",
             value=10),
         BaseOption(
             name="StagerRetryWait",
             required=True,
             description=
             "Number of seconds to wait for the stager between reconnect attempts",
             value=5,
         ),
         BaseOption(name="THREADS",
                    required=True,
                    description="The number of threads",
                    value=threads_value),
     ])
Пример #11
0
 def register_social_target(self, url="https://www.darkcode0x00.com.br"):
     self.target_type = "social"
     """adicionar metodo url  para busca de redes sociais """
     self.target_type = "url"
     self.register_options([
         BaseOption(
             name="url",
             required=True,
             description="url para busca de dados  ",
             value=url,
         ),
     ])
Пример #12
0
 def __init__(self):
     super(Exploit, self).__init__()
     self.update_info(
         {
             "name": "handler.py",
             "description": """reverse shell programing.""",
             "author": [Darkcode0x00],
             "references": [
                 "darkcode0x00 pro",
             ],
             "disclosure_date": "2020, 10, 5",
             "service_name": "reverse shell",
             "service_version": "telegram send bot msg 0.1",
         }
     )
     self.register_options(
         [
             BaseOption(name="LPORT", required=True, description="LISTEN", value=""),
         ]
     )
Пример #13
0
 def register_crawler_target(
     self,
     enableUl=None,
     storeDB=None,
     maxUriLimit=None,
     sleepTime=None,
     takeTimeout=None,
     readTimeout=None,
     threadNum=None,
     dontCrawl=None,
     url=None,
 ):
     self.target_type = "crawler"
     self.register_options([
         BaseOption(name="url",
                    required=True,
                    description="target url",
                    value=url),
         BaseOption(
             name="EnableUl",
             required=False,
             description="Enable maximum number of request per URI",
             value=enableUl,
         ),
         BaseOption(
             name="StoreDB",
             required=False,
             description="Store requests in database",
             value=storeDB,
         ),
         BaseOption(
             name="MaxUriLimit",
             required=False,
             description="Number max. request per URI",
             value=maxUriLimit,
         ),
         BaseOption(
             name="SleepTime",
             required=False,
             description="Sleep time (secs) between requests",
             value=sleepTime,
         ),
         BaseOption(
             name="TakeTimeout",
             required=False,
             description="Timeout for loop ending",
             value=takeTimeout,
         ),
         BaseOption(
             name="ReadTimeout",
             required=False,
             description="Read timeout (-1 forever)",
             value=readTimeout,
         ),
         BaseOption(
             name="ThreadNum",
             required=False,
             description="Threads number",
             value=threadNum,
         ),
         BaseOption(
             name="DontCrawl",
             required=False,
             description="Filestypes not to crawl",
             value=dontCrawl,
         ),
     ])