VulnCheck IPインテリジェンスは、初期アクセスのエクスプロイトの対象となる可能性のある脆弱なシステムの追跡、ならびにコマンド&コントロール(C2)攻撃者インフラストラクチャとハニーポットの追跡を含みます。
VulnCheck IPインテリジェンスは、幅広いユースケースをサポートしています。
2つのAPIクエリパラメーター(国とID)を組み合わせることで、特定の地域(この場合、スウェーデン)におけるコマンド&コントロール(C2)検出に迅速に焦点を当てることができます。
curl --request GET \
--url https://api.vulncheck.com/v3/index/ipintel-3d?id=c2&country=Sweden \
--header 'Accept: application/json' \
--header 'Authorization: Bearer insert_token_here'
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
vulncheck "github.com/vulncheck-oss/sdk-go-v2/v2"
)
func main() {
configuration := vulncheck.NewConfiguration()
configuration.Scheme = "https"
configuration.Host = "api.vulncheck.com"
client := vulncheck.NewAPIClient(configuration)
token := os.Getenv("VULNCHECK_API_TOKEN")
auth := context.WithValue(
context.Background(),
vulncheck.ContextAPIKeys,
map[string]vulncheck.APIKey{
"Bearer": {Key: token},
},
)
resp, httpRes, err := client.IndicesAPI.IndexIpintel3dGet(auth).Country("Sweden").Id("c2").Execute()
if err != nil || httpRes.StatusCode != 200 {
log.Fatal(err)
}
prettyJSON, err := json.MarshalIndent(resp.Data, "", " ")
if err != nil {
log.Fatalf("Failed to generate JSON: %v", err)
return
}
fmt.Println(string(prettyJSON))
}
import vulncheck_sdk
configuration = vulncheck_sdk.Configuration(host="https://api.vulncheck.com/v3")
configuration.api_key["Bearer"] = "insert_token_here"
with vulncheck_sdk.ApiClient(configuration) as api_client:
indices_client = vulncheck_sdk.IndicesApi(api_client)
api_response = indices_client.index_ipintel3d_get(id="c2", country="Sweden")
print(api_response)
vulncheck index browse ipintel-3d --id c2 --country Sweden
有効な国名を指定して /v3/index/ipintel-3d?id=c2&country=:country API エンドポイントを呼び出すと、以下のようなレスポンスが返されます。
{
"_benchmark": 0.04378,
"_meta": {
"timestamp": "2025-10-27T23:18:59.172188696Z",
"index": "ipintel-3d",
//...
},
"data": [
{
"ip": "46.22.115.147",
"port": 443,
"ssl": true,
"lastSeen": "2025-10-27T07:55:47.459042",
"asn": "AS43853",
"country": "Sweden",
"country_code": "SE",
"city": "Huddinge",
"cve": [],
"matches": [
"SoftEther"
],
"hostnames": [
"46-22-115-147.ip.axbyte.se"
],
"type": {
"id": "c2",
"kind": "Proxy",
"finding": "command and control infrastructure"
},
"feed_ids": [
"a93a3bdd-c625-4128-a15b-e99e2ca93d62"
],
"_timestamp": "2025-10-27T09:05:50.858661971Z"
},
{
"ip": "185.232.44.180",
"port": 443,
"ssl": true,
"lastSeen": "2025-10-27T07:24:52.904576",
"asn": "AS209209",
"country": "Sweden",
"country_code": "SE",
"city": "Västerås",
"cve": [],
"matches": [
"Interactsh"
],
"hostnames": [],
"type": {
"id": "c2",
"kind": "Attack Infrastructure",
"finding": "command and control infrastructure"
},
"feed_ids": [
"7f6bc0e7-8064-40f8-b7d4-c4ebc17cf997"
],
"_timestamp": "2025-10-27T09:04:42.629323571Z"
},
//...
]
}
VulnCheck IPインテリジェンスは、いくつかのAPIクエリパラメーターを使用してIPデータセットを簡単にクエリでき、結果をフィルタリングするのに便利です。サポートされているAPIクエリパラメーターは以下の通りです:
| Query Parameter | Description |
|---|---|
| asn | ASNに基づいてフィルタリング: 例、「AS719」 |
| cidr | IPアドレスまたは範囲に基づいてフィルタリング: 例、「165.227.231.125」 |
| country | 国コードに基づいてフィルタリング: 例、「オーストラリア」 |
| country_code | 国コードに基づいてフィルタリング: 例、「AU」 |
| hostname | キーワードまたはFQDNに基づいてフィルタリング: 例、「google」または「amazonaws.com」 |
| id | サポートされている検出タイプに基づいてフィルタリング: 例、「c2」、「honeypot」、「initial-access」 |
| オフラインバックアップ | 説明 |
|---|---|
| ipintel-3d | 過去3日間のIPインテリジェンス検出 |
| ipintel-10d | 過去10日間のIPインテリジェンス検出 |
| ipintel-30d | 過去30日間のIPインテリジェンス検出 |
| ipintel-90d | 過去90日間のIPインテリジェンス検出 |
特定のオフラインバックアップをリクエストするには、次のように/v3/backup/:indexを呼び出します(以下にipintel-3dを例として示します):
curl --request GET \
--url https://api.vulncheck.com/v3/backup/ipintel-3d \
--header 'Accept: application/json' \
--header 'Authorization: Bearer insert_token_here'
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
vulncheck "github.com/vulncheck-oss/sdk-go-v2/v2"
)
func main() {
configuration := vulncheck.NewConfiguration()
configuration.Scheme = "https"
configuration.Host = "api.vulncheck.com"
client := vulncheck.NewAPIClient(configuration)
token := os.Getenv("VULNCHECK_API_TOKEN")
auth := context.WithValue(
context.Background(),
vulncheck.ContextAPIKeys,
map[string]vulncheck.APIKey{
"Bearer": {Key: token},
},
)
resp, httpRes, err := client.EndpointsAPI.BackupIndexGet(auth, "ipintel-3d").Execute()
if err != nil || httpRes.StatusCode != 200 {
log.Fatal(err)
}
prettyJSON, err := json.MarshalIndent(resp.Data, "", " ")
if err != nil {
log.Fatalf("Failed to generate JSON: %v", err)
return
}
fmt.Println(string(prettyJSON))
}
import vulncheck_sdk
configuration = vulncheck_sdk.Configuration(host="https://api.vulncheck.com/v3")
configuration.api_key["Bearer"] = "insert_token_here"
with vulncheck_sdk.ApiClient(configuration) as api_client:
endpoints_client = vulncheck_sdk.EndpointsApi(api_client)
api_response = endpoints_client.backup_index_get("ipintel-3d")
print(api_response.data[0].url)
vulncheck backup download ipintel-3d
| Attribute | 意味 |
|---|---|
| ip | ホストの IP アドレス |
| port | ホストがアクセス可能だったポート |
| ssl | |
| lastSeen | このレコードが最後に観測された時間 |
| asn | IP アドレスに関連付けられた ASN |
| country | IP アドレスに関連付けられた国 |
| country code | IP アドレスに関連付けられた国コード |
| city | IP アドレスに関連付けられた都市 |
| cve | ホストに関連する CVE |
| matches | ID に関連する名前または識別子を表します。例:ID が honeypot の場合は「Confluence Honeypot」、ID が initial-access の場合は脆弱性名 |
| hostnames | IP アドレスの逆引き DNS ルックアップ結果 |
| feed_ids | その検知に使用されたフィード内のルールを示す |
| _timestamp | レコードが最後に更新された時間 |
| Attribute | 意味 |
|---|---|
| id | IP インテリジェンスのソース(例:initial-access, proxy, c2, ics, vulncheck-canaries) |
| kind | ID が c2 の場合に C2 または C2 Proxy を識別(例:Proxy, C2, Attack Infrastructure, Scanner) |
| finding | 潜在的な脆弱性、プロキシ、ハニーポット、C2 インフラ、Web アプリケーション攻撃、ICS、ネットワークスキャン検知、潜在的悪性トラフィッ |