Ejemplo n.º 1
0
 def report_file(self, hash: Hash):
     self.api_repf.data = {**self.get_apikey(), "resource": hash.hash}
     data, _ = request(self.api_repf)
     data = frmt.jsontree(data, depth=1)
     # data = frmt.jsonvert(data["scans"])
     # openurl(data["permalink"])
     return out.pformat(data)
Ejemplo n.º 2
0
 def submit_file(self, file: File):
     self.api_subf.file = {"file[]": file.fd()}
     self.api_subf.data = {**self.get_apikey(), "QUICKSAND_RERUN": 1}
     # {"QUICKSAND_BRUTE": 1, "QUICKSAND_LOOKAHEAD": 1}
     data, _ = request(self.api_subf)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 3
0
 def report_file(self, hash: Hash):
     self.api_repf.param = {**self.get_apikey(), "action": "details",
                            "hash": hash.hash}
     data, _ = request(self.api_repf)
     #data = frmt.jsontree(data)
     data = frmt.jsondump(data)
     return data
Ejemplo n.º 4
0
 def report_file(self, hash: Hash):
     # hash.hash + "?overview=false&section=pe"
     self.api_repf.fulluri = self.api_repf.fullurl + hash.hash
     self.api_repf.cookie = self.get_apikey()
     data, _ = request(self.api_repf)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 5
0
 def report_dom(self, dom: str):
     self.api_repd.fulluri = self.api_repd.fullurl + dom
     self.api_repd.param = self.get_apikey()
     data, _ = request(self.api_repd)
     data = frmt.jsontree(data)
     # web.openurl(data["permalink"])
     return out.pformat(data)
Ejemplo n.º 6
0
 def report_ip(self, ip: str):
     self.api_repi.fulluri = self.api_repi.fullurl + ip
     self.api_repi.param = self.get_apikey()
     data, _ = request(self.api_repi)
     data = frmt.jsontree(data)
     # web.openurl(data["permalink"])
     return out.pformat(data)
Ejemplo n.º 7
0
 def submit_file(self, file: File):
     # HTTP 404 Not Found
     self.api_subf.cookie = self.get_apikey()
     self.api_subf.file = {"file": file.fd()}
     data, _ = request(self.api_subf)
     data = frmt.jsonvert(data)
     return out.pformat(data)
Ejemplo n.º 8
0
 def report_ip(self, ip: str):
     self.api_repi.param = {**self.get_apikey(),
                            "ip": ip,
                            "limit": self.limit}
     data, _ = request(self.api_repi)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 9
0
 def report_dom(self, dom: str):
     self.api_repd.param = {"domain": dom}
     data, _ = request(self.api_repd)
     data = frmt.jsontree(data)
     if data == []:
         return f"domain \"{dom}\" not found"
     return out.pformat(data)
Ejemplo n.º 10
0
 def search(self, srch: str):
     self.api_srch.data = {
         "q": srch,
         **self.get_apikey()
     }
     data, _ = request(self.api_srch, json=True)
     return data["data"]
Ejemplo n.º 11
0
 def submit_file(self, file: File):
     # HTTP 405 Method Not Allowed
     self.api_subf.data = {**self.get_apikey(), "shared": "yes"}
     self.api_subf.file = {"file": (file.name, file.fd())}
     data, _ = request(self.api_subf)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 12
0
 def submit_file(self, file: File):
     self.api_subf.fulluri = self.api_subf.fullurl % (self.get_apikey(key=True))
     self.api_subf.file = {
         "upload": file.fd()
     } 
     data, _ = request(self.api_subf)
     return data
Ejemplo n.º 13
0
 def submit_url(self, url: str):
     self.api_subu.data = {**self.get_apikey(),
                           "report_radio-platform": "WINDOWS7",
                           "report_radio-url": url}
     data, _ = request(self.api_subu)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 14
0
 def report_app(self, hash: Hash):
     self.api_repa.header = \
         {"Authorization":
              " ".join(f"{kn} {k}" for kn, k in self.get_apikey().items())}
     self.api_repa.fulluri = self.api_repa.fullurl + hash.hash
     data, _ = request(self.api_repa)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 15
0
 def submit_file(self, file: File):
     self.api_subf.data = {
         "accept-tac": "1" if self._accept_tac else "0",
         **self.get_apikey()
     }
     self.api_subf.file = {"sample": file.fd()}
     data, _ = request(self.api_subf, json=True)
     return data["data"]
Ejemplo n.º 16
0
 def report_url(self, url: str):
     self.api_repu.param = {**self.get_apikey(),
                            "limit": self.limit,
                            "type": "url",
                            "value": url}
     data, _ = request(self.api_repu)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 17
0
 def submit_url(self, url: str):
     self.api_subu.data = {
         "url": url,
         "accept-tac": "1" if self._accept_tac else "0",
         **self.get_apikey()
     }
     data, _ = request(self.api_subu, json=True)
     return data["data"]
