BlueHens CTF 2021: Minecraft: Modest Cipher

This is from the BlueHensCTF 2021.

Challenge Author: Izzy and ProfNinja

For this challenge, We are given the following information and links:

Here is the mc86 Intro:

Here is the mc86 InitCode:

/give @p minecraft:written_book{title:"Init CPU",author:"UD Cyberscholars",generation:0,pages:[
"{\"text\":\"Click Here First\\n\",\"color\":\"dark_green\",\"bold\":true,\"underlined\":true,\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"Creating RAM\"},\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~1 ~ ~ minecraft:lime_shulker_box\"},
\"extra\":[
{\"text\":\"Click Here Second\\n\",\"color\":\"dark_green\",\"bold\":true,\"underlined\":true,\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"Start Timing Belt\"},\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~2 ~1 ~ minecraft:command_block[facing=up]{powered:0b,Command:\\\"setblock ~ ~-1 ~ air\\\"}\"}},
{\"text\":\"Click Here Third\\n\",\"color\":\"dark_green\",\"bold\":true,\"underlined\":true,\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"Finishing Timing Belt\"},\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~2 ~2 ~ minecraft:chain_command_block[facing=up]{powered:0b,auto:1b,conditionMet:0b,Command:\\\"execute if data block ~-1 ~-2 ~ Items[0].tag.pages[0] run setblock ~ ~-2 ~ redstone_block\\\"}\"}},
{\"text\":\"Click Here Fourth\\n\",\"color\":\"dark_green\",\"bold\":true,\"underlined\":true,\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"Start CPU\"},\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~3 ~ ~ minecraft:command_block[facing=east]{powered:0b,Command:\\\"data modify block ~2 ~ ~ Command set from block ~-2 ~ ~ Items[0].tag.pages[0]\\\"}\"}},
{\"text\":\"Click Here Fifth\\n\",\"color\":\"dark_green\",\"bold\":true,\"underlined\":true,\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"Finishing CPU\"},\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~4 ~ ~ minecraft:chain_command_block[facing=east]{powered:0b,auto:1b,conditionMet:0b,Command:\\\"data remove block ~-3 ~ ~ Items[0].tag.pages[0]\\\"}\"}},
{\"text\":\"Click Here Sixth\\n\",\"color\":\"dark_green\",\"bold\":true,\"underlined\":true,\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"Placing ALU\"},\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~5 ~ ~ minecraft:chain_command_block[facing=east]{powered:0b,auto:1b,conditionMet:0b}\"}}]}"]} 1

Finally, here is the challenge source code:

/give @p writable_book{pages:["/fill ~ ~4 ~ ~6 ~6 ~15 dirt","/fill ~ ~7 ~5 ~6 ~7 ~5 acacia_fence","/fill ~ ~7 ~3 ~6 ~7 ~3 acacia_fence","/fill ~4 ~7 ~1 ~4 ~7 ~7 acacia_fence","/fill ~2 ~7 ~1 ~2 ~7 ~7 acacia_fence","/setblock ~1 ~7 ~10 acacia_fence","/setblock ~2 ~7 ~11 acacia_fence","/setblock ~3 ~7 ~12 acacia_fence","/setblock ~4 ~7 ~13 acacia_fence","/setblock ~5 ~7 ~14 acacia_fence","/setblock ~5 ~7 ~10 acacia_fence","/setblock ~4 ~7 ~11 acacia_fence","/setblock ~2 ~7 ~13 acacia_fence","/setblock ~1 ~7 ~14 acacia_fence","/clone ~4 ~4 ~5 ~6 ~7 ~7 ~ ~-3 ~5","/fill ~1 ~-1 ~6 ~1 ~-2 ~6 air","/summon pig ~1 ~-2 ~6","/clone ~ ~4 ~5 ~2 ~7 ~7 ~ ~-3 ~9","/clone ~1 ~4 ~10 ~5 ~7 ~12 ~ ~-3 ~13","/clone ~2 ~4 ~3 ~4 ~7 ~5 ~ ~-3 ~17","/clone ~ ~4 ~5 ~2 ~7 ~7 ~ ~-3 ~21","/fill ~1 ~-1 ~22 ~1 ~-2 ~22 air","/summon pig ~1 ~-2 ~22","/clone ~4 ~4 ~1 ~6 ~7 ~3 ~ ~-3 ~25","/clone ~4 ~4 ~5 ~6 ~7 ~7 ~ ~-3 ~29","/fill ~1 ~-1 ~30 ~1 ~-2 ~30 air","/summon pig ~1 ~-2 ~30","/clone ~ ~4 ~1 ~2 ~7 ~3 ~ ~-3 ~33","/fill ~1 ~-1 ~34 ~1 ~-2 ~34 air","/summon pig ~1 ~-2 ~34","/clone ~ ~4 ~5 ~2 ~7 ~7 ~ ~-3 ~37","/clone ~ ~4 ~1 ~2 ~7 ~3 ~ ~-3 ~41","/clone ~ ~4 ~1 ~2 ~7 ~3 ~ ~-3 ~45","/fill ~1 ~-1 ~46 ~1 ~-2 ~46 air","/summon pig ~1 ~-2 ~46","/clone ~2 ~4 ~3 ~4 ~7 ~5 ~ ~-3 ~49","/clone ~2 ~4 ~3 ~4 ~7 ~5 ~ ~-3 ~53","/fill ~1 ~-1 ~54 ~1 ~-2 ~54 air","/summon pig ~1 ~-2 ~54","/clone ~3 ~4 ~10 ~5 ~7 ~14 ~ ~-3 ~57","/fill ~ ~4 ~ ~6 ~7 ~15 air"]}

As recommended by the challenge text, I got the latest Minecraft Java Launcher and launched a world:

I followed the YouTube video and gave myself a command block, placed it with a button on it, and posted the mc86 initcode:

I clicked the button and received an enchanted book:

I followed the instructions and clicked each of the six links to generate my mc86 computer in my world:

Next, following the YouTube video, I pasted the challenge source code into the command block I created earlier and click the button:

This gave me a 41 page book and quill:

I placed a button in the mc86 computer (as directed in the YouTube video) and and clicked it to run the challenge program:

This created a strange pattern of fence panels with pigs being in holes in some of the sections:

Here is a better view of the whole structure:

Based on the challenge name, I googled for ciphers containing symbols (looking for symbols similar to the fance panels). This led me to the pigpen cipher:

Being lazy, I go to my favorite cipher decoder website… dcode.fr:

I punch in the symbols found in my Minecraft world and click to decrypt it:

This gave me the flag:

UDCTF{LITERALPIGPENS}

Vishwa CTF: General: Front Pages (500)

This is from the 2021 Vishwa CTF

For this challenge, we are given a cryptic hint:

A quick Google search tells me that Reddit is the front page of the internet, so I search for entries related to vishwactf on reddit:

I see that there is a comment indicating that another comment has been deleted:

AI hop in my time machine at Archive.org and go down memory lane:

I now have what appears to be a ciphered flag with a clue. The part about the “18th century French scholars” tells me to try decrypting it as a Vigenere cipher. I head over to dcode.fr and try it out. The automatic decryption failed, so after some contemplating, I try “VISHWACTF” as the key and I get the flag:

And yes, OSINT is overlooked!

Vishwa CTF: Reverse Engineering: Rotations (472)

This is from the 2021 Vishwa CTF

For this challenge, we are given the following clue and a ELF binary:

After some preliminary poking at the file, I execute it in the terminal to see what it does. I see that it waits for input from the user and replies with “EWWWW DUMBBB” and exits:

Next I load it into my debugger and inspect the code:

I see that there is cmp performed and it results in a jmp to the failure message:

I modify the jmp and fill it with NOPs:

I then provide some random input and watch for its response:

It looks like a scrambled flag. Most likely a simple shift cipher… maybe a ROT (rotation). I head over to rot13.com and decode it:

Now I have the flag!

UTCTF2021: Misc: Emoji Encryption (100)

This is from the UTCTF2021 CTF

Challenge Author: Aya Abdelgawad

For this challenge, we are given what appears to be an emoji cipher:

After trying several emoji cipher decoders online without success, I looked a little harder at the emojis.

Knowing that the flag format starts with “utflag” and seeing what the names of the emojis are “Umbrella, Turkey, Fire, Lion, Apple, Guitar…” The first letters of the names are spelling out the flag. Going throught the full list of emojis, I get:

utflag{emojis_be_versatile}

UTCTF2021: Beginner: Cipher Gauntlet (100)

This is from the UTCTF2021 CTF

Challenge Author: balex

For this challenge, we are given a hint and a text file:

A quick trip over to RapidTables and we get this:

Apparently the princess is in another castle. I see that there is what appears to be a base64 encoded string. A quick trip over to Base64Decode and we get this:

Yet another castle. This time I have another string that appears to be a cipher along with a clue. This leads me to think it could be a Caesar Cipher. A quick trip to dcode.fr and I get this:

congratulations! you have finished the beginner cryptography challenge. here is a flag for all your hard efforts: utflag{now_youre_playing_with_crypto}. you will find that a lot of cryptography is building off this sort of basic knowledge, and it really is not so bad after all. hope you enjoyed the challenge!

DaVinciCTF: Crypto: Substitution (25)

This is for the DaVinciCTF.

For this challenge, we are given the following ciphertext:

Rm xibkgltizksb, z hfyhgrgfgrlm xrksvi rh z nvgslw lu vmxibkgrmt rm dsrxs fmrgh lu kozrmgvcg ziv ivkozxvw drgs xrksvigvcg, zxxliwrmt gl z urcvw hbhgvn; gsv "fmrgh" nzb yv hrmtov ovggvih (gsv nlhg xlnnlm), kzrih lu ovggvih, girkovgh lu ovggvih, nrcgfivh lu gsv zylev, zmw hl uligs. Gsv ivxvrevi wvxrksvih gsv gvcg yb kviulinrmt gsv rmevihv hfyhgrgfgrlm.

Hfyhgrgfgrlm xrksvih xzm yv xlnkzivw drgs gizmhklhrgrlm xrksvih. Rm z gizmhklhrgrlm xrksvi, gsv fmrgh lu gsv kozrmgvcg ziv ivziizmtvw rm z wruuvivmg zmw fhfzoob jfrgv xlnkovc liwvi, yfg gsv fmrgh gsvnhvoevh ziv ovug fmxszmtvw. Yb xlmgizhg, rm z hfyhgrgfgrlm xrksvi, gsv fmrgh lu gsv kozrmgvcg ziv ivgzrmvw rm gsv hznv hvjfvmxv rm gsv xrksvigvcg, yfg gsv fmrgh gsvnhvoevh ziv zogvivw.

Gsviv ziv z mfnyvi lu wruuvivmg gbkvh lu hfyhgrgfgrlm xrksvi. Ru gsv xrksvi lkvizgvh lm hrmtov ovggvih, rg rh gvinvw z hrnkov hfyhgrgfgrlm xrksvi; z xrksvi gszg lkvizgvh lm ozitvi tilfkh lu ovggvih rh gvinvw klobtizksrx. Z nlmlzokszyvgrx xrksvi fhvh urcvw hfyhgrgfgrlm levi gsv vmgriv nvhhztv, dsvivzh z klobzokszyvgrx xrksvi fhvh z mfnyvi lu hfyhgrgfgrlmh zg wruuvivmg klhrgrlmh rm gsv nvhhztv, dsviv z fmrg uiln gsv kozrmgvcg rh nzkkvw gl lmv lu hvevizo klhhryrorgrvh rm gsv xrksvigvcg zmw erxv evihz.
weXGU{xi1kg3w_x1ks3i}

Given the challenge title, I head over to dcode.fr’s Mono-alphabetic Substitution cipher decoder:

Due to the amount of ciphertext, it took a few seconds to crank through it, but it did solve it:

And now I have the flag!

dvCTF{cr1pt3d_c1ph3r}