Skip to main content

Over the Wire - Bandit 21

Bandit 21

Objectives
There is a setuid binary in the homedirectory that does the following: it makes a connection to localhost on the port you specify as a commandline argument. It then reads a line of text from the connection and compares it to the password in the previous level (bandit20). If the password is correct, it will transmit the password for the next level (bandit21).


Solution

At first I thought there was already an open port with the application to send the password to.

bandit20@bandit:~$ lssuconnect


after running nmap and connecting to all the ports, I couldn't find one that would supply the password.....

so  let's role our own
we'll use netcat to setup a listener on a port we create that sends the password when connected to, then point their application in the home directory to connect to it and hopefully get our next password.

This does require two ssh sessions

SSH Server 

bandit20@bandit:~$ echo GbKksEFF4yrVs6il55v6gwY5aVje5f0j | netcat -lvp  55555listening on [any] 55555 ...



SSH Clientbandit20@bandit:~$ ./suconnect 55555


Results

SSH Server

connect to [127.0.0.1] from localhost [127.0.0.1] 48528gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr


SSH Client

bandit20@bandit:~$ ./suconnect 55555Read: GbKksEFF4yrVs6il55v6gwY5aVje5f0jPassword matches, sending next password



Password
gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr



now in python


import socketimport sys
# Create a TCP/IP socketsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Bind the socket to the address given on the command lineserver_name = 'localhost'server_address = (server_name, 55555)levelpass = 'GbKksEFF4yrVs6il55v6gwY5aVje5f0j'print >>sys.stderr, 'starting up on %s port %s' % server_addresssock.bind(server_address)sock.listen(1)
while True:    print >>sys.stderr, 'waiting for a connection'    connection, client_address = sock.accept()    try:        print >>sys.stderr, 'client connected:', client_address        connection.sendall(levelpass)        while True:            data = connection.recv(32)            print >>sys.stderr, 'received "%s"' % data            if data:                connection.sendall(data)            else:                break    finally:        connection.close()




output serverwaiting for a connectionclient connected: ('127.0.0.1', 56788)received "gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr"received ""

output client - still the same commandbandit20@bandit:~$ ./suconnect 55555
Read: GbKksEFF4yrVs6il55v6gwY5aVje5f0j
Password matches, sending next password


Read: GbKksEFF4yrVs6il55v6gwY5aVje5f0jPassword matches, sending next password

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