Mengintegrasikan UrlScan.io dengan Google SecOps

Dokumen ini memberikan panduan tentang cara mengintegrasikan urlscan.io dengan Google SecOps.

Dokumen ini menjelaskan cara mengintegrasikan UrlScan.io dengan Google Security Operations.

Kasus penggunaan

Integrasi UrlScan.io menggunakan kemampuan Google SecOps untuk mendukung kasus penggunaan berikut:

  • Analisis URL otomatis: Otomatis mengirimkan URL yang mencurigakan ke UrlScan.io untuk menentukan tingkat risiko dan mengambil screenshot untuk verifikasi visual selama triase insiden.

  • Pengayaan informasi ancaman: Memperkaya pemberitahuan dengan membuat kueri UrlScan.io untuk mendapatkan metadata mendetail tentang alamat IP, domain, dan URL, sehingga memberikan konteks langsung kepada analis tentang ASN, jenis server, dan skor berbahaya.

  • Penelusuran pemindaian historis proaktif: Menelusuri pemindaian publik dan pribadi yang ada yang terkait dengan indikator kompromi untuk mengidentifikasi aktivitas dan pola berbahaya historis.

  • Pelaporan dan analisis forensik mendalam: Ambil detail pemindaian komprehensif menggunakan ID pemindaian tertentu untuk melakukan analisis mendalam terhadap cookie, jumlah permintaan, dan link terkait untuk penyelidikan keamanan yang kompleks.

Sebelum memulai

Untuk mengautentikasi koneksi antara Google SecOps dan UrlScan.io, Anda harus memberikan kunci API yang valid.

Anda dapat memperoleh dan mengelola kunci API dalam bagian Profil di akun urlscan.io Anda.

Parameter integrasi

Integrasi urlscan.io memerlukan parameter berikut:

Parameter Deskripsi
Api Key

Wajib.

Kunci API unik yang digunakan untuk melakukan autentikasi dengan layanan urlscan.io.

Verify SSL

Opsional.

Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke server UrlScan.io.

Untuk mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.

Anda dapat melakukan perubahan di tahap selanjutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.

Tindakan

Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.

Ping

Uji Konektivitas.

Parameter

T/A

Kasus penggunaan

T/A

Run On

Tindakan ini dijalankan di semua entity.

Hasil Tindakan

Pengayaan Entity
Insight

T/A

Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Hasil JSON
N/A

Pemeriksaan URL

Kirimkan URL untuk dipindai dan dapatkan detail pemindaian.

Parameter

Nama Parameter Jenis Wajib Diisi Nilai Default Deskripsi
Visibilitas

DDL
mungkin:
publik, tidak publik, pribadi.

Tidak publik Pemindaian di urlscan.io memiliki salah satu dari tiga tingkat visibilitas, pastikan untuk menggunakan tingkat yang sesuai untuk kiriman Anda.
Ambang batas integer Tidak -1 Menandai entitas sebagai mencurigakan jika skor putusan sama dengan atau di atas nilai minimum yang diberikan. Nilai defaultnya adalah -1, dalam hal ini, kami menganggap setiap URL yang dipindai sebagai mencurigakan.
Create Insight Boolean Tidak Ya Jika diaktifkan, tindakan akan membuat insight yang berisi informasi tentang entitas.
Hanya Insight Mencurigakan Boolean Tidak Tidak Jika diaktifkan, tindakan hanya akan membuat insight untuk entitas yang mencurigakan. Catatan: Parameter "Buat Insight" harus diaktifkan.
Menambahkan Screenshot ke Insight Boolean Tidak Tidak Jika diaktifkan, tindakan akan menambahkan screenshot situs ke insight, jika tersedia.

Kasus penggunaan

T/A

Run On

Tindakan ini berjalan di entity berikut:

  • Alamat IP
  • Domain
  • URL

Hasil Tindakan

Pengayaan Entity
Nama Kunci
real_url tasks/url
visibilitas visibilitas
requests_count len(data/requests)
cookie CSV data/cookie/nama
related_links CSV data/link/href
main_country page/country
main_domain page/domain
main_ip page/ip
main_asn page/asnname
main_server page/server
related_ips_count len(lists/ips)
related_domains_count len(lists/domains)
related_countries Daftar/negara CSV
overall_score verdicts/overall/score
kategori verdicts/overall/categories
tags verdicts/overall/tags
berbahaya verdicts/overall/malicious
Insight

