본문 바로가기

분류 전체보기

(137)
reversing kr Replace 처음 파일을 다운로드받으면 Replace.exe 파일 하나가 주어진다. 실행하면 이렇게 입력받는 부분이 있다. 아마 검사해서 맞으면 Correct 라고 띄워주겠지.유의할점은 숫자만 입력가능하다 공백도, 문자도 다 불가능하다. 아무 숫자나 입력하고 Check를 눌렀을때.. 뻑난다.. 올리디에 던져서 성공문을 찾아보았다. 없다.의심가는건 맨위의 h4`~~ 정도? GetDlgItemInt는 숫자를 받아오는 함수이다.입력을 숫자로만 할 수 있었으니까, 여기에 브레이크포인트를걸고 살펴보도록하자. GetDlgItemInt 함수에 브레이크포인트를 건 상태에서 1111을 입력하고Check를 눌러주었다. 걸렸다. 사진을 대충 설명하자면GetDlgItemInt 함수에서 받아온 숫자를4084D0 에 저장하고나서0040466..
reversing kr Music Player zip파일을 압축해제하면 다음과 같이 3개의 파일이 나온다. ReadMe.txt를 읽어보면 이 MP3 Player는 1분 제한이 있고, 1분 이상 재생하면 플래그를 얻는다고한다. 실행시켰다. 1분동안 듣고나니 1분 미리듣기만 가능하다고 메시지박스가 뜬다. 올리디로 던져서 MsgBox라는 함수에 모두 브레이크포인트를 잡아주었다.이제 저 미리듣기만 가능합니다. 라고 뜨는 부분에서 브레이크포인트가 잡히겠지 잡혔다. 바로 이 부분이다근데 어디서 시간을 검사하는건가?위아래로 조금씩 더 훑어보았다. 저 MsgBox 함수 조금 위 부분에 보면CMP EAX,0EA60 이 있다.16진수 EA60은 10진수로 60000이다. 즉 1분이다이 부분을 1분보다 초과되도록 바꿔주자 필자는 FA60으로 바꾸어주었다. 하지만 EA6..
reversing kr Easy ELF elf 파일이다. elf 파일은 리눅스상에서 쓰여지는 파일 형식이다. elf다.. 하.. 올리디는 당연히 안되서 IDA로 열어보았다. 열자마자의 사진이다. 별로 중요하지않다. 이곳이 바로 입력받은걸 토대로 하나하나 비교해주는 곳이다.대충 정리하자면 5개의 문자를 비교한다.입력받은 5개의 문자를 연산한뒤에 비교한다.첫번째 34 ^ 78두번째 31세번째 7c ^ 32네번째 dd ^ ffffff88다섯번째 58 ^ 0이렇다.이걸 토대로 코드를 짜서 해결하였다. 12345678910string = [] string.append(chr(0x34 ^ 0x78))string.append(chr(0x31))string.append(chr(0x7c ^ 0x32))string.append(chr(0xdd ^ 0x88))s..
reversing kr Easy Unpack 받은 zip 파일을 풀면 사진과 같이 두개의 파일이 있다. ReadMe.txt 부터 읽어보면OEP를 찾으란다. 언팩하라는 말이다. 실행하면 아~~~무것도 안뜬다. peid로 올려보아도 Nothing found이다. 올리디버거에 던져보면, 엄청난 코드들이 등장한다.하지만 언패킹에서 중요한 것 한 가지를 기억하자.맨 마지막에 JMP문으로 OEP로 돌아간다는 것! 그래.. 제일 밑으로 내려가서 JMP문을 찾아보자... JMP문을 찾았다. OEP로 가는곳이다.여기에 브레이크포인트를 설치하고 쭉 실행시키고 OEP로 넘어가자. OEP를 찾았다. 끝.
reversing kr Easy Keygen zip파일을 받아서 압축을 풀면 사진과 같은 두 파일이 들어있다. ReadMe.txt부터 읽어보면시리얼이 5B134977135E7D13 일때의 이름을 찾으라고한다. 일단 실행해서 Name에 p3ngdump, Serial에 1234를 넣어줘봤다.틀렸다고한다. 올리디버거로 던져서 메인부분으로 들어와보면왼쪽 밑 부분에 Wrong, Correct 등등의 문자열이 보인다.저 곳으로 넘어가서 함수를 분석해보자. 스트링 검색으로 Correct 부분의 함수를 찾았다.그 곳으로 넘어가보자. 함수의 시작부이다.이름을 입력받는다. 딱히 다른일은 하지 않는다. 이름을 입력받고 나서 그 이름으로 무슨 연산을 계속 한다.xor을 해주고, or을 해주고.. 분석해보자면, 이름의 첫 문자부터 끝 문자까지 ecx의 값과 xor을 해준..
reversing kr Easy Crack 파일을 처음 다운로드받으면 위 사진과 같은 파일이 주어진다. 일단 실행시켜보면, 무언가를 입력받고 확인을 누르게끔 되어있다.무언가 입력받고 확인을 누르면 안에서 키와 비교를 거치고 성공문과 실패문을 출력해준다. 일단 키를 모르니까 1234라고 입력해주고 확인을 눌러봤다. 틀렸댄다. 당연한거다. 틀렸다. 이제 이 프로그램을 올리디로 던져서 내부 루틴을 한번 보도록하자 처음 올리디로 던지고 메인으로 넘어온 상태다.왼쪽 밑 부분을 살펴보면 Incorrect Password, Congratuation!! 이 보인다.저 곳을 찾아 이동해보도록 하자 스트링을 검색해보면 저렇게 떡하니 스트링들이 나와있다.저 곳으로 이동해서 저 함수 전체를 봐보도록 하자. 중요 부분만 보게되면004010B0에 입력받은 값과 61을 비..
번외 04. [정보보안기사/산업기사] 보안모델 BLP 모델 단순 보안 속성(Simple Security Property) : 주체는 상급 등급의 정보 읽기 불가, 상향 읽기 금지, 하향 읽기 허용성형 보안 속성(Star Security Property) : 주체는 하급 등급의 정보 기록 불가, 하향 기록 금지, 상향 기록 허용특수 성형 속성(Strong Star Property) : 동일한 레벨에서만 읽기/쓰기 가능 Biba 모델 단순 무결성 속성(Simple Integrity Property) : 주체는 더 낮은 무결성 레벨로부터 데이터 읽기 불가(낮은 무결성 레벨로 인한 데이터 손상 방지), 하향 읽기 불가, 상향 읽기 허용성형 무결성 속성(Star Integrity Property) : 주체는 더 높은 무결성 레벨에서 데이터 작성 불가, 상향 ..
번외 03. [정보보안기사/산업기사] MAC,DAC,RBAC MAC (Mandatory Access Control) 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 접근통제장점 : 중앙집중, 안정적단점 : 구현 및 운영의 어려움, 성능과 비용이 고가적용사례 : 방화벽 DAC (Discretionary Access Control) 접근하고자 하는 주체의 신분에 따라 접근권한을 부여하는 접근통제장점 : 유연함, 구현 용이단점 : 트로이목마에 취약, ID 도용시 통제방법 없음적용사례 : ACL RBAC (Role Based Access Control) 주체와 객체 사이에 역할을 부여하여 임의적, 강제적 접근통제의 약점을 보완한 방식장점 : 관리용이적용사례 : HIPAA