Multimaster Writeup As usual we start the enumeration with a nmap scan to find open ports and services running on them.
# Nmap 7.80 scan initiated Fri Sep 18 14:47:46 2020 as: nmap -sC -sV -oA nmap/tcp-initial -vv 10.
Oouch Writeup Starting the recon with a nmap scan to scan for ports and services running on them
PORT STATE SERVICE REASON VERSION 21/tcp open ftp syn-ack ttl 63 vsftpd 2.
Cascade Writeup We start with a nmap scan on the ip to scan tcp ports and the services running on them.
# Nmap 7.80 scan initiated Wed Apr 1 11:48:58 2020 as: nmap -sC -sV -oA nmap/tcp-initial -vv 10.
Challenge info ret2win is the first challenge from rop emporium’s series of challenges of learning ROP. The objection of the challenge is to
Locate a method within the binary that you want to call and do so by overwriting a saved return address on the stack
Fuzzing and exploiting vulnserver TRUN command It’s been a long time since I wrote a post now since the lockdown keeps extending so I decided to polish my skills of exploit development on windows.
Luke Recon Nmap Scan We begin our reconnaissance by running an Nmap scan checking default scripts and testing for vulnerabilities.
nmap -sC -sV -oA nmap/tcpInitial -vv 10.10.10.137 PORT STATE SERVICE REASON VERSION 21/tcp open ftp syn-ack ttl 63 vsftpd 3.
Heap 0 Source code The following is the source code for Heap 0 Challenge
#include <stdlib.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <sys/types.h> struct data { char name[64]; }; struct fp { int (*fp)(); }; void winner() { printf("level passed\n"); } void nowinner() { printf("level has not been passed\n"); } int main(int argc, char **argv) { struct data *d; struct fp *f; d = malloc(sizeof(struct data)); f = malloc(sizeof(struct fp)); f->fp = nowinner; printf("data is at %p, fp is at %p\n", d, f); strcpy(d->name, argv[1]); f->fp(); } Challenge In this challenge we need to modify the f-fp pointer to call winner function on running the program it outputs two address one is of data struct and other is of f struct clearly we can exploit this challenge using buffer overflow
Format 4 Source code The following is the source code for Format 4 Challenge
#include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int target; void hello() { printf("code execution redirected! you win\n"); _exit(1); } void vuln() { char buffer[512]; fgets(buffer, sizeof(buffer), stdin); printf(buffer); exit(1); } int main(int argc, char **argv) { vuln(); } Challenge In this challenge we need to execute hello() function we can do this by modifying our GLOBAL_OFFSET_TABLE we can do that by using arbitary memory write using format string vulnerabilty so first we need to find the address of exit() in global offset table