[P4C] Pwnable problem 2
2021. 4. 10. 01:48
Hacking/Pwnable
1. 문제 #define _GNU_SOURCE #include #include #include void vuln(){ char buf[30] = ""; void (*read_addr)() = dlsym(RTLD_NEXT, "read"); printf("I'll give you some hint\n"); printf("read address : %p\n", read_addr); read(0, buf, 90); } void main(){ printf("do you know RTL?\n"); vuln(); } 다음과 같이 빌드해줍니다. gcc -m32 -fno-stack-protector -o problem problem.c -ldl 2. HINT NX bit + ASLR이 적용된 상황에서 어떻게 RTL 기법..
[P4C] Pwnable problem 1
2021. 4. 10. 00:52
Hacking/Pwnable
1. 문제 #include #include #include void vuln(char src[]){ char buf[50]; strcpy(buf, src); printf("buf_addr : %p\n", buf); } void main(){ char src[100]; printf("Do you know Return to Shellcode?\n"); printf("Enter Please :)\n"); read(0, src, 100); vuln(src); } 다음과 같이 빌드해줍니다. gcc -o problem problem.c -fno-stack-protector -fno-pie -z execstack -mpreferred-stack-boundary=2 -m32 2. HINT segmentation 오류가..
[Webhacking] 자동 분석 도구 공격
2021. 4. 2. 00:12
Hacking/Webhacking
자동 분석 도구를 사용하는 이유? 다음 네 가지 정보를 확인하기 위해서이다. 1. 서비스의 디렉터리 구조와 파일 정보 확인 ➢ 한 페이지씩 클릭을 해서 확인하기 힘들기 때문에 크롤링 기법으로 링크를 따라가며 확인 2. 서비스의 불필요한 페이지 존재 확인 ➢ 사전파일(Dictionary)을 이용하여 테스트 페이지, 백업 파일 확인 3. 서비스 페이지 내 버전 정보 확인 ➢ 버전 정보가 노출되면 공격코드(Exploit-DB)와 매칭하여 공격 가능 4. 관리자 페이지 등의 인증 없이 접근하는 페이지 확인 ➢ 인증 처리가 되지 않은 페이지에 접근되면 중요 정보 노출 가능성 실습 실습 환경 : 공격자 pc(kali-linux-2021) -> 프록시 -> Beebox 1. 공격자 pc(kali-linux)에서 OW..
[Pwnable] python으로 인자 및 stdin 전달
2021. 4. 1. 17:42
Hacking/Pwnable
1. shell에서 python으로 바이너리에 stdin 전달 (python -c 'print "A"*10';cat) | 2. shell에서 python으로 바이너리에 인자 전달 ./program `python -c 'print "A"*10'` 3. gdb에서 python으로 바이너리에 stdin 전달 r < 만약 로컬이 아닌 서버에 접속해야 할 경우, 뒤에 | nc (접속정보) 를 붙여준다.
[Pwnable] Lazenca - ROP(x64) 정리
2021. 3. 30. 01:35
Hacking/Pwnable
Return Oriented Programming(ROP) -x64 ROP( Return-oriented programming )는 공격자가 실행 공간 보호(NXbit) 및 코드 서명(Code signing)과 같은 보안 방어가있는 상태에서 코드를 실행할 수있게 해주는 기술이다. RTL + Gadgets 이 기법에서 공격자는 프로그램의 흐름을 변경하기 위해 Stack Overflow 취약성이 필요하고, "가젯(Gadgets)"이라고 하는 해당 프로그램이 사용하는 메모리에 이미 있는 기계 명령어가 필요하다. 각 가젯은 일반적으로 반환 명령어(ret)로 끝이나며, 기존 프로그램 또는 공유 라이브러리 코드 내의 서브 루틴에 있다. Gadgets - POP; POP; POP; RET x86의 경우 pop 명령어..
[Pwnable] Lazenca - ROP(x86) 정리
2021. 3. 29. 19:23
Hacking/Pwnable
Return Oriented Programming(ROP) -x86 ROP( Return-oriented programming )란? 공격자가 실행 공간 보호(NXbit) 및 코드 서명(Code signing)과 같은 보안 방어가있는 상태에서 코드를 실행할 수있게 해주는 기술이다. RTL + Gadgets 이 기법에서 공격자는 프로그램의 흐름을 변경하기 위해 Stack Overflow 취약성이 필요하고, "가젯(Gadgets)"이라고 하는 해당 프로그램이 사용하는 메모리에 이미 있는 기계 명령어가 필요하다. Gadgets - POP; POP; POP; RET ROP는 기본적으로 RTL 기법을 이용하며, 공격자는 RTL과 Gadgets을 이용해 공격에 필요한 코드를 프로그래밍 하는 것이다. 01.RTL(R..
[Webhacking] Nmap
2021. 3. 26. 14:46
Hacking/Webhacking
Nmap 기본 옵션들 - sT : TCP protocol에 대해서 검사 - p : 특정 포트에 대해서만 검사 -sV : 서비스 버전 정보까지 나옴. - A : 서비스 버전 정보와 운영체제 버전 정보, 스크립트를 이용한 정보 획득 버전 정보등이 노출되면 위험한 이유 exploit db : 버전에 해당하는 exploit-code 검색 가능 searchsploit 이용해서도 마찬가지로 해당 버전에 해당하는 취약점을 찾을 수 있음.