Skip to content

ibnaleem/vtscan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ VTScan — VirusTotal for the Terminal

vtscan

⚠️ This project is still in beta

go install github.com/ibnaleem/vtscan@latest

GitHub Actions Badge GitHub last commit GitHub commit activity GitHub contributors

vtscan is a command-line tool for scanning files, URLs, and IPs against VirusTotal's malware detection. It makes it easier for developers, sercurity researchers, and pretty much anyone that uses a terminal a lot to quickly get a verdict of a file, IP, URL, and more. It was developed after I grew tired of trying to find a file via the GUI to upload to VirusTotal. Sometimes its on the desktop, often times its in some obscure path that takes us forever to traverse.

🚀 Getting Started

After you've ran the install command above, you should obtain an API key from VirusTotal and specify it in your environmental variables as VT_API_KEY. Please look up how to setup an environmental variable for your OS.

🔍 Searching Files & Hashes

vtscan will automatically calculate a SHA256 hash of your file to search VirusTotal's API. You can specify as many files or hashes as you need, and vtscan will do the rest for you:

$ vtscan file malware.exe cryptominer.bat b2660178b77e43b65d9e991332f0c9d59bd555aee9e8879e39a55e7db8d472d0

Here, vtscan will search for the following:

  1. malware.exe via SHA256 hash
  2. cryptominer.bat via SHA256 hash
  3. b266017... via hash

The hash specified in the argument does not have to be SHA256: it could be either SHA1 or MD5 as well.

🔍 Searching IPs

$ vtscan ip <ip address 1> <ip address 2> <ip address 3>...

🔍 Searching Domains

$ vtscan domain <domain 1> <domain 2> <domain 3>...

🗺️ Roadmap

These are the following API endpoints that are planned for implementation

IP Addresses

  1. Request an IP address (re)scan POST
  2. Get comments on an IP address GET
  3. Add a comment to an IP address POST
  4. Get objects related to an IP address GET
  5. Get object descriptors related to an IP address GET
  6. Get votes on an IP address GET
  7. Add a vote to an IP address POST

Domains & Resolutions

  1. Request an domain (re)scan POST
  2. Get comments on a domain GET
  3. Add a comment to a domain POST
  4. Get objects related to a domain GET
  5. Get object descriptors related to a domain GET
  6. Get a DNS resolution object GET
  7. Get votes on a domain GET
  8. Add a vote to a domain POST

Releases

No releases published

Packages

 
 
 

Contributors

Languages