{"id":13492777,"url":"https://github.com/usama-365/hackipy","last_synced_at":"2025-03-28T10:32:57.381Z","repository":{"id":135093866,"uuid":"285587124","full_name":"usama-365/hackipy","owner":"usama-365","description":"Hacking, pen-testing, and cyber-security related tools built with Python.","archived":false,"fork":false,"pushed_at":"2020-11-20T11:32:36.000Z","size":66,"stargazers_count":36,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-31T06:35:06.857Z","etag":null,"topics":["cybersecurity","ethical","ethical-hacking","free","hacking","hackipy","opensource","penetration-test","penetration-testing","pentesting","python","python3","scapy","script","scripts","software","testing","testing-tools","tool","tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/usama-365.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-08-06T14:05:36.000Z","updated_at":"2024-09-23T06:48:19.000Z","dependencies_parsed_at":"2024-01-16T10:08:59.428Z","dependency_job_id":null,"html_url":"https://github.com/usama-365/hackipy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usama-365%2Fhackipy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usama-365%2Fhackipy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usama-365%2Fhackipy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usama-365%2Fhackipy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usama-365","download_url":"https://codeload.github.com/usama-365/hackipy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246012784,"owners_count":20709514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cybersecurity","ethical","ethical-hacking","free","hacking","hackipy","opensource","penetration-test","penetration-testing","pentesting","python","python3","scapy","script","scripts","software","testing","testing-tools","tool","tools"],"created_at":"2024-07-31T19:01:09.080Z","updated_at":"2025-03-28T10:32:57.072Z","avatar_url":"https://github.com/usama-365.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# hackipy\n## Disclaimer\n**All the provided tools are for legal use only by white-hat hackers, cyber-security related people and pentesters, the author is not responsible for any misuse of these tools.**\n## About the repository\nhackipy is a collection of hacking, pentesting and cyber-security related tools/scripts built with Python (3 of course). I have created these tools for my personal use but I am also publishing them here because I am not a closed-source giant. If these tools will make your workflow easier or help you, I'll be happy. (I believe in get from the community, give to the community).\n\n## Installation\n**This guide is written keeping new-bies in mind, if you are a seasoned professional, simply clone the repository.**\n\nGo to home directory\n```bash\ncd\n```\nClone the repository\n```bash\ngit clone https://github.com/usama-365/hackipy.git\n```\nChange to the cloned repository (which is now directory)\n```bash\ncd hackipy\n```\nTo run any tool, simply type\n```bash\n./tool_name.py\n```\n## About the tools\n**Note** : All tools are optimized to work without arguments (So you don't get afraid of errors when you not provide them). Simply, the arguments are optional for every tool. But it is still recommended to use arguments as they make the workflow faster and efficient.\n#### 1) mac_modifier.py\nIt is as it sounds. Another mac changer in the market. Changes the mac address of the provided interface (selects default interface if not provided) to the provided mac (generates random mac if not provided). Usually used before any pentesting session for anonymity.\n```bash\n./mac_modifier.py [arguments]\n```\nArguments :\n\u003e -i,--interface X : Specify the interface (X) of which MAC you want to change (If not provided, default interface would be selected)\n\u003e\n\u003e -m,--mac X       : Specify the new MAC address (X) (A random MAC address will be calculated if not provided)\n\u003e\n\u003e -s,--silent      : Show less output (Not recommended if you want to look cool)\n\u003e\n\u003e -h,--help        : Show help (Somewhat similar to this)\n\n#### 2) network_scanner.py\nScans the network for client/s and show the output in formatted manner. Takes IP or IP range as argument and selects all the IP's of current network if IP or IP range not provided. Usually used after changing mac_address for anonymity.\n```bash\n./network_scanner.py [arguments]\n```\nArguments :\n\u003e -t,--target X    : IP or IP range (X) to scan, all if not provided\n\u003e\n\u003e -s,--silent      : Show less output (Not recommended if you want to look cool)\n\u003e\n\u003e -h,--help        : Show help (Somewhat similar to this)\n\n#### 3) arp_spoofer.py\nExploits the weakness of ARP protocol to redirect packet flow between two targets through your machine. Makes you MITM (man-in-the-middle). Takes IP address of two targets as argument (inputs manually if IP's are not provided at all or not provided correctly). Starts sending spoof packets to both. Restores the ARP table by sending honest responses when stopped to make things normal ASAP. Usually used after network_scanner.py on the discovered hosts.\n```bash\n./arp_spoofer.py [arguments]\n```\nArguments :\n\u003e -t,--targets X Y : IP pair (X and Y) to spoof\n\u003e\n\u003e -s,--silent      : Show less output (Not recommended if you want to look cool)\n\u003e\n\u003e -h,--help        : Show help (Somewhat similar to this)\n\n#### 4) packet_sniffer.py\nSniffs the packets on the provided interface (Selects default interface if not provided). Extracts **DNS requests** (Helps in sniffing some URL's victim is visiting), **URL's being visited** (in HTTP requests, includes URL's of sites, images, videos and other HTTP content) and **Usernames and Passowrds** (Transmitted through HTTP). Usually used after you become MITM by arp_spoofer.py to sniff packets that are being forwarded through your machine. It can also sniff packets of your machine that are being transferred through the selected network interface.\n```bash\n./packet_sniffer.py [arguments]\n```\nArguments :\n\u003e -i,--interface X : Interface (X) to sniff on, default if not provided\n\u003e\n\u003e -s,--silent      : Show less output (Not recommended if you want to look cool)\n\u003e\n\u003e -h,--help        : Show help (Somewhat similar to this)\n\n#### 5) dns_spoofer.py\nSpoofs and manipulate the DNS responses to redirect the (victim) machine recieving the responses where you want. Takes the target DNS (meaning specific DNS responses you want to manipulate for custom redirection) and spoof IP (that can be IP of webserver/website which will be replaced in original DNS response to redirect the victim) as argument. Creates a queue where packets are stored and releases the packets after manipulation. Arguments can also be provided to spoof packets of your own machine (INPUT and OUTPUT chain) rather than the victim machine (FORWARD chain that includes victim packets flowing through your machine after you become MITM) and also to totally block the packets. Usually used after becoming MITM by arp_spoofer.py and in paralell with packet_sniffer.py to sniff the interesting packets after redirecting the victim to a not so secure webpage or website using DNS spoofing.\n```bash\n./dns_spoofer [arguments]\n```\nArguments :\n\u003e -io,--inout        : Spoof the DNS packets of your machine rather than the victim machine (forwarded packets)\n\u003e\n\u003e -b,--block         : Block/Drop the packets entirely (No Internet)\n\u003e\n\u003e -td,--target-dns X : Target a specific DNS response (X) (e.g. www.example.com) for manipulating and spoofing, targets and spoofs every DNS response if not provided\n\u003e\n\u003e -si,--spoof-ip X\t : IP (X) that would take place of original IP in DNS response for custom redirection of victim, the victim will be redirected to this IP (X)\n\u003e\n\u003e -s,--silent        : Show less output (Not recommended if you want to look cool)\n\u003e\n\u003e -h,--help          : Show help (Somewhat similar to this)\n\n#### 6) file_interceptor.py\nMonitors for HTTP GET requests for files and intercepts the responses. Manipulates the response to serve the victim **dangerous** files rather than the ones he/she intended for. Whenever the victim will request for a file download over HTTP, the original download link will be replaced with the link you provide. Takes (direct) download link of the **dangrous** file as an argument (compulsory). Also takes the file type/extension to target for (For example .exe) as an argument (and if not provided, then automatically selects some common formats, for example .pdf, .exe, .doc etc, *More will be added soon*). Usually used after becoming MITM with arp_spoofer.py to replace the files the victim wants to download with backdoors, credential harvesters, keyloggers etc.\n```bash\n./file_interceptor.py [arguments]\n```\nArguments :\n\u003e -r,--replace X       : Direct download link/URL (X) of the file you want to replace with original file\n\u003e\n\u003e -f,--filetype X      : File type (X) to target for (e.g. .exe) (Selects common filetypes if not provided)\n\u003e\n\u003e -io,--inout \t       : Intercept the file from your machine rather than the victim machine (forwarded packets)\n\u003e\n\u003e -d,--display\t   \t   : Display the intercepted packets content before and after manipulation (Just for in-depth analysis, can clutter your screen)\n\u003e\n\u003e -s,--silent          : Show less output (Not recommended if you want to look cool)\n\u003e\n\u003e -h,--help            : Show help (Somewhat similar to this)\n\n**To be continued**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusama-365%2Fhackipy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusama-365%2Fhackipy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusama-365%2Fhackipy/lists"}