{"id":15964560,"url":"https://github.com/supriyo-biswas/honeypot","last_synced_at":"2025-04-04T13:16:33.115Z","repository":{"id":42649712,"uuid":"364006192","full_name":"supriyo-biswas/honeypot","owner":"supriyo-biswas","description":"A multi-protocol network honeypot","archived":false,"fork":false,"pushed_at":"2024-05-06T20:57:13.000Z","size":1469,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T22:46:31.483Z","etag":null,"topics":["honeypot","security","smtp","ssh"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supriyo-biswas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-05-03T17:20:07.000Z","updated_at":"2024-04-09T17:30:46.000Z","dependencies_parsed_at":"2024-10-30T02:47:28.441Z","dependency_job_id":null,"html_url":"https://github.com/supriyo-biswas/honeypot","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/supriyo-biswas%2Fhoneypot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supriyo-biswas%2Fhoneypot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supriyo-biswas%2Fhoneypot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supriyo-biswas%2Fhoneypot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supriyo-biswas","download_url":"https://codeload.github.com/supriyo-biswas/honeypot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182422,"owners_count":20897381,"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":["honeypot","security","smtp","ssh"],"created_at":"2024-10-07T17:02:18.549Z","updated_at":"2025-04-04T13:16:33.090Z","avatar_url":"https://github.com/supriyo-biswas.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# honeypot\n\nA medium-interaction network honeypot. It has the following features:\n\n* Listens on all TCP ports (except the one where the real sshd listens)\n* Supports SSH, telnet, SMTP, HTTP, HTTPS, and raw TCP and SSL dumps\n* Shell emulation for SSH/telnet by executing commands in Docker containers\n* Support for logging direct-tcpip and sftp subsystem requests\n* HTTP/1.1 server with support for ranged-GET requests and templated responses\n\nIt detects SSH, SSL and HTTP based on the initial request bytes, and the rest\nof the protocols are supported based on their default port numbers (for\nexample, SMTP is supported on port 25 and 587, telnet on port 23, and so on.)\nData sent through any other unknown protocol is logged as-is.\n\n# Deployment\n\nAlthough the honeypot can be run on any Linux system, the instructions\nprovided are only for Ubuntu 20.04. The steps below also take care of SSL\nversion issues by providing a packaged version of Python 3.8 that supports TLS\n1.0 to 1.3. It also deploys fake webpages for Wordpress, phpmyadmin and\nOutlook web in order to lure attackers.\n\n* Ensure that your honeypot nodes have sshd configured to listen on a high\nport instead of port 22. You can do this by placing a file in\n`/etc/ssh/sshd_config.d/port-change.conf`:\n\n```\nPort 34567\n```\n\nThen, restart sshd with `sudo systemctl restart ssh`\n\n* If you're not using the root user, make sure that the user is allowed to\nuse passwordless `sudo`. This can be done by adding the file\n`/etc/sudoers.d/nopasswd`:\n\n```\nmyuser ALL=(ALL:ALL) NOPASSWD:ALL\n```\n\n* In the root of the project directory, create an Ansible inventory named\n`hosts` with a list of hosts. Whenever possible, use DNS names associated\nwith these hosts, this will help with generating certificates from Let's\nEncrypt. An example is shown below:\n\n```ini\n[honeypot_nodes]\nnode01 ansible_host=test1.example.com\nnode02 ansible_host=test2.example.com\n\n[honeypot_nodes:vars]\nansible_port=34567\nansible_user=myuser\n\n# Required only if you want certificates from Let's Encrypt. Otherwise,\n# a self signed certificate is generated\nletsencrypt_email_address=username@example.com\n```\n\n* Deploy the honeypot using the included Ansible playbook towards the\nhoneypot nodes:\n\n```bash\nansible-playbook -i hosts -e target=honeypot_nodes scripts/deployment/playbook.yaml\n```\n\n## License\n\n[GPLv3](https://opensource.org/licenses/gpl-3.0.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupriyo-biswas%2Fhoneypot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupriyo-biswas%2Fhoneypot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupriyo-biswas%2Fhoneypot/lists"}