misc: add shodan internetdb command
This commit is contained in:
parent
4c7e038866
commit
66c963190d
1 changed files with 59 additions and 0 deletions
|
@ -327,3 +327,62 @@ arsched.callback = async function (msg, line) {
|
|||
};
|
||||
};
|
||||
hf.registerCommand(arsched);
|
||||
|
||||
const REGEX_IPV4 = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/;
|
||||
const shodan = new Command("shodan");
|
||||
shodan.category = CATEGORY;
|
||||
shodan.helpText = "Look up an IP on Shodan InternetDB";
|
||||
shodan.callback = async function (msg, line) {
|
||||
if (!line || line == "") return "Arguments required.";
|
||||
if (!REGEX_IPV4.test(line)) return "Invalid IP address.";
|
||||
|
||||
const data = await fetch("https://internetdb.shodan.io/" + line).then((res) =>
|
||||
res.json()
|
||||
);
|
||||
|
||||
return {
|
||||
embed: {
|
||||
title: `Results for \`${data.ip}\``,
|
||||
fields: [
|
||||
{
|
||||
title: "Hostnames",
|
||||
value:
|
||||
data.hostnames.length > 0
|
||||
? data.hostnames.map((str) => `\`${str}\``).join("\n")
|
||||
: "None",
|
||||
inline: true,
|
||||
},
|
||||
{
|
||||
title: "Open ports",
|
||||
value: data.ports.length > 0 ? data.ports.join(", ") : "None",
|
||||
inline: true,
|
||||
},
|
||||
{
|
||||
title: "Tags",
|
||||
value:
|
||||
data.tags.length > 0
|
||||
? data.tags.map((str) => `\`${str}\``).join(", ")
|
||||
: "None",
|
||||
inline: true,
|
||||
},
|
||||
{
|
||||
title: "CPEs",
|
||||
value:
|
||||
data.cpes.length > 0
|
||||
? data.cpes.map((str) => `\`${str}\``).join("\n")
|
||||
: "None",
|
||||
inline: true,
|
||||
},
|
||||
{
|
||||
title: "Vulnerabilities",
|
||||
value:
|
||||
data.vulns.length > 0
|
||||
? data.vulns.map((str) => `\`${str}\``).join("\n")
|
||||
: "None",
|
||||
inline: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
};
|
||||
hf.registerCommand(shodan);
|
||||
|
|
Loading…
Reference in a new issue