본문 바로가기

분류 전체보기

(59)
Giddy 1. Reconnaissance1-1 nmap 실행┌──(root㉿DESKTOP-SQ6IV61)-[/home/surckers]└─# nmap -sT -p- --min-rate 10000 10.129.96.140Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-15 15:20 KSTNmap scan report for 10.129.96.140Host is up (0.28s latency).Not shown: 65531 filtered tcp ports (no-response)PORT STATE SERVICE80/tcp open http443/tcp open https3389/tcp open ms-wbt-server5985/tcp open w..
textbook-des__crypto 1. 코드 분석class TDES: def __init__(self, key1, key2): assert len(key1) == 8 assert len(key2) == 8 self.keys = [key1, key2, key1] self.cipher = [DES.new(key, DES.MODE_ECB) for key in self.keys] self._block_size = 16 def encrypt(self, plaintext, mode): assert len(mode) == 3 for m in mode: assert m in 'ED' assert len(plaintext) ..
arm traning v2 1 바이너리 분석1) main 함수v1 과 동일하며, code영역의 가젯 주소 필요2) gadget 1  함수==> system(id)를 실행 3) gadget 2 함수 - r11(FP) 을 sp + 4로 설정하여 프레임 포인터 초기화 - ldr(load register) 특정 메모리주소로 부터 데이터를 로드하여 레지스터에 저장   => DAT_000105cc 의 주소 값 r3 에 저장   => r3의 offset 0x0 만큼의 주소값을 r3의 값으로 저장 - r3의 값을 r0 에 저장 - puts(r0) r0 주소의 값 /bin/sh 을 출력 2. 공격 시나리오- 0x18 바이트 만큼 더미 값 입력- 리턴주소에 pop {r3, pc} 의 주소를 덮어 r3 값 조작   > ROP Chain       >..
arm training v1 (pwn) 1 기드라로 바이너리 분석1) main 함수 -  auStack_1c 배열에 20바이트 만큼의 공간 할당 - read() 함수를 이용해 해당 버퍼에 200만큼의 입력 바음    => 따라서, 스택 버퍼 오버플로우 취약점을 이용하여, main 함수의 리턴 주소를 덮어쓰는 행위 수행 가능 - 해당 취약점의 공격 방식 결정을 위해 checksec 수행   => 스택카나리 및 PIE는 비활성화 되어 있고, NX만 황성화 되어 있는 것으로 보여 code 영역에위치한 가젯 주소 필요 (NX : 프로세스 명령어와 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 cpu 기술)[코드 분석 상세] 1-1) stmdb sp!, {r11,lr}    > opcode : stmdb => Store Multiple D..
no mov 1. 코드 분석#include #include #include #include #include #include #include #include #include //입출력 시 버퍼링 하지 않도록 설정void initialize() { setvbuf(stdout, 0, _IONBF, 0); setvbuf(stdin, 0, _IOLBF, 0); setvbuf(stderr, 0, _IOLBF, 0);}//문자열을 입력받아 금지된 바이트 코드 포함 여부를 확인함int verify(uint8_t *sh, int len) { const uint8_t banned[] = { 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8E, // MOV //0x88, 0x89..
escape(windows) 1. Enumeration1-1 nmap 실행┌──(root㉿DESKTOP-SQ6IV61)-[/home/surckers]└─# nmap -p- --min-rate 10000 10.129.12.199Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-16 14:03 KSTNmap scan report for 10.129.12.199Host is up (0.29s latency).Not shown: 65515 filtered tcp ports (no-response)PORT STATE SERVICE53/tcp open domain88/tcp open kerberos-sec135/tcp open msrpc139/tcp open ne..
uaf_overwrite 문제코드// Name: uaf_overwrite.c// Compile: gcc -o uaf_overwrite uaf_overwrite.c#include #include #include #include struct Human { char name[16]; int weight; long age;};struct Robot { char name[16]; int weight; void (*fptr)();};struct Human *human;struct Robot *robot;char *custom[10];int c_idx;// 초기값 0void print_name() { printf("Name: %s\n", robot->name); }void menu() { printf("1. Human\n"); ..
rev-basic-3 IDA 로드주언진 심볼 파일(.pdb) 가 없기 때문에 아래 메시지 No 선택다음과 같은 화면에서 F5키를 눌러 디컴파일 진행, main 함수 부터 분석 시작 main 함수 main 함수 분석- char형 배열 v4에 256개의 원소가 들어갈 수 있는 공간을 "스택"에 할당 => malloc과 같은 할당이 아니기 때문에 힙이 아닌 스택에 공각 생성됨- memset (v4, 0, sizeof(v4));  => v4를 0으로 채움 - "Input : " 출력 후, v4에 256바이트의 문자열을 사용자에게 입력 받음 - sub_140001000 함수에 v4 인자를 주고, 반환값이 True 일 경우 "Correct" 출력 sub_140001000 함수for문을 0x18 = 24회 반복하며, if 문 체크, if..