Lastline

Este documento fornece orientações sobre como integrar o Lastline ao Google SecOps.

Casos de uso

Análise dinâmica de objetos de URL ou arquivo.

Configurar a integração do Lastline no Google Security Operations

Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Raiz da API String https://user.lastline.com Sim Raiz da API Lastline
Nome de usuário String N/A Sim Nome de usuário da conta da Lastline a ser usado na integração.
Senha Senha N/A Sim Senha da conta da Lastline a ser usada na integração.
Verificar SSL Caixa de seleção Selecionado Não Especifique se a integração deve verificar se a raiz da API está configurada com o certificado válido.

Ações

Ping

Descrição

Teste a conectividade com o serviço Lastline usando os parâmetros fornecidos na página de configuração de integração na página do Google SecOps Content Hub.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se for bem-sucedido: "A conexão com o serviço Lastine foi estabelecida com os parâmetros fornecidos."

A ação deve falhar e interromper a execução de um playbook:

  • Se as credenciais da conta estiverem incorretas: "Falha ao se conectar ao serviço Lastline com a conta fornecida. Verifique sua configuração. O erro é {0}".format(exception.stacktrace)

  • Se houver outro erro crítico: "Falha ao se conectar ao serviço Lastline! O erro é {0}".format(exception.stacktrace)
Geral

Enviar URL

Descrição

Envie a tarefa de análise para o URL fornecido.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
URL para análise String N/A Sim Especifique o URL para análise.
Aguardar o relatório? Caixa de seleção Selecionado Não Especifique se a ação deve aguardar a criação do relatório. O relatório também pode ser obtido mais tarde com a ação "Receber resultados da análise" após a conclusão da verificação.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True

Resultado do JSON

Se a caixa de seleção "Aguardar o relatório" não estiver marcada:

{
    "success": 1,
    "data": {
        "submission_timestamp": "2021-03-10 07:13:25",
        "task_uuid": "543b3a6ffd17001009d4e10cfa16c2c3",
        "expires": "2021-03-11 14:51:57"
    }
}

Se a caixa de seleção "Aguardar o relatório" estiver marcada:

{
    "success": 1,
    "data": {
        "submission": "2021-03-14 04:46:11",
        "expires": "2021-03-16 04:46:10",
        "task_uuid": "5801c22ce6b4001003e58377051920f2",
        "reports": [
            {
                "relevance": 1.0,
                "report_uuid": "36150b54987b7f8bIUnzQWg2UgKxu8qdz7caWKwqyWz1yyE1aFpa9g",
                "report_versions": [
                    "ll-pcap"
                ],
                "description": "Pcap analysis"
            },
            {
                "relevance": 1.0,
                "report_uuid": "a03998ee0d483efaRlYorEk0lbJUBcMXkYP1YfeGpQTufOFDWraR5Q",
                "report_versions": [
                    "ll-web"
                ],
                "description": "Dynamic analysis in instrumented Chrome browser"
            }
        ],
        "submission_timestamp": "2021-03-15 03:58:51",
        "child_tasks": [
            {
                "task_uuid": "772d23d8d59500100f87aac889c70ece",
                "score": 0,
                "tag": "network traffic analysis",
                "parent_report_uuid": "a03998ee0d483efaRlYorEk0lbJUBcMXkYP1YfeGpQTufOFDWraR5Q"
            }
        ],
        "score": 0,
        "malicious_activity": [
            "Info: A Domain / URL of high reputation was visited"
        ],
        "analysis_subject": {
            "url": "https://yahoo.com"
        },
        "last_submission_timestamp": "2021-03-15 03:58:51"
    }
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • se for bem-sucedido: "Successfully created analysis task for the url {0}".format(url)
  • Se a ação for bem-sucedida e a caixa de seleção para aguardar o resultado for fornecida, depois que a ação for concluída (busca o resultado): "Successfully fetched the analysis results for the url {0}".format(url)
  • Se o URL fornecido estiver incorreto (is_success=false): "Falha ao criar a tarefa de análise porque o URL fornecido {0} está incorreto.".format(url)
  • Se outro erro não crítico acontecer (is_success=false): "Falha ao criar a tarefa de análise para o URL {0}. O erro é {1}".format(url,entity_identifier)

A ação deve falhar e interromper a execução de um playbook:

  • Se as credenciais da API estiverem incorretas: "Falha ao se conectar ao serviço Lastline com a chave de API ou o token fornecido. Verifique sua configuração. O erro é {0}".format(exception.stacktrace)
  • Se as credenciais da conta estiverem incorretas: "Falha ao conectar ao serviço Lastline com a conta fornecida. Verifique sua configuração. O erro é {0}".format(exception.stacktrace)
  • Se houver outro erro crítico: "Falha ao se conectar ao serviço Lastline! O erro é {0}".format(exception.stacktrace)
Geral
Tabela

Nome da tabela: "Resultados da análise de {0}".

Colunas da tabela:

Submission_Timestamp

Latest_Submission_Timestamp

Results_Expiry_Timestamp

Analysis_Task_UUID

Pontuação

Malicious_Activity

Geral

Enviar arquivo

Descrição

Envie a tarefa de análise para o arquivo fornecido.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Caminho do arquivo String N/A Sim Especifique o caminho completo para o arquivo a ser analisado.
Aguardar o relatório? Caixa de seleção Selecionado Não Especifique se a ação deve aguardar a criação do relatório. O relatório também pode ser obtido mais tarde com a ação "Receber resultados da análise" após a conclusão da verificação.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON

Se a caixa de seleção "Aguardar o relatório" não estiver marcada:

{
    "success": 1,
    "data": {
        "submission_timestamp": "2021-03-10 07:13:25",
        "task_uuid": "543b3a6ffd17001009d4e10cfa16c2c3",
        "expires": "2021-03-11 14:51:57"
    }
}

Se a caixa de seleção "Aguardar o relatório" estiver marcada:

{
    "success": 1,
    "data": {
        "activity_to_mitre_techniques": {
            "Search: Enumerates running processes": [
                {
                    "tactics": [
                        {
                            "id": "TA0007",
                            "name": "Discovery"
                        }
                    ],
                    "id": "T1057",
                    "name": "Process Discovery"
                }
            ],
            "Settings: Requiring rights elevation in browser": [
                {
                    "tactics": [
                        {
                            "id": "TA0005",
                            "name": "Defense Evasion"
                        }
                    ],
                    "id": "T1112",
                    "name": "Modify Registry"
                }
            ],
            "Autostart: Registering a scheduled task": [
                {
                    "tactics": [
                        {
                            "id": "TA0002",
                            "name": "Execution"
                        },
                        {
                            "id": "TA0003",
                            "name": "Persistence"
                        },
                        {
                            "id": "TA0004",
                            "name": "Privilege Escalation"
                        }
                    ],
                    "id": "T1053",
                    "name": "Scheduled Task"
                }
            ],
            "Memory: Tracking process identifiers through mutexes": [
                {
                    "tactics": [
                        {
                            "id": "TA0004",
                            "name": "Privilege Escalation"
                        },
                        {
                            "id": "TA0005",
                            "name": "Defense Evasion"
                        }
                    ],
                    "id": "T1055",
                    "name": "Process Injection"
                }
            ],
            "Autostart: Registering a new service at startup": [
                {
                    "tactics": [
                        {
                            "id": "TA0003",
                            "name": "Persistence"
                        },
                        {
                            "id": "TA0004",
                            "name": "Privilege Escalation"
                        }
                    ],
                    "id": "T1050",
                    "name": "New Service"
                }
            ],
            "Settings: Granting rights to debug or read memory of another process(SeDebugPrivilege)": [
                {
                    "tactics": [
                        {
                            "id": "TA0004",
                            "name": "Privilege Escalation"
                        },
                        {
                            "id": "TA0005",
                            "name": "Defense Evasion"
                        }
                    ],
                    "id": "T1134",
                    "name": "Access Token Manipulation"
                }
            ],
            "Search: Enumerates loaded modules": [
                {
                    "tactics": [
                        {
                            "id": "TA0007",
                            "name": "Discovery"
                        }
                    ],
                    "id": "T1057",
                    "name": "Process Discovery"
                }
            ]
        },
        "submission": "2021-03-14 04:51:20",
        "expires": "2021-03-16 03:30:53",
        "child_tasks": [
            {
                "task_uuid": "226d6278859c00102b480de14f0f1835",
                "score": 0,
                "tag": "File extracted from analysis subject",
                "parent_report_uuid": "aad392a7339d5b51VH8vSLfPk5llbmidNtkUBTCCayKfK6j5wX22"
            },
            {
                "task_uuid": "9894fee9908c001002eed0219fad3d28",
                "score": 0,
                "tag": "File extracted from analysis subject",
                "parent_report_uuid": "5749cedc8a1d6828hssTbnLGm6AOH3AUpefWyKY6nK8xCfvaZNEO"
            },
            {
                "task_uuid": "f543a862fe90001023e3a67cc2769a30",
                "score": 0,
                "tag": "URL extracted from analysis subject",
                "parent_report_uuid": "5749cedc8a1d6828hssTbnLGm6AOH3AUpefWyKY6nK8xCfvaZNEO"
            },
            {
                "task_uuid": "05efc0b74077001027ab691bdc7971ae",
                "score": 0,
                "tag": "network traffic analysis",
                "parent_report_uuid": "aad392a7339d5b51VH8vSLfPk5llbmidNtkUBTCCayKfK6j5wX22"
            },
            {
                "task_uuid": "390905dc316200102cd51e8880973a26",
                "score": 0,
                "tag": "URL extracted from analysis subject",
                "parent_report_uuid": "5749cedc8a1d6828hssTbnLGm6AOH3AUpefWyKY6nK8xCfvaZNEO"
            },
            {
                "task_uuid": "a3710e5d6a1400102540b44b56011019",
                "score": 0,
                "tag": "network traffic analysis",
                "parent_report_uuid": "5749cedc8a1d6828hssTbnLGm6AOH3AUpefWyKY6nK8xCfvaZNEO"
            },
            {
                "task_uuid": "c3a87f9a2f1b0010203b6049def1a1ac",
                "score": 0,
                "tag": "URL extracted from analysis subject",
                "parent_report_uuid": "5749cedc8a1d6828hssTbnLGm6AOH3AUpefWyKY6nK8xCfvaZNEO"
            },
            {
                "task_uuid": "5fb932bf8dfc00100fbb9f2c75e8a061",
                "score": 0,
                "tag": "URL extracted from analysis subject",
                "parent_report_uuid": "aad392a7339d5b51VH8vSLfPk5llbmidNtkUBTCCayKfK6j5wX22"
            }
        ],
        "reports": [
            {
                "relevance": 1.0,
                "report_uuid": "5749cedc8a1d6828hssTbnLGm6AOH3AUpefWyKY6nK8xCfvaZNEO",
                "report_versions": [
                    "ll-int-win",
                    "ll-win-timeline-based",
                    "ioc:ll",
                    "ioc:stix",
                    "ioc:openioc",
                    "ioc:openioc:tanium",
                    "ll-win-timeline-thread-based"
                ],
                "description": "Dynamic analysis on Microsoft Windows 10"
            },
            {
                "relevance": 0.0,
                "report_uuid": "d4672aa84d9aa966WyYQH1SwRbltbJ3IzDXGUf7fL8F9uQwLOs4T",
                "report_versions": [
                    "ll-static"
                ],
                "description": "Static analysis"
            },
            {
                "relevance": 1.0,
                "report_uuid": "aad392a7339d5b51VH8vSLfPk5llbmidNtkUBTCCayKfK6j5wX22",
                "report_versions": [
                    "ll-int-win",
                    "ll-win-timeline-based",
                    "ioc:ll",
                    "ioc:stix",
                    "ioc:openioc",
                    "ioc:openioc:tanium",
                    "ll-win-timeline-thread-based"
                ],
                "description": "Dynamic analysis on Microsoft Windows 7"
            }
        ],
        "submission_timestamp": "2021-03-15 06:37:17",
        "task_uuid": "8af81dd5b542001024d946e57d28c99b",
        "score": 39,
        "malicious_activity": [
            "Autostart: Registering a new service at startup",
            "Autostart: Registering a scheduled task",
            "Memory: Tracking process identifiers through mutexes",
            "Search: Enumerates loaded modules",
            "Search: Enumerates running processes",
            "Settings: Granting rights to debug or read memory of another process(SeDebugPrivilege)",
            "Settings: Requiring rights elevation in browser",
            "Steal: Targeting Windows Saved Credential"
        ],
        "analysis_subject": {
            "sha256": "3ed0fead30f80313e7fdb275652295108f8044da592f27aa7e98232bf40b4738",
            "sha1": "933b0903a87d1ec2c1b54e4608223f42168422c7",
            "mime_type": "application/x-pe-app-32bit-i386",
            "md5": "a6d2b2f3ff369137748ff40403606862"
        },
        "last_submission_timestamp": "2021-03-15 06:37:17"
    }
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • se for bem-sucedido: "Successfully created analysis task for the file {0}".format(file)
  • Se a ação for bem-sucedida e a caixa de seleção para aguardar o resultado for fornecida, após a conclusão da ação (busca o resultado): "Successfully fetched the analysis results for the file {0}".format(file)
  • Se o caminho do arquivo fornecido estiver incorreto (is_success=false): "Falha ao criar a tarefa de análise porque o caminho do arquivo fornecido {0} está incorreto.".format(file)
  • Se outro erro não crítico acontecer (is_success=false): "Falha ao criar a tarefa de análise para o URL {0}. O erro é {1}".format(url,entity_identifier)

A ação deve falhar e interromper a execução de um playbook:

  • Se as credenciais da API estiverem incorretas: "Falha ao se conectar ao serviço Lastline com a chave de API ou o token fornecido. Verifique sua configuração. O erro é {0}".format(exception.stacktrace)
  • Se as credenciais da conta estiverem incorretas: "Falha ao conectar ao serviço Lastline com a conta fornecida. Verifique sua configuração. O erro é {0}".format(exception.stacktrace)
  • Se houver outro erro crítico: "Falha ao se conectar ao serviço Lastline! O erro é {0}".format(exception.stacktrace)
Geral
Tabela

Nome da tabela: "Resultados da análise de {0}".

Colunas da tabela:

Submission_Timestamp

Latest_Submission_Timestamp

Results_Expiry_Timestamp

Analysis_Task_UUID

Pontuação

Malicious_Activity

md5_hash

sha1_hash

sha256_hash

mime_type

Geral
Anexos

fileName: lastline_file_analisys_full_report.json

fileContent:resposta JSON da solicitação 5.

Geral

Histórico de análise de pesquisa

Descrição

Pesquise o histórico de tarefas de análise concluídas da Lastline. Para o envio, é possível fornecer um URL ou um hash de arquivo no formato md5 ou sha1.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do envio String N/A Não Nome do envio a ser pesquisado. Pode ser um URL ou um hash de arquivo no formato MD5 e SHA1.
Tipo de envio DDL Não especificado Não Se quiser, especifique um tipo de envio para pesquisar, URL ou FileHash.
Máximo de horas para trás Inteiro 24 Não Período para pesquisar tarefas de análise concluídas
Pesquisar nas últimas x verificações Inteiro 100 Sim Pesquise o relatório nas últimas x análises executadas no Any.Run.
Pular as primeiras x verificações Inteiro 0 Não Pula as primeiras x verificações retornadas pela API Any.Run.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
    "success": 1,
    "data": [
        {
            "username": "tip.labops@siemplify.co",
            "status": "finished",
            "task_subject_filename": null,
            "task_subject_sha1": "933b0903a87d1ec2c1b54e4608223f42168422c7",
            "task_uuid": "8af81dd5b542001024d946e57d28c99b",
            "task_subject_md5": "a6d2b2f3ff369137748ff40403606862",
            "task_subject_url": null,
            "task_start_time": "2021-03-15 06:37:18",
            "analysis_history_id": 711622656,
            "title": null,
            "score": 39
        },
        {
            "username": "tip.labops@siemplify.co",
            "status": "finished",
            "task_subject_filename": null,
            "task_subject_sha1": "933b0903a87d1ec2c1b54e4608223f42168422c7",
            "task_uuid": "8af81dd5b542001024d946e57d28c99b",
            "task_subject_md5": "a6d2b2f3ff369137748ff40403606862",
            "task_subject_url": null,
            "task_start_time": "2021-03-15 06:28:24",
            "analysis_history_id": 3856791660,
            "title": null,
            "score": 39
        },
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução do playbook:

  • Se os relatórios forem encontrados: "Found Lastline completed analysis tasks for the provided search parameters".
  • Se não encontrar relatórios: "Nenhum relatório do Any.Run foi encontrado".

A ação deve falhar e interromper a execução do playbook:

  • Se as credenciais da conta estiverem incorretas: "Falha ao conectar ao serviço Lastline com a conta fornecida. Verifique sua configuração. O erro é {0}".format(exception.stacktrace)
  • Se houver outro erro crítico: "Falha ao se conectar ao serviço Lastline! O erro é {0}".format(exception.stacktrace)
Geral
Tabela

Nome da tabela:resultados da pesquisa

Colunas da tabela:

UUID da tarefa

md5

sha1

Sha256

URL

Status

Enviado por (nome de usuário)

Enviado em

Geral

Receber resultados da análise

Descrição

Enriqueça as entidades FileHash ou URL do Google SecOps com os resultados das tarefas de análise concluídas anteriormente.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Limite Inteiro 70 Sim Marque a entidade como suspeita se o valor da pontuação dela estiver acima do limite especificado.
Pesquisar nas últimas x verificações Inteiro 25 Sim Pesquise o relatório da entidade fornecida nas últimas x análises executadas no Lastline.
Criar insight? Caixa de seleção Desmarcado Não Especifique se você quer criar insights com base nos dados do relatório.

Corrida

Essa ação é executada nas seguintes entidades:

  • Hash de arquivo (md-5, sha-1, sha-256)
  • URL

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
    "success": 1,
    "data": {
        "submission": "2021-03-14 04:46:11",
        "expires": "2021-03-16 04:46:10",
        "task_uuid": "5801c22ce6b4001003e58377051920f2",
        "reports": [
            {
                "relevance": 1.0,
                "report_uuid": "36150b54987b7f8bIUnzQWg2UgKxu8qdz7caWKwqyWz1yyE1aFpa9g",
                "report_versions": [
                    "ll-pcap"
                ],
                "description": "Pcap analysis"
            },
            {
                "relevance": 1.0,
                "report_uuid": "a03998ee0d483efaRlYorEk0lbJUBcMXkYP1YfeGpQTufOFDWraR5Q",
                "report_versions": [
                    "ll-web"
                ],
                "description": "Dynamic analysis in instrumented Chrome browser"
            }
        ],
        "submission_timestamp": "2021-03-15 03:58:51",
        "child_tasks": [
            {
                "task_uuid": "772d23d8d59500100f87aac889c70ece",
                "score": 0,
                "tag": "network traffic analysis",
                "parent_report_uuid": "a03998ee0d483efaRlYorEk0lbJUBcMXkYP1YfeGpQTufOFDWraR5Q"
            }
        ],
        "score": 0,
        "malicious_activity": [
            "Info: A Domain / URL of high reputation was visited"
        ],
        "analysis_subject": {
            "url": "https://yahoo.com"
        },
        "last_submission_timestamp": "2021-03-15 03:58:51"
    }
}
Enriquecimento de entidades

Opção 1. URL

Nome do campo de enriquecimento Lógica: quando aplicar
IsSuspicous A entidade precisa ser marcada como suspeita se um limite específico for atingido.
Lastline.Submission_Timestamp Sempre
Lastline.Latest_Submission_Timestamp Sempre
Lastline.Results_Expiry_Timestamp Sempre
Lastline.Analysis_Task_UUID Sempre
Lastline.Score Sempre
Lastline.Malicious_Activity Sempre

Opção 2. Arquivo

Nome do campo de enriquecimento Lógica: quando aplicar
IsSuspicous A entidade precisa ser marcada como suspeita se um limite específico for atingido.
Lastline.Submission_Timestamp Sempre
Lastline.Latest_Submission_Timestamp Sempre
Lastline.Results_Expiry_Timestamp Sempre
Lastline.Analysis_Task_UUID Sempre
Lastline.Score Sempre
Lastline.Malicious_Activity Sempre
Lastline.md5 Sempre
Lastline.sha1 Sempre
Lastline.sha256 Sempre
Lastline.mime\_type Sempre
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se o resultado for buscado: "Os resultados da análise de {0} {1} foram buscados.".format(url_or_filehash, value)
  • Se o URL ou arquivo fornecido estiver incorreto (is_success=false): "Failed to fetch the analysis results for the {0}".format(url_or_file)
  • Se nada for encontrado (is_success=false): "No previously completed analysis tasks were found based on the provided parameters for entity {0}".format(url_or_hash)
  • Se uma entidade não compatível foi fornecida para a ação (is_success=false): "Entity type {0} is not supported by the action, only URL of Filehash are supported, skipping this entity type".format(entity.type)
  • Se outro erro não crítico acontecer (is_success=false): "Falha ao criar a tarefa de análise para o URL {0}. O erro é {1}".format(url,entity_identifier)

A ação deve falhar e interromper a execução de um playbook:

  • Se as credenciais da conta estiverem incorretas: "Falha ao se conectar ao serviço Lastline com a conta fornecida. Verifique sua configuração. O erro é {0}".format(exception.stacktrace)
  • Se houver outro erro crítico: "Falha ao se conectar ao serviço Lastline! O erro é {0}".format(exception.stacktrace)
Geral
Tabela (para URL)

Nome da tabela: "Resultados da análise de {0}".

Colunas da tabela:

Submission_Timestamp

Latest_Submission_Timestamp

Results_Expiry_Timestamp

Analysis_Task_UUID

Pontuação

Malicious_Activity

Geral
Tabela (para FileHash)

Nome da tabela: "Resultados da análise de {0}".

Colunas da tabela:

Submission_Timestamp

Latest_Submission_Timestamp

Results_Expiry_Timestamp

Analysis_Task_UUID

Pontuação

Malicious_Activity

md5_hash

sha1_hash

sha256_hash

mime_type

Geral

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.