T/A

Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Hasil JSON
[
    {
        "Entity": "https://example.com",
        "EntityResult": {
            "lists": {
                "ips": [
                    "0.0.0.0"
                ],
                "countries": [
                    "ZZ"
                ],
                "asns": [
                    "00000"
                ],
                "domains": [
                    "subdomain.example.com"
                ],
                "servers": [
                    "GenericServer/1.0.0"
                ],
                "urls": [
                    "https://example.com/",
                    "https://example.com/assets/image.png",
                    "https://example.com/assets/script.js",
                    "https://example.com/assets/style.svg",
                    "https://example.com/favicon.ico"
                ],
                "linkDomains": [
                    "node1.example.com",
                    "node2.example.com",
                    "node3.example.com"
                ],
                "certificates": [
                    {
                        "subjectName": "*.example.com",
                        "issuer": "CA-0",
                        "validFrom": 1000000000,
                        "validTo": 2000000000
                    }
                ],
                "hashes": [
                    "hash_string_alpha_001",
                    "hash_string_alpha_002",
                    "hash_string_alpha_003"
                ]
            },
            "page": {
                "asn": "AS00000",
                "asnname": "PROVIDER - Service Provider Inc., ZZ",
                "city": "",
                "country": "ZZ",
                "domain": "subdomain.example.com",
                "ip": "0.0.0.0",
                "ptr": "host.provider.net",
                "server": "GenericServer/1.0.0",
                "url": "https://example.com/",
                "apexDomainAgeDays": 1,
                "mimeType": "application/octet-stream",
                "title": "Title Placeholder",
                "tlsValidDays": 0,
                "tlsAgeDays": 0,
                "domainAgeDays": 1,
                "tlsValidFrom": "2000-01-01T00:00:00.000Z",
                "umbrellaRank": 0,
                "apexDomain": "example.com",
                "tlsIssuer": "CA-0",
                "status": "000"
            },
            "scanner": {
                "country": "zz"
            },
            "stats": {
                "IPv6Percentage": 0,
                "adBlocked": 0,
                "malicious": 0,
                "securePercentage": 0,
                "secureRequests": 0,
                "totalLinks": 0,
                "uniqCountries": 0
            },
            "submitter": {
                "country": "ZZ"
            },
            "task": {
                "method": "system",
                "source": "source_id",
                "time": "2000-01-01T00:00:00.000Z",
                "url": "https://example.com/",
                "uuid": "00000000-0000-0000-0000-000000000000",
                "visibility": "private",
                "reportURL": "https://service.io/result/id/",
                "screenshotURL": "https://service.io/screen/id.png",
                "domURL": "https://service.io/dom/id/",
                "domain": "subdomain.example.com",
                "apexDomain": "example.com"
            },
            "verdicts": {
                "overall": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "tags": [],
                    "malicious": false,
                    "hasVerdicts": false
                },
                "service_provider": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "tags": [],
                    "malicious": false,
                    "hasVerdicts": false
                },
                "engines": {
                    "score": 0,
                    "malicious": false,
                    "categories": [],
                    "enginesTotal": 0,
                    "maliciousTotal": 0,
                    "benignTotal": 0,
                    "maliciousVerdicts": [],
                    "benignVerdicts": [],
                    "hasVerdicts": false,
                    "tags": [
                        "tag-alpha",
                        "tag-beta"
                    ]
                },
                "community": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "votesTotal": 0,
                    "votesMalicious": 0,
                    "votesBenign": 0,
                    "malicious": false,
                    "hasVerdicts": false
                }
            },
            "is_risky": false
        }
    }
]

Menelusuri Pindaian

Telusuri hasil pemindaian urlscan.io yang ada berdasarkan atribut seperti domain, IP, nomor Sistem Otonom (AS), hash, dll. Tindakan ini akan menemukan hasil pemindaian publik yang dilakukan oleh siapa pun serta hasil pemindaian tidak publik dan pribadi yang dilakukan oleh Anda atau tim Anda.

Parameter

Nama Parameter Jenis Wajib Diisi Nilai Default Deskripsi
Pemindaian Maksimum Bilangan bulat Tidak 100 Jumlah pemindaian yang akan ditampilkan per entity. Default: 100, Maks: 10000 (bergantung pada langganan).

Run On

