Writeup: Osquery - AtomicMaya/knowledge-base GitHub Wiki
Osquery
For this box I used Remmina on Kali Linux while connected to the TryHackMe VPN.
Link: Osquery Room on TryHackMe
Task 1
Question 1
Ready to learn Osquery!
Answer: No answer needed
Task 2
Question 1
Attached VM was started. Ready to proceed.
Answer: No answer needed
Task 3
Question 1
What is the Osquery version?
osqueryi --version
Answer: 4.6.0.2
Question 2
What is the SQLite version?
In osquery, by using the .summary
Answer: 3.34.0
Question 3
What is the default output mode?
Answer: pretty
Question 4
What is the meta-command to set the output to show one value per line?
Answer: .mode line
Question 5
What are the 2 meta-commands to exit osquery?
Answer: .exit, .quit
Task 4
I used the Osquery documentation accessible here and set it to version 4.6.0.
Question 1
What table would you query to get the version of Osquery installed on the Windows endpoint?
Answer: osquery_info
Question 2
How many tables are there for this version of Osquery?
Answer: 266
Question 3
How many tables are there for this version of Osquery?
Answer: 96
Question 4
How many tables are compatible with Linux?
Answer: 155
Question 5
What is the first table listed that is compatible with both Linux and Windows?
Answer: arp_cache
Task 5
Question 1
What is the query to show the username field from the users table where the username is 3 characters long and ends with 'en'? (use single quotes in your answer)
Answer: select username from users where username like '_en';
Task 6
Question 1
What is the Osquery Enroll Secret?
Navigate to the bottom of the Admin, App Settings
Answer: k3hFh30bUrU7nAC3DmsCCyb1mT8HoDkt
Question 2
What is the Osquery version?
Question 3
What is the path for the running osqueryd.exe process?
Go to Task Manager, find the osquery daemon and shell
process, select Properties
and then copy the Location
and append osqueryd.exe
.
Answer: C:\Users\Administrator\Desktop\launcher\windows\osqueryd.exe
Task 7
Question 1
According to the polylogyx readme, how many 'features' does the plug-in add to the Osquery core?
The current README shows 25, but the correct answer is 23 (looking at edits over time, also accessible by "guessing" backwards).
Answer: 23
Task 8
Question 1
What is the 'current_value' for kernel.osrelease?
select * from kernel_info;
Answer: 4.4.0-17763-Microsoft
Question 2
What is the uid for the bravo user?
select username, uid from users where username = 'bravo';
Answer: 1002
Question 3
One of the users performed a 'Binary Padding' attack. What was the target file in the attack?
select command from shell_history limit 12;
(I added the limit to cleanly wrap the image)
Answer: notsus
Question 4
What is the hash value for this file?
md5sum notsus
Answer: 3df6a21c6d0c554719cffa6ee2ae0df7
Question 5
Check all file hashes in the home directory for each user. One file will not show any hashes. Which file is that?
select * from hash where path='/home/tryhackme' and directory = '/home/tryhackme';
Answer: fleet.zip
Question 6
There is a file that is categorized as malicious in one of the home directories. Query the Yara table to find this file. Use the sigfile which is saved in '/var/osquery/yara/scanner.yara'. Which file is it?
yara /var/osquery/yara/scanner.yara /home/charlie
select * from yara where path='/home/charlie/notes' and sigfile='/var/osquery/yara/scanner.yara';
Answer: notes
Question 7
What were the 'matches'?
Answer: eicar_av_test,eicar_substring_test
Question 8
Scan the file from Q#3 with the same Yara file. What is the entry for 'strings'?
yara /var/osquery/yara/scanner.yara /home/tryhackme
select * from yara where path='/home/tryhackme/notsus' and sigfile='/var/osquery/yara/scanner.yara';
Answer: $eicar_substring:1b
Task 9
Question 1
What is the description for the Windows Defender Service?
select name, description from services where name like 'WinDef%';
Answer: Helps protect users from malware and other potentially unwanted software
Question 2
There is another security agent on the Windows endpoint. What is the name of this agent?
select name from programs;
Answer: AlienVault Agent
Question 3
What is required with win_event_log_data?
From the documentation we gather that the source
field is required.
Answer: source
Question 4
How many sources are returned for win_event_log_channels?
select count(*) from win_event_log_channels;
Answer: 1076
Question 5
What is the schema for win_event_log_data?
From the documentation, we can see the table schema.
From within Osquery, we can get the schema with the .schema win_event_log_data
.
Answer:
CREATE TABLE win_event_log_data(`time` BIGINT, `datetime` TEXT, `source` TEXT, `provider_name` TEXT, `provider_guid` TEXT, `eventid` INTEGER, `task` INTEGER, `level` INTEGER, `keywords` BIGINT, `data` TEXT, `eid` TEXT HIDDEN);`
Question 6
The previous file scanned on the Linux endpoint with Yara is on the Windows endpoint. What date/time was this file first detected? (Answer format: YYYY-MM-DD HH:MM:SS)
select eventid, datetime from win_event_log_data where source='Microsoft-Windows-Windows Defender/Operational' and eventid=1116;
Answer: 2021-04-01 00:50:44
Question 7
What is the query to find the first Sysmon event? Select only the event id, order by date/time, and limit the output to only 1 entry.
Answer: select eventid FROM win_event_log_data where source='Microsoft-Windows-Sysmon/Operational' order by datetime asc limit 1;
Question 8
What is the Sysmon event id?
Answer: 16
Task 10
Question 1
Leveled up with Osquery!
Answer: No answer needed