{"id":13419617,"url":"https://github.com/ecthros/pina-colada","last_synced_at":"2025-07-05T19:09:23.552Z","repository":{"id":67012671,"uuid":"69704239","full_name":"ecthros/pina-colada","owner":"ecthros","description":"A powerful and extensible wireless drop box","archived":false,"fork":false,"pushed_at":"2019-01-09T17:49:23.000Z","size":4585,"stargazers_count":265,"open_issues_count":33,"forks_count":34,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-07-31T22:50:44.208Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ecthros.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}},"created_at":"2016-09-30T21:43:41.000Z","updated_at":"2024-05-23T07:34:16.000Z","dependencies_parsed_at":"2023-09-10T20:46:46.622Z","dependency_job_id":null,"html_url":"https://github.com/ecthros/pina-colada","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/ecthros%2Fpina-colada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecthros%2Fpina-colada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecthros%2Fpina-colada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecthros%2Fpina-colada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ecthros","download_url":"https://codeload.github.com/ecthros/pina-colada/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248410290,"owners_count":21098774,"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":[],"created_at":"2024-07-30T22:01:18.496Z","updated_at":"2025-04-11T13:37:26.543Z","avatar_url":"https://github.com/ecthros.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Piña Colada ![Build Status](https://travis-ci.org/ecthros/pina-colada.svg?branch=master)\n\nPiña Colada, a powerful and extensible wireless drop box, capable of performing a wide range of remote offensive attacks on a network. It can be controlled via it's command line interface, or connect to it's Command and Control remote server to be controlled remotely, either by web application or Android app.\n\nPlease only use Piña Colada with explicit permission - please don't hack without asking.\n\n[Watch some controlled attacks here.](https://www.youtube.com/playlist?list=PL22Ei9kfayhao0qeotVvlkRtfSRSMGoLq)\n\n## General Usage\nPiña Colada comes with a number of built-in capabilities, and more can be dynamically added at any time. \"Capabilities\" are simply modules written to accomplish a task, such as a ARP Spoofing, DNS Poisoning, DOSing a user, etc. Piña Colada can be controlled using a familiar Metasploit like interface (\"use\" engages a capability, option setting works the same, etc), and is both quick to deploy and easy to use. \n\nTo start Piña Colada, first ensure that you have the required dependencies. [Scapy](http://www.secdev.org/projects/scapy/) is the backbone of the project, so make sure you install it before running. More dependencies may be added as the project is extended, so make sure your installation remains up to date as it's updated. An automatic deployment package is coming soon. \n\nLaunching Piña Colada:\n```\n$ sudo python cli.py\n    ____  _  /\\//          ______      __          __        ' .\n   / __ \\(_)//\\/ ____ _   / ____/___  / /___ _____/ /___ _   \\~~~/\n  / /_/ / / __ \\/ __ `/  / /   / __ \\/ / __ `/ __  / __ `/    \\_/\n / ____/ / / / / /_/ /  / /___/ /_/ / / /_/ / /_/ / /_/ /      Y\n/_/   /_/_/ /_/\\__,_/   \\____/\\____/_/\\__,_/\\__,_/\\__,_/      _|_\nWelcome to Pina Colada, a powerful Wifi Drop Box. Type \"help\" to see the list of available commands.\n\u003e\u003e\n```\n\n## Controlling the Pi (CLI)\n\nPiña Colada has a number of commands that enable to you to control different aspects about the pi and the network. \n\n**Enabling/disabling Promiscuous Mode:**\n```\n\u003e\u003e promisc enable\n+ Promiscuous Mode enabled for interface eth0.\n```\n\n**Controlling operating interface:**\n```\n\u003e\u003e interface eth0\n + Successfully changed interface to eth0. Using local IP 10.0.0.56.\n```\n\n**Enumerating the Network:**\n```\n\u003e\u003e discover\nBegin emission:\nFinished to send 256 packets.\n\nReceived 0 packets, got 0 answers, remaining 256 packets\nID\tIP\t\tMAC\t\t\tPorts\tLast Date\n61\t10.0.0.1\t00:0c:29:5f:e7:50\t\t2016-11-01 15:34:40\n62\t10.0.0.32\td0:50:99:86:92:1a\t\t2016-11-01 03:23:21\n63\t10.0.0.34\t80:2a:a8:80:b1:82\t\t2016-11-01 15:34:40\n...\n\u003e\u003e \n```\n\n**Executing Commands:**\n\nPiña Colada also operates as a fall-through shell. For example:\n```\n\u003e\u003e netstat -plant\n + Executing \"netstat -plant\"\nActive Internet connections (servers and established)\nProto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name\ntcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      605/sshd\n...\n\u003e\u003e msfconsole\n       =[ metasploit v4.12.32-dev                         ]\n+ -- --=[ 1587 exploits - 905 auxiliary - 273 post        ]\n+ -- --=[ 457 payloads - 39 encoders - 8 nops             ]\n+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]\n\nmsf \u003e quit\n\u003e\u003e \n```\n\n## Capabilities\n\nOut of the box, Piña Colada comes with many, many capabilities, and more can be added dynamically at any time. These capabilities are organized into the following categories:\n\n1. Denial of Service (DOS)\n2. ARP\n3. Sniffing\n4. Exploitation\n5. Scanning\n6. Auxiliary Attacks\n\nTo see a full list of available capabilities, run \"list\": \n\n```\n\u003e\u003e list\n + Available capabilities:\n  + auxiliary\n   - reverse_shell\n  + dos\n   - syn\n   - land\n   - [tcpkiller](https://github.com/Kkevsterrr/tcpkiller)\n  + arp\n   - arpSpoof\n   - arpDos\n  + sniff\n   - sniffPack\n  + exploitation\n   - dnsSpoof2\n   - ms08\n   - dnsSpoof\n  + scan\n   - syn\n   - nmapScan\n   ...\n\u003e\u003e\n```\n\nTo engage a capability for use, simply use the command \"use\":\n\n```\n\u003e\u003e use dos/syn\n(Syn Flood) \u003e\u003e\n```\n\nOnce a capability has been loaded, you can view options using a familiar \"show options\", and set each option by simply running \"set \u003cOPTION\u003e \u003cVALUE\u003e\":\n```\n\u003e\u003e set port 12345 \n + port =\u003e 12345\n```\n\n#### Persistence\n\nOnce loaded, all capabilities are persistent within Piña Colada's interface. This allows for multiple capabilities to be engaged simultaneously, and seamlessly transition between them. \n```\n\u003e\u003e use dos/syn\n(Syn Flood) \u003e\u003e launch\n + Launching Syn Flood...\nType 'restore' when ready to stop the attack.\n(Syn Flood) \u003e\u003e quit\n\u003e\u003e use dos/land\n(Land Attack) \u003e\u003e launch\n + Launching Land Attack\n Sent 2000 packets.\n\u003e\u003e use dos/syn\n(Syn Flood) \u003e\u003e restore\n + Restoring target...\n```\nEven as the land attack is engaged, the syn flood is still operating in the background.\n\n#### Interface\n\nAdditionally, Piña Colada supports full autocomplete of all capabilities (including recursively through depth), so you can start typing the following: \n```\n\u003e\u003e use rever\u003ctab\u003e\n```\nimmediately autocompletes to: \n```\n\u003e\u003e use auxiliary/reverse_shell\n```\n\nMaking it easy and fast to load arbitrary capapbilities quickly. \n\n#### Extensibility\n\nMore capabilities can be added to Piña Colada at any time, even during runtime. A [template](https://github.com/ecthros/pina-colada/blob/master/capabilities/template.py) capability file is included in the capabilities folder for rapid development - simply copy the file and move it into one of the categories. It is automatically and dynamically available for use in the command line interface or web terminal, and can be deployed at any time. \n\n## Server Capability\n\nPiña Colada also contains a Command and Control server functionality to allow it be controlled remotely. This drop box functionality is especially useful when Piña Colada is deployed on a Raspberry Pi. To deploy the server on a remote location, run the following:\n\n```\n$ python server.py\n[*] Starting web sever...\n[*] PinaColada startup successful - listening on 0.0.0.0:9999\n[*] Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)\n```\n\nThe server is now listening for connections and it's web server is accessible. In order to use the functionality of the command and control server, the pi must be connected. On the pi, run: \n\n```\n$ sudo python client.py\nInitializing Network DB...\n[*] Attempting to connect to server\n[*] Successfully connected.\n```\n\nThe server will also acknoledge a succesful connection: \n```\n[*] Pina Colada has connected.\n```\n\nThe web server runs on port 5000, so going to the IP address of the server \u003cIP\u003e:5000 gives you a drop web terminal into the pi. This works by tunneling commands to the client into the command line interface. The CnC server also allows for the android app to connect to the pi for control. All of this communication is encrypted to prevent from eavesdropping or MITM attacks against the pi. \n\n### Encryption\n\nAll communication to and from the pi are encrypted using AES/CBC/PKCS#5 encryption. Keys are negotiated via the Diffie-Hellman protocol upon connection to the pi. All tunneling through the CnC server is also encrypted for protection and prevention of a MITM attack. \n\n## Contributing\nPiña Colada is still very much in its infancy! Feel free to contribute to the project - simply fork it, make your changes, and issue a pull request. Have an idea for a killer capability, or something we could improve? Make an issue and we'll add it ASAP!\n\nIf you wish to add your own capability, follow the directions given in the pina-colada/capabilities/template.py file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecthros%2Fpina-colada","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fecthros%2Fpina-colada","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecthros%2Fpina-colada/lists"}