본문 바로가기

Security_59

[Pwnable.kr] random 풀이 srand를 안쓰므로 실행 할 때마다 랜덤값이 고정이다. $rbp-0x8은 내가 입력한 0이고, $rbp-0x4는 고정 random 값이다. key ^ random 값이 0xdeadbeef와 같아야 하기 때문에 0xdeadbeef ^ 0x6b8b4567 을 하면 내가 입력해야할 값이 나온다. (0xB526FB88) int형으로 넣어줘야하기 떄문에 0xB526FB88을 정수로 바꾸면 3039230856이 된다. 2022. 2. 19.
[Pwnable.kr] passcode 풀이 (#GOT Overwrite) 오랜만의 pwnable.kr 이당.. C언어로 작성한 코드를 컴파일 할 때 에러는 없었고 경고는 나왔다고 한다.. passcode로 접속을 해보자. #include #include void login(){ int passcode1; int passcode2; printf("enter passcode1 : "); ##################################################### scanf("%d", passcode1); # >> scanf("%d", &passcode1); ##################################################### fflush(stdin); // ha! mommy told me that 32bit is vulnerable .. 2022. 2. 13.
checksec 설치 git clone https://github.com/slimm609/checksec.sh cp ./checksec.sh/checksec /usr/local/bin/ 2022. 2. 1.
ropgadget 설치 sudo pip install ropgadget sudo pip3 install ropgadget 2022. 2. 1.
one-gadget 설치 sudo apt-get install ruby-full gem install one_gadget 2022. 2. 1.
gdb - peda 설치방법 gdb 설치 sudo apt-get install gdb -y peda 설치 git clone https://github.com/longld/peda.git ~/peda echo "source ~/peda/peda.py" >> ~/.gdbinit 2022. 2. 1.
[Docker] 명령어 정리 이미지 관련 도커 이미지 검색 docker search ubuntu 도커 이미지 다운로드 (태그가 없으면 가장 최신 버전이 다운로드 된다.) docker image pull ubuntu 도커 특정 버전 이미지 다운로드 (태그를 붙여준다.) docker image pull ubuntu:18.04 도커 이미지 목록 출력 docker image ls 도커 이미지 제거 docker image rm ubuntu 컨테이너 관련 도커 컨테이너 시작 - 컨테이너가 부팅되고 빈 명령어 실행 후 종료된다. docker container run ubuntu:18.04 도커 /bin/bash로 실행 (-it 옵션이 상호작용 옵션) docker container run -it ubuntu:18.04 /bin/bash 도커 활성.. 2022. 2. 1.
[Pwnable] Gadget 구하기 ROPgadget (POP RET Gadget) $ ROPgadget --binary [실행 파일] | grep "pop rdi" 0x0000000000000aa3 : pop rdi ; ret objdump (.bss Section) $ objdump -h [실행 파일] | grep .bss 23 .bss 00000020 0000000000201010 0000000000201010 00001010 2**4 $ bss = 0x0000000000201010 One Gadget / Magic Gadget $ one_gadget /lib/x86_64-linux-gnu/libc-2.31.so 0xe6c7e execve("/bin/sh", r15, r12) constraints: [r15] == NULL || r1.. 2022. 1. 29.
[Pwnable] ROP 정리 파일 32bit # read(0, read_got, 0x4) payload += p32(read_plt)# 함수 이름 : read_plt paylaod += p32(pppr)# 인자 개수 : pop pop pop ret payload += p32(0)# 인자 1 : 0 payload += p32(read_got)# 인자 2 : read_got payload += p32(0x4)# 인자 3 : 0x4 64bit # read(0, read_got, 0x8) paylaod += p64(pppr)# 인자 개수 : pop pop pop ret payload += p64(0)# 인자 1 : 0 payload += p64(read_got)# 인자 2 : read_got payload += p64(0x8)# 인자 3 : 0.. 2022. 1. 29.
gcc 메모리 보호 기법 해제 gcc -m32 -fno-stack-protector -mpreferred-stack-boundary=2 -z execstack -no-pie -fno-pie -o [filename] [filename].c fon-pie를 해야 PIC 코드가 안생긴다. * -m32가 있어 32비트 실행파일로 컴파일 된다. -m64로 바꾸면 64비트 실행파일로 컴파일 가능. 2021. 12. 16.
[해결] IDA 40343 Error 해결방법 Oops! internal error 40343 occured. IDA를 사용하려고 했는데 40343에러가 나왔다.. 40343 에러는 IDA 실행파일 또는 분석 파일이 영어로 된 경로가 아니면 뜨는 에러다. IDA 실행파일 과 분석 파일을 모두 경로가 영어로 되어있게 해주면 에러가 안뜬다. 2021. 10. 4.
[저장매체] ATA / PATA / SATA ATA(Advanced Technology Attachment) - 하드디스크, CD-ROM등 저장 장치의 표준 인터페이스 - IDE(Integrated Drive Electronics)라는 용어랑 혼재되어 사용 - 병렬 전송 방식을 사용하는 PATA(Parallel ATA) / 직렬 전송 방식을 사용하는 SATA(Serial ATA) 로 발전 PATA(Parallel ATA) - 40핀의 단자가 리본 케이블로 드라이브를 연결 - 16비트의 데이터를 한 번에 전송 - SATA 이전에 많이 쓰여졌다. SATA(Serial ATA) - 컨트롤러에 따라 5~8개 까지 연결 가능 - SATA1은 150MBps / SATA2 에서는 300MBps / SATA3 에서는 600MBps 전송률 지원 - 전원이 켜져 있.. 2021. 9. 29.
[저장매체] SSD(Solid State Drive) SSD - 주로 NAND 플래시 메모리 이용 - 하드디스크와 달리 반도체 메모리를 내장하여 하드디스크에 비해 외부 충격에 강하다. - 하드디스크에 비해 읽기, 쓰기, 접근 시간이 빠르고, 소비 전력, 소음, 발열이 낮다. - 저쟁매체로 일반 RAM을 탑재한 모델과 Flash Memory를 탑재한 모델이 존재 - TRIM, GC(Garbage Collection)과 같은 기능이 있어 이미징시 주의해야한다. * TRIM, GC(Garbage Collection) : 불필요한 데이터를 삭제해주는 기술 - 운영체제에서 파일을 삭제할 때 하드디스크는 덮어쓸 수 있지만, SSD는 덮어쓰기가 불가능하여 데이터를 지운 후 저장한다. (TRIM은 지워진 데이터의 공간을 미리 비워두는 역할을 하고, GC는 SSD의 컨트롤.. 2021. 9. 29.
[저장매체] 플래시 메모리(Flash Memory) 플래시 메모리(Flash Memory) - 전기적으로 데이터를 지우고 재기록이 가능한 비휘발성 기억 장치 - 소비 전력이 작다. - EEPROM과 다르게 여러 구역으로 구성된 블록안에서 지우고 쓰기가 가능 - 블록 단위 프로그래밍 방식을 사용해서 EEPROM보다 빠르다. 한계 - 블록 단위로 지워야 한다. - 덮어 쓸 수 없어 모든 블록을 지우기 전까지 해당 자료 변경 불가 종류 - NOR 플래시 메모리 / NAND 플래시 메모리로 구분 가능 NOR 플래시 메모리 - 임의 접근 방식으로 속도가 빠르다. - MMC 카드나 Compact 플래시 메모리, 휴대폰이나 셋탑박스에 사용 * Compact Flash Memory : 작은 반도체 칩 카드 - 제조사에서 출시 할 때 모든 셀(Cell)의 상태는 1로 세.. 2021. 9. 29.
[Forensic] HPA / DCO 정리?! HPA(Host Protected Area) - ATA(Advanced Technology Attachment)-4 표준에서 추가된 기능 - HDD에 의해 미리 예약된 영역으로 BIOS를 통해 접근할 수 없다. (OS에서 볼 수 없다) 사용처 - 시스템 부팅이나 진단 유틸리티 - CD, DVD 없이 시스템 복구를 위해 - 노트북 보안 유틸리티 저장 - 루트킷을 통한 악의적인 용도 및 데이터 은닉 HPA 명령어 - IDENTIFY DEVICE : 현재 BIOS를 통해 접근 가능한 영역 리턴 - SET MAX ADDRESS(EXT) : BIOS를 통해 접근 가능한 영역 설정 (HPA 생성) - READ NATIVE MAX ADDRESS(EXT) : 실제 디스크 전체 영역을 리턴 DCO(Device Confi.. 2021. 9. 29.