Ejemplo n.º 18
0
 def submit_file(self, file: File):
     self.api_subf.file = {"sample[]": file.fd()}
     self.api_subf.data = {"type": "json", "message": "", "email": ""}
     data, _ = request(self.api_subf)
     if " is not a PDF file. Not processed." in data:
         return f"{file} is not a PDF file"
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 19
0
 def report_dom(self, dom: str):
     self.api_repd.param = {**self.get_apikey(),
                            "limit": self.limit,
                            "type": "domain",
                            "value": dom}
     data, _ = request(self.api_repd)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 20
0
 def download_file(self, hash: Hash):
     self.api_dowf.data = {hash.alg: hash.hash, **self.get_apikey()}
     data, filename = request(self.api_dowf, bin=True)
     # out.debug(util.hexdump(data))
     if filename:
         rw.writef(filename, data)
         return f"downloaded \"{filename}\""
     else:
         return "unsuccess"
Ejemplo n.º 21
0
 def submit_file(self, file: File):
     self.api_subf.data = self.get_apikey()
     self.api_subf.file = {"file": (file.name, file.fd())}
     data, _ = request(self.api_subf)
     data = frmt.jsontree(data)
     # web.openurl(data["permalink"])
     data = frmt.jsonvert(data)
     # return out.pformat(data)
     return data
Ejemplo n.º 22
0
 def report_url(self, url: str):
     self.api_repu.data = {
         "url": quoteurl(url),
         "format": "json",
         **self.get_apikey()
     }
     data, _ = request(self.api_repu)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 23
0
 def submit_file(self, file: File):
     self.api_subf.auth = self.get_apikey(key=True, user=True)
     self.api_subf.data = {
         "environmentId": 100
         # "nosharevt": "true"
     }
     self.api_subf.file = {"file": file.fd()}
     data, _ = request(self.api_subf)
     return data
Ejemplo n.º 24
0
 def report_ip(self, ip: str):
     self.api_repi.header = {
         "Authorization":
         " ".join(f"{kn} {k}" for kn, k in self.get_apikey().items())
     }
     self.api_repi.fulluri = self.api_repi.fullurl + ip
     data, _ = request(self.api_repi)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 25
0
 def download_file(self, hash: Hash):
     self.api_dowf.fulluri = self.api_dowf.fullurl % self.get_apikey(
         key=True)
     data, filename = request(self.api_dowf, bin=True)
     if filename:
         rw.writef("phishtank-" + filename, data)
         return f"downloaded \"phishtank-{filename}\""
     else:
         return "unsuccess"
Ejemplo n.º 26
0
 def search(self, srch: str):
     from re import escape
     srch = escape(srch)
     self.api_srch.param = {**self.get_apikey(),
                            "limit": self.limit,
                            "value__regexp": f".*{srch}.*"}
     # self.api_srch.param = {**self.get_apikey(), "value": srch}
     data, _ = request(self.api_srch)
     data = frmt.jsontree(data)
     return out.pformat(data)
Ejemplo n.º 27
0
 def submit_url(self, url: str):
     if url.startswith("http://"):
         url = url[7:]
     elif url.startswith("https://"):
         url = url[8:]
     self.api_subu.fulluri = self.api_subu.fullurl % \
                             (self.get_apikey()["identifier"],
                              self.get_apikey()["apikey"], url)
     data, _ = request(self.api_subu)
     return frmt.xmlparse(data)
Ejemplo n.º 28
0
 def download_file(self, hash: Hash):
     self.api_dowf.fulluri = self.api_dowf.fullurl % hash.hash
     self.api_dowf.cookie = self.get_apikey()
     data, filename = request(self.api_dowf, bin=True)
     # out.debug(util.hexdump(data))
     if filename:
         rw.writef(filename, data)
         return f"downloaded \"{filename}\""
     else:
         return "unsuccess"
Ejemplo n.º 29
0
 def report_file(self, hash: Hash):
     if hash.alg == HASH_MD5 or hash.alg == HASH_SHA1:
         self.api_repf.param = {**self.get_apikey(),
                                "type": "md5",  # MD5 or SHA-1
                                "value": hash.hash,
                                "limit": self.limit}
         data, _ = request(self.api_repf)
         data = frmt.jsontree(data)
         return out.pformat(data)
     else:
         return f"{hash.alg} is not MD5 or SHA1"
Ejemplo n.º 30
0
 def download_file(self, hash: Hash):
     self.api_dowf.param = {**self.get_apikey(), "action": "getfile",
                            "hash": hash.hash}
     data, filename = request(self.api_dowf, bin=True)
     # out.debug(util.hexdump(data))
     if data.startswith(b"Sample not found by hash"):
         return f"sample \"{hash}\" not found"
     if not filename:
         filename = hash.hash
     rw.writef(filename, data)
     return f"downloaded \"{filename}\""