Skip to content

Instantly share code, notes, and snippets.

View infamousjoeg's full-sized avatar
🙊
I'm really good at keeping secrets.

Joe Garcia infamousjoeg

🙊
I'm really good at keeping secrets.
View GitHub Profile
@infamousjoeg
infamousjoeg / ClientCertCCP.ps1
Created April 11, 2024 15:25
Client Certificate Authentication with Central Credential Provider (CCP) in PowerShell
## USER VARIABLES
#################
# Specify the path to your .pfx file and its password
$pfxPath = "/Users/joe.garcia/OneDrive - CyberArk Ltd/Software/Certificates/ccp_clientcert_bundle.pfx"
# Define the URI for the CCP API
$uri = "https://cyberark.joegarcia.dev/AIMWebService/api/Accounts"
$appId = "Test"
$safe = "TestSafe"
@infamousjoeg
infamousjoeg / connect_networkdevice.yaml
Created April 10, 2024 16:39
Ansible Automation Platform with CCP for Dynamic Secrets to Network Device
- hosts: all
gather_facts: no
tasks:
- block:
- name: Retrieve Password from CyberArk
cyberark.pas.cyberark_credential:
api_base_url: "{{ ccp_base_url }}"
app_id: "{{ ccp_app_id }}"
@infamousjoeg
infamousjoeg / DiscoverAuthn.sh
Created April 9, 2024 15:24
CyberArk Identity Security Platform - Bash Examples
#!/bin/bash
vibe_check() {
# Check if jq is installed
if ! command -v jq &> /dev/null; then
echo "jq is not installed"
exit 1
fi
# Check if curl is installed
@infamousjoeg
infamousjoeg / event.json
Last active December 20, 2023 17:40
Sample CreateSecret CloudWatch Event
{
"version": "0",
"id": "4725d455-933f-495b-56d9-5ab003cd633f",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.secretsmanager",
"account": "123456789012",
"time": "2023-12-20T14:39:19Z",
"region": "us-east-1",
"resources": [],
"detail": {
@infamousjoeg
infamousjoeg / main.tf
Last active October 23, 2023 14:11
Sample Terraform Manifest for cyberark/conjur
variable "conjur_appliance_url" {}
variable "conjur_login" {}
variable "conjur_api_key" {}
provider "conjur" {
appliance_url = var.conjur_appliance_url
account = "conjur"
login = var.conjur_login
api_key = var.conjur_api_key
}
@infamousjoeg
infamousjoeg / conjur_credtype_injector.yml
Last active October 17, 2023 15:21
Ansible Playbook using cyberark.conjur.conjur_variable to retrieve secrets from CyberArk Conjur
extra_vars:
CONJUR_ACCOUNT: '{{ conjur_account }}'
CONJUR_APPLIANCE_URL: '{{ conjur_appliance_url }}'
CONJUR_AUTHN_LOGIN: '{{ conjur_authn_login }}'
CONJUR_AUTHN_API_KEY: '{{ conjur_authn_api_key }}'
@infamousjoeg
infamousjoeg / app_registration.md
Last active October 13, 2023 19:51
AzureAD Application Registration Script Explanation for CyberArk Secrets Hub

This script is written in PowerShell and is used for managing Azure resources. It's designed to automate the process of creating an application registration in Azure Active Directory, granting it permissions to a Key Vault in Azure, and handling various checks and error scenarios along the way. Here's a breakdown:

  1. Setting up Parameters and Preferences:

    • It starts by defining mandatory parameters that need to be passed when the script is called: $AppClientDisplayName, $KeyVaultName, and $ResourceGroupName.
    • $ErrorActionPreference = "Stop": This line sets the preference for how to handle errors in the script. "Stop" means that the script will stop executing as soon as there's an error.
  2. Checking Resource Group Existence:

    • The script checks if the specified Azure Resource Group exists. If it doesn't, the script throws an error and stops execution.
  3. Checking for Existing Application and Key Vault:

@infamousjoeg
infamousjoeg / main.py
Created October 3, 2023 16:29
OSUser authentication from ADBridged Linux host to CyberArk CCP
import requests
from requests_negotiate import HTTPNegotiateAuth
import urllib3
import urllib.parse
import os
import re
import subprocess
urllib3.disable_warnings()
@infamousjoeg
infamousjoeg / delete_gitlab_projects.sh
Created September 29, 2023 16:38
GitLab Delete Projects with Last Activity Before Specific Date
#!/bin/bash
# Set your personal access token here
personalAccessToken="<personal-access-token>"
# Get the list of project IDs for owned projects with last activity before 2020-01-01
project_ids=$(curl --header "PRIVATE-TOKEN: $personalAccessToken" "https://gitlab.com/api/v4/projects?simple=true&per_page=100&owned=true&last_activity_before=2020-01-01T00:00:00Z" | jq -r '.[] | select(.last_activity_at < "2020-01-01T00:00:00Z") | .id')
# Loop through each project ID and delete the project
for project_id in $project_ids; do
@infamousjoeg
infamousjoeg / exportData.ps1
Last active October 17, 2023 13:13
Export Safe, Safe Members, and Accounts from CyberArk Self-Hosted PAM using psPAS & PowerShell
# Check if the psPAS module is already installed
if (-not (Get-Module -ListAvailable -Name psPAS)) {
# If not, install the module
Install-Module -Name psPAS -Repository PSGallery -Force -Scope CurrentUser
# Check if the module was successfully installed before importing
if (-not (Get-Module -ListAvailable -Name psPAS)) {
Write-Output "ERROR: Failed to install the psPAS module. Please install manually from https://pspas.pspete.dev/docs/install."
return
}