{"id":13586735,"url":"https://github.com/sarah314/SpyPi","last_synced_at":"2025-04-07T18:34:36.948Z","repository":{"id":222375593,"uuid":"101206020","full_name":"sarah314/SpyPi","owner":"sarah314","description":"An (un-)ethical hacking-station based on Raspberry Pi and Python","archived":false,"fork":false,"pushed_at":"2017-10-14T14:30:43.000Z","size":33,"stargazers_count":211,"open_issues_count":1,"forks_count":23,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-10-30T03:31:12.323Z","etag":null,"topics":["brute-force","data-mining","data-protection","data-security","hacking-station","high-school","iwlist","mifare","mitmproxy","parser","python","raspberry-pi","raspberry-pi-3","raspberrypi","school","transparent-proxy","twitter-mining"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sarah314.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-23T17:13:13.000Z","updated_at":"2024-10-19T15:18:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"bbdc22db-90c5-4920-bbe5-50fef1381a01","html_url":"https://github.com/sarah314/SpyPi","commit_stats":null,"previous_names":["sarah314/spypi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarah314%2FSpyPi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarah314%2FSpyPi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarah314%2FSpyPi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarah314%2FSpyPi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sarah314","download_url":"https://codeload.github.com/sarah314/SpyPi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247669770,"owners_count":20976444,"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":["brute-force","data-mining","data-protection","data-security","hacking-station","high-school","iwlist","mifare","mitmproxy","parser","python","raspberry-pi","raspberry-pi-3","raspberrypi","school","transparent-proxy","twitter-mining"],"created_at":"2024-08-01T15:05:46.495Z","updated_at":"2025-04-07T18:34:36.710Z","avatar_url":"https://github.com/sarah314.png","language":"Python","readme":"# SpyPi\nAn (un-)ethical hacking-station based on Raspberry Pi and Python.\nOS: Raspbian\n![github](https://user-images.githubusercontent.com/31287043/29887140-c3bf5e7c-8dbc-11e7-918d-7f51bf90bbcc.jpg)\nImages: Remo Eisner\n## What is SpyPi?\nThe SpyPi is a white-hat hacking-station I've created as part of my high school graduation-work (2017). The device aims at raising awareness of data protection by letting people interactively get in touch with the topic. The SpyPi provides different applications which help the user to learn about the risks of everyday tasks/activities involving technologies such as networks, contactless payment or social media. The interactive aspect allows user and SpyPi to meet at eye-level. To schoolmasterly educate about data protection would only kill interest and insight at birth. The hacking-station is meant to be an on-going project. Its applications and the hardware can be expanded and improved by the user or creator.\n\n## (un-)ethical, what do you mean?!\nWhether the hacking-station is ethical or unethical is entirely dependent upon the operator. It's simply out of my control (although SpyPi is thought to be an ethical device).\n## Hardware \nIf you are interested in the hardware, please visit my [website](http://spypi.ch/).\n## Please remember \nSpyPi is a **high school** project and was created with **very little programming** experience. Don't expect flawless code. Constructive criticism is appreciated! Parts of the code are written in German. I'll translate it as soon as possible.\n\nThe Project is licensed under the Apache License 2.0. I'm happy to share but under the condition to get credit for my work.  \n## Okay cool, but what does it do?\n### Network Scanner\nGets basic information about surrounding networks such as the BSSID, ESSID, encryption and authentication type. \n### Brute-Force dict.\nAllows user to attack a network with a custom or pre-made password list.\n### Mifare default key attack\nTests out whether a Mifare Classic 1K card uses any default read-permission keys.\n### Mitmproxy Login-Data Catcher\nCatches formular data from HTTPS POST requests by the SpyPi-AP (transparent proxy) client. Every match is stored in a file with additional information about the host and the time the request took place.\n### Twitter Data-Miner\nMines incoming Tweets containing a certain string (word, hashtag...) the user chooses himself. Collects Data until ```Ctrl + C```\n## How to use\n### scanner.py\n```\nsudo python3 scanner.py\n```\n### Bruteforce.py\n```\nsudo python3 Bruteforce.py\n```\n### login_proxy.py\nMake sure you've... \n- installed mitmproxy, Python 3.5 or above (I suggest pyenv) and OpenSSL 1.0.2 via Jessie Backports\n- created a wireless AP following [this tutorial](https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/overview) \n- created a text file named proxy.txt\n\nOpen two terminal windows or split screen:\n\nWindow 1:\n```\ntail -f proxy.txt\n```\nWindow 2:\n\nSet iptable rules:\n```\nsudo iptables -F\nsudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE\nsudo iptables -A FORWARD -i wlan1 -o wlan0 -m state — state RELATED,ESTABLISHED -j ACCEPT\nsudo iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT\nsudo iptables -t nat -A PREROUTING -i wlan0 -p tcp — dport 80 -j REDIRECT — to-port 8080\nsudo iptables -t nat -A PREROUTING -i wlan0 -p tcp — dport 443 -j REDIRECT — to-port 8080\n```\nrun:\n```\nmitmdump -s \"/home/pi/login_proxy.py\" -T --host\n```\n### mifare.py\n```\nsudo python mifare.py\n```\n### twitter-mining.py\nMake sure you've created your own Twitter application and inserted the keys in the key.py file.\n```\nsudo python3 twitter-mining.py\n```\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarah314%2FSpyPi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarah314%2FSpyPi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarah314%2FSpyPi/lists"}