Skip to content

Instantly share code, notes, and snippets.

Avatar

Scott Hoag ciphertxt

View GitHub Profile
@ciphertxt
ciphertxt / openmsedgeprofilemacos.sh
Created Jul 13, 2022
Opens a specific Microsoft Edge profile by name on macOS
View openmsedgeprofilemacos.sh
# Navigate to the profiles directory
cd ~/Library/Application\ Support/Microsoft\ Edge
# List out the profile directories. Note that the directory name is what is used in the launch command, *not* necessarily the friendly name of the profile you see in Microsoft Edge.app
find ./ -type f -name Preferences
# Let's say "Profile 1" is one of our directories
"/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" --profile-directory="Profile 1"
View rsync_examples.sh
# Sync parent folder and subfolders recursively
rsync -avP Takeout/Google\ Photos/ /Volumes/Multimedia/Pictures/Google\ Photos
# Exclude json files and consolidate into a flat folder
rsync -avP --exclude='*.json' Takeout/Google\ Photos/*/ organize/datefix
@ciphertxt
ciphertxt / exiftool_examples.sh
Last active Jun 17, 2022
exiftool shortcuts
View exiftool_examples.sh
# Read time metadata
exiftool -a -G1 -s -time:all *.JPG
# Update time metadata
# ModifyDate
exiftool -overwrite_original -d "%Y:%m:%d %H:%M:%S" -v "-AllDates<ModifyDate" "-FileModifyDate<ModifyDate" *.JPG
# DateTimeOriginal
exiftool -overwrite_original -d "%Y:%m:%d %H:%M:%S" -v "-AllDates<DateTimeOriginal" "-FileModifyDate<DateTimeOriginal" *.JPG
View gist:9ca037353256941e528f668beb40bfc1
Bordertown (Finnish)
Trapped (icelandic)
The Bureau (French)
Deutschland 83
Giri/Haji
Vera
Wallander
Young Wallenberg
Collateral
Detective Montalbano
View youtube-download.sh
#!/bin/bash
i=1;
for youtube_uri in "$@"
do
echo "Downloading video $i: $youtube_uri";
i=$((i + 1));
yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio/best[ext=mp4]/best' --merge-output-format mp4 "$youtube_uri" --add-metadata --embed-thumbnail
done
View metrics.ps1
## Monitor Azure Storage
### https://aka.ms/azuremonitor/storage-metrics
## Azure Monitor Metrics Overview
### https://docs.microsoft.com/en-us/azure/azure-monitor/platform/data-platform-metrics
## Azure Storage monitoring data reference
### https://docs.microsoft.com/en-us/azure/storage/common/monitor-storage-reference
## Azure Monitoring REST API walkthrough
@ciphertxt
ciphertxt / Get-AzResourcesSupportingPolicies.ps1
Last active Jul 14, 2020
Enumerates resources in a subscription and finds diagnostic settings for resources that support them
View Get-AzResourcesSupportingPolicies.ps1
$currentContext = Get-AzContext
$currentSub = $(Get-AzContext).Subscription.Name
$token = $currentContext.TokenCache.ReadItems() | Where-Object {$_.tenantid -eq $currentContext.Tenant.Id}
$GetScanDetails = @{
Headers = @{
Authorization = "Bearer $($token.AccessToken)"
'Content-Type' = 'application/json'
}
Method = 'Get'
@ciphertxt
ciphertxt / GetGrantedOATHPerms.ps1
Last active Jul 14, 2020
Spot check Granted OATH permissions. Attackers are utilizing malicious OATH grants for persistence.
View GetGrantedOATHPerms.ps1
Get-AzureADServicePrincipal `
-Filter "serviceprincipaltype eq 'Application'" -All $true -PipelineVariable sp `
| Get-AzureADServicePrincipalOAuth2PermissionGrant `
-top 1 `
| select @{N="SPDisplayname";E={$sp.displayname}}, @{N="SPObjectid";E={$sp.objectid}}, consenttype, scope
#https://twitter.com/rootsecdev/status/1282640558025060354
@ciphertxt
ciphertxt / azure_expiringsps.sh
Created Jul 13, 2020
Find all Service Principals with credentials expiring in the next 60 days
View azure_expiringsps.sh
az ad sp list \
--all \
--query "[?passwordCredentials[0].endDate<='$(date -d "+60 days" +%Y-%m-%d)'||keyCredentials[0].endDate<='$(date -d "+60 days" +%Y-%m-%d)'].{\"App ID Display Name\":appDisplayName,\"SP appId\":appId,\"Password Expiry Date\":passwordCredentials[0].endDate, \"Key Expiry Date\":keyCredentials[0].endDate}" \
-o table