Integre o APIVoid com o Google SecOps
Este documento descreve como integrar o APIVoid com o Google Security Operations (Google SecOps).
Versão da integração: 12.0
Antes de começar
Antes de configurar a integração da APIVoid no Google SecOps para a versão 2, verifique se tem o seguinte:
Conta do APIVoid v2: uma conta ativa com acesso aos serviços da API v2.
Chave da API APIVoid v2: uma nova chave da API gerada especificamente para APIs v2 a partir do painel de controlo do utilizador do APIVoid.
Pontos finais da API atualizados: familiaridade com os URLs dos pontos finais da API v2 atualizados para os serviços APIVoid específicos que planeia usar (como a API IP Reputation e a API Domain Reputation).
Gere uma chave da API APIVoid v2
Para gerar a chave da API APIVoid v2, conclua estes passos:
Inicie sessão no painel de controlo do utilizador do APIVoid.
Navegue para a secção Chaves da API. (A localização pode variar consoante as atualizações do painel de controlo.)
Gere uma nova chave da API. Copie e armazene imediatamente a chave de forma segura. Pode ser apresentado apenas uma vez.
Rede
Função | Porta predefinida | Direção | Protocolo |
---|---|---|---|
API | Vários valores | De saída | apikey |
Parâmetros de integração
Use os seguintes parâmetros para configurar a integração:
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Nome da instância | String | N/A | Não | Nome da instância para a qual pretende configurar a integração. |
Descrição | String | N/A | Não | Descrição da instância. |
Raiz da API | String | https://endpoint.apivoid.com | Sim | Endereço da instância APIVoid. |
Chave de API | Palavra-passe | N/A | Sim | Chave da API gerada na consola da APIVoid. |
Validar SSL | Caixa de verificação | Desmarcado | Não | Use esta caixa de verificação se a sua ligação APIVoid exigir uma validação SSL. |
Executar remotamente | Caixa de verificação | Desmarcado | Não | Selecione o campo para executar a integração configurada remotamente. Depois de selecionada, a opção aparece para selecionar o utilizador remoto (agente). |
Para obter instruções sobre como configurar uma integração no Google SecOps, consulte o artigo Configurar integrações.
Se necessário, pode fazer alterações numa fase posterior. Depois de configurar uma instância de integração, pode usá-la em manuais de soluções. Para mais informações sobre como configurar e suportar várias instâncias, consulte o artigo Suporte de várias instâncias.
Ações
Para mais informações sobre ações, consulte os artigos Responda a ações pendentes da sua mesa de trabalho e Execute uma ação manual.
Obtenha a reputação do domínio
Receba verificações da reputação do domínio se um domínio for excluído por serviços de listas de bloqueios de domínios populares e fidedignos, como URLVir, ThreatLog, OpenPhish, Spam404, PhishTank, ZeuS Tracker e muito mais. Os vários serviços de listas de bloqueios de domínios identificam Websites potencialmente maliciosos e fraudulentos envolvidos na distribuição de software malicioso, incidentes de phishing e lojas online falsas.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Limite | String | 0 | Sim | Limite de risco do domínio. O limite tem de ser um valor numérico. Exemplo: 3 |
Crie estatísticas | Caixa de verificação | Marcado | Sim | Especifique se a ação deve criar estatísticas ou não. |
Exemplos de utilização
Um dos exemplos de utilização da API Domain Reputation é verificar se os Websites do cliente estão excluídos, verificar os URLs enviados pelos utilizadores na sua aplicação ou identificar Websites potencialmente maliciosos e inseguros.
É apresentado em
Esta ação é executada nas seguintes entidades:
- Nome do anfitrião
- URL
Resultados da ação
Enriquecimento de entidades
Marcar a entidade como suspeita se o número de motores negativos for igual ou superior ao limite indicado.
Nome do campo de enriquecimento | Lógica: quando aplicar |
---|---|
alexa_top_100k | Devolve se existir no resultado JSON |
domain_length | Devolve se existir no resultado JSON |
alexa_top_10k | Devolve se existir no resultado JSON |
listas negras | Devolve se existir no resultado JSON |
servidor | Devolve se existir no resultado JSON |
anfitrião | Devolve se existir no resultado JSON |
most_abused_tld | Devolve se existir no resultado JSON |
alexa_top_250k | Devolve se existir no resultado JSON |
Estatísticas
Gravidade | Descrição |
---|---|
Aviso | É criado um insight de aviso para informar sobre o estado malicioso da entidade enriquecida. É criado quando o número de motores detetados é igual ou excede o limite suspeito mínimo definido antes da análise. |
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
êxito | Verdadeiro/Falso | success:False |
Resultado JSON
[
{
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 17,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.07",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "example.com",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "example.com"
}, {
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 9,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.03",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "192.0.2.1",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "192.0.2.1"
}
]
Obtenha a reputação do IP
A API IP Reputation deteta endereços IP potencialmente maliciosos que são usados frequentemente para spam, ataques a Websites ou atividade fraudulenta.
Parâmetros
Parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Limite | String | N/A | Sim | Limite de risco de IP. O limite tem de ser um valor numérico. Exemplo: 3. |
Crie estatísticas | Caixa de verificação | Marcado | Sim | Especifique se a ação deve criar estatísticas ou não. |
É apresentado em
Esta ação é executada na entidade de endereço IP.
Resultados da ação
Enriquecimento de entidades
Marcar a entidade como suspeita se o número de motores negativos for igual ou superior ao limite indicado.
Nome do campo de enriquecimento | Lógica: quando aplicar |
---|---|
informação | Devolve se existir no resultado JSON |
listas negras | Devolve se existir no resultado JSON |
anonimato | Devolve se existir no resultado JSON |
ip | Devolve se existir no resultado JSON |
Estatísticas
Gravidade | Descrição |
---|---|
Aviso | É criado um insight de aviso para informar sobre o estado malicioso do hash enriquecido. A estatística é criada quando o número de motores detetados é igual ou superior ao limite suspeito mínimo definido antes da análise. |
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
êxito | Verdadeiro/Falso | success:False |
Resultado JSON
[
{
"EntityResult": {
"information": {
"is_proxy": false,
"is_vpn": false,
"region_name": "Zhejiang",
"is_webproxy": false,
"latitude": 28.680280685424805,
"isp": "ChinaNet Zhejiang Province Network",
"continent_code": "AS",
"is_tor": false,
"reverse_dns": " ",
"detections": 18,
"engines_count": 76,
"longitude": 121.44277954101562,
"city_name": "Jiaojiang",
"country_name": "China",
"continent_name": "Asia",
"detection_rate": "24%",
"country_code": "CN",
"is_hosting": false
},
"blacklists": {
"scantime": "0.57",
"detection_rate":
"24%",
"detections": 18,
"engines_count": 76,
"engines": [{
"engine": "PlonkatronixBL",
"detected": false,
"reference": "http://bl.plonkatronix.com/"
}, {
"engine": "Engine",
"detected": true,
"reference": "https://home.nuug.no/~engine/"
}, {"engine": "Malc0de",
"detected": false,
"reference": "http://malc0de.com/database/index.php"
}]},
"anonymity": {
"is_tor": false,
"is_proxy": false,
"is_vpn": false,
"is_webproxy": false,
"is_hosting": false
},
"ip": "192.0.2.1"
},
"Entity": "192.0.2.1"
}
]
Obtenha a reputação do URL
Obtenha a reputação de segurança e a pontuação de risco de um URL.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Limite | Número inteiro | N/A | Sim | Limite de risco do URL. O limite tem de ser um valor numérico. Exemplo: 3 |
Exemplos de utilização
Um analista pode obter a reputação do URL, de forma semelhante à obtenção da reputação de um domínio ou um endereço IP.
É apresentado em
Esta ação é executada na entidade URL.
Resultados da ação
Enriquecimento de entidades
Marque a entidade como suspeita se o número de motores negativos for igual ou superior ao limite indicado. if data.get("report", {}).get("risk_score", {}).get("result") > threshold
Nome do campo de enriquecimento | Lógica: quando aplicar |
---|---|
domain_blacklist | Devolve se existir no resultado JSON |
html_forms | Devolve se existir no resultado JSON |
server_details | Devolve se existir no resultado JSON |
response_headers | Devolve se existir no resultado JSON |
redirecionamento | Devolve se existir no resultado JSON |
file_type | Devolve se existir no resultado JSON |
risk_score | Devolve se existir no resultado JSON |
security_checks | Devolve se existir no resultado JSON |
geo_location | Devolve se existir no resultado JSON |
url_parts | Devolve se existir no resultado JSON |
site_category | Devolve se existir no resultado JSON |
web_page | Devolve se existir no resultado JSON |
dns_records | Devolve se existir no resultado JSON |
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_success | Verdadeiro/Falso | is_success:False |
Resultado JSON
[
{
"EntityResult": {
"domain_blacklist": {
"detections": 0,
"engines": [{
"detected": false,
"name": "SpamhausDBL", "reference": "https://www.spamhaus.org/lookup/"
}, {
"detected": false,
"name": "ThreatLog",
"reference": "http://www.threatlog.com/"
}, {
"detected": false,
"name": "OpenPhish",
"reference": "http://www.openphish.com/"
}, {
"detected": false,
"name": "PhishTank",
"reference": "http://www.phishtank.com/"
}, {
"detected": false,
"name": "Phishing.Database",
"reference": "https://github.com/mitchellkrogza/Phishing.Database"
}, {
"detected": false,
"name": "PhishStats",
"reference": "https://phishstats.info/"
}, {
"detected": false,
"name": "URLVir",
"reference": "http://www.urlvir.com/"
}, {
"detected": false,
"name": "URLhaus",
"reference": "https://urlhaus.abuse.ch/"
}, {
"detected": false,
"name": "RPiList Not Serious",
"reference": "https://github.com/RPiList/specials"
}, {
"detected": false,
"name": "precisionsec",
"reference": "https://precisionsec.com/"
}, {
"detected": false,
"name": "AntiSocial Blacklist",
"reference": "https://theantisocialengineer.com/"
}, {
"detected": false,
"name": "PhishFeed",
"reference": "https://phishfeed.com/"
}, {
"detected": false,
"name": "Spam404",
"reference": "https://www.spam404.com/"
}]},
"html_forms": {
"number_of_total_input_fields": 0,
"email_field_present": false,
"number_of_total_forms": 0,
"password_field_present": false,
"two_text_inputs_in_a_form": false,
"credit_card_field_present": false
},
"server_details": {
"continent_name": "Asia",
"hostname": "example.com",
"region_name": "Seoul-teukbyeolsi",
"ip": "192.0.2.141",
"isp": "Example Corporation",
"continent_code": "AS",
"country_name": "Korea (Republic of)",
"city_name": "Seoul",
"longitude": 126.97782897949219,
"country_code": "KR",
"latitude": 37.568260192871094
},
"response_headers": {
"status": "HTTP/1.1 404 Not Found",
"content-length": "177",
"code": 404,
"server": "nginx/1.4.6 (Ubuntu)",
"connection": "keep-alive",
"date": "Wed, 15 Jul 2020 08:21:54 GMT",
"content-type": "text/html"
},
"redirection": {
"url": null,
"found": false,
"external": false
},
"file_type": {
"headers": "HTML",
"extension": "HTML",
"signature": " "
},
"risk_score": {
"result": 10
},
"security_checks": {
"is_suspended_page": false,
"is_defaced_heuristic": false,
"is_windows_exe_file": false,
"is_credit_card_field": false,
"is_windows_exe_file_on_free_hosting": false,
"is_masked_linux_elf_file": false,
"is_exe_on_directory_listing": false,
"is_php_on_directory_listing": false,
"is_masked_windows_exe_file": false,
"is_sinkholed_domain": false,
"is_robots_noindex": false,
"is_windows_exe_file_on_free_dynamic_dns": false,
"is_doc_on_directory_listing": false,
"is_non_standard_port": false,
"is_linux_elf_file_on_free_dynamic_dns": false,
"is_suspicious_domain": false, "is_suspicious_url_pattern": false,
"is_china_country": false,
"is_risky_geo_location": false,
"is_pdf_on_directory_listing": false,
"is_valid_https": false,
"is_external_redirect": false, "is_windows_exe_file_on_ipv4": false,
"is_phishing_heuristic": false,
"is_linux_elf_file_on_ipv4": false,
"is_email_address_on_url_query": false,
"is_uncommon_clickable_url": false,
"is_most_abused_tld": false,
"is_domain_blacklisted": false,
"is_host_an_ipv4": false,
"is_linux_elf_file_on_free_hosting": false,
"is_zip_on_directory_listing": false,
"is_password_field": false,
"is_linux_elf_file": false,
"is_empty_page_title": false,
"is_directory_listing": false,
"is_masked_file": false,
"is_suspicious_file_extension": false,
"is_suspicious_content": false
},
"geo_location": {
"countries": ["KR"]
},
"url_parts": {
"host_nowww": "example.com",
"host": "www.example.com",
"path": "/dynamic/example.html",
"query": null,
"scheme": "http",
"port": 80},
"site_category": {
"is_vpn_provider": false,
"is_url_shortener": false,
"is_anonymizer": false,
"is_torrent": false,
"is_free_dynamic_dns": false,
"is_free_hosting": false
},
"web_page": {
"keywords": "",
"description": "",
"title": "404 Not Found"
},
"dns_records": {
"ns": {
"records": [{
"country_name": "Korea (Republic of)",
"ip": "192.0.2.95",
"isp": "Example Corporation",
"target": "example.com",
"country_code": "KR"
}, {
"country_name": "Korea (Republic of)",
"ip": "192.0.2.26",
"isp": "LX",
"target": "example.com",
"country_code": "KR"
}]},
"mx": {
"records": []
}}},
"Entity": "www.example.com:80/dynamic/example.html"
}
]
Parede da caixa
Tipo de resultado | Descrição | Tipo |
---|---|---|
Mensagem de saída* |
|
Geral |
CSV Case wall | Se os dados estiverem disponíveis, crie uma nova tabela CSV de entidades:
|
Geral |
Enriquecimento | Se os dados estiverem disponíveis, adicione o seguinte como enriquecimento de entidades (não se esqueça de adicionar o prefixo "APIVoid"):
|
Entidade |
Fazer captura de ecrã
Capture uma captura de ecrã de alta qualidade de qualquer Website ou URL.
Parâmetros
N/A
Exemplos de utilização
Um analista pode capturar capturas de ecrã de alta qualidade de qualquer Website ou URL no formato de imagem PNG ou JPG.
É apresentado em
Esta ação é executada na entidade User.
Resultados da ação
Enriquecimento de entidades
Marcar a entidade como suspeita se o número de motores negativos for igual ou superior ao limite indicado. is_suspicious: if data.get("score") > threshold
Nome do campo de enriquecimento | Lógica: quando aplicar |
---|---|
domínio | Devolve se existir no resultado JSON |
should_block | Devolve se existir no resultado JSON |
pontuação | Devolve se existir no resultado JSON |
descartável | Devolve se existir no resultado JSON |
has_mx_records | Devolve se existir no resultado JSON |
has_spf_records | Devolve se existir no resultado JSON |
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_success | Verdadeiro/Falso | is_success:False |
Resultado JSON
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.co",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COM"
}
]
Parede da caixa
Tipo de resultado | Descrição | Tipo |
---|---|---|
Mensagem de saída* |
|
Geral |
Anexos | Se os dados estiverem disponíveis, crie um novo objeto de ficheiro:
|
Geral |
Tchim-tchim
Teste a conetividade.
Parâmetros
N/A
É apresentado em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
êxito | Verdadeiro/Falso | success:False |
Validar email
Verifique se um email é descartável, tem registos MX e muito mais.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Limite | Número inteiro | N/A | Sim | Limite de risco de email. O limite tem de ser um valor numérico. Exemplo: 3 |
Exemplos de utilização
Um analista pode verificar se um email é descartável, obter registos MX e muito mais.
É apresentado em
Esta ação é executada na entidade User.
Resultados da ação
Enriquecimento de entidades
Marcar a entidade como suspeita se o número de motores negativos for igual ou superior ao limite indicado. is_suspicious: if data.get("score") > threshold
Nome do campo de enriquecimento | Lógica: quando aplicar |
---|---|
domínio | Devolve se existir no resultado JSON |
should_block | Devolve se existir no resultado JSON |
pontuação | Devolve se existir no resultado JSON |
descartável | Devolve se existir no resultado JSON |
has_mx_records | Devolve se existir no resultado JSON |
has_spf_records | Devolve se existir no resultado JSON |
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_success | Verdadeiro/Falso | is_success:False |
Resultado JSON
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.com",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COm"
}
]
Parede da caixa
Tipo de resultado | Descrição | Tipo |
---|---|---|
Mensagem de saída* |
|
Geral |
CSV Case wall | Conteúdo do CSV: dados de entidades(exemplo abaixo) | Geral |
Enriquecimento | Se os dados estiverem disponíveis, adicione o seguinte como enriquecimento de entidades (não se esqueça de adicionar o prefixo "APIVoid"):
|
Entidade |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.