VulnCheck Target Intelligence는 취약한 소프트웨어를 실행 중인 것으로 확인된 인터넷 공개 호스트의 지속적으로 업데이트되는 인덱스입니다. 잠재적으로 취약한 호스트를 식별하는 기존 인터넷 스캐너와 달리, Target Intelligence는 핑거프린팅 및 버전 탐지 기술을 적용하여 높은 신뢰도로 취약한 호스트를 식별한 후 해당 결과를 CVE에 직접 매핑합니다.
이를 통해 Target Intelligence는 1차 트리아지 도구로 활용될 수 있습니다. 공격자가 악용하기 전에 "현재 이 CVE의 실제 공격 대상 목록에 포함된 인터넷상의 호스트는 무엇인가?" 라는 질문에 답할 수 있습니다.
Base URL
https://api.vulncheck.com/v3/index/target-intel
인증
모든 요청에는 Authorization 헤더에 Bearer 토큰이 필요합니다.
Authorization: Bearer <your_api_token>
매개변수는 조합하여 사용할 수 있습니다. 모든 매개변수는 선택 사항이지만, 의미 있는 결과를 얻으려면 최소 하나 이상 제공하는 것이 좋습니다.
| Parameter | Type | Description |
|---|---|---|
cidr | string | 서브넷 조회를 위한 CIDR 범위입니다. 단일 호스트의 경우 /32를 사용합니다 (예: 203.0.113.42/32) |
hostname | string | 스캔 시점의 DNS 조회를 통해 얻은 호스트명 |
cve | string | 확인된 모든 취약 호스트를 조회하기 위한 CVE ID (예: CVE-2024-21887) |
vendor | string | 소프트웨어 공급업체 이름 |
product | string | 소프트웨어 제품 이름 |
version | string | 소프트웨어 버전 문자열 |
cpe | string | 전체 CPE 문자열 |
asn | string | Autonomous System Number (예: AS15169) |
country | string | 국가 이름 (예: United States, Germany) |
country_code | string | ISO 3166-1 alpha-2 국가 코드 (예: US, DE) |
protocol | string | 전송 프로토콜 (일반적으로 tcp) |
port | integer | TCP 포트 번호 |
contains_cve | boolean | true인 경우, 핑거프린트된 서비스와 연관된 CVE가 존재하는 호스트만 반환합니다 |
classifications | string | 필터링할 분류 값의 쉼표로 구분된 목록입니다. 유효한 값: c2, scanner, proxy, attack-infrastructure, honeypot, mcp, cdn, sector, canary-attacker |
limit | integer | 페이지당 반환할 최대 결과 수 |
vendor, product, version에 대한 참고: 이 매개변수들은 어떤 조합으로도 사용할 수 있습니다. vendor만 또는 version만으로도 조회할 수 있지만 결과 범위가 매우 넓어질 수 있습니다. 두 개 이상을 조합하면 보다 구체적인 결과를 얻을 수 있습니다.
각 결과는 단일 호스트-포트-서비스 조합을 나타냅니다. 결과는 JSON 배열로 반환됩니다.
| Field | Type | Always Present | Description |
|---|---|---|---|
ip | string | Yes | 관찰된 호스트의 IPv4 주소 |
hostname | string | Yes | 스캔 시점의 DNS 조회로 얻은 호스트명 (비어 있을 수 있음) |
port | integer | Yes | 서비스가 관찰된 TCP 포트 |
timestamp | string | Yes | 관찰이 수행된 시각의 ISO 8601 타임스탬프 |
date_added | string | Yes | 레코드가 인덱스에 추가된 시각의 ISO 8601 타임스탬프 |
protocol | string | Yes | 전송 프로토콜 (일반적으로 tcp) |
cpe | array | Yes | 핑거프린팅을 통해 도출된 CPE 문자열 배열 |
cve | array|null | Conditional | 해당 호스트의 핑거프린트와 연관된 CVE ID 배열. CVE 일치 항목이 없으면 null |
vendor | array | Yes | 핑거프린팅을 통해 도출된 공급업체 이름 배열 |
product | array | Yes | 핑거프린팅을 통해 도출된 제품 이름 배열 |
version | array | Yes | 핑거프린팅을 통해 도출된 버전 문자열 배열 |
fingerprints | array | Yes | 핑거프린트별 상세 객체 — 아래 참조 |
contains_cve | boolean | Yes | 핑거프린트된 서비스에 연관된 CVE가 있으면 true |
asn | string | Conditional | Autonomous System Number (예: AS64500). 사용할 수 없는 경우 생략 |
as_name | string | Conditional | Autonomous System 이름. 사용할 수 없는 경우 생략 |
as_domain | string | Conditional | Autonomous System 도메인. 사용할 수 없는 경우 생략 |
country | string | Conditional | 국가명. 사용할 수 없는 경우 생략 |
country_code | string | Conditional | ISO 3166-1 alpha-2 국가 코드. 사용할 수 없는 경우 생략 |
classifications | array | Conditional | 이 호스트에 부여된 분류 태그 (예: c2, honeypot, proxy). 해당하는 태그가 없으면 생략 |
metadata | object | Conditional | 추가 메타데이터. 사용할 수 없는 경우 생략 |
fingerprints 배열각 요소는 해당 호스트-포트에 대한 단일 핑거프린트 일치를 설명합니다.
| Field | Type | Description |
|---|---|---|
cpe | string | 이 핑거프린트의 CPE 문자열 |
vendor | string | 공급업체 이름 |
product | string | 제품 이름 |
version | string | 제품 버전 |
| Additional fields | string | 가변적입니다. 탐지된 서비스 배너 및 기타 보강 정보가 포함될 수 있으며, 이는 핑거프린트가 수집한 정보에 따라 달라집니다 |
| 질문 | API 호출 예시(쿼리 매개변수 사용) |
|---|---|
| 특정 CVE에 취약한 인터넷 공개 시스템은 무엇인가요? | https://api.vulncheck.com/v3/index/target-intel?cve=CVE-2021-36260 |
| 특정 공급업체 및 제품을 사용하는 인터넷 공개 시스템은 무엇인가요? | https://api.vulncheck.com/v3/index/target-intel?vendor=ivanti&product=connect+secure |
| 특정 공급업체, 제품 및 특정 버전을 사용하는 인터넷 공개 시스템은 무엇인가요? | https://api.vulncheck.com/v3/index/target-intel?vendor=ivanti&product=connect+secure&version=22.7.2.5367 |
| 특정 CPE 문자열과 일치하는 인터넷 공개 시스템은 무엇인가요? | https://api.vulncheck.com/v3/index/target-intel?cpe=cpe:2.3:o:qnap:qts:-:*:*:*:*:*:*:* |
| 원본 국가로 필터링하려면 어떻게 하나요? | https://api.vulncheck.com/v3/index/target-intel?country_code=US |
| ASN으로 필터링하려면 어떻게 하나요? | https://api.vulncheck.com/v3/index/target-intel?asn=AS7018 |
| 포트로 필터링하려면 어떻게 하나요? | https://api.vulncheck.com/v3/index/target-intel?port=443 |
| IP 범위(CIDR 표기법)로 필터링하려면 어떻게 하나요? | https://api.vulncheck.com/v3/index/target-intel?cidr=99.97.87.190/32 |
| 질문 | API 호출 예시(쿼리 매개변수 사용) |
|---|---|
| 분류는 유형 수준 및 유형:제품 수준 필터링을 모두 지원합니다 | Use classifications=<type> for broad filtering or classifications=<type>:<product> for a specific framework (e.g., classifications=c2:cobalt-strike). |
| 인터넷상의 모든 C2는 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=c2 |
| 모든 Cobalt Strike C2 서버는 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=cobalt-strike |
| 인터넷상의 모든 허니팟은 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=honeypot |
| 인터넷상의 모든 Canary 공격자는 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=canary-attacker |
| 인터넷상의 모든 프록시는 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=proxy |
| 식별된 모든 공격 인프라 자산은 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=attack-infrastructure |
| 알려진 모든 스캐너는 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=scanner |
| 정부, 의료, 교육 및 에너지 분야의 자산은 어디에 있나요? | https://api.vulncheck.com/v3/index/target-intel?classifications=sector |
| 질문 | API 호출 예시(쿼리 매개변수 사용) |
|---|---|
| IPv4 a.b.c.d에 대한 정보가 있나요? | https://api.vulncheck.com/v3/index/target-intel?cidr=99.97.87.190 |
| IPv6 y:y:y:y:y:y:x.x.x.x에 대한 정보가 있나요? | https://api.vulncheck.com/v3/index/target-intel?cidr=2001:4860:4860::8888 (supported, no ipv6 data yet) |
| 호스트 이름에 대한 정보가 있나요? | https://api.vulncheck.com/v3/index/target-intel?hostname=test.com |
curl -H "Authorization: Bearer <token>" \
"https://api.vulncheck.com/v3/index/target-intel?cidr=203.0.113.42/32"
curl -H "Authorization: Bearer <token>" \
"https://api.vulncheck.com/v3/index/target-intel?cve=CVE-2024-21887"
curl -H "Authorization: Bearer <token>" \
"https://api.vulncheck.com/v3/index/target-intel?vendor=ivanti&product=connect+secure"
curl -H "Authorization: Bearer <token>" \
"https://api.vulncheck.com/v3/index/target-intel?cve=CVE-2024-21887&country_code=US"
{
"data": [
{
"ip": "203.0.113.42",
"hostname": "vpn.example.com",
"port": 443,
"timestamp": "2025-01-15T08:42:11Z",
"date_added": "2025-01-15T08:42:11Z",
"protocol": "tcp",
"cpe": ["cpe:2.3:a:ivanti:connect_secure:22.3.0:*:*:*:*:*:*:*"],
"cve": ["CVE-2024-21887", "CVE-2023-46805"],
"vendor": ["Ivanti"],
"product": ["Connect Secure"],
"version": ["22.3.0"],
"fingerprints": [
{
"cpe": "cpe:2.3:a:ivanti:connect_secure:22.3.0:*:*:*:*:*:*:*",
"vendor": "Ivanti",
"product": "Connect Secure",
"version": "22.3.0"
}
],
"contains_cve": true,
"asn": "AS64500",
"as_name": "Example ISP",
"as_domain": "example.com",
"country": "United States",
"country_code": "US",
"classifications": ["c2:cobalt-strike"]
}
]
}
핑거프린트된 서비스와 연관된 CVE가 없는 경우 cve 필드는 null이 되고(빈 배열이 아님) contains_cve는 false가 됩니다.
{
"ip": "198.51.100.7",
"hostname": "",
"port": 80,
"timestamp": "2025-01-15T09:10:00Z",
"date_added": "2025-01-15T09:10:00Z",
"protocol": "tcp",
"cpe": ["cpe:2.3:a:apache:tomcat:10.1.0:*:*:*:*:*:*:*"],
"cve": null,
"vendor": ["Apache"],
"product": ["Tomcat"],
"version": ["10.1.0"],
"fingerprints": [
{
"cpe": "cpe:2.3:a:apache:tomcat:10.1.0:*:*:*:*:*:*:*",
"vendor": "Apache",
"product": "Tomcat",
"version": "10.1.0"
}
],
"contains_cve": false,
"asn": "AS64501",
"country": "Germany",
"country_code": "DE"
}
Target Intelligence는 스캔 데이터의 롤링 윈도우를 유지합니다. 새로운 스캔 결과가 수집됨에 따라 인덱스는 지속적으로 업데이트됩니다. 오래된 관찰 데이터는 데이터셋의 최신성과 운영상의 유용성을 유지하기 위해 순차적으로 만료됩니다.
각 레코드의 고유 키는 IP + port + fingerprint/service information 의 조합입니다. 호스트가 다시 스캔되면 해당 레코드는 최신 관찰 결과로 업데이트됩니다.
Target Intelligence가 제공하는 기능:
Target Intelligence가 제공하지 않는 기능:
조직과 연관된 호스트를 조회하려면 ASN, CIDR 범위 또는 알려진 IP 목록을 사용하여 쿼리하십시오.