alphasec
macOS protip 005b
in 𝕏

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'select DISTINCT LSQuarantineDataURLString from LSQuarantineEvent' - pokaż historię pobranych plików na MacOS

tty1 · macos
$ sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'select DISTINCT LSQuarantineDataURLString from LSQuarantineEvent'
#MacOS#RedTeam#BlueTeam#Recon#Forensics

W bazie SQLite3 znajdującej się w ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 (w Snow Leopard i wcześniejszych było to Library/Preferences/com.apple.LaunchServices.QuarantineEvents) znajdują się informacje o pobranych przez różne aplikacje plikach.

W naszym onelinerze korzystamy z domyślnie zainstalowanego klienta sqlite3, by następnie wykonać zapytanie, by zwróciło unikalne rekordy z tego loga.

W przypadku, kiedy byśmy chcieli uzyskać więcej informacji, możemy poza kolumną LSQuarantineOriginURLString odpytać również o czas (kolumna LSQuarantineTimeStamp odpowiednio potraktowana by wyświetlić czytelną datę) oraz o program, który został do pobrania użyty - kolumna LSQuarantineAgentName, a więc np.:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2  'SELECT datetime(LSQuarantineTimeStamp + 978307200, "unixepoch") as LSQuarantineTimeStamp, LSQuarantineAgentName, LSQuarantineOriginURLString, LSQuarantineDataURLString from LSQuarantineEvent where LSQuarantineDataURLString != ""'

Jeśli np. chcemy wyświetlić co i kiedy pobrały wszystkie programy poza Chromem, moglibyśmy dodać odpowiedni warunek na koniec, czyli:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2  'SELECT datetime(LSQuarantineTimeStamp + 978307200, "unixepoch") as LSQuarantineTimeStamp, LSQuarantineAgentName, LSQuarantineOriginURLString, LSQuarantineDataURLString from LSQuarantineEvent where LSQuarantineDataURLString != "" AND LSQuarantineAgentName != "Chrome"'

..i tak dalej. A dla dociekliwych, jeśli chcielibyśmy zobaczyć jakie informacje z tej bazy możemy jeszcze wyświetlić, wykorzystać możemy polecenie .sch bazy danych SQLite3, a więc:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 ".sch"

Przydatne linki

# aptm.in/protip/005c jak usunąc informacje z omawianej bazy protip ↗
← poprzedni protip 005a ••• Wszystkie protipy następny → protip 005c
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: