It
-
PE File Format(2)Basic knowledge/리버싱(Reversing) 2019. 3. 25. 20:11
1. RVA to RAW PE 파일이 메모리에 로딩 되었을때 각 섹션에서 메모리의 주소(RVA)와 파일 옵셋을 잘 매핑할 수 있어야 합니다. 이러한 방법을 RVA to RAW이라고 합니다. 1. RVA가 속해있는섹션을 찾습니다.2. 간단한 비례식을 사용해서 파일 옵셋(RAV)을 계산합니다. IMAGE_SECTION_HEADER 구조체의 비례 식은 다음과 같습니다. RAW - PointerToRawData = RVA - VirtualAddress RAW = RVA - VirtualAddress + PointerToRawData Q1. RVA = 5000일때 File Offset = ? 일단 RVA는 5000이므로 Section이 (".text")를 가리키고 있습니다.IMAGE_SECTION_HEADER 구..
-
level 2WarGame & 문제풀이/FTZ 2019. 1. 29. 10:29
아이디 : level2비번 : hacker or cracker 첫 들어오면 무조건 습관적이라도 해야 하는 행동 -> ls를 입력해 보자 ㅋㅋLevel1과 같이 hint가 있네요. 한번 확인해 보겠습니다.텍스트 파일 편집 중.. 쉘의 명령을 실행 시킬 수 있다..일단은 텍스트 파일 편집을 할 파일이 있어야 한다는 것인데…Level3의 권한을 가지고 있는 파일임이 분명합니다. 그렇다면 바로 find 명령을 이용해서 찾아 보겠습니다. 예상과 정확히 일치하는 파일이 딱 1개 있네요 ㅎ(1개여서 매우 감사함을 느끼고 있습니다 ㅋㅋ) Cd로 이동해서 실행을 해보도록 하겠습니다.정확히 editor파일은 level3의 권한을 가지고 있으며 level2가 접근 할 수 있도록 되어 있네요. 바로 실행해 보겠습니다. 텍스트..
-
python challenge-1WarGame & 문제풀이/pythonchallenge.com 2018. 12. 20. 22:11
Python challenge-0에 이어서 오늘은 1번 문제를 풀이 해보겠습니다. 문제 주소 : http://www.pythonchallenge.com/pc/def/274877906944.html 문제를 한번 보겠습니다. K->M O->Q E->G를 보고 바로 저 보라색 부분의 문장을 저 조건과 같이 바꿔주는 코딩을 바로 작성해 보았습니다. 1번줄 : re import를 사용 하기위해 선언 3번줄 : 저 보라색 문장을 담을 str변수 선언 및 초기화 5번~7번줄 : re.sub(pattern , repl , string [,count])이것이 re.sub()의 기본식 입니다. 5번줄 : str에 있는 문장에서 K나 k를 m으로 변환하여 slv에 넣는다.6번줄 : slv에 있는 문장에서 O나 o를 q로 변..
-
python challenge-0WarGame & 문제풀이/pythonchallenge.com 2018. 12. 20. 21:57
문제 주소 : http://www.pythonchallenge.com/pc/def/0.html 다음 사진이 문제입니다. 힌트를 한번 살펴 보면 2 38 이라는 숫자가 있고 아래의 영문으로 URL 주소 바꾸기를 시도하라고 되어있습니다. 2가 살짝 아래에 있는것 보니 2의38승을이야기 하는것 같습니다. URL주소는 이문제의 주소인 http://www.pythonchallenge.com/pc/def/0.html 이것 밖에 없는거 같구요. 그러면 2의 38승을 구해봅시다. 다음과 같이 for문을 이용해서 2의 38승을 구할수 있습니다. URL를 바꾸라고 했었으니 한번 다음과 같이 숫자부분을 바꿔 보았습니다. http://www.pythonchallenge.com/pc/def/274877906944.html
-
Level1WarGame & 문제풀이/FTZ 2018. 12. 3. 14:39
아이디 : level1 비번 : level1Hint가 있어서 바로 열어 봤습니다.Level2 권한에 setuid가 걸린 파일을 찾는다라.. Setuid와 관련이 있는 권한에 대해서 한번 공부해 보자.음.. 일단 모든 파일을 확인해서 setuid가 걸려있는 파일을 찾는걸 우선으로 해야할것 같다.해당 home 디렉터리 안에는 없는 것 같아서 find명령어를 사용해야 할 것 같다. Find 명령어에 대해서 좀 알아보면!그래서 setuid의 권한이 4000이므로 이에 대해 검색을 해보았다.여기서 정확히 4000보다는 4000을 포함하는 파일을 찾기 위해서 -4000을 옵션으로 사용했다. 사용한 명령어 : find / -user level2 -perm -4000거의 전부다 권한 때문에 접근이 불가능 했지만 딱 1..
-
[Toddler's Bottle] 5번.[passcode]$ 시스템 해킹 $/pwnable.kr 2018. 12. 2. 11:09
이번에 풀어볼 문제는 pwnable.kr의 5번문제인 [passcode] 문제 입니다.주요한 passcode.c 파일이 있네요 한번 확인해 보겠습니다.코드를 살펴 보면 main() -> welcome() -> login() 이 순서대로 들어가는 것을 알 수 있습니다.welcome()에서 이름을 입력 받은 뒤에 login()에서 passcode1,passcode2를 입력 받아서 if문으로 비교 해서 맞으면 /bin/cat flag를 실행 시키는 방식으로 이루어진 코드 인 것 같습니다. 한번 코드를 실행시켜서 338150와 13371337을 넣어보겠습니다.Segmentation fault 즉, 세그먼테이션 오류가 나네요 그 이유를 보니 scanf에서 &가 없습니다.&변수 형태가 변수가 들어있는 주소이고, 이..
-
[Toddler's Bottle] 3번.[bof]$ 시스템 해킹 $/pwnable.kr 2018. 12. 1. 23:17
이번에 풀어볼 문제는 pwnable.kr의 3번문제인 [bof] 문제 입니다.문제를 보니까 download가 있으니 한번 다운 받아 보겠습니다.URL 이 있기 때문에 wget 을 사용했습니다. 파일을 한번 확인 해 보겠습니다 음.. 일반폴더 하나와 c언어로 작성된 코드가 하나 있네요 내용을 확인해보면 func함수로 들어가서 값을 출력하는거 같은데..Key 값과 0xcafebabe와 일치해야 /bin/sh에 있는 flag가 나오는 코드인거 같네요 Key값은 func에 있는 0xdeadbeef 인거 같은데… 실행을 한번 해보겠습니다. 실행권한을 부여해주고 실행을 해보니 값을 입력 받으려고 하는거 같네요 저기에있는 0xcafebabe를 입력해보겠습니다. 안나오는 걸 보니 gdb를 이용해서 한번 리버싱 해보겠습..
-
[Toddler's Bottle] 4번.[flag]$ 시스템 해킹 $/pwnable.kr 2018. 11. 30. 22:33
이번시간에 풀어볼 문제는 www.pwnable.kr 의 4번째 문제 [flag]입니다.키워드를 한번 뽑아보면 packed // reversing // need binary 리버싱을 이용해야 하는 문제인거 같네요 일단 저 url을 이용해서 다운로드를 받아줍니다.그리고 파일이 무엇인지 확인합니다.실행했을때 힌트를 받을수도 있기 때문에 실행파일로 바꿔 봅시다.실행파일로 바뀌었다는 걸 알수 잇습니다. 실행을 한번 해보겠습니다. malloc() (동적할당) 과 strcpy 그리고 flag를 그곳에 둘것이니 가져가라 라는 뜻같네요 파일 분석을 한번 해보면..그냥 ELF형식의 64비트라는것을 알수 있네요. 32비트가 아니라는것은 알수 있었습니다. 그러면 이제 gdb을 이용해서 리버싱을 한번 해보겠습니다.gdb로 들어..