Mike Salvatore
569159b11a
Agent: Move the definition of ICredentialCollector to i_puppet
...
Low-level components plug into high-level components. i_puppet defines
all of the interfaces that puppets can use, while the concrete
implementations of these things rely on the definitions in i_puppet.
2022-02-15 14:07:59 -05:00
Mike Salvatore
c39fb6746d
Agent: Rename ICredentialComponent.type -> credential_type
...
"type" is built-in function in Python. To avoid confusion or a potential
name collision, this commit renames the ICredentialComponent.type field
to ICredentialComponent.credential_type
2022-02-15 13:47:01 -05:00
Mike Salvatore
236b545816
UT: Extract function collect_credentials() to reduce code duplication
2022-02-15 13:30:13 -05:00
Mike Salvatore
86f2c7b08c
UT: Parametrize test_mimikatz_collector.test_empty_results()
2022-02-15 13:28:38 -05:00
Mike Salvatore
ebd5642b52
Agent: Refactor credentials and credential_components as dataclasses
...
Using frozen dataclasses for Credentials and ICredentialComponents
automatically creates a useful __eq__() function that allows us to
easily compare credentials-related objects.
2022-02-15 12:27:56 -05:00
vakarisz
811434ff22
Agent: improved type hints in mimikatz_cred_collector.py
2022-02-15 18:41:19 +02:00
vakarisz
ac376a0014
Agent: change the interface of Credentials
...
Refactor from dataclass to object with tuples. This enforces read only identities and secrets so users don't modify them
2022-02-15 18:39:17 +02:00
vakarisz
8868fb9b0c
Agent: change ICredentialComponent interface
...
Interface changed from dataclass (dataclasses are not inheritable) to simple class with type abstract property
2022-02-15 18:35:32 +02:00
vakarisz
26806392ec
Agent: split up nt and lm hash credential types
2022-02-15 18:33:04 +02:00
vakarisz
d392de4a02
Agent: remove ssh_keypair, as it's not used anywhere
2022-02-15 18:32:00 +02:00
vakarisz
ae9fed3c2b
Agent: fixup typehints in ICredentialCollector
2022-02-15 16:16:43 +02:00
vakarisz
01612c402a
Agent: add options to ICredentialCollector interface
2022-02-15 15:25:42 +02:00
vakarisz
0fae933477
Agent: refactor content dict out of credential component
...
Content dict serves no purpose, because dataclasses can be serialized without explicit conversion to dict
2022-02-15 14:46:21 +02:00
vakarisz
b7003bc231
Agent: split up nt and lm hashes into separate credential components
2022-02-15 14:19:53 +02:00
vakarisz
9037dfdf99
Agent: rename CredentialTypes enum to CredentialType
2022-02-15 12:42:36 +02:00
vakarisz
02cdebb88b
Agent: fix ICredentialCollector return type-hint
2022-02-15 12:41:19 +02:00
vakarisz
f5740b2a6e
Agent: add mimikatz collector unit tests
2022-02-15 10:09:53 +01:00
vakarisz
a6c2762823
Agent: change mimikatz collector to return a list of credentials
2022-02-15 10:09:53 +01:00
vakarisz
2f1b57a526
Agent: fix pypykatz import in mimikatz_cred_collector.py
2022-02-15 10:09:53 +01:00
vakarisz
2ba793e0cf
Agent: move mimikatz collector to credential collectors
2022-02-15 10:09:53 +01:00
VakarisZ
144afc0fd3
Merge pull request #1712 from guardicore/1696-refactor-aws-collector
...
Agent: Refactor AWS collector
2022-02-14 17:12:28 +02:00
Ilija Lazoroski
ae13953f52
Agent: Run AWS Environment check in a thread
...
* Use Telemetry Messenger to send AWS telemetry
* Send only instance_id to AWS Instance Telemetry
* Rename AwsInstanceTelemetry to AWSInstanceTelemetry
2022-02-14 16:00:38 +01:00
vakarisz
6aa2160f31
Agent: refactor mimikatz_cred_collector to credential collector
2022-02-14 15:25:06 +02:00
Ilija Lazoroski
7f6496b330
Island, UT: Remove system info AWS Collector
2022-02-14 12:00:08 +01:00
Ilija Lazoroski
412a06fa9b
Island: Handle AWS info telemetry
2022-02-14 12:00:08 +01:00
Ilija Lazoroski
1f76a42279
Agent: Refactor AWS collector
2022-02-14 11:59:48 +01:00
vakarisz
c21cf681a4
Agent: define credential collector, credentials interfaces
2022-02-14 12:12:13 +02:00
VakarisZ
b0bd3f9c51
Merge pull request #1713 from guardicore/1690-investigate-pyinstaller-versions
...
1690 investigate pyinstaller versions
2022-02-14 11:47:47 +02:00
Mike Salvatore
414b1cb815
Agent: Add return type annotation to create_daemon_thread()
2022-02-12 09:44:04 -05:00
vakarisz
216a245329
Island: bumped pyinstaller to 4.9
2022-02-11 17:25:04 +02:00
vakarisz
a3ba7fb830
Agent: bumped pyinstaller to 4.9 and locked pywin32 to windows
2022-02-11 17:24:33 +02:00
vakarisz
40548e85c1
Agent: bump agent pyinstaller to 4.8
2022-02-11 15:37:31 +02:00
vakarisz
31abc065f6
Agent: add explicit requirements for for pywin32-ctypes and pefile
...
These are pyinstaller dependencies that don't get auto-resolved and installed for some reason
2022-02-11 12:40:59 +02:00
Mike Salvatore
5a8c072d6a
Merge pull request #1709 from guardicore/1601-fix-check-tcp-ports-bugs
...
Minor changes to TCP scanning
2022-02-10 12:23:29 -05:00
Ilija Lazoroski
543ff24ac3
UT: Add tests for tcp scanning
2022-02-10 18:14:36 +01:00
Mike Salvatore
36a2b3ff6b
Agent: Add sleep back into _check_tcp_ports()
2022-02-10 18:14:36 +01:00
Mike Salvatore
21ede3e341
Agent: Improve readability of _check_tcp_ports()
2022-02-10 18:14:36 +01:00
Mike Salvatore
2ae77ce897
Agent: Fix error when shutting down sockets in _check_tcp_ports()
...
An error is raised if shutdown() is called on a socket that has not
successfully connected. This commit modifies the cleanup logic so that
shutdown() is only called on sockets that are known to be connected and
close() is called on all sockets.
2022-02-10 18:14:36 +01:00
Mike Salvatore
a53b611759
Agent: Change _check_tcp_ports() to return Mapping[int, str]
2022-02-10 18:14:36 +01:00
Mike Salvatore
d3dd6ffeb0
Agent: Simplify logic in Timer.time_remaining
2022-02-10 18:14:36 +01:00
Shreya Malviya
eb1a322ff8
Agent: Rework return value in _check_tcp_ports in tcp_scanner.py
2022-02-10 18:14:36 +01:00
Mike Salvatore
0e7f171c4a
Agent: Use a Timer in _check_tcp_ports() to simplify logic
2022-02-10 18:14:36 +01:00
Mike Salvatore
e981ead150
Agent: Add new time_remaining() method to Timer
2022-02-10 18:14:36 +01:00
Shreya Malviya
31fd24f077
Agent: Address CR comments + minor changes in tcp_scanner.py
2022-02-10 18:14:36 +01:00
Ilija Lazoroski
48dcd939e5
Agent, Island: Bump pyinstaller to latest version
2022-02-10 16:02:34 +01:00
Mike Salvatore
98a2f0b887
Agent: Use consistent DISPLAY_NAME constant in fingerprinters
2022-02-10 07:15:03 -05:00
Mike Salvatore
aadc055f74
Merge pull request #1708 from guardicore/1603-refactor-ssh-fingerprinter
...
Agent: refactor ssh fingerprinter to fit the new model
2022-02-10 07:11:41 -05:00
Mike Salvatore
f9b803b1ae
Agent: Minor code quality improvements to SSHFingerprinter
2022-02-10 07:10:47 -05:00
vakarisz
1c7ec9c41f
Agent: refactor ssh fingerprinter to fit the new model
2022-02-10 07:10:45 -05:00
Mike Salvatore
1dc08e2087
Merge pull request #1706 from guardicore/1603-refactor-smb-fingerprinter
...
1603 refactor smb fingerprinter
2022-02-10 06:47:32 -05:00