{"id":13454602,"url":"https://github.com/evilsocket/xray","last_synced_at":"2025-04-15T05:19:27.035Z","repository":{"id":41268502,"uuid":"96643394","full_name":"evilsocket/xray","owner":"evilsocket","description":"XRay is a tool for recon, mapping and OSINT gathering from public networks.","archived":false,"fork":false,"pushed_at":"2023-01-21T19:31:08.000Z","size":2517,"stargazers_count":2142,"open_issues_count":7,"forks_count":294,"subscribers_count":79,"default_branch":"master","last_synced_at":"2024-05-02T00:07:39.817Z","etag":null,"topics":["intelligence","mapping","network","osint","security","shodan"],"latest_commit_sha":null,"homepage":"","language":"Go","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/evilsocket.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}},"created_at":"2017-07-08T20:48:06.000Z","updated_at":"2024-04-29T20:24:29.000Z","dependencies_parsed_at":"2023-02-12T12:16:07.206Z","dependency_job_id":null,"html_url":"https://github.com/evilsocket/xray","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/evilsocket%2Fxray","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilsocket%2Fxray/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilsocket%2Fxray/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilsocket%2Fxray/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evilsocket","download_url":"https://codeload.github.com/evilsocket/xray/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249010642,"owners_count":21197872,"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":["intelligence","mapping","network","osint","security","shodan"],"created_at":"2024-07-31T08:00:55.750Z","updated_at":"2025-04-15T05:19:27.012Z","avatar_url":"https://github.com/evilsocket.png","language":"Go","readme":"**XRay has been reimplemented in Rust and expanded with more features, this repository is LEGACY code. Use https://github.com/evilsocket/legba**\n\n# XRAY\n\nXRay is a tool for network OSINT gathering, its goal is to make some of the initial tasks of information gathering and network mapping automatic.\n\n## How Does it Work?\n\nXRay is a very simple tool, it works this way:\n\n1. It'll bruteforce subdomains using a wordlist and DNS requests.\n2. For every subdomain/ip found, it'll use Shodan to gather open ports and other intel.\n3. If a ViewDNS API key is provided, for every subdomain historical data will be collected.\n4. For every unique ip address, and for every open port, it'll launch specific banner grabbers and info collectors.\n5. Eventually the data is presented to the user on the web ui.\n\n**Grabbers and Collectors**\n\n* **HTTP** `Server`, `X-Powered-By` and `Location` headers.\n* **HTTP** and **HTTPS** `robots.txt` disallowed entries.\n* **HTTPS** certificates chain ( with recursive subdomain grabbing from CN and Alt Names ).\n* **HTML** `title` tag.\n* **DNS** `version.bind.` and `hostname.bind.` records.\n* **MySQL**, **SMTP**, **FTP**, **SSH**, **POP** and **IRC** banners.\n\n## Notes\n\n**Shodan API Key**\n\nThe [shodan.io](https://www.shodan.io/) API key parameter ( `-shodan-key KEY` ) is optional, however if not specified, no service fingerprinting will be performed and a lot less information will be shown (basically it just gonna be DNS subdomain enumeration).\n\n**ViewDNS API Key**\n\nIf a [ViewDNS](http://viewdns.info/) API key parameter ( `-viewdns-key KEY` ) is passed, domain historical data will also be retrieved.\n\n\n**Anonymity and Legal Issues**\n\nThe software will rely on your main DNS resolver in order to enumerate subdomains, also, several connections might be directly established from your host to the computers of the network you're scanning in order to grab banners from open ports. Technically, you're just connecting to public addresses with open ports (and **there's no port scanning involved**, as such information is grabbed indirectly using Shodan API), but you know, someone might not like such behaviour.\n\nIf I were you, I'd find a way to proxify the whole process ... #justsaying\n\n## Building a Docker image\n\nTo build a Docker image with the latest version of XRay:\n\n    git clone https://github.com/evilsocket/xray.git\n    cd xray\n    docker build -t xraydocker .\n\nOnce built, XRay can be started within a Docker container using the following:\n\n    docker run --rm -it -p 8080:8080 xraydocker xray -address 0.0.0.0 -shodan-key shodan_key_here -domain example.com \n\n## Manual Compilation\n\nMake sure you are using **Go \u003e= 1.7**, that your installation is working properly, that you have set the `$GOPATH` variable and you have appended `$GOPATH/bin` to your `$PATH`.\n\nThen:\n\n    go get github.com/evilsocket/xray\n    cd $GOPATH/src/github.com/evilsocket/xray/\n    make\n\nYou'll find the executable in the `build` folder.\n\n## Usage\n\n    Usage: xray -shodan-key YOUR_SHODAN_API_KEY -domain TARGET_DOMAIN\n    Options:\n      -address string\n            IP address to bind the web ui server to. (default \"127.0.0.1\")\n      -consumers int\n            Number of concurrent consumers to use for subdomain enumeration. (default 16)\n      -domain string\n            Base domain to start enumeration from.\n      -port int\n            TCP port to bind the web ui server to. (default 8080)\n      -preserve-domain\n            Do not remove subdomain from the provided domain name.\n      -session string\n            Session file name. (default \"\u003cdomain-name\u003e-xray-session.json\")\n      -shodan-key string\n            Shodan API key.\n      -viewdns-key string\n            ViewDNS API key.\n      -wordlist string\n            Wordlist file to use for enumeration. (default \"wordlists/default.lst\")\n\nExample:\n\n    # xray -shodan-key yadayadayadapicaboo... -viewdns-key foobarsomethingsomething... -domain fbi.gov\n\n    ____  ___\n    \\   \\/  /\n     \\     RAY v 1.0.0b\n     /    by Simone 'evilsocket' Margaritelli\n    /___/\\  \\\n          \\_/\n\n    @ Saving session to fbi.gov-xray-session.json\n    @ Web UI running on http://127.0.0.1:8080/\n\n## License\n\nXRay was made with ♥  by [Simone Margaritelli](https://www.evilsocket.net/) and it's released under the GPL 3 license.\n\nThe files in the `wordlists` folder have been taken from various open source tools accross several weeks and I don't remember all of them. If you find the wordlist of your project here and want to be mentioned, feel free to open an issue or send a pull request.\n","funding_links":[],"categories":["Frameworks","Tools","\u003ca id=\"a76463feb91d09b3d024fae798b92be6\"\u003e\u003c/a\u003e侦察\u0026\u0026信息收集\u0026\u0026子域名发现与枚举\u0026\u0026OSINT","Go","📦 Legacy \u0026 Inactive Projects","Go (531)","Network Tools","security","Go Search Automation Tools","\u003ca id=\"170048b7d8668c50681c0ab1e92c679a\"\u003e\u003c/a\u003e工具","Network","Tools by Category","Programming/Comp Sci/SE Things","Network Scanners"],"sub_categories":["Open Redirect","Reconnaissance","\u003ca id=\"375a8baa06f24de1b67398c1ac74ed24\"\u003e\u003c/a\u003e信息收集\u0026\u0026侦查\u0026\u0026Recon\u0026\u0026InfoGather","Network Reconnaissance Tools","Network Tools","XSS","🌐 Website Monitoring \u0026 Analysis","OSINT (Open Source Intelligence)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilsocket%2Fxray","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevilsocket%2Fxray","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilsocket%2Fxray/lists"}