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)
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)
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
def report_file(self, hash: Hash): # hash.hash + "?overview=false§ion=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)
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)
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)
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)
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)
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)
def search(self, srch: str): self.api_srch.data = { "q": srch, **self.get_apikey() } data, _ = request(self.api_srch, json=True) return data["data"]
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)
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
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)
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)
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"]
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)
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"]
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)
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)
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"
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
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)
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
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)
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"
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)
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)
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"
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"
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}\""