Commit Graph

476 Commits

Author SHA1 Message Date
Stefano Bonicatti
704d75abed
CMake: Add an option to disable building AWS tables and library (#6831)
Added the OSQUERY_BUILD_AWS option due to
oss-fuzz CI failing to build the AWS EC2 library,
due to its high requirement of memory.
The fuzzers do not gain much from having these tables enabled,
moreover this can be used during development
to avoid building a possibly unneeded table.

Done some minor cleanups to remove logic duplication
and enable ec2 integration tests on all the platforms
that supports them.
2020-12-22 09:10:32 -05:00
Jason Meller
6e9f8720ae
Add new table location_services for darwin (#6826) 2020-12-21 10:37:31 -08:00
Jason Meller
867bbef8ae
Add filevault_status to disk_encryption table (#6823) 2020-12-20 16:08:26 -05:00
Jason Meller
752f76946b
Place office_mru table spec in correct folder (#6827) 2020-12-20 16:04:26 -05:00
Rachel Cipkins
90e23398bd
systemd_units: Implement new table that tracks systemd units (#6593)
Co-authored-by: Alessandro Gario <alessandro.gario@gmail.com>
2020-12-16 07:52:16 -08:00
Mike Myers
d0e8fbcc18
Add indexed column support to Windows users table (#6782) 2020-12-11 22:01:39 -05:00
Alessandro Gario
76c7733a75
Port the extended_attributes table to Linux, add support for Linux capabilities (#6195) 2020-11-24 13:36:56 -08:00
Alessandro Gario
37f2be6143
CMake: Disable BPF support if the LLVM libs are not compatible (#6746) 2020-11-24 13:50:18 -05:00
Rachel Cipkins
82908870a1
startup_items: Add systemd support on Linux (#6562)
Co-authored-by: Alessandro Gario <alessandro.gario@gmail.com>
2020-11-22 22:37:55 -08:00
Sharvil Shah
c1636adbc1
Extend EC2 table support to Windows (#6756) 2020-11-19 11:06:12 -08:00
Alessandro Gario
5c1bf4ff0c
Initial implementations for BPF-based socket and process events tables (#6571)
* deb_packages: Fix include order issue

* bpf_socket_events, bpf_process_events: Initial implementation

* BPF: Add process tracking to process events, remove sockets_event

* CMake: Upgrade the C++ standard to C++17

* BPF: Improve initial system state snapshot and event collection

* BPF: Add tests for SystemStateTracker

* BPF: Add tests for BPFEventPublisher

* BPF: Refactor, add tests for ProcessContextFactory

* Refactor: Improve initial scan/event handling, fix openat

* BPF: Improve event ordering

* BPF: Fix test issue in BPFEventPublisher::processOpenAt

* BPF: Mark WIP functions as deprecated

* BPF: Improve tests

* BPF: Add back bpf_socket_events and connect() support

* BPF: Add Netlink addr support, add bind()

* BPF: Add accept/accept4 support

* BPF: Add tests for BPFEventPublisher::processOpenat2Event

* BPF: Add remaining tests for BPFEventPublisher

* BPF: Add configuration flags for memory management

* BPF: Add cmdline support to ProcessContextFactory

* BPF: Add additional tests

* BPF: Add unit test for SystemStateTracker::accept

* BPF: Update cwd handling

* BPF: Add tests for bpf_socket_events

* BPF: Add tests for bpf_process_events

* BPF: Add json_cmdline hidden column to bpf_process_events

* BPF: Update all copyright headers

* BPF: Add syscall duration in socket_events/process_events

* BPF: Code review changes

* BPF: Update ebpfpub to the latest version

* BPF: Removed unused functions

* BPF: Code review changes

Add whitespace around namespaces

* BPF: Revert header changes in rot13.cpp

* BPF: Code review changes

Rename the bpf_ntime column in bpf_socket_events/bpf_process_events
to ntime and make it the last visible column

* BPF: Code review changes

Update the dependencies for the BPF tests

* BPF: Code review changes

Update the dependencies for the BPF table tests

* BPF: Code review changes

Update how characters are appended to strings in the
system state tracker class

* BPF: Code review changes

Update the string -> integer conversion utilities in the
process context factory class.

* BPF: Hide failed exec syscalls from bpf_process_events results

* BPF: Do not log an error for invalid sockaddr structures

* BPF: Code review changes

Remove clang-format ignore block

* BPF: Code review changes

Update log messages in the BPFEventPublisher class

* BPF: Code review changes

Remove clang-format ignore block around the function tracer
descriptors

* BPF: Code review changes

Document the IFilesystem interface

* BPF: Code review changes

Document the IProcessContextFactory interface

* BPF: Code review changes

Document the ISystemStateTracker interface
2020-10-16 01:14:00 -07:00
Nabil Schear
91a7f24bb8
type of size field in kernel_modules table should be BIGINT (#6712) 2020-10-15 22:22:32 -04:00
Nabil Schear
49a02f7000
Add timeout and a timeout column to curl_certificate (#6641) 2020-09-23 10:55:22 -04:00
Teddy Reed
d75e6cda72
carver: Update carves specs to allow full scan (#6657) 2020-09-21 19:29:44 -04:00
seph
d0465b1af3
Add atom_packages table to windows (#6649) 2020-09-18 16:06:01 -04:00
puffyCid
bd545631ed
Support for Office MRU (most recently used) entries (#6587) 2020-09-13 10:51:51 -04:00
kumarak
69bcf70b8c
Add sigurl column to pass yara signatures with the queries (#6607) 2020-09-11 15:14:01 -04:00
puffyCid
10b0635bc2
Support for Background Activity Moderator (#6585) 2020-09-10 22:20:34 -04:00
Artemis Tosini
a5492c55da Make cpuid table x86_only
The instruction doesn't exist on other processors, and while there
might be ways to retrieve the equivalent information, none directly
matches the x86 "cpuid". This takes out the table completely on
non-x86_64 architectures.

Co-Authored-By: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-09-05 16:50:28 -04:00
Kelechi Precious Nwachukwu
3060f54392
Improve cpu_type and cpu_subtype descriptions for processes table (#6596) 2020-08-31 22:52:07 -04:00
Eugene Sidorov
c799afbf91
linux: add apparmor_events table (#4982) 2020-08-29 20:22:03 -04:00
kumarak
d86e90c146
Add sigrules to pass YARA signature with query (#6568) 2020-08-29 11:41:57 -04:00
kumarak
c7e37c2a05
Add non-evented table for querying Windows Events Log (#6563)
The PR adds an on-demand version of the Windows events log table that can return the WEL entries from an arbitrary event provider. It supports selective filtering based on additional query parameters.  An example query:

```
osquery>  select * from windows_events_vtable where channel = 'Application' and eventid = 1000;
+-------------+--------------------------------+------+-------+----------------------------+----------------------------------------+---------+----------+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------+------+------+
| channel     | datetime                       | task | level | provider_name              | provider_guid                          | eventid | recordid | keywords           | data                                            | pid  | tid  |
+-------------+--------------------------------+------+-------+----------------------------+----------------------------------------+---------+----------+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------+------+------+
| Application | 2020-07-22T03:19:32.617052900Z | 0    | 4     | Microsoft-Windows-LoadPerf | {122EE297-BB47-41AE-B265-1CA8D1886D40} | 1000    | -1       | 0x8000000000000000 | {"UserData":{"EventXML":"","binaryData":"EC2C0000BC2D0000ED2C0000BD2D0000","binaryDataSize":"16","param1":"WmiApRpl","param2":"WmiApRpl"}} | 5824 | 5828 |
+-------------+--------------------------------+------+-------+----------------------------+----------------------------------------+---------+----------+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------+------+------+
```
2020-08-26 14:17:29 -07:00
Ateeq Sharfuddin
a19d910d21
bug: Improve chassis_types and security_breach columns within chassis_info (#6608) 2020-08-25 22:25:21 -04:00
seph
c63709894b
Manual copyright changes (#6590) 2020-08-12 11:21:40 -04:00
seph
29f4694df2
Update copyright notices (#6589)
Bulk update copyright notices from Facebook to "The osquery authors"
2020-08-11 16:46:54 -04:00
Ahsan Athallah
1cf5b5da13
Update check array column descriptions in md_devices (#6572) 2020-07-31 23:27:38 -04:00
Animesh Tewari
dcf72523f7
curl_certificate test (#5281) 2020-07-26 16:38:59 -04:00
Animesh Tewari
6101a0aee5
Fix #5737: Add FileVersionRaw column to file table for windows (#5771) 2020-07-26 16:37:49 -04:00
kumarak
2aa313db40
Enable yara table on windows (#6564) 2020-07-23 21:16:10 -04:00
nmeocisco
b8e71d949f
Add dns_cache table for Windows (#6505) 2020-07-22 10:51:12 -04:00
Rachel Cipkins
6096347c6b
Add startup_items table for linux (#6502) 2020-07-20 21:52:43 -04:00
Teddy Reed
1f5645f7f1
tables: Refactor shell_history to use generators (#6541) 2020-07-13 22:21:39 -04:00
puffyCid
336e6b075f
Shimcache Table (#6463) 2020-07-12 21:54:37 -04:00
Nick Anderson
b60ac312b3
wmi: adding utility function to convert datetime to FILETIME (#5901) 2020-07-07 21:33:17 -07:00
Teddy Reed
6710dbd5a6
build: Add Azure tables to specs CMakeLists (#6507) 2020-06-25 09:10:17 -04:00
Alessandro Gario
15448199f5
Implement event batching support for Windows tables (#6280)
* Windows events: Complete rewrite, implementing tests

* Windows events: Convert the 'keywords' column to TEXT

Since SQLite does not support unsigned 64-bit integers, this changes
the 'keywords' column type to TEXT.
2020-06-23 19:22:19 +02:00
James Jerger
d09ad2b1d7
Add support for basic chassis information (#5282) 2020-06-10 17:28:21 -04:00
Stefano Bonicatti
411556b9a5
Make file and hash container columns hidden (#6486)
This is for consistency with the decisions taken
for PR osquery/osquery#6413 and osquery/osquery#6414.

We also update the integration test helper to accept custom constraints,
in the case the table has required columns.
2020-06-06 21:26:44 -04:00
Zachary Wasserman
4e1d31c72a
Use 'denylist' instead of 'blacklist' in query scheduling (#6487) 2020-06-05 21:05:59 -04:00
Zachary Wasserman
86bc8bc8a3
Change compile time 'blacklist' to 'denylist' (#6488) 2020-06-05 21:03:04 -04:00
Stefano Bonicatti
e2d885b335
Add container access to the os_version table (#6413)
* Add container access to the os_version table

* Change new container columns to hidden
2020-06-05 20:22:34 +02:00
Stefano Bonicatti
dba5f1464e
Add container access to DEB, RPM, NPM packages tables (#6414)
* Add container access to DEB, RPM, NPM packages tables

* Change new container columns to hidden
2020-06-05 20:22:03 +02:00
srikwit
ff1227f4d3
Fixing the description of failed_login_count from account_policy_data (#6415) 2020-05-25 12:21:40 -04:00
Oleg Dolgov
2bf31f3311
build sleuthkit under windows (#6445) 2020-05-25 12:17:11 -04:00
Stefano Bonicatti
baa8ebe885
Add 'maintainer', 'section', 'priority' columns to deb_packages (#6442) 2020-05-20 20:55:40 -04:00
Stefano Bonicatti
9373b30375
Add 'vendor', 'package_group' columns to rpm_packages (#6443) 2020-05-20 20:54:53 -04:00
Stefano Bonicatti
a5104a43bf
Add 'arch' column to os_version (#6444) 2020-05-20 20:53:24 -04:00
Scott Lundgren
e237619db2
Update winbaseobj.table (#6429) 2020-05-08 22:16:08 -04:00
srikwit
3bdbdaf27f
Partial fix for md_devices issue (#6417) 2020-04-25 21:58:29 -04:00