Illusive Networks
통합 버전: 3.0
제품 사용 사례
- 능동적 작업 실행 - 포렌식 검사 실행, 엔티티 보강, 속임수 사용자/서버 추가/삭제
- Simplify에 인시던트 수집
Google Security Operations에서 Illusive Networks 통합 구성
Google SecOps에서 통합을 구성하는 방법에 대한 자세한 내용은 통합 구성을 참고하세요.
통합 매개변수
다음 매개변수를 사용하여 통합을 구성합니다.
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | Description(설명) |
---|---|---|---|---|
API 루트 | 문자열 | http://x.x.x.x | 예 | Illusive Networks 인스턴스의 API 루트입니다. |
API 키 | 비밀번호 | 해당 사항 없음 | 예 | Illusive Networks의 API 키입니다. |
CA 인증서 파일 | 문자열 | 거짓 | Base64로 인코딩된 CA 인증서 파일입니다. | |
SSL 확인 | 체크박스 | 선택 | 예 | 사용 설정한 경우 Illusive Networks 서버 연결에 대한 SSL 인증서가 유효한지 확인합니다. |
API 키를 생성하는 방법
- Illusive Networks Console에서 '설정' 섹션으로 이동합니다.
- '일반' 섹션에서 'API 키' 부분까지 아래로 스크롤합니다.
- '키 추가' 버튼을 누릅니다.
- API 키에 모든 권한을 추가하는 것이 좋습니다.
- 제공된 문자열에서 'Basic' 문자열을 제외한 모든 것을 복사해야 합니다.
- 이 값을 Google SecOps 통합의 'API 키' 매개변수에 입력합니다.
요청률 제한 업데이트 방법
Illusive Networks의 특정 엔드포인트에는 비율 제한이 있습니다. 커넥터의 경우 모든 인시던트가 수집되도록 한도가 충분히 높아야 합니다. 비율 제한을 업데이트하려면 관리 서버에 로그인하고 C:\Program
Files\illusive-Management-Server-3.1.XXX.XXXX\conf\general.properties.txt
로 이동해야 합니다.
파일에서 다음 속성을 찾습니다.
- api.incident.rate.limit.maximum.num.requests
- api.rate.limit.windows.duration.minutes
설정은 다음을 권장합니다.
- api.incident.rate.limit.maximum.num.requests=100
- api.rate.limit.windows.duration.minutes=1
- api.monitoring.rate.limit.maximum.num.requests = 100
- api.forensics.rate.limit.maximum.num.requests = 100
작업
핑
설명
Google Security Operations Marketplace 탭의 통합 구성 페이지에서 제공된 매개변수를 사용하여 Illusive Networks에 대한 연결을 테스트합니다.
매개변수
해당 사항 없음
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 성공한 경우: '제공된 연결 매개변수를 사용하여 Illusive Networks 서버에 연결되었습니다.' 실패: - Illusive Networks 서버에 연결할 수 없습니다. 오류: {0}".format(exception.stacktrace) |
일반 |
항목 보강
설명
Illusive Networks의 정보를 사용하여 항목을 보강합니다. 지원되는 항목: 호스트 이름
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
해당 사항 없음 |
실행
이 작업은 호스트 항목에서 실행됩니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
{
"machineId": "00428a29-0343-4e13-aa97-3b624739c509",
"machineName": "HELLO",
"isHealthy": false,
"lastDeploymentMethodType": "WMI",
"distinguishedName": "CN=HELLO,CN=Computers,dc=iln,dc=local",
"groupName": null,
"sourceDiscoveryName": "iln.local",
"collectData": true,
"policyName": null,
"assignmentStatus": "ANALYSIS",
"operatingSystemType": "Windows",
"operatingSystemName": "Windows Server 2016 Standard Evaluation",
"operatingSystemVersion": "10.0 (14393)",
"agentVersion": null,
"bitness": null,
"loggedInUserName": null,
"lastLogonTime": 1613078764501,
"succeededDeceptionFamilies": 0,
"shouldBeUninstalledDeceptionFamilies": 0,
"desiredDeceptionFamilies": 0,
"deceptionFamiliesPercentages": null,
"lastExecutionType": "AGENT",
"machineLastExecutionPhaseType": "CONNECTION",
"machineLastExecutionPhaseStatus": "FAILURE",
"machineLastExecutionPhaseErrorMessage": "Unreachable - no ping",
"mitigationStatusType": null,
"machineExecutionUnifiedStatus": "FAILURE_CONNECTION",
"machineLastExecutionPhaseFinishDate": "2021-02-12T10:17:30.623Z",
"endpointTrapHealthCheckHostStatus": "NotTested",
"endpointTrapHealthCheckHostStatusLastUpdated": null,
"failedDeceptionFamilies": 0,
"inProgressDeceptionFamilies": 0,
"notDeployedDeceptionFamilies": 0,
"policyId": null,
"ghost": false
}
항목 보강
보강 필드 이름 | 로직 - 적용 시기 |
---|---|
ILLNET_machineName | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_isHealthy | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_host | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_distinguishedName | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_sourceDiscoveryName | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_policyName | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_operatingSystemName | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_agentVersion | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_loggedInUserName | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_machineExecutionUnifiedStatus | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_bitness | JSON으로 제공되는 경우 (호스트 정보) |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 하나 이상의 항목에 데이터를 사용할 수 없는 경우 (is_success = true): '작업에서 Illusive Networks를 사용하여 다음 항목을 보강할 수 없습니다. \n {entity.identifier}' 모두에 대해 데이터를 사용할 수 없는 경우 (is_success = false): '보강된 항목이 없습니다.' 작업이 실패하고 플레이북 실행을 중지해야 합니다. 429 상태 코드인 경우: ''항목 보강' 작업을 실행하는 중에 오류가 발생했습니다. 이유: 비율 제한 오류입니다. 비율 제한을 늘리는 방법에 관한 문서를 참고하세요.' |
일반 |
케이스 월 테이블 | 이름: {entity.identifier} 키와 값의 두 열만 표시됩니다. |
항목 |
포렌식 검사 실행
설명
Illusive Networks에서 엔드포인트에 포렌식 검사를 실행합니다. IP 및 호스트 이름 항목과 함께 작동합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
시스템 정보 포함 | 체크박스 | 선택 | 예 | 사용 설정하면 작업에서 시스템 정보를 반환합니다. |
미리 가져오기 파일 정보 포함 | 체크박스 | 선택 | 예 | 사용 설정하면 작업에서 프리패치 파일에 관한 정보를 반환합니다. |
프로그램 추가/제거 정보 포함 | 체크박스 | 선택 | 예 | 사용 설정된 경우 작업에서 프로그램 추가/삭제에 관한 정보를 반환합니다. |
시작 프로세스 정보 포함 | 체크박스 | 선택 | 예 | 사용 설정하면 작업에서 시작 프로세스에 관한 정보를 반환합니다. |
실행 중인 프로세스 정보 포함 | 체크박스 | 선택 | 예 | 사용 설정하면 작업에서 실행 중인 프로세스에 관한 정보를 반환합니다. |
사용자 지원 프로그램 정보 포함 | 체크박스 | 선택 | 예 | 사용 설정된 경우 작업은 사용자 지원 프로그램에 관한 정보를 반환합니다. |
Powershell 기록 정보 포함 | 체크박스 | 선택 | 예 | 사용 설정하면 작업에서 powershell 기록에 관한 정보를 반환합니다. |
반환할 최대 항목 수 |
정수 | 50 | 아니요 | 반환할 항목 수를 지정합니다. 아무것도 제공되지 않으면 작업에서 모든 항목을 반환합니다. |
실행
이 작업은 다음 항목에서 실행됩니다.
- IP 주소
- 호스트
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
{
"Entity.identifier": {
"host_info": "{Host_info part}",
"prefetch_info": "{prefetch_info}",
"installed_programs_info": "{installed_programs_info}",
"startup_processes": "{startup_processes}",
"running_processes": "{running_processes}",
"user_assist_info": "{user_assist_info}",
"powershell_history": "{powershell history}"
}
}
항목 보강
보강 필드 이름 | 로직 - 적용 시기 |
---|---|
ILLNET_osName | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_machineType | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_host | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_loggedInUser | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_userProfiles | JSON으로 제공되는 경우 (호스트 정보) |
ILLNET_operatingSystemType | JSON으로 제공되는 경우 (호스트 정보) |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 하나 이상이 성공하지 못한 경우: '작업이 다음 엔드포인트({entity.identifier})의 포렌식 스캔에서 정보를 가져올 수 없습니다.' 모두 성공하지 못한 경우: '제공된 엔드포인트에서 포렌식 정보를 찾을 수 없습니다.' 비동기 메시지: '다음 엔드포인트에서 포렌식 검사를 시작했습니다. {entity identifier}. \n 다음 엔드포인트에서 포렌식 검사를 완료했습니다.' 작업이 실패하고 플레이북 실행을 중지해야 합니다. '... 포함' 매개변수가 사용 설정되지 않은 경우: ''포렌식 검사 실행' 작업을 실행하는 중에 오류가 발생했습니다. 이유: '다음 포함' 매개변수 중 하나 이상을 사용 설정해야 합니다. |
일반 |
케이스 월 테이블 호스트 정보 | 이름: {entity.identifier} 키와 값의 두 열만 표시됩니다. |
항목 |
케이스 월 테이블 Prefetch_Info | 이름: '{entity.identifier}: Prefetch Files Information' 열: 파일 이름 마지막 실행 시간 파일 수정 시간 미리 가져오기 파일 이름 |
일반 |
케이스 월 테이블 INSTALLED_PROGRAMS_INFO |
이름: '{entity.identifier}: 프로그램 추가/삭제 정보' 열: 표시 이름 파일 이름 |
일반 |
케이스 월 테이블 STARTUP_PROCESSES |
이름: '{entity.identifier}: Startup Processes' 열: 이름 명령어 위치 사용자 |
일반 |
케이스 월 테이블 RUNNING_PROCESSES |
이름: '{entity.identifier}: 실행 중인 프로세스' 열: 사용자 관리자 권한 명령어 프로세스 ID 프로세스 이름 시작 시간 |
일반 |
케이스 월 테이블 USER_ASSIST_INFO |
이름: '{entity.identifier}: 사용자 지원 프로그램 정보' 열: 파일 이름 사용자 이름 마지막 사용일 |
**** |
케이스 월 테이블 POWER_SHELL_HISTORY |
이름: '{entity.identifier}: Powershell History' 열: 사용자 이름 명령어 |
사기성 상품 나열
설명
Illusive Networks에서 사용 가능한 기만 항목을 나열합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
사기성 유형 | DDL | 전체 가능한 값은 다음과 같습니다. 전체 사용자만 서버만 |
예 | 반환해야 하는 사기성 상품의 종류를 지정합니다. |
Deceptive State(사기성 상태) | DDL | 전체 가능한 값은 다음과 같습니다. 전체 승인됨만, 추천됨만 |
예 | 상태에 따라 반환해야 하는 사기성 상품의 종류를 지정합니다. |
반환할 최대 항목 수 | 정수 | 50 | 아니요 | 반환할 항목 수를 지정합니다. 기본값: 50 아무것도 지정하지 않으면 작업에서 모든 항목을 반환합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
{
"users": [
{
"username": "backupad",
"password": "5437niwY",
"domainName": "intw-lab.local",
"policyNames": [
"Full Protection"
],
"adUser": false,
"activeUser": false,
"deceptiveState": "APPROVED"
},
{
"username": "jvillar",
"password": "ritA1102",
"domainName": "intw-lab.local",
"policyNames": [],
"adUser": true,
"activeUser": false,
"deceptiveState": "SUGGESTED"
},
{
"username": "gaccess.user",
"password": "psUiS01",
"domainName": "intw-lab.local",
"policyNames": [],
"adUser": true,
"activeUser": false,
"deceptiveState": "SUGGESTED"
},
{
"username": "service.user",
"password": "mAkaYe4",
"domainName": "intw-lab.local",
"policyNames": [],
"adUser": true,
"activeUser": false,
"deceptiveState": "SUGGESTED"
}
],
"servers": [
{
"host": "10.0.0.2",
"serviceTypes": [
"DB"
],
"policyNames": [
"Full Protection"
],
"adHost": false,
"deceptiveState": "APPROVED"
},
{
"host": "10.0.0.1",
"serviceTypes": [
"DB"
],
"policyNames": [
"Full Protection"
],
"adHost": false,
"deceptiveState": "APPROVED"
}
]
}
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 200이고 데이터를 사용할 수 없는 경우 (is_success=false) 'Illusive Networks에서 제공된 기준에 따라 사기성 상품에 관한 데이터를 찾을 수 없습니다.' 작업이 실패하고 플레이북 실행을 중지해야 합니다. |
일반 |
케이스 월 테이블 | 이름: '기만적인 사용자' 열: 사용자 이름 비밀번호 도메인 정책 AD 사용자 활성 주 |
일반 |
케이스 월 테이블 | 이름: '기만적인 서버' 열: 호스트 서비스 정책 AD 서버 주 |
일반 |
사기성 사용자 추가
설명
Illusive Networks에서 사기성 사용자를 추가합니다.
매개변수
이름 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|
사용자 이름 | 해당 사항 없음 | 예 | 새로운 사기성 사용자의 사용자 이름을 지정합니다. |
비밀번호 | 해당 사항 없음 | 예 | 새로운 사기성 사용자의 비밀번호를 지정합니다. |
DNS 도메인 | 해당 사항 없음 | 아니요 | 새로운 사기성 사용자의 도메인 이름을 지정합니다. |
정책 이름 | 해당 사항 없음 | 아니요 | 새로운 사기성 사용자에게 적용해야 하는 정책을 쉼표로 구분하여 지정합니다. 아무것도 제공되지 않으면 작업에서 기본적으로 모든 정책을 사용합니다. |
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 성공 (is_success=true) → Illusive Networks에 사기성 사용자를 추가했습니다. 케이스 1. User Already Exists (실패) - '{작업 이름}' 작업 실행 중에 오류가 발생했습니다. 이유: 사기성 사용자 '{username}'이 이미 존재합니다. 케이스 2. 400 상태 코드 (실패) - '{작업 이름}' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {오류 메시지} 케이스 3. 일반 오류 (실패) - '{작업 이름}' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {오류 트레이스백} |
일반 |
사기성 사용자 삭제
설명
Illusive Networks에서 사기성 사용자를 삭제합니다.
매개변수
이름 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|
사용자 이름 | 해당 사항 없음 | 예 | 삭제해야 하는 사기성 사용자의 사용자 이름을 지정합니다. |
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 성공 → Illusive Networks에서 사기성 사용자를 삭제했습니다. 케이스 1. 사용자가 존재하지 않음 (is_success=false) - 작업이 사기성 사용자 '{username}'을 삭제할 수 없습니다. 이유: 사기성 사용자 '{username}'이(가) 존재하지 않습니다. 케이스 2. 일반 오류 (실패) - '{작업 이름}' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {오류 트레이스백} |
일반 |
사기성 서버 추가
설명
Illusive Networks에 속임수 서버를 추가합니다.
매개변수
이름 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|
서버 이름 | 해당 사항 없음 | 예 | 새 기만 서버의 이름을 지정합니다. |
서비스 유형 | DB | 예 | 새로운 기만적인 서버의 서비스 유형을 쉼표로 구분하여 지정합니다. |
정책 이름 | 아니요 | 새로운 기만적인 서버에 적용해야 하는 정책을 쉼표로 구분하여 지정합니다. 아무것도 제공되지 않으면 작업에서 기본적으로 모든 정책을 사용합니다. |
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 성공 (is_success=true) → Illusive Networks에 속임수 서버가 추가되었습니다. 케이스 1. 서버가 이미 있음 (실패) - '{작업 이름}' 작업을 실행하는 동안 오류가 발생했습니다. 이유: 사기성 서버 '{서버 이름}'이 이미 있습니다. 케이스 2. 400 상태 (실패) - '{작업 이름}' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {오류 메시지} 케이스 3. 일반 오류 - Error executing action "{action name}". 이유: {오류 트레이스백} |
일반 |
사기성 서버 삭제
설명
Illusive Networks에서 사기성 서버를 삭제합니다.
매개변수
이름 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|
서버 이름 | 해당 사항 없음 | 예 | 삭제해야 하는 사기성 서버의 이름을 지정합니다. |
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 성공 → Illusive Networks에서 사기성 서버가 삭제되었습니다. 케이스 1. 서버가 존재하지 않음 (is_success=false) - 작업이 사기성 서버 '{server name}'을 삭제할 수 없습니다. 이유: 사기성 서버 '{server name}'이 존재하지 않습니다. 케이스 2. 일반 오류 - Error executing action "{action name}". 이유: {오류 트레이스백} |
일반 |
커넥터
Illusive Networks - Incidents Connector(Illusive Networks - 인시던트 커넥터)
설명
Illusive Networks에서 관련 포렌식 타임라인이 있는 인시던트를 가져옵니다.
Google SecOps에서 Illusive Networks - Incidents 커넥터 구성
Google SecOps에서 커넥터를 구성하는 방법에 대한 자세한 내용은 커넥터 구성을 참고하세요.
커넥터 매개변수
다음 매개변수를 사용하여 커넥터를 구성합니다.
매개변수 표시 이름 | Type> | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
제품 필드 이름 | 문자열 | 제품 이름 | 예 | 제품 필드 이름을 가져오려면 소스 필드 이름을 입력합니다. |
이벤트 필드 이름 | 문자열 | details_serviceType | 예 | 이벤트 필드 이름을 가져오려면 소스 필드 이름을 입력합니다. |
환경 필드 이름 | 문자열 | "" | 아니요 | 환경 이름이 저장된 필드의 이름을 설명합니다. 환경 필드를 찾을 수 없으면 환경이 기본 환경입니다. |
환경 정규식 패턴 | 문자열 | .* | 아니요 | '환경 필드 이름' 필드에 있는 값에서 실행할 정규식 패턴입니다. 기본값은 .*로서 모두 포착하고 변경되지 않은 값을 반환합니다. 사용자가 정규식 로직을 통해 환경 필드를 조작할 수 있도록 허용하는 데 사용됩니다. 정규식 패턴이 null이거나 비어 있거나 환경 값이 null인 경우 최종 환경 결과는 기본 환경입니다. |
스크립트 제한 시간(초) | 정수 | 180 | 예 | 현재 스크립트를 실행하는 Python 프로세스의 제한 시간 한도입니다. |
API 루트 | 문자열 | http://x.x.x.x | 예 | Illusive Networks 인스턴스의 API 루트입니다. |
API 키 | 문자열 | 해당 사항 없음 | 예 | Illusive Networks의 API 키입니다. 참고: 문자열 'Basic'은 값의 일부가 아니어야 합니다. |
알림 심각도 | 문자열 | 보통 | 예 | Illusive Networks의 사고를 기반으로 생성될 Google SecOps 알림의 심각도입니다. 가능한 값은 다음과 같습니다. 정보 제공 낮음 중간 높음 심각 |
최대 이전 시간 | 정수 | 1 | 아니요 | 인시던트를 가져올 위치의 시간입니다. |
가져올 최대 인시던트 수 | 정수 | 10 | 아니요 | 커넥터 반복당 처리할 인시던트 수입니다. 최댓값은 1,000입니다. |
허용 목록을 차단 목록으로 사용 | 체크박스 | 선택 | 예 | 사용 설정하면 허용 목록이 차단 목록으로 사용됩니다. |
SSL 확인 | 체크박스 | 선택 해제 | 예 | 사용 설정한 경우 Illusive Networks 서버 연결에 대한 SSL 인증서가 유효한지 확인합니다. |
CA 인증서 파일 | 문자열 | 해당 사항 없음 | 아니요 | Base64로 인코딩된 CA 인증서 파일입니다. |
프록시 서버 주소 | 문자열 | 해당 사항 없음 | 아니요 | 사용할 프록시 서버의 주소입니다. |
프록시 사용자 이름 | 문자열 | 해당 사항 없음 | 아니요 | 인증할 프록시 사용자 이름입니다. |
프록시 비밀번호 | 비밀번호 | 해당 사항 없음 | 아니요 | 인증할 프록시 비밀번호입니다. |
커넥터 규칙
프록시 지원
커넥터가 프록시를 지원합니다.
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.