CIRCL hash lookup is a public API to lookup hash values against known database of files. NSRL RDS database is included. More database will be included in the future. The API is accessible via HTTP ReST API and the API is also described as an OpenAPI.
curl -X 'GET' \
'https://hashlookup.circl.lu/info' \
-H 'accept: application/json'
{
"nsrl-version": "2021-03-01 - RDS Version 2.72 Modern",
"nsrl-items": "159720772",
"nsrl-NSRLMfg": "89875",
"nsrl-NSRLOS": "1269",
"nsrl-NSRLProd": "44928",
"hashlookup-version": "0.4"
}
curl -X 'GET' \
'https://hashlookup.circl.lu/lookup/md5/8ED4B4ED952526D89899E723F3488DE4' \
-H 'accept: application/json'
{
"CRC32": "7A5407CA",
"FileName": "wow64_microsoft-windows-i..timezones.resources_31bf3856ad364e35_10.0.16299.579_de-de_f24979c73226184d.manifest",
"FileSize": "2520",
"MD5": "8ED4B4ED952526D89899E723F3488DE4",
"OpSystemCode": {
"MfgCode": "1006",
"OpSystemCode": "362",
"OpSystemName": "TBD",
"OpSystemVersion": "none"
},
"ProductCode": {
"ApplicationType": "Security",
"Language": "Multilanguage",
"MfgCode": "608",
"OpSystemCode": "868",
"ProductCode": "190742",
"ProductName": "Cumulative Update for Windows Server 2016 for x64 (KB4338817)",
"ProductVersion": "1709"
},
"SHA-1": "00000079FD7AAC9B2F9C988C50750E1F50B27EB5",
"SpecialCode": ""
}
curl -X 'GET' 'https://hashlookup.circl.lu/lookup/sha1/FFFFFDAC1B1B4C513896C805C2C698D9688BE69F' -H 'accept: application/json' | jq .
{
"CRC32": "CBD64CD9",
"FileName": ".rela.dyn",
"FileSize": "240",
"MD5": "131312A96CAD4ACAA7E2631A34A0D47C",
"OpSystemCode": {
"MfgCode": "1006",
"OpSystemCode": "362",
"OpSystemName": "TBD",
"OpSystemVersion": "none"
},
"ProductCode": {
"ApplicationType": "Operating System",
"Language": "English",
"MfgCode": "1722",
"OpSystemCode": "599",
"ProductCode": "163709",
"ProductName": "BlackArch Linux",
"ProductVersion": "2017.03.01"
},
"SHA-1": "FFFFFDAC1B1B4C513896C805C2C698D9688BE69F",
"SpecialCode": ""
}
curl -X 'POST' 'https://hashlookup.circl.lu/bulk/md5' -H "Content-Type: application/json" -d "{\"hashes\": [\"6E2F8616A01725DCB37BED0A2495AEB2\", \"8ED4B4ED952526D89899E723F3488DE4\", \"344428FA4BA313712E4CA9B16D089AC4\"]}" | jq .
[
{
"CRC32": "E774FD92",
"FileName": "network",
"FileSize": "7279",
"MD5": "6E2F8616A01725DCB37BED0A2495AEB2",
"OpSystemCode": "362",
"ProductCode": "182360",
"SHA-1": "00000903319A8CE18A03DFA22C07C6CA43602061",
"SpecialCode": ""
},
{
"CRC32": "7A5407CA",
"FileName": "wow64_microsoft-windows-i..timezones.resources_31bf3856ad364e35_10.0.16299.579_de-de_f24979c73226184d.manifest",
"FileSize": "2520",
"MD5": "8ED4B4ED952526D89899E723F3488DE4",
"OpSystemCode": "362",
"ProductCode": "190742",
"SHA-1": "00000079FD7AAC9B2F9C988C50750E1F50B27EB5",
"SpecialCode": ""
},
{
"CRC32": "7516A25F",
"FileName": ".text._ZNSt14overflow_errorC1ERKSs",
"FileSize": "33",
"MD5": "344428FA4BA313712E4CA9B16D089AC4",
"OpSystemCode": "362",
"ProductCode": "219181",
"SHA-1": "0000001FFEF4BE312BAB534ECA7AEAA3E4684D85",
"SpecialCode": ""
}
]
curl -X 'POST' 'https://hashlookup.circl.lu/bulk/sha1' -H "Content-Type: application/json" -d "{\"hashes\": [\"FFFFFDAC1B1B4C513896C805C2C698D9688BE69F\", \"FFFFFF4DB8282D002893A9BAF00E9E9D4BA45E65\", \"FFFFFE4C92E3F7282C7502F1734B243FA52326FB\"]}" | jq .
[
{
"CRC32": "CBD64CD9",
"FileName": ".rela.dyn",
"FileSize": "240",
"MD5": "131312A96CAD4ACAA7E2631A34A0D47C",
"OpSystemCode": "362",
"ProductCode": "163709",
"SHA-1": "FFFFFDAC1B1B4C513896C805C2C698D9688BE69F",
"SpecialCode": ""
},
{
"CRC32": "8654F11A",
"FileName": "s_copypix.c",
"FileSize": "19541",
"MD5": "559D049F44942683093A91BA19D0AF54",
"OpSystemCode": "362",
"ProductCode": "215139",
"SHA-1": "FFFFFF4DB8282D002893A9BAF00E9E9D4BA45E65",
"SpecialCode": ""
},
{
"CRC32": "8E51A269",
"FileName": "358.git2-msvstfs.dll",
"FileSize": "65",
"MD5": "9E4C165089CBA3653484C3F23F1CBC67",
"OpSystemCode": "362",
"ProductCode": "201317",
"SHA-1": "FFFFFE4C92E3F7282C7502F1734B243FA52326FB",
"SpecialCode": ""
}
]
The domain to query is <query>.dns.hashlookup.circl.lu
. The query can be info
or an MD5 or SHA-1 value.
dig +short -t TXT info.dns.hashlookup.circl.lu | jq -r . | jq .
{
"nsrl-version": "RDS Version 2.73 - June 2021",
"nsrl-NSRL-items": "159720772",
"nsrl-Android-items": "29696170",
"nsrl-iOS-items": "46447082",
"nsrl-NSRLMfg": "88673",
"nsrl-NSRLOS": "1214",
"nsrl-NSRLProd": "135182",
"hashlookup-version": "0.1"
}
dig +short -t TXT 931606baaa7a2b4ef61198406f8fc3f4.dns.hashlookup.circl.lu | jq -r . | jq .
{
"CRC32": "13C49389",
"FileName": "ls",
"FileSize": "133792",
"MD5": "931606BAAA7A2B4EF61198406F8FC3F4",
"OpSystemCode": "362",
"ProductCode": "217853",
"SHA-1": "D3A21675A8F19518D8B8F3CEF0F6A21DE1DA6CC7",
"SpecialCode": ""
}
sha1sum * | cut -f1 -d" " | parallel 'curl -s https://hashlookup.circl.lu/lookup/sha1/{}' | jq .