보안 강좌/CodeEngn 2023년 01월 29일 21:34 [CodeEngn] Basic RCE L08 풀이 안녕하세요 파일입니다. 요새 제가 병원에 다니느라 건강 상태나 멘탈 상태가 많이 악화되어서 한동안 글을 많이 못썼네요 ㅎㅎ 오랜만에 다시 돌아온 코드엔진 리버싱 문제 풀이입니다. 문제 OEP를 구하시오 Ex) 00400000 다운로드 실행 켜면 또 시리얼키를 물어볼 줄 알았는데 매우 신기하게도 이번 프로그램은 계산기입니다 ㅋㅋ 사실 문제에서 묻는게 OEP를 찾는것이기 때문에 그냥 이번엔 프로그램 생긴거만 구경하면 됩니다. 풀이 문제에서 찾으라고 한 것은 바로 OEP(Original Entry Point) 입니다. OEP를 찾는 문제는 바로 패킹에 관한 문제라고도 볼 수 있는데요. OEP는 앞전 문제에서도 찾아봤지만 패킹되기 이전의 본래 Entry Point 위치입니다. 프로그램을 패킹하면, 실행 코드 앞..
보안 강좌/CodeEngn 2023년 01월 16일 03:31 [CodeEngn] Basic RCE L07 풀이 문제 컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 'ß어떤것'으로 변경되는가 => 처음 문제를 읽어보고 "어떤것"도 아니고 "베타 어떤것"은 뭐지..? 했는데 오타인듯 싶습니다. CodeEngn 이라는 문자열이 프로그램에서 어떤것으로 변경되는지 묻는 문제입니다. 답 EqfgEngn 풀이 이전에 풀이했던 Abex CrackMe #5번에 해당하는 문제입니다. https://pgh268400.tistory.com/576 여기에 매우 자세한 풀이와 변경 알고리즘까지도 자세히 서술해놨기 때문에 (이 프로그램이 만드는 시리얼키 생성기 코드를 C언어로 작성해놓음) 정독하면 답을 알아내실 수 있을겁니다.
보안 강좌/CodeEngn 2023년 01월 12일 21:40 [CodeEngn] Basic RCE L06 풀이 문제 Unpack을 한 후 Serial을 찾으시오. 정답인증은 OEP + Serial Ex) 00400000PASSWORD 다운로드 실행 또 나온 시리얼 맞추기 문제입니다.. 이런 유형 말고 좀 신선한 유형은 없는걸까요 이제 슬 지겹네요 ㅎㅎ.. 아무거나 입력하면 당연히 틀렸다고 나옵니다. 이걸 찾아야 합니다. 또 문제에서 물어본게 시리얼 뿐만이 아니기 때문에 언패킹해서 OEP 도 확인해야 합니다. 풀이 일단 Unpack을 하라고 했으므로 패커 타입을 확인해봐야 하는데 역시나 UPX 입니다. 저번 Basic RCE L05번 풀이에서 패킹의 개념과 UPX 언패킹에 대해 자세히 설명드렸으므로 언패킹에 대해 다시 설명을 드리진 않겠습니다. 궁금하신 분들은 [링크] 를 타고 들어가서 글을 한번 읽어주세요. 또 ..
보안 강좌/CodeEngn 2023년 01월 11일 06:19 [CodeEngn] Basic RCE L05 풀이 문제 이 프로그램의 등록키는 무엇인가 다운로드 실행 리버싱 문제 국밥 유형인 등록키(시리얼키) 찾기 문제가 또 나왔습니다. 이번엔 입력할 라인이 2개네요. Username으로 추정되는 값 Unregistered... 랑 등록키로 추정되는 값 754-GFX-IER-954 는 이미 입력되어있습니다. 이상태서 Register now!를 누르면 당연히 실패했다고 나옵니다. 사실 시리얼키 보다도 저기 타이틀에 써져있는 영어 단어가 궁금했는데 꺼져! 라는 내용이네요 벌써부터 마음이 따뜻해집니다. 까칠한 반응과는 다르게 그래도 문제 난이도 자체는 쉬운편 입니다. 풀이 일단 풀기전에 주의할 점은 Detect it Easy(die.exe) 로 확인해보면 이 프로그램은 UPX로 패킹되어 있습니다. UPX(the Ultim..
보안 강좌/CodeEngn 2023년 01월 09일 02:56 [CodeEngn] Basic RCE L04 풀이 문제 이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가 다운로드 실행 프로그램을 실행해보면 이렇게 정상이라는 메세지가 계속 출력됩니다. 그런데 여기서 올리디버거 같은 프로그램으로 디버깅을 시도하면? 올리디버거는 *.exe 파일을 열어서 분석도 되지만, Attach 기능을 이용하면 실행중인 프로그램을 잡아 내어 분석도 가능합니다. Attach로 04.exe 프로세스를 잡았서 디버깅을 시도할려했더니 바로 디버깅 당함이 떴네요. 이 프로그램은 디버깅 감지 여부를 친절하게 알려준다만, 일반적으로 상용 프로그램이 디버깅을 감지한다면 이런 메세지 없이 얄짤 없이 프로그램이 튕겨버리겠죠? ㅎㅎ 04.exe 프로그램을 우선 IDA로 뜯어서 이 프로그램이 어떤 로직으로..
보안 강좌/CodeEngn 2023년 01월 06일 00:21 [CodeEngn] Basic RCE L03 풀이 문제 비주얼베이직에서 스트링 비교함수 이름은? 다운로드 풀이 문제 자체에서 질문하는건 비주얼 베이직 스트링 비교함수 이름입니다. 그래서 사실 비주얼 베이직으로 만들어진 프로그램들 뜯어서 리버싱을 많이 해봤으면 저 프로그램을 분석 안해도 답을 알 수 있긴합니다. 그래도 일단은 03.exe 자체가 비주얼 베이직으로 만들어진 프로그램이기도 하고, 03.exe 안에서 사용된 스트링 비교 함수 이름을 답으로 입력해야 정답으로 인정될 듯 합니다. (비주얼 베이직에서 문자열 다루는 함수가 딱 1개만 있는건 아닙니다.) 일단은 03.exe가 무슨 프로그램인지 확인해보기 위해 실행해보겠습니다. 어.. 음.. 영어가 아니네요 러시아어 인가..? 키니깐 RegCode에 맞는 키를 입력하고 Regist... 버튼을 눌러야 인..
보안 강좌/CodeEngn 2023년 01월 05일 20:51 [CodeEngn] Basic RCE L02 풀이 문제 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오 다운로드 다운로드는 여기서 해볼 수 있습니다. 모든 파일 출처는 코드 엔진 사이트에 있습니다. 풀이 문제에서 보셨듯이, 패스워드로 인증하는 실행 파일이 "손상" 되었다고 나옵니다. 아마 PE구조가 손상된 거 같네요. 그래서 이번 문제는 실행해서 무언가 분석해볼 필요가 없습니다. 실행 자체가 안되는 깨진 실행 파일이기 때문에 올리디버거로 열어서 분석할 수도 없습니다. 반대로 말하면 이번 문제는 올리디버거로 동적 분석 할 필요도 없다는 것입니다. * IDA로 열면 일단은 열리긴합니다. 열어도 별로 할 수 있는건 없습니다. 오늘은 HxD(Hex Editor) 를 이용해서 02.exe 파일을 열어볼겁니다. ..
보안 강좌/CodeEngn 2023년 01월 05일 01:42 [CodeEngn] Basic RCE L01 풀이 개요 코드엔진(https://ch.codeengn.com/) 사이트에서는 리버싱을 실습해볼 수 있도록 다양한 리버싱 문제를 난이도에 따라 제공하고 있습니다. 리버싱을 연습해보고 싶다면 한번 이용해보시는것도 나쁘지 않습니다. 이외에도 Reversing.Kr(http://reversing.kr/challenge.php) 도 리버싱 연습 사이트로 좋습니다. 문제 Basic RCE L01 HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가 답 : 5 풀이 본 문제는 CrackMe 문제중 유명한 abex crackme 1번에 대한 문제입니다. 이미 이 문제에 관해서 상세한 분석 결과 및 해설을 작성했으므로 아래 링크를 참고하시면 됩니다. https://pgh268..