Skip to content

Commit edc336c

Browse files
Yarden Sadedeanarbel
authored andcommitted
Crowdstrike falcon intel v2 support (#1768)
* added crowdstrike intel test playbook + v2 indicator integration * fixed format (whitespace missing) * extended playbook cs-indicators * added test-module by version, more documentation * added releaseNotes to crowdstrike falcon intel
1 parent 4561a63 commit edc336c

File tree

3 files changed

+550
-58
lines changed

3 files changed

+550
-58
lines changed

Integrations/integration-CrowdStrikeIntel.yml

Lines changed: 23 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ name: FalconIntel
55
display: CrowdStrike Falcon Intel
66
category: Data Enrichment & Threat Intelligence
77
image: data:image/png;base64,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
8-
description: Actors, indicators and reports intelligence
8+
description: Actors, indicators and reports intelligence with indicator V2 api support
99
detaileddescription: |-
1010
Please provide the API id and key for the CrowsStrike Falcon Intelligence.
1111
API Key Pairs can be generated by accessing the CrowdStrike API tab located in the user settings on the Intelligence Portal.
12+
Indicator API v2 is supported.
1213
configuration:
1314
- display: Server URL (e.g. https://192.168.0.1)
1415
name: url
@@ -35,8 +36,16 @@ configuration:
3536
defaultvalue: "false"
3637
type: 8
3738
required: false
39+
- display: Support indicator API V2
40+
name: version
41+
defaultvalue: "true"
42+
type: 8
43+
required: false
3844
script:
3945
script: |
46+
// determine api version for api calls
47+
var version = (params.version ? "v2" : "v1");
48+
4049
var serverUrl = params.url;
4150
if (serverUrl[serverUrl.length - 1] !== '/') {
4251
serverUrl += '/';
@@ -50,7 +59,8 @@ script:
5059
'X-CSIX-CUSTID': [params.id],
5160
'X-CSIX-CUSTKEY': [params.key],
5261
'Content-Type': ['application/json'],
53-
'Accept': ['application/json']
62+
'Accept': ['application/json'],
63+
'X-INTEGRATION' : ['Demisto_demisto_3.6']
5464
},
5565
Method: method,
5666
Body: body ? JSON.stringify(body) : ''
@@ -237,7 +247,7 @@ script:
237247
a.order = parts[1];
238248
}
239249
}
240-
var res = doReq('GET', 'indicator/v1/search/' + args.parameter, a);
250+
var res = doReq('GET', 'indicator/'+ version +'/search/' + args.parameter, a);
241251
var md = '## Falcon Intel Indicator Search for: ' + args.value + '\n';
242252
var found = false;
243253
var ec = {};
@@ -289,7 +299,7 @@ script:
289299
290300
var doIndicator = function(ind, type, title, appendContextFunc) {
291301
var a = {equal: ind};
292-
var res = doReq('GET', 'indicator/v1/search/indicator', a);
302+
var res = doReq('GET', 'indicator/'+ version +'/search/indicator', a);
293303
var md = '## ' + title + ': ' + ind + '\n';
294304
var ec = {};
295305
var found = false;
@@ -431,8 +441,13 @@ script:
431441
432442
switch (command) {
433443
case 'test-module':
434-
doReq('GET', 'actors/queries/actors/v1', {q: 'panda'});
435-
return true;
444+
if(version === 'v2') {
445+
doReq('GET', 'indicator/'+ version +'/search/indicator', {equal: '4.4.4.4'});
446+
return true;
447+
} else {
448+
doReq('GET', 'actors/queries/actors/v1', {q: 'panda'});
449+
return true;
450+
}
436451
case 'file':
437452
return doFile(args.file);
438453
case 'ip':
@@ -455,11 +470,9 @@ script:
455470
type: javascript
456471
commands:
457472
- name: file
458-
deprecated: false
459473
arguments:
460474
- name: file
461475
required: true
462-
deprecated: false
463476
default: true
464477
description: The file hash md5/sha1/sha256 to check
465478
outputs:
@@ -483,11 +496,9 @@ script:
483496
description: The actual score
484497
description: Check file reputation
485498
- name: url
486-
deprecated: false
487499
arguments:
488500
- name: url
489501
required: true
490-
deprecated: false
491502
default: true
492503
description: URL to be checked
493504
outputs:
@@ -507,11 +518,9 @@ script:
507518
description: The actual score
508519
description: Check the given URL reputation
509520
- name: domain
510-
deprecated: false
511521
arguments:
512522
- name: domain
513523
required: true
514-
deprecated: false
515524
default: true
516525
description: Domain to be checked
517526
outputs:
@@ -531,11 +540,9 @@ script:
531540
description: The actual score
532541
description: Check the given URL reputation
533542
- name: ip
534-
deprecated: false
535543
arguments:
536544
- name: ip
537545
required: true
538-
deprecated: false
539546
default: true
540547
description: IP to check
541548
outputs:
@@ -555,74 +562,55 @@ script:
555562
description: The actual score
556563
description: Check IP reputation
557564
- name: cs-actors
558-
deprecated: false
559565
arguments:
560566
- name: q
561-
deprecated: false
562567
default: true
563568
description: Search all fields for the given data
564569
- name: name
565-
deprecated: false
566570
description: Search based on actor name
567571
- name: desc
568-
deprecated: false
569572
description: Search based on description
570573
- name: minLastModifiedDate
571-
deprecated: false
572574
description: Search range from modified date. Dates are formatted as YYYY-MM-DD.
573575
- name: maxLastModifiedDate
574-
deprecated: false
575576
description: Search range to modified date. Dates are formatted as YYYY-MM-DD.
576577
- name: minLastActivityDate
577-
deprecated: false
578578
description: Search range from activity date. Dates are formatted as YYYY-MM-DD.
579579
- name: maxLastActivityDate
580-
deprecated: false
581580
description: Search range to activity date. Dates are formatted as YYYY-MM-DD.
582581
- name: origins
583-
deprecated: false
584582
description: Search by origins separated by ","
585583
- name: targetCountries
586-
deprecated: false
587584
description: Search by target countries separated by ","
588585
- name: targetIndustries
589-
deprecated: false
590586
description: Search by target industries separated by ","
591587
- name: motivations
592-
deprecated: false
593588
description: Search by motivations separated by ","
594589
- name: offset
595-
deprecated: false
596590
description: Which page of the results to retrieve. It is 0 based.
597591
- name: limit
598-
deprecated: false
599592
description: Number of results for the page
600593
- name: sort
601-
deprecated: false
602594
description: Sort is field_name.order, field_name.order where order is either
603595
asc or desc
604596
- name: slug
605-
deprecated: false
606597
description: 'Search by ''slug'' or short descriptive name. Ex: "anchor-panda"'
607598
description: Search known actors based on the given parameters. Dates are formatted
608599
as YYYY-MM-DD. Max date is taken automatically looking at end-of-day time. Origins,
609600
targetCountries, targetIndustries and motivations can all receive multiple values
610601
separated by ",". Offset is 0 based. Sort is field_name.order, field_name.order
611602
where order is either asc or desc.
612603
- name: cs-indicators
613-
deprecated: false
614604
arguments:
615605
- name: parameter
616606
required: true
617-
deprecated: false
618607
description: Based on what parameter to search. See CrowdStrike documentation
619608
for details. Can be one of indicator, type, report, actor, malicious_confidence,
620609
published_date, last_updated, malware_family, kill_chain, labels, DomainType,
621610
EmailAddressType, IntelNews, IPAddressType, Malware, Status, Target, ThreatType,
622611
Vulnerability
623612
- name: filter
624613
required: true
625-
deprecated: false
626614
auto: PREDEFINED
627615
predefined:
628616
- match
@@ -634,18 +622,14 @@ script:
634622
description: Can be either match, equal, gt(e), lt(e)
635623
- name: value
636624
required: true
637-
deprecated: false
638625
description: The value for the given parameter
639626
- name: sort
640-
deprecated: false
641627
description: Sort by a field. Should be field_name.order where order is either
642628
asc or desc. Fields are indicator, type, report, actor, malicious_confidence,
643629
published_date, last_updated.
644630
- name: page
645-
deprecated: false
646631
description: The page to retrieve - 1 based
647632
- name: pageSize
648-
deprecated: false
649633
description: The size of the page to retrieve
650634
outputs:
651635
- contextPath: File.MD5
@@ -718,35 +702,25 @@ script:
718702
description: The actual score
719703
description: Search known indicators based on the given parameters
720704
- name: cs-reports
721-
deprecated: false
722705
arguments:
723706
- name: q
724-
deprecated: false
725707
description: Perform a generic substring search across all fields in a report
726708
- name: name
727-
deprecated: false
728709
description: Search for keywords across report names (i.e. the report’s title)
729710
- name: actor
730-
deprecated: false
731711
description: Search for a report related to a particular actor. For a list of
732712
actors, refer to the Intel Actors API
733713
- name: targetCountries
734-
deprecated: false
735714
description: Search reports by targeted country/countries
736715
- name: targetIndustries
737-
deprecated: false
738716
description: Search reports by targeted industry/industries
739717
- name: motivations
740-
deprecated: false
741718
description: Search by motivation
742719
- name: slug
743-
deprecated: false
744720
description: Search by report 'slug' or short descriptive name
745721
- name: description
746-
deprecated: false
747722
description: Search the body of the report
748723
- name: type
749-
deprecated: false
750724
auto: PREDEFINED
751725
predefined:
752726
- intelligence report
@@ -755,7 +729,6 @@ script:
755729
- tipper
756730
description: The type of object to search for.
757731
- name: subType
758-
deprecated: false
759732
auto: PREDEFINED
760733
predefined:
761734
- weekly
@@ -764,38 +737,30 @@ script:
764737
- annual
765738
description: The sub-type to search for.
766739
- name: tags
767-
deprecated: false
768740
description: Tags associated with a report (managed internally by CS)
769741
- name: minLastModifiedDate
770-
deprecated: false
771742
description: Constrain results to those modified on or after a certain date
772743
- format YYYY-MM-DD
773744
- name: maxLastModifiedDate
774-
deprecated: false
775745
description: Constrain results to those modified on or before a certain date
776746
- format YYYY-MM-DD
777747
- name: offset
778-
deprecated: false
779748
description: Used to paginate the response. You can then use limit to set the
780749
number of results for the next page.
781750
- name: limit
782-
deprecated: false
783751
description: Limits the number of results to return
784752
- name: sort
785-
deprecated: false
786753
description: 'The field and direction to sort results on in the format of: <field>.<asc>
787754
or <field>.<desc>. Valid values include: name, target_countries, target_industries,
788755
type, created_date, last_modified_date'
789756
description: The Falcon Intel Reports API allows to query CrowdStrike intelligence
790757
publications.
791758
- name: cs-report-pdf
792-
deprecated: false
793759
arguments:
794760
- name: id
795761
required: true
796-
deprecated: false
797762
default: true
798763
description: The ID of the report to retrieve
799764
description: Retrieve the Falcon Intel Report PDF
800-
hidden: false
801-
fromversion: 3.5.0
765+
runonce: false
766+
releaseNotes: "Added support for v2 indicator API"

0 commit comments

Comments
 (0)