คำสั่งสรุปข้อมูล DFIR¶
คำสั่ง aws-ct-summary¶
คำสั่งนี้สร้างสรุปข้อมูลต่อไปนี้โดยอ้างอิงจาก ARN ของผู้ใช้:
- จำนวนเหตุการณ์ทั้งหมด (การเรียก API) (NumOfEvents)
- การประทับเวลาของการเรียก API ครั้งแรกที่พบในล็อก (FirstTimestamp)
- การประทับเวลาของการเรียก API ครั้งสุดท้ายที่พบในล็อก (LastTimestamp)
- การเรียก API ที่มักถูกนำไปใช้ในทางที่ผิดและสำเร็จ (AbusedAPIs-Success)
- การเรียก API ที่มักถูกนำไปใช้ในทางที่ผิดซึ่งพยายามแล้วแต่ล้มเหลว (AbusedAPIs-Failed)
- การเรียก API อื่น ๆ ที่ไม่อยู่ในรายการการเรียก API ที่มักถูกนำไปใช้ในทางที่ผิดและสำเร็จ (OtherAPIs-Success)
- การเรียก API อื่น ๆ ที่ไม่อยู่ในรายการการเรียก API ที่มักถูกนำไปใช้ในทางที่ผิดซึ่งพยายามแล้วแต่ล้มเหลว (OtherAPIs-Failed)
- ภูมิภาค AWS ที่มีการเรียก API เกิดขึ้น (AWS-Regions)
- ที่อยู่ IP ต้นทางของการเรียก API (SrcIPs)
- ประเภทผู้ใช้ (UserTypes)
- รหัสคีย์การเข้าถึงของผู้ใช้ (UserAccessKeyIDs)
- User agent ของต้นทางที่ทำการเรียก API (UserAgents)
※ หมายเหตุ: การเรียก API ที่มักถูกนำไปใช้ในทางที่ผิดมาจากไฟล์ config ที่โฮสต์อยู่ที่ https://github.com/Yamato-Security/suzaku-rules/blob/main/config/abused_aws_api_calls.csv ไฟล์นี้จะมีการอัปเดตเมื่อเวลาผ่านไปและจะถูกซิงค์ในเครื่องทุกครั้งที่คุณรันคำสั่ง update-rules
ผลลัพธ์เหล่านี้มีจุดประสงค์เพื่อให้นักวิเคราะห์มีข้อมูลในการค้นหาบัญชีที่ถูกบุกรุกหรือการโจมตีโดยไม่ต้องพึ่งพาลายเซ็นเฉพาะเจาะจง ตัวอย่างเช่น คุณสามารถตรวจสอบได้ว่าผู้ใช้บางรายเรียก API ที่น่าสงสัยซึ่งไม่ควรเรียกหรือไม่ ใช้ภูมิภาคที่ปกติไม่ได้ใช้ ล็อกอินจากที่อยู่ IP ต้นทางที่น่าสงสัยหรือด้วย user agent ที่น่าสงสัย ฯลฯ... หลังจากที่คุณพบการเรียก API ที่น่าสงสัย ที่อยู่ IP ต้นทาง หรือ user agent คุณสามารถระบุได้อย่างรวดเร็วว่าคีย์การเข้าถึงใดอาจถูกนำไปใช้ในทางที่ผิดในช่วงเวลานั้น และใช้คำสำคัญเหล่านั้นเป็นจุดอ้างอิงในล็อก JSON ต้นฉบับเพื่อสร้างไทม์ไลน์ของกิจกรรมของผู้โจมตี
คำเตือน: จะมีข้อมูลจำนวนมากในเซลล์และมีแนวโน้มสูงที่จะแสดงผลได้ไม่ดีในโปรแกรมอย่าง Excel โปรดใช้ Numbers บน Mac, Timeline Explorer บน Windows ฯลฯ...
ตัวอย่าง AbusedAPIs-Success:¶
Unique APIs: 11 | Total APIs 477,373
415,552 - RunInstances (ec2.amazonaws.com) - Spin up EC2 instances (crypto mining, tools) (2019-08-23 06:00:07 ~ 2019-08-23 06:00:07)
28,907 - GetBucketAcl (s3.amazonaws.com) - S3 recon (2019-08-21 08:03:03 ~ 2019-10-21 13:59:40)
10,095 - GetCallerIdentity (sts.amazonaws.com) - Current credentials recon (2019-08-23 06:00:07 ~ 2019-08-23 06:04:14)
9,936 - ListBuckets (s3.amazonaws.com) - S3 recon (2019-08-23 06:00:07 ~ 2019-08-23 06:14:53)
9,168 - DescribeInstances (ec2.amazonaws.com) - EC2 and network layout recon (2019-08-23 06:00:07 ~ 2019-08-23 06:04:20)
3,658 - DescribeVpcs (ec2.amazonaws.com) - EC2 and network layout recon (2019-08-21 08:03:03 ~ 2019-09-12 20:00:44)
19 - ListGroups (greengrass.amazonaws.com) - IAM enumeration (2019-08-21 08:03:03 ~ 2019-10-19 23:49:25)
14 - DescribeInstances (opsworks.amazonaws.com) - EC2 and network layout recon (2019-08-21 08:03:03 ~ 2019-10-19 23:49:22)
12 - GetBucketPolicy (s3.amazonaws.com) - S3 recon (2019-01-08 20:30:01 ~ 2020-03-29 09:06:56)
7 - ListGroups (resource-groups.amazonaws.com) - IAM enumeration (2019-01-08 20:30:01 ~ 2020-03-29 09:06:56)
5 - StartInstances (ec2.amazonaws.com) - Spin up EC2 instances (crypto mining, tools) (2019-08-21 08:03:03 ~ 2019-12-12 07:07:31)
ตัวอย่าง AbusedAPIs-Failed:¶
Unique APIs: 23 | Total APIs 20,464
11,603 - AssumeRole (sts.amazonaws.com) - Lateral movement via roles (2019-08-21 08:03:03 ~ 2019-09-18 07:04:12)
7,279 - GetBucketAcl (s3.amazonaws.com) - S3 recon (2019-08-21 08:03:03 ~ 2019-09-09 09:01:26)
515 - GetBucketPolicy (s3.amazonaws.com) - S3 recon (2019-08-21 08:03:03 ~ 2019-10-01 19:11:07)
331 - ListUsers (iam.amazonaws.com) - IAM enumeration (2019-08-21 08:03:03 ~ 2019-08-29 14:53:14)
210 - ListSecrets (secretsmanager.amazonaws.com) - Find credential storage locations (2019-08-21 08:03:03 ~ 2019-10-19 23:49:30)
153 - ListGroups (iam.amazonaws.com) - IAM enumeration (2019-08-21 08:03:03 ~ 2019-09-12 15:24:39)
148 - ListRoles (iam.amazonaws.com) - IAM enumeration (2019-08-21 08:03:03 ~ 2019-09-12 15:20:56)
112 - ListAccessKeys (iam.amazonaws.com) - Enumerates keys on IAM users (2019-08-21 08:03:03 ~ 2019-09-16 14:28:15)
31 - ListGroups (greengrass.amazonaws.com) - IAM enumeration (2019-08-21 08:03:03 ~ 2020-02-25 14:41:24)
...
ตัวอย่าง OtherAPIs-Success:¶
Unique APIs: 289 | Total APIs 143,759
98,689 - DescribeSnapshots (ec2.amazonaws.com) (2019-08-23 06:00:07 ~ 2019-08-23 06:50:59)
10,679 - DescribeSpotPriceHistory (ec2.amazonaws.com) (2019-08-21 08:03:03 ~ 2019-09-12 20:07:32)
3,740 - DescribeReservedInstancesOfferings (ec2.amazonaws.com) (2019-08-21 08:03:03 ~ 2019-09-12 20:07:30)
2,372 - DescribeSnapshotAttribute (ec2.amazonaws.com) (2019-08-21 08:03:03 ~ 2019-08-24 12:38:34)
2,307 - CreateDefaultVpc (ec2.amazonaws.com) (2019-08-23 06:00:07 ~ 2019-08-23 06:04:17)
1,532 - DescribeKeyPairs (ec2.amazonaws.com) (2019-08-23 06:00:07 ~ 2019-08-23 06:04:16)
1,504 - DescribeSecurityGroups (ec2.amazonaws.com) (2019-08-21 08:03:03 ~ 2019-09-12 20:00:40)
1,495 - DescribeImages (ec2.amazonaws.com) (2019-08-21 08:03:03 ~ 2019-09-12 20:07:26)
1,438 - CreateKeyPair (ec2.amazonaws.com) (2019-08-23 06:00:07 ~ 2019-08-23 06:04:16)
1,402 - DescribeVolumes (ec2.amazonaws.com) (2019-08-21 08:03:03 ~ 2019-09-03 12:06:20)
1,217 - DescribeSubnets (ec2.amazonaws.com) (2019-08-21 08:03:03 ~ 2019-09-12 20:00:43)
...
ตัวอย่าง AWS-Regions:¶
Total regions: 16
167,155 - us-west-2 (2019-08-23 06:00:07 ~ 2019-08-23 06:14:53)
113,328 - us-east-1 (2019-08-23 06:00:07 ~ 2019-08-23 06:04:14)
65,718 - ap-northeast-2 (2019-08-23 06:00:07 ~ 2019-08-23 06:22:55)
64,787 - ap-northeast-1 (2019-08-23 06:00:07 ~ 2019-08-23 06:34:57)
...
ตัวอย่าง SrcIPs:¶
Total source IPs: 5,293
634,454 - 5.205.62.253 (2019-08-23 06:00:07 ~ 2019-08-23 06:00:07)
23,498 - 193.29.252.218 (2019-08-21 08:03:00 ~ 2019-10-17 09:11:22)
15,925 - 155.63.17.217 (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
9,067 - 253.0.255.253 (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
7,078 - 163.21.250.220 (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
6,575 - 236.9.245.88 (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
5,138 - 84.252.252.117 (2019-01-08 20:30:01 ~ 2020-03-29 09:06:56)
4,946 - 24.251.252.2 (2019-08-21 08:03:00 ~ 2019-09-30 06:36:13)
4,225 - 211.111.151.81 (2019-08-21 08:03:00 ~ 2019-09-12 19:53:35)
...
ตัวอย่าง UserType:¶
ตัวอย่าง UserAccessKeyIDs:¶
Total access key ids: 629
667,476 - AKIA01U43UX3RBRDXF4Q (2019-08-23 06:00:07 ~ 2019-08-23 06:00:07)
218,544 - ASIARF55FBMFZBXLKDFW (2019-08-21 11:31:47 ~ 2019-08-23 13:00:28)
12,677 - AKIA1ZBTOEKWKVHP6GHZ (2017-02-12 21:15:12 ~ 2020-09-21 21:06:22)
8,822 - ASIAGD2JRX0V6RJGWR59 (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
4,940 - ASIAUNHV6EHIK5MNPEKF (2019-08-21 08:03:00 ~ 2019-09-30 06:36:17)
...
โปรดทราบว่าเนื่องจากจะมีรหัสคีย์การเข้าถึง AWS STS แบบชั่วคราวจำนวนมาก รายการเหล่านี้จะถูกกรองออกตามค่าเริ่มต้น เพิ่มตัวเลือก
-s, --include-sts-keysหากคุณต้องการรวมรายการเหล่านี้ไว้ด้วย
ตัวอย่าง UserAgents:¶
Total user agents: 7,760
351,022 - Boto3/1.9.201 Python/2.7.12 Linux/4.4.0-159-generic Botocore/1.12.201 (2019-08-23 06:00:07 ~ 2019-08-23 06:00:07)
283,430 - Boto3/1.9.201 Python/2.7.12 Linux/4.4.0-157-generic Botocore/1.12.201 (2019-08-21 11:31:47 ~ 2019-08-23 13:00:28)
23,467 - [Boto3/1.15.13 Python/3.8.5 Darwin/19.6.0 Botocore/1.18.13 Resource] (2017-02-12 21:15:12 ~ 2020-10-07 16:05:52)
15,924 - Boto3/1.7.4 Python/2.7.12 Linux/4.4.0-119-generic Botocore/1.10.4 (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
9,400 - aws-sdk-java/1.11.301 Linux/4.9.93-linuxkit-aufs Java_HotSpot(TM)_64-Bit_Server_VM/25.172-b11 java/1.8.0_172 (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
6,372 - [Boto3/1.7.65 Python/3.5.2 Linux/4.13.0-37-generic Botocore/1.10.65 Resource] (2018-04-17 10:09:00 ~ 2020-09-21 21:06:22)
5,352 - AWSPowerShell/3.3.365.0 .NET_Runtime/4.0 .NET_Framework/4.0 OS/Microsoft_Windows_NT_10.0.01985.0 WindowsPowerShell/5.0 ClientSync (2019-01-08 20:30:01 ~ 2020-03-29 09:06:56)
4,945 - Boto3/1.9.231 Python/2.7.15+ Linux/4.15.0-64-generic Botocore/1.12.231 (2019-08-21 08:03:00 ~ 2019-09-30 06:36:13)
4,599 - [aws-cli/1.16.301 Python/3.7.6 Linux/5.4.0-kali3-amd64 botocore/1.13.37] (2019-08-21 08:03:00 ~ 2020-02-09 22:00:32)
3,909 - Boto3/1.14.28 Python/3.8.5 Linux/5.7.0-kali1-amd64 Botocore/1.17.28 (2019-01-08 20:30:01 ~ 2020-09-11 17:35:39)
3,450 - Boto3/1.4.2 Python/2.7.13+ Linux/4.9.0-3-amd64 Botocore/1.5.19 (2017-02-12 21:15:12 ~ 2020-09-21 21:06:22)
3,198 - Boto3/1.4.2 Python/2.7.14 Linux/4.13.0-1-amd64 Botocore/1.5.19 (2017-02-12 21:15:12 ~ 2020-09-21 21:06:22)
...
โปรดทราบว่าเครื่องมือไคลเอ็นต์
awsจะรวมข้อมูล OS ไว้ใน user agent ดังนั้นจึงเป็นไปได้ที่จะตรวจจับว่ามีการเรียก API จาก OS ของผู้โจมตีเช่นkaliหรือไม่
วิธีใช้คำสั่ง¶
Usage:
suzaku aws-ct-summary <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Directory of multiple gz/json files
-f, --file <FILE> File path to one gz/json file
Filtering:
--timeline-start <DATE> Start time of the events to load (ex: "2022-02-22T23:59:59Z)
--timeline-end <DATE> End time of the events to load (ex: "2020-02-22T00:00:00Z")
--time-offset <OFFSET> Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
-s, --include-sts-keys Include temporary AWS STS access key IDs
Output:
-o, --output <FILE> Output results to a CSV file
-D, --hide-descriptions Hide description of the commonly abused API calls
-G, --GeoIP <MAXMIND-DB-DIR> Add GeoIP (ASN, city, country) info to IP addresses
Display Settings:
-K, --no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
General Options:
-h, --help Show the help menu
ตัวอย่างคำสั่ง aws-ct-metrics¶
- บันทึกผลลัพธ์ลงไฟล์ CSV:
./suzaku aws-ct-summary -d ../suzaku-sample-data -o sample-summary.csv