├── README.md ├── debug.log ├── main.py └── requirements.txt /README.md: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
This is a study-only project. I am not responsible for its use :)
17 | 18 | 19 | ## Installing dependencies 20 | 21 | ```shell 22 | > pip install -r requirements.txt 23 | 24 | ``` 25 | 26 | ## Execution 27 | 28 | ```shell 29 | > python main.py 30 | 31 | [chknet-capture] 4xxxxxxxxxxxxxxx xxxx xxx - x.xx$ - 00 Approved 32 | [chknet-capture] 5xxxxxxxxxxxxxxx xxxx xxx - x.xx$ - 00 Approved 33 | 34 | ... 35 | 36 | [!] Credit cards were dumped to ccs_15_18_22.txt 37 | ``` 38 | 39 | ## Automation 40 | 41 | [selenium-webdriver](https://github.com/SeleniumHQ/selenium/tree/master/py): Python language bindings for Selenium WebDriver. 42 | 43 | ## Chknet 44 | 45 | [Official site](https://carding.network/) 46 | -------------------------------------------------------------------------------- /debug.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/br0keh/chknet-capture/7127c6c55f9ad423cfb40e5458f9be60b78620a7/debug.log -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | from selenium import webdriver 2 | import time 3 | import string 4 | import random 5 | import re 6 | import json 7 | import threading 8 | from datetime import datetime 9 | 10 | 11 | # BOT 12 | CHKNET = "https://web2.chknet.eu/" 13 | enabled = True 14 | channel_name = "#unix" 15 | bot_name = "%s%i" % (''.join(random.choices( 16 | string.ascii_uppercase + string.digits, k=10)), random.randint(0, 9999)) 17 | 18 | 19 | # DRIVER 20 | driver_options = webdriver.ChromeOptions() 21 | driver_options.headless = True 22 | driver_options.add_argument('--silent') 23 | driver_options.add_experimental_option("excludeSwitches", ["enable-logging"]) 24 | driver = webdriver.Chrome(chrome_options=driver_options) 25 | 26 | 27 | try: 28 | print("[!] Connecting to chknet...") 29 | driver.get(CHKNET) 30 | time.sleep(3) 31 | driver.find_element_by_id('viewport') 32 | 33 | except: 34 | print("[!] Error trying to connect to webchknet") 35 | 36 | time.sleep(10) 37 | 38 | 39 | # LOGIN 40 | driver.find_element_by_name('nick').clear() 41 | driver.find_element_by_name('nick').send_keys(bot_name) 42 | 43 | driver.find_element_by_name('username').clear() 44 | driver.find_element_by_name('username').send_keys(bot_name) 45 | 46 | driver.find_element_by_name('join').clear() 47 | driver.find_element_by_name('join').send_keys(channel_name) 48 | 49 | driver.find_element_by_css_selector('.btn').click() 50 | 51 | time.sleep(5) # wait chknet app load 52 | 53 | 54 | # GO TO #UNIX CHANNEL 55 | channels = driver.find_elements_by_css_selector('.channel-list-item') 56 | print("[!] Connected with chknet!") 57 | for channel in channels: 58 | if channel.get_attribute('data-name') == channel_name: 59 | channel.click() 60 | print("[!] Joined #unix") 61 | break 62 | 63 | 64 | # GRAB CC'S 65 | approved_cc_regex = r"[0-9]{15,16}\s[0-9]{4}\s[0-9]{3,4}\s\-\s.*\s\-\sApproved" 66 | ccs = [] 67 | 68 | 69 | def save(): 70 | filepath = "ccs_%s.txt" % datetime.now().strftime('%Y_%m_%d-%H_%M_%S') 71 | 72 | with open(filepath, 'a') as output: 73 | for cc in ccs: 74 | output.write("%s\n" % cc) 75 | 76 | print("[!] Credit cards were dumped to %s" % (filepath)) 77 | 78 | time.sleep(4) 79 | 80 | 81 | def grab(): 82 | 83 | while driver.page_source: 84 | try: 85 | approveds = re.finditer( 86 | approved_cc_regex, driver.page_source, re.MULTILINE) 87 | approveds = [approved.group() for approved in approveds] 88 | 89 | for approved in approveds: 90 | if approved not in list(ccs): 91 | print("[chknet-capture] %s" % approved) 92 | ccs.append(approved) 93 | 94 | time.sleep(3) 95 | except KeyboardInterrupt: 96 | if len(ccs) > 0: 97 | save() 98 | enabled = False 99 | driver.quit() 100 | exit() 101 | 102 | except Exception as e: 103 | if len(ccs) > 0: 104 | save() 105 | enabled = False 106 | driver.quit() 107 | 108 | print("[!] An error occurred during the process: %s" % str(e.__str__)) 109 | exit() 110 | 111 | 112 | t = threading.Thread(target=grab) 113 | t.start() 114 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | selenium==3.141.0 --------------------------------------------------------------------------------