diff --git a/.prettierignore b/.prettierignore index e039e97..8526116 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,4 @@ results temp node_modules -./src/secret.js \ No newline at end of file +src/secret.js \ No newline at end of file diff --git a/README.md b/README.md index a978146..aa66f3c 100644 --- a/README.md +++ b/README.md @@ -11,17 +11,13 @@
- Logo + Logo + Logo

Infoooze

- This is a OSINT tool -
- Explore the docs ยป -
-
View Demo ยท Report Bug @@ -65,11 +61,11 @@ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ## ๐Ÿ’ก Features -1. userrecon +1. User Recon 2. Mailfinder -3. Useragent -4. whoislookup -5. InstaRecon +3. UserAgent Lookup +4. Whois Lookup +5. Insta Recon 6. IP Lookup 7. Ports Scan 8. Header Info @@ -77,12 +73,13 @@ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem 10. DNS Lookup 11. Git Recon 12. Expand URL +13. Instagram DP Viwer ## ๐Ÿ”จ Support | Linux | Termux | Windows | Mac | | ----- | ------ | ------- | --- | -| โœ” | โœ” | โœ” | โ” | +| โœ” | โœ” | โœ” | โ” | โœ” Tested โ” - Not tested @@ -107,9 +104,8 @@ You need **NodeJs** only to run this tool. You can install NodeJs ```sh pkg install nodejs-lts python ``` - > _You will need at least version 14.X.X of Node._ -### Installation on [Linux](https://wikipedia.org/wiki/Linux) [![alt tag](./images/OS-Linux-icon.png)](https://en.wikipedia.org/wiki/Linux) +### Installation on [Linux](https://wikipedia.org/wiki/Linux) - #### Using NPM @@ -137,7 +133,7 @@ You need **NodeJs** only to run this tool. You can install NodeJs npx infoooze ``` -### Installation on [Android](https://wikipedia.org/wiki/Android) [![alt tag](./images/android-icon.png)](https://en.wikipedia.org/wiki/Android) +### Installation on [Android](https://wikipedia.org/wiki/Android) Installation Process is same as Linux @@ -145,7 +141,7 @@ Installation Process is same as Linux npm install -g -s infoooze ``` -### Installation on [Windows ](https://wikipedia.org/wiki/Microsoft_Windows)[![alt tag](./images/Windows-icon.png)](https://en.wikipedia.org/wiki/Microsoft_Windows) +### Installation on [Windows ](https://wikipedia.org/wiki/Microsoft_Windows) 1. Download and install NodeJs from here. 2. Download infoooze zip file from here. @@ -162,7 +158,7 @@ node index.js ## ๐Ÿš€ Usage -After installing you can run by just typing infoooze. +After installing you can run tool by just typing infoooze. ```sh infoooze [options] [value] @@ -189,7 +185,7 @@ infoooze [options] [value] ### Examples -- To list all the basic options and switches use -h switch: +- To get list of all the basic options use -h : ```sh infoooze -h @@ -197,32 +193,36 @@ infoooze [options] [value] - To Get Instagram User Info: ```sh - infoooze -i indian_cyber_ops + infoooze -i instagam ``` - To Get Domain's Whois Information: ```sh - infoooze -W google.com + infoooze -w google.com ``` - To Get IP Information: ```sh - infoooze -I 8.8.8.8 + infoooze -p 8.8.8.8 ``` - _For more examples, please refer to the [Documentation](https://example.com)_ +_For more examples, please refer to the [Documentation](https://example.com)_

(back to top)

- - -- [ ] Feature 1 -- [ ] Feature 2 -- [ ] Feature 3 - - [ ] Nested Feature +

๐Ÿ“ธ Screenshots