Tindakan ini berjalan di entity berikut:

  • Alamat IP
  • Nama host
  • URL
  • Nama file
  • Hash
  • Domain

Hasil Tindakan

Pengayaan Entity

T/A

Insight

T/A

Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Hasil JSON
{"entity_identifier": "www.unitedneighborsfcu.com",
"entity_results":[
  {
        "indexedAt": "2020-12-09T12:16:43.329Z",
        "task": {
            "visibility": "public",
            "method": "automatic",
            "domain": "www.unitedneighborsfcu.com",
            "time": "2020-12-09T12:16:23.168Z",
            "source": "certstream-suspicious",
            "uuid": "96310829-fed4-4d61-9fb0-39eb2952719f",
            "url": "https://www.unitedneighborsfcu.com"
        },
        "stats": {
            "uniqIPs": 6,
            "consoleMsgs": 0,
            "uniqCountries": 3,
            "dataLength": 1938842,
            "encodedDataLength": 1568193,
            "requests": 28
        },
        "page": {
            "country": "US",
            "server": "Microsoft-IIS/10.0",
            "domain": "www.unitedneighborsfcu.com",
            "ip": "8.21.114.55",
            "mimeType": "text/html",
            "asnname": "LEVEL3, US",
            "asn": "AS3356",
            "url": "https://www.unitedneighborsfcu.com/",
            "status": "200"
        },
        "_id": "96310829-fed4-4d61-9fb0-39eb2952719f",
        "sort": [1607516183168, "96310829-fed4-4d61-9fb0-39eb2952719f"],
        "result": "https://urlscan.io/api/v1/result/96310829-fed4-4d61-9fb0-39eb2952719f/",
        "screenshot": "https://urlscan.io/screenshots/96310829-fed4-4d61-9fb0-39eb2952719f.png"
  }
  ]
}
Repositori Kasus
Jenis Hasil Nilai / Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • jika menemukan pemindaian untuk beberapa entitas (is_success = true): print "Successfully listed scans for the following entities:\n".format(entity.identifier)
  • Jika tidak menemukan pemindaian untuk beberapa entitas (is_success = true): print "Action wasn't able to list scans for the following entities:\n".format(entity.identifier)
  • Jika tidak menemukan pemindaian untuk semua entitas(is_success = false): cetak "Action wasn't able to list scans for the available entities".
  • Jika tidak ada entitas: cetak "No suitable entities were found in the current scope.

    The action should fail and stop a playbook execution:
    if fatal error, like wrong credentials, no connection to server, other: cetak "Error executing action "Search for Scans". Alasan: {0}''.format(error.Stacktrace).
Umum
Tabel Repositori Kasus

Judul: "{entity identifier} - Hasil Penelusuran"

Kolom:

ID Pemindaian

URL

Tanggal Pemindaian

Ukuran

IPS

Negara Unik

Negara

Jenis Pemindaian

Umum
Link Repositori Kasus Judul: "Laporan Web urlscan.io + (ID entitas). Umum
Lampiran Repositori Kasus Akan berisi screenshot. Umum

Mendapatkan Detail Lengkap Pemindaian

Mendapatkan Detail Lengkap Pemindaian berdasarkan ID pemindaian

Parameter

Nama Parameter Jenis Wajib Diisi Nilai Default Deskripsi
ID Pemindaian String Ya T/A Dapatkan laporan pemindaian menggunakan ID pemindaian. Nilai dipisahkan koma.

Run On

Tindakan ini tidak dijalankan pada entitas.

Hasil Tindakan

Pengayaan Entity

T/A

Insight

T/A

Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Hasil JSON
['Effective URL'] = response['page']['url']
Repositori Kasus
Jenis Hasil Nilai / Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • if find some scan ids (is_success = true): print "Successfully fetched results for the following scans: {scan ids}
  • Jika tidak menemukan beberapa (is_success = true): cetak "Action wasn't able to fetch results for the following scans: {scan ids}
  • Jika tidak menemukan semuanya (is_success = false): cetak "Action wasn't able to fetch results. ID pemindaian yang diberikan tidak tersedia menggunakan urlscan.io"

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: cetak "Error executing action "Get Scan Full Details". Reason: {0}''.format(error.Stacktrace)
Umum
Link Repositori Kasus Judul: "Laporan Web urlscan.io + (ID Pemindaian). Umum
Lampiran Repositori Kasus Akan berisi screenshot. Umum

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.