├── README.md └── main.py /README.md: -------------------------------------------------------------------------------- 1 | # grabber-detector 2 | This Project is a detector for token grabbers in python this grabber scanns the given file for 3 | 4 | - Webhooks 5 | - Paths 6 | - links 7 | - webhooks 8 | - pastebin links 9 | 10 | ## This is not a 100% save way to detect any grabber this just works on standard .py files and not on encrpyted or compiled files it also can have false detections but its good against Skidz 11 | 12 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | from os import system 2 | #coded by https://github.com/baum1810 3 | words = ["token","appdata","leveldb","Local Storage","discord_webhook","applicationdata","dhooks","grab","steal",".log",".ldb", "webhook"] 4 | paths = ["\\Discord", "\\discordcanary", "\\discordptb", "\\Google\\Chrome\\User Data\\Default", "\\Opera Software\\Opera Stable", "\\BraveSoftware\\Brave-Browser\\User Data\\Default", "\\Yandex\\YandexBrowser\\User Data\\Default", "\\Local Storage\\leveldb"] 5 | links = ["https://myexternalip.com/raw", "https://api.ipify.org"] 6 | files = ["Loginvault.db", "passwords.txt", "cookies.txt","\\Google\\Chrome\\User Data\\Default\\Cookies", "Local\\Google\\Chrome\\User Data\\Default\\History", "launcher_accounts.json"] 7 | def main(): 8 | counter = 0 9 | wordcounter = 0 10 | webhookcounter = 0 11 | regexcounter = 0 12 | pastebincounter = 0 13 | linkcounter = 0 14 | pathcounter = 0 15 | filecounter = 0 16 | regexlines = "" 17 | wordlines = "" 18 | linklines = "" 19 | pathlines = "" 20 | filelines = "" 21 | system("cls") 22 | print("coded by https://github.com/baum1810\nThis tool isnt for advanced grabbers and just checks for common grabber code it wont detect encrypted code so this tool isnt going to protect to 100% against grabbers but it can help against Skidz so much fun with this tool\n") 23 | file = input("Drag the file you want to scann and press enter\n> ") 24 | if ".py" in file: 25 | with open(file) as f: 26 | for line in f: 27 | counter +=1 28 | if "https://pastebin.com" in line: 29 | pastebincounter +=1 30 | test = line.split('https://pastebin.com/raw/') 31 | if '"' in test[1]: 32 | test = str(test[1]) 33 | test = test.replace("[", "") 34 | test = test.replace("]", "") 35 | test = test.replace("'", "") 36 | test = test.replace(",", "") 37 | test = str(test).split('"') 38 | 39 | print(f'pastebin found https://pastebin.com/raw/{test[0]} Line {counter}') 40 | elif "," in test[1]: 41 | test = str(test[1]) 42 | test = test.replace("[", "") 43 | test = test.replace("]", "") 44 | test = test.replace("'", "") 45 | test = str(test).split(",") 46 | print(f'pastebin found https://pastebin.com/raw/{test[0]} Line {counter}') 47 | elif ")" in test[1]: 48 | test = str(test[1]) 49 | test = test.replace("[", "") 50 | test = test.replace("]", "") 51 | test = test.replace("'", "") 52 | test = str(test).split(")") 53 | print(f'pastebin found https://pastebin.com/raw/{test[0]} Line {counter}') 54 | 55 | if "https://discord.com/api/webhooks/" in line: 56 | webhookcounter +=1 57 | test = line.split("https://discord.com/api/webhooks/") 58 | 59 | if "'" in test[1]: 60 | test = str(test[1]) 61 | test = test.replace("[", "") 62 | test = test.replace("]", "") 63 | test = test.replace("'", "") 64 | test = test.replace(",", "") 65 | 66 | 67 | print(f'Webhook found https://discord.com/api/webhooks/{test} Line {counter}') 68 | elif '"' in test[1]: 69 | test = str(test[1]) 70 | test = test.replace("[", "") 71 | test = test.replace("]", "") 72 | test = test.replace("'", "") 73 | test = test.replace(",", "") 74 | test = str(test).split('"') 75 | 76 | print(f'Webhook found https://discord.com/api/webhooks/{test[0]} Line {counter}') 77 | elif "," in test[1]: 78 | test = str(test[1]) 79 | test = test.replace("[", "") 80 | test = test.replace("]", "") 81 | test = test.replace("'", "") 82 | test = str(test).split(",") 83 | print(f'Webhook found https://discord.com/api/webhooks/{test[0]} Line {counter}') 84 | elif ")" in test[1]: 85 | test = str(test[1]) 86 | test = test.replace("[", "") 87 | test = test.replace("]", "") 88 | test = test.replace("'", "") 89 | test = str(test).split(")") 90 | print(f'Webhook found https://discord.com/api/webhooks/{test[0]} Line {counter}') 91 | elif"https://canary.discord.com/api/webhooks" in line: 92 | webhookcounter+=1 93 | test = line.split("https://canary.discord.com/api/webhooks") 94 | 95 | if "'" in test[1]: 96 | test = str(test[1]) 97 | test = test.replace("[", "") 98 | test = test.replace("]", "") 99 | test = test.replace("'", "") 100 | test = test.replace(",", "") 101 | 102 | 103 | print(f'Webhook found https://canary.discord.com/api/webhooks{test} Line {counter}') 104 | elif '"' in test[1]: 105 | test = str(test[1]) 106 | test = test.replace("[", "") 107 | test = test.replace("]", "") 108 | test = test.replace("'", "") 109 | test = test.replace(",", "") 110 | test = str(test).split('"') 111 | 112 | print(f'Webhook found https://canary.discord.com/api/webhooks{test[0]} Line {counter}') 113 | elif "," in test[1]: 114 | test = str(test[1]) 115 | test = test.replace("[", "") 116 | test = test.replace("]", "") 117 | test = test.replace("'", "") 118 | test = str(test).split(",") 119 | print(f'Webhook found https://canary.discord.com/api/webhooks{test[0]} Line {counter}') 120 | elif ")" in test[1]: 121 | test = str(test[1]) 122 | test = test.replace("[", "") 123 | test = test.replace("]", "") 124 | test = test.replace("'", "") 125 | test = str(test).split(")") 126 | print(f'Webhook found https://canary.discord.com/api/webhooks{test[0]} Line {counter}') 127 | 128 | 129 | if "[\w-]{24}\.[\w-]{6}\.[\w-]{27}', r'mfa\.[\w-]{84}" in line: 130 | regexcounter+=1 131 | regexlines +=line 132 | #print(f"suspicious Regex found Line {counter}") 133 | 134 | for word in words: 135 | if word in line: 136 | wordcounter+=1 137 | wordlines+=str(counter)+ ',' 138 | print(word) 139 | #print(f"suspicious word {word} found Line {counter}") 140 | for link in links: 141 | if link in line: 142 | linkcounter+=1 143 | linklines+=str(counter)+ ',' 144 | #print(f"suspicious link {link} found Line {counter}") 145 | for path in paths: 146 | if path in line: 147 | pathcounter+=1 148 | pathlines+=str(counter)+ ',' 149 | #print(f"suspicious path {path} found Line {counter}") 150 | 151 | for file in files: 152 | if file in line: 153 | filecounter+=1 154 | filelines+=str(counter)+ ',' 155 | #print(f"suspicious file {file} found Line {counter}") 156 | 157 | 158 | total = wordcounter+linkcounter+regexcounter+webhookcounter+pastebincounter+pathcounter+filecounter 159 | if total < 2: 160 | risk = "Low" 161 | elif total <5: 162 | risk = "Medium" 163 | elif total >5: 164 | risk = "High" 165 | input(f"\nfilenames lines:{filelines}\npaths lines:{pathlines}\nlinks lines:{linklines}\nWords lines:{wordlines}\ndetected words:{wordcounter}\ndetected links:{linkcounter}\ndetected regex:{regexcounter}\ndetected webhooks:{webhookcounter}\ndetected pastebins:{pastebincounter}\ndetected paths:{pathcounter}\ndetected files:{filecounter}\nTotal Flags:{total}\nRisk:{risk}\npress enter to scann again") 166 | main() 167 | main() 168 | --------------------------------------------------------------------------------