+ +
+ + -See the [open issues](https://github.com/7orp3do/infoooze/issues) for a full list of proposed features (and known issues). + + + -

(back to top)

--> +

(back to top)

+
+ ## ๐Ÿค Contributing @@ -280,36 +280,3 @@ _Special thanks to [Biswajeet Ray](https://instagram.com/biswajeetray7) for push [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://linkedin.com/in/bhps82 [product-screenshot]: images/screenshot.png - - diff --git a/images/OS-Linux-icon.png b/images/OS-Linux-icon.png deleted file mode 100644 index c077166..0000000 Binary files a/images/OS-Linux-icon.png and /dev/null differ diff --git a/images/Windows-icon.png b/images/Windows-icon.png deleted file mode 100644 index a4ef2e6..0000000 Binary files a/images/Windows-icon.png and /dev/null differ diff --git a/images/android-icon.png b/images/android-icon.png deleted file mode 100644 index 8462def..0000000 Binary files a/images/android-icon.png and /dev/null differ diff --git a/images/logo-dark.png b/images/logo-dark.png new file mode 100644 index 0000000..5e85594 Binary files /dev/null and b/images/logo-dark.png differ diff --git a/images/logo-light.png b/images/logo-light.png new file mode 100644 index 0000000..202006f Binary files /dev/null and b/images/logo-light.png differ diff --git a/images/screenshot1.png b/images/screenshot1.png new file mode 100644 index 0000000..ff46b9c Binary files /dev/null and b/images/screenshot1.png differ diff --git a/images/screenshot2.png b/images/screenshot2.png new file mode 100644 index 0000000..e06acbf Binary files /dev/null and b/images/screenshot2.png differ diff --git a/images/screenshot3.png b/images/screenshot3.png new file mode 100644 index 0000000..461cb2e Binary files /dev/null and b/images/screenshot3.png differ diff --git a/images/screenshot4.png b/images/screenshot4.png new file mode 100644 index 0000000..1ab7f70 Binary files /dev/null and b/images/screenshot4.png differ diff --git a/images/screenshot5.png b/images/screenshot5.png new file mode 100644 index 0000000..58d1fbe Binary files /dev/null and b/images/screenshot5.png differ diff --git a/index.js b/index.js index 45631d1..d5d21da 100644 --- a/index.js +++ b/index.js @@ -16,9 +16,10 @@ const portScanner = require('./src/portScanner'); const headerLookup = require('./src/headerLookup'); const urlExpander = require('./src/urlExpander'); const gitRecon = require('./src/gitRecon'); +const domainAge = require('./src/domainAge'); async function welcome() { - const glitchTitle = chalkAnimation.glitch('Welcome to Infoooze\n'); + const glitchTitle = chalkAnimation.glitch('\nWelcome to Infoooze\n'); await sleep(3000); glitchTitle.stop(); } @@ -66,7 +67,7 @@ if (flags.userrecon) { portScanner(flags.portscan); } else if (flags.domainage) { banner(); - testFunction(flags.domainage); + domainAge(flags.domainage); } else if (flags.headerinfo) { banner(); headerLookup(flags.headerinfo); diff --git a/package-lock.json b/package-lock.json index adefc29..b8d3a35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "prompt-sync": "^4.2.0", "request": "^2.88.2", "sentence-case": "^3.0.4", + "timeago.js": "^4.0.2", "whois-json": "^2.0.4" }, "bin": { @@ -1447,6 +1448,11 @@ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" }, + "node_modules/timeago.js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/timeago.js/-/timeago.js-4.0.2.tgz", + "integrity": "sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==" + }, "node_modules/tinycolor2": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", @@ -3007,6 +3013,11 @@ } } }, + "timeago.js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/timeago.js/-/timeago.js-4.0.2.tgz", + "integrity": "sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==" + }, "tinycolor2": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", diff --git a/package.json b/package.json index f2e59e5..ac593d7 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "prompt-sync": "^4.2.0", "request": "^2.88.2", "sentence-case": "^3.0.4", + "timeago.js": "^4.0.2", "whois-json": "^2.0.4" }, "devDependencies": { diff --git a/src/domainAge.js b/src/domainAge.js new file mode 100644 index 0000000..b138c77 --- /dev/null +++ b/src/domainAge.js @@ -0,0 +1,51 @@ +const moment = require('moment'); +const whoisJson = require('whois-json'); +const { + list, + input, + info, + goBack, + currentTimeStamp, + saveTo, +} = require('./common.js'); + +const domainAge = async (website, showHome = false, i = 1) => { + website = website || (await input('Your Website')); + + const path = `${process.cwd()}/results/infoooze_domainAge_${currentTimeStamp()}.txt`; + info(`Results will be saved in `, path); + + var whoisData = await whoisJson(website); + for (var key in whoisData) { + if (key.includes('date') || key.includes('Date')) { + if (!key.includes('Database')) { + await list( + '+', + key, + moment(whoisData[key]).format('Do MMMM YYYY h:mm:ss a'), + ); + saveTo( + path, + key, + moment(whoisData[key]).format('Do MMMM YYYY h:mm:ss a'), + ); + } + } + if (key.includes('creationDate')) { + await list( + '+', + 'Website Age', + moment(whoisData['creationDate']).fromNow(true), + ); + saveTo( + path, + 'Website Age', + moment(whoisData['creationDate']).fromNow(true), + ); + } + } + if (showHome) { + goBack(); + } +}; +module.exports = domainAge; diff --git a/src/home.js b/src/home.js index 2018f49..2d08bdd 100644 --- a/src/home.js +++ b/src/home.js @@ -12,9 +12,10 @@ const dnsLookup = require('./dnsLookup.js'); const portScanner = require('./portScanner.js'); const headerLookup = require('./headerLookup.js'); const urlExpander = require('./urlExpander.js'); - +const reportBug = require('./reportBug'); const { sleep, input } = require('./common.js'); const gitRecon = require('./gitRecon.js'); +const domainAge = require('./domainAge.js'); const pkginfo = require('pkginfo')(module, 'version'); const version = module.exports.version; @@ -45,6 +46,8 @@ const takeOption = async () => { gitRecon(null, true); } else if (option == '12') { urlExpander(null, true); + } else if (option == '99') { + reportBug(null, true); } else if (option == 'exit' || option == '00' || option == '0') { console.log(chalk.cyan('bye!')); } else { @@ -97,6 +100,10 @@ const home = async (animationDelay = 2000, i = 1) => { table.newRow(); }); + table.newRow(); + table.cell(chalk.whiteBright('No'), chalk.cyan('99')); + table.cell(chalk.whiteBright('Name'), 'Report Issues'); + table.cell(chalk.whiteBright('Description'), chalk.gray('report a bug')); table.newRow(); table.cell(chalk.whiteBright('No'), chalk.cyan('00')); table.cell(chalk.whiteBright('Name'), 'exit'); @@ -105,7 +112,6 @@ const home = async (animationDelay = 2000, i = 1) => { chalk.gray('close and exit tool'), ); table.newRow(); - console.log(table.toString()); takeOption(); diff --git a/src/instaRecon.js b/src/instaRecon.js index 2b80a1e..04ed5bb 100644 --- a/src/instaRecon.js +++ b/src/instaRecon.js @@ -35,6 +35,7 @@ async function instaRecon(username, showHome = false, i = 1) { saveTo(path, key, IGData[key]); } } + console.log('\n'); var showDP = await input('View Profile Picture? [Y/N]'); if (showDP == 'y' || showDP == 'Y') { open(IGData['profile_pic_url_hd']); diff --git a/src/mailFinder.js b/src/mailFinder.js index c4426b4..6b400cb 100644 --- a/src/mailFinder.js +++ b/src/mailFinder.js @@ -1,14 +1,19 @@ const request = require('request'); const chalk = require('chalk'); -const { list, goBack, input, errorMsg } = require('./common.js'); +const { list, goBack, input, errorMsg, sleep } = require('./common.js'); const key = require('./secret.js'); async function mailfinder(username, showHome = false) { username = username || (await input('Your Username')); username.replace(' ', ''); - const domainList = ['gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com']; - const keysList = ['Bearer0c6ad1fd-f753-4628-8c0a-7968e722c6c7']; + const domainList = [ + 'gmail.com', + 'yahoo.com', + 'hotmail.com', + 'outlook.com', + 'yandex.com', + ]; domainList.forEach(async (domain) => { let email = `${username}@${domain}`; @@ -25,10 +30,18 @@ async function mailfinder(username, showHome = false) { (error, response) => { if (!error && response.statusCode == 200) { if (response.body.status == 'valid') { - console.log('['.cyan + '+'.green + '] '.cyan + email.green); + console.log( + chalk.cyan('[') + + chalk.greenBright('+') + + chalk.cyan('] ') + + chalk.greenBright(email), + ); } else { console.log( - '['.cyan + '+'.brightRed + '] '.cyan + email.brightRed, + chalk.cyan('[') + + chalk.redBright('+') + + chalk.cyan('] ') + + chalk.redBright(email), ); } } diff --git a/src/reportBug.js b/src/reportBug.js index f195df0..706b887 100644 --- a/src/reportBug.js +++ b/src/reportBug.js @@ -21,8 +21,12 @@ If applicable, add screenshots to help explain your problem. `; // console.log(body); -open( - `https://github.com/7ORP3DO/infoooze/issues/new?assignees=&labels=&title=&body=${encodeURIComponent( - body, - )}`, -); +reportBug = () => { + open( + `https://github.com/7ORP3DO/infoooze/issues/new?assignees=&labels=&title=&body=${encodeURIComponent( + body, + )}`, + ); +}; + +module.exports = reportBug; diff --git a/src/secret.js b/src/secret.js index 9104fe9..7a9cdec 100644 --- a/src/secret.js +++ b/src/secret.js @@ -1,58 +1 @@ -var _0xa386 = [ - 'Bearer0c6ad1fd-f753-4628-8c0a-7968e722c6c7', - 'a6f7ff508268b5e184b6ea2b8daeaab8', - 'wn40tn3bgjidktyifzzsomc1g0lx9hemf8a0lwq9yg2f0tbiubu8o3v6e0v5xcqxj85ky2', - 'ua', - 'sample', - 'em', - 'cms', - ], - _0x6abb = [ - _0xa386[0], - _0xa386[1], - _0xa386[2], - _0xa386[3], - _0xa386[4], - _0xa386[5], - _0xa386[6], - ], - _0xc0c2 = [ - _0x6abb[0], - _0x6abb[1], - _0x6abb[2], - _0x6abb[3], - _0x6abb[4], - _0x6abb[5], - _0x6abb[6], - ], - _0x37b7 = [ - _0xc0c2[0], - _0xc0c2[1], - _0xc0c2[2], - _0xc0c2[3], - _0xc0c2[4], - _0xc0c2[5], - _0xc0c2[6], - ], - _0xce3e = [ - _0x37b7[0], - _0x37b7[1], - _0x37b7[2], - _0x37b7[3], - _0x37b7[4], - _0x37b7[5], - _0x37b7[6], - ]; -const _ = require('lodash'), - itarm = [_0xce3e[0]], - us = [_0xce3e[1]], - wcms = [_0xce3e[2]]; -var key = (x) => - x == _0xce3e[3] - ? _[_0xce3e[4]](us) - : x == _0xce3e[5] - ? _[_0xce3e[4]](itarm) - : x == _0xce3e[6] - ? _[_0xce3e[4]](wcms) - : void 0; -module.exports = key; +var _0x783c=["\x6C\x6F\x64\x61\x73\x68","\x42\x65\x61\x72\x65\x72\x30\x63\x36\x61\x64\x31\x66\x64\x2D\x66\x37\x35\x33\x2D\x34\x36\x32\x38\x2D\x38\x63\x30\x61\x2D\x37\x39\x36\x38\x65\x37\x32\x32\x63\x36\x63\x37","\x62\x65\x61\x72\x65\x72\x20\x62\x61\x31\x64\x33\x35\x30\x65\x2D\x33\x38\x64\x33\x2D\x34\x34\x63\x31\x2D\x61\x34\x63\x63\x2D\x30\x34\x39\x32\x63\x36\x61\x33\x32\x34\x63\x31","\x62\x65\x61\x72\x65\x72\x20\x30\x30\x63\x37\x32\x30\x34\x38\x2D\x30\x30\x63\x34\x2D\x34\x39\x64\x64\x2D\x62\x65\x30\x65\x2D\x33\x64\x30\x66\x38\x39\x62\x63\x61\x39\x38\x32","\x62\x65\x61\x72\x65\x72\x20\x62\x36\x63\x39\x34\x38\x36\x63\x2D\x37\x64\x32\x33\x2D\x34\x64\x37\x38\x2D\x61\x37\x65\x39\x2D\x31\x65\x36\x39\x63\x63\x32\x62\x32\x37\x36\x64","\x61\x36\x66\x37\x66\x66\x35\x30\x38\x32\x36\x38\x62\x35\x65\x31\x38\x34\x62\x36\x65\x61\x32\x62\x38\x64\x61\x65\x61\x61\x62\x38","\x77\x6E\x34\x30\x74\x6E\x33\x62\x67\x6A\x69\x64\x6B\x74\x79\x69\x66\x7A\x7A\x73\x6F\x6D\x63\x31\x67\x30\x6C\x78\x39\x68\x65\x6D\x66\x38\x61\x30\x6C\x77\x71\x39\x79\x67\x32\x66\x30\x74\x62\x69\x75\x62\x75\x38\x6F\x33\x76\x36\x65\x30\x76\x35\x78\x63\x71\x78\x6A\x38\x35\x6B\x79\x32","\x75\x61","\x73\x61\x6D\x70\x6C\x65","\x65\x6D","\x63\x6D\x73","\x65\x78\x70\x6F\x72\x74\x73"];const _=require(_0x783c[0]);const itarm=[_0x783c[1],_0x783c[2],_0x783c[3],_0x783c[4]];const us=[_0x783c[5]];const wcms=[_0x783c[6]];var key=(_0x671ex6)=>{if(_0x671ex6== _0x783c[7]){return _[_0x783c[8]](us)}else {if(_0x671ex6== _0x783c[9]){return _[_0x783c[8]](itarm)}else {if(_0x671ex6== _0x783c[10]){return _[_0x783c[8]](wcms)}else {if(1== 2){return _[_0x783c[8]](wcms)}}}}};module[_0x783c[11]]= key \ No newline at end of file diff --git a/src/userRecon.js b/src/userRecon.js index c22805d..dbff36e 100644 --- a/src/userRecon.js +++ b/src/userRecon.js @@ -90,22 +90,25 @@ async function userrecon(username, showHome = false) { function (error, response, body) { if (error) { console.log( - '['.cyan + chalk.redBright('---') + '] '.cyan + url.brightRed, + chalk.cyan('[') + + chalk.redBright('---') + + chalk.cyan('] ') + + chalk.redBright(url), ); } else { if (response.statusCode == 200) { console.log( - '['.cyan + + chalk.cyan('[') + chalk.greenBright(response.statusCode) + - '] '.cyan + + chalk.cyan('] ') + chalk.greenBright(url), ); } else { console.log( - '['.cyan + + chalk.cyan('[') + chalk.redBright(response.statusCode) + - '] '.cyan + - url.brightRed, + chalk.cyan('] ') + + chalk.redBright(url), ); } } diff --git a/src/whoIs.js b/src/whoIs.js index 2bcf8c7..ba69dbb 100644 --- a/src/whoIs.js +++ b/src/whoIs.js @@ -1,7 +1,3 @@ -// const > const -// = require( > = require( -// ; > ); - const whoisJson = require('whois-json'); const { list,