{"id":22778964,"url":"https://github.com/sinipelto/ssh-spoofer","last_synced_at":"2025-04-13T09:52:25.267Z","repository":{"id":224501577,"uuid":"763422860","full_name":"sinipelto/ssh-spoofer","owner":"sinipelto","description":"SSH traffic HTTP spoofer","archived":false,"fork":false,"pushed_at":"2024-03-10T13:41:17.000Z","size":56,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T01:21:47.422Z","etag":null,"topics":["firewall","firewall-bypass","http","http-client","http-server","http-ssh","spoofer","ssh","ssh-client","ssh-over-http","ssh-server","ssh-spoofer","traffic-monitoring"],"latest_commit_sha":null,"homepage":"","language":"C","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/sinipelto.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":"2024-02-26T09:10:58.000Z","updated_at":"2024-11-26T19:39:19.000Z","dependencies_parsed_at":"2024-02-26T10:31:37.214Z","dependency_job_id":"752c8337-30f4-43da-8ca0-37d5e93653d0","html_url":"https://github.com/sinipelto/ssh-spoofer","commit_stats":null,"previous_names":["sinipelto/ssh-spoofer"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinipelto%2Fssh-spoofer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinipelto%2Fssh-spoofer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinipelto%2Fssh-spoofer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinipelto%2Fssh-spoofer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinipelto","download_url":"https://codeload.github.com/sinipelto/ssh-spoofer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248695302,"owners_count":21146952,"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":["firewall","firewall-bypass","http","http-client","http-server","http-ssh","spoofer","ssh","ssh-client","ssh-over-http","ssh-server","ssh-spoofer","traffic-monitoring"],"created_at":"2024-12-11T20:07:26.559Z","updated_at":"2025-04-13T09:52:25.241Z","avatar_url":"https://github.com/sinipelto.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SSH Packet Spoofer\n\nThis utility allows you to spoof SSH packets as HTTP packets, by adding the HTTP header on top of the transmitted packets.\n\nIt will help you connect ssh over networks with extremely restrictive firewalls and packaet sniffers blocking SSH connections and packets based on the packet type.\n\nConsists of 2 units launched from the same binary: spoofer and despoofer.\n\nSpoofer will allow real clients to conntect to the spoofer, and will spoof and forward the packets to the despoofer.\nDespoofer will receive the packets to the real server residing preferably, in the same computer through localhost.\n\n### Spoofer architecture:\n\n![image not found](./img/Architecture.png \"Spoofer Architecture: Avoid SSH traffic using HTTP traffic\")\n\n## Building instructions\n\nSimply build the binary with make:\n```bash\nmake\n```\n\nOr build with DEBUG logging:\n```bash\nmake debug\n```\n\nRemove any obsolete build stuff:\n```bash\nmake clean\n```\n\nAlso VSCode settings pre-defined for building and debugging\n\n## Running instructions\n\nAfter building the binary, copy it over to the client and server machines (preferably)\nor at least to a machine behind the same firewall than the client is resided.\n\nOn the client machine/network, run the sender (spoofer) instance simply by:\n```\n./bin/spoofer \u003cSPOOFER_HOST/IP=LOCALHOST\u003e \u003cSPOOFER_PORT=1234\u003e \u003cDESPOOFER_HOST/IP\u003e \u003cDESPOOFER_PORT\u003e SPOOFER HTTP\n```\nOn the server machine/network, run the receiver (despoofer) instance simply by:\n```\n./bin/spoofer \u003cDESPOOFER_HOST/IP\u003e \u003cDESPOOFER_PORT\u003e \u003cREAL_SERVER_HOST/IP\u003e \u003cREAL_SERVER_PORT\u003e DESPOOFER HTTP\n```\nThen, on the client machine, simply connect SSH through the spoofer:\n```\nssh -p \u003cSPOOFER_PORT\u003e user@\u003cSPOOFER_HOST/IP\u003e\n```\nIt should open the SSH connection normally.\n\nFor example spoofer on the same machine as client, despoofer in the same machine as the real server, exposed through public ip 8.7.6.5 port 8765:\nClient side, client on the same host:\n```\n./bin/spoofer 127.0.0.1 9876 8.7.6.5 8765 SPOOFER HTTP\n```\nServer side, server on the same host:\n```\n./bin/spoofer 0.0.0.0 8765 127.0.0.1 22 SPOOFER HTTP\n```\nConnect:\n```\nssh -p 9876 user@localhost\n```\n\n### Notes on hosting\nNote that privileged ports 1-1023 requires sudo/root access to host the spoofer/despoofer on. Prefer higher ports.\nIf executing on an on-premises environment, you might need to open the ports required to expose the traffic to outside LAN.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinipelto%2Fssh-spoofer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinipelto%2Fssh-spoofer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinipelto%2Fssh-spoofer/lists"}