Skip to main content

Toppo 1 Walkthrough - Vulnhub Machine

Hello Friends,

This is my second write-up on a vuln machine Toppo 1 made by my bro Hadi Mene.
Let's get Started ....
After running nmap for the target machine , I found port 80 was open so I started enumerating from there.
The first thing I try for any web app based challenge is - Running Dirbuster ;)
Found an interesting file i.e notes.txt . Let's check it out in browser .
Great, we got some password. It can be ssh credential or ftp etc. Since ftp port is closed therefore let's go for ssh login .
Tried ted123 and ted as username . Luckily "ted" worked for me .
So username - ted
pass- 1234ted123
Now comes the privilege escalation part . This was the easiest part since this covers the basics of privilege escalations through SUID.
I checked for the binaries whose setuid were enabled .
setuid bit-
Binaries with the setuid bit enabled, are being executed as if they were running under the context of the root user. 

That moment when you see python binary with setuid enabled.
I wrote a small python script in-order to run system commands .

Running this script with python2.7 helped me run commands with root privileges.

Yippeee !!! Easy and Good for Beginners :)

Don't forget to study more about SUID ;) Thanks for reading .. !!


Popular posts from this blog

Review of Pentester Academy - Attacking and Defending Active Directory Lab

Few months ago I didn't know what Active Directory is, and why should I care about it and never heard about ACL abuse and all. Although I had attended a BPAD (Breaking and Pwning Active Directory) training which was provided by Nullcon but I was not confident enough to go for this course exam, since my day-today activity involves VAPT stuffs related to Web/Network/Mobile and sometimes basic malware analysis (very basic one :p).  I started doing offshore lab and took help from some friends in understanding few Active Directory concepts. I did many silly mistakes during the lab and learned a lot. Meanwhile I registered for Active Directory Lab Course and got it in a discounted offer for first 50 students of about 11k INR  ( 1 mont lab access) :). Before wasting time any further let's dive into the review. The course - Certification - Certified Red Team Professional The Course Content  - After paying the course fee,

Backdoring PE files using code caves : OSCE/CTP Module 0x03 (OSCE Preparation)

Hello Readers, This post will cover Backdooring of P.E file by using code caves . There are already good tools to do this for you eg. Backdoor Factory and Shelter which will do the same job and even bypass some static analysis of few antiviruses . I will be covering the manual approach of backdooring a PE file . Let's understand some terms : [x] PE file : The Portable Executable (PE) format is a file format for executables, object code, and DLLs, used in 32-bit and 64-bit versions of Windows operating systems. [x] Code Cave : Wikipedia says - "A code cave is a series of null bytes in a process's memory. The code cave inside a process's memory is often a reference to a section of the code’s script functions that have capacity for the injection of custom instructions. For example, if a script’s memory allows for 5 bytes and only 3 bytes are used, then the remaining 2 bytes can be used to add external code to the script." [x] Shellcode : Wikipedia - &qu

Exit Shellcode x86

Exit in Assembly : For writing exit assembly program we need to check exit syscall reference number . I use this online man page : / From above we can conclude that for exit system call we need 2 registers : [x] EAX => Eax should contain exit sys call number (0x01) [x] EBX => Ebx should contain  error code (0 for normal exit) A good shell-code : [x] Should be Null free [x] Smaller in length [x] Position Independent Below is my code : I wrote a small script to compile and assemble nasm program and extract the shellcode from it then saving the shellcode into a c file and compiling the new c program. Here is my script : Tweaked some instructions :p Next you can debug and check the execution in gdb by setting breakpoints and stepping instructions one by one . Below is my gdb console before calling interrupt int 0x80 showing the value of eax and ebx as expected :)