Skip to main content

Over the Wire - Bandit 23

Bandit 23


Objectives
Level GoalA program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/ for the configuration and see what command is being executed.
NOTE: Looking at shell scripts written by other people is a very useful skill. The script for this level is intentionally made easy to read. If you are having problems understanding what it does, try executing it to see the debug information it prints.


Solution

ok so another level dealing with cron jobs

lets see what files we have to work with

​bandit22@bandit:~$ ls


Nothing in home directory let's check the cron.d

bandit22@bandit:~$ ls /etc/cron.dcronjob_bandit22  cronjob_bandit23  cronjob_bandit24


cool so there is another cronjob_bandit23 let's check that file

bandit22@bandit:~$ cat /etc/cron.d/cronjob_bandit23@reboot bandit23 /usr/bin/cronjob_bandit23.sh  &> /dev/null* * * * * bandit23 /usr/bin/cronjob_bandit23.sh  &> /dev/null


alright its running this sh at reboot /usr/bin/cronjob_bandit23.sh   let's see what's in there


bandit22@bandit:~$ cat /usr/bin/cronjob_bandit23.sh#!/bin/bash


myname=$(whoami)mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1)
echo "Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget"
cat /etc/bandit_pass/$myname > /tmp/$mytarget



let's decode this 
there are two variables in the front of the bash
myname=$(whoami)  - Which should return the user name of the user running the .sh
mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1) -  this takes the text i am user $myname (which it knows now from the first variable) and creates an md5 hash of the text, cut -d ' ' -f1 stops at the first blank space and only uses the string before that
Then the script copies the password file from the bandit password repository to a tmp folder named the result of the result of the my target function

echo "Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget"
cat /etc/bandit_pass/$myname > /tmp/$mytarget




Let's see what this does as the bandit 22 user

bandit22@bandit:~$ mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1)bandit22@bandit:~$ echo I am user $myname | md5sum | cut -d ' ' -f 18169b67bd894ddbb4412f91573b38db3


Ok that's cool but we aren't looking for the result of this execution from the bandit22 user we want the bandit23 password which the cron job would have run when the server booted

lets edit the script a little bit to supply it with what result of the whoami command for bandit23 instead of calling the system variable of the logged in uers



bandit22@bandit:~$ myname=bandit23bandit22@bandit:~$ echo I am user $myname | md5sum | cut -d ' ' -f 18ca319486bfbbc3663ea0fbe81326349


let's see if there is a file in tmp named 8ca319486bfbbc3663ea0fbe81326349



sure is


bandit22@bandit:~$ cat /tmp/8ca319486bfbbc3663ea0fbe81326349jc1udXuA1tiHqjIsL8yaapX5XIAI6i0n


again this really isn't conducive to scripting out in python so I'll skip that



Comments

Popular posts from this blog

HacktheBox - Retired - Frolic

HacktheBox - Retired - Frolic Recon Let's start out with a threader3000 scan Some interesting results here Port 22 and 445 aren't uncommon… but 1880 and 9999 are.. Let's let nmap run through these ports  Option Selection: 1 nmap -p22,445,1880,9999 -sV -sC -T4 -Pn -oA 10.10.10.111 10.10.10.111 Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower. Starting Nmap 7.91 ( https://nmap.org ) at 2021-05-05 16:17 EDT Nmap scan report for 10.10.10.111 Host is up (0.060s latency). PORT     STATE SERVICE     VERSION 22/tcp   open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: |   2048 87:7b:91:2a:0f:11:b6:57:1e:cb:9f:77:cf:35:e2:21 (RSA) |   256 b7:9b:06:dd:c2:5e:28:44:78:41:1e:67:7d:1e:b7:62 (ECDSA) |_  256 21:cf:16:6d:82:a4:30:c3:c6:9c:d7:38:ba:b5:02:b0 (ED25519) 445/tcp  open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP) 1880/tcp open  http        Node.js (Express middlewar...

Hack The Box - Retired - Laboratory

HackTheBox - Laboratory - Retired Starting off with a quick scan using threader6000 /opt/threader3000/threader6000.py 10.10.10.216 Ports 22,80,443 came back. Run nmap against these ports. nmap -p22,80,443 -sV -sC -T4 -Pn -oN 10.10.10.216 10.10.10.216 nmap -p22,80,443 -sV -sC -Pn -T4 -oN 10.10.10.216 10.10.10.216 Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower. Starting Nmap 7.91 ( https://nmap.org ) at 2021-04-13 17:43 EDT Nmap scan report for laboratory.htb (10.10.10.216) Host is up (0.060s latency). PORT    STATE SERVICE  VERSION 22/tcp  open  ssh      OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: |   3072 25:ba:64:8f:79:9d:5d:95:97:2c:1b:b2:5e:9b:55:0d (RSA) |   256 28:00:89:05:55:f9:a2:ea:3c:7d:70:ea:4d:ea:60:0f (ECDSA) |_  256 77:20:ff:e9:46:c0:68:92:1a:0b:21:29:d1:53:aa:87 (ED25519) 80/tcp  open  http     Apache httpd 2.4.41 |_...

A collection of online Security CTF and Learning sites

 Hellbound Hackers    Embedded Security CTF Arizona Cyber Warfare Range Over The Wire - Bandit Pico CTF 2018 Hack The Box.eu Root Me: Challenges/Forensic RingZero CTF Vulnerable By Design - Vulnerable VMs Murder Mystery SQL Challenge Incident Response Challenge Authentication Lab Walkthroughs Defcon CTF Archives Matrix Holiday Hack Cyber Defenders | Blue Team and CTF Crypto Hack - learning Crypto Video Learning Zero to Hero Pentesting by The Cyber Mentor