본문 바로가기

분류 전체보기

(550)
[2020.05.17] IDA PRO FREE | 실습해보기 1편 여러 자료를 복합해 독학하며 적어본 내용입니다. 혹시 저작권상의 문제가 있다면 바로 조치 하겠습니다 감사합니다 ​ 리버싱 공부를 해보며, IDA실습에 대해 어느 정도 필요성을 느끼게 되었다 그래서 IDA공부를 해보고자 했는데 사실 리버싱 만으로 IDA를 바로 입문하기에는 쉽지 않더라 그래서, 악성코드를 시작으로 IDA를 입문해보기로 하였다! 악성코드의 경우는 IDA실습이 꽤나 잘되어 있기 때문에...! Practical Malware Analysis를 통해 진행해보기로 하였고, 우리는 사실 악성코드 자체 분석이 목표는 아니므로.... 사용법을 익히는 것과 조작키, 읽는 방식 등을 알아보기로 하였다. ​ 내가 분석하게 된 파일은 이 책에서 제공해주는 실습파일이다. 사실 이미 외국버전으로 유명한 책이라 실습..
[2020.05.17] Reversing.kr | AutoHotkey2 문제 http://reversing.kr의 AutoHotkey2 문제를 풀어보도록 하자. 문제를 클릭하면 AHK2.zip 파일이 다운받아진다. zip파일을 풀고 readme.txt 파일을 열면 다음과 같은 내용을 확인할 수 있다. ahk2.exe파일을 그냥 실행시키면 "EXE corrupted"라는 메세지 박스가 뜬다. AutoHotkey1 문제처럼 OEP로 이동한 후 마우스를 우클릭 하여 [Search for] > [All referenced text strings]를 눌러 문자열을 확인한다. "EXE corrupted" 문자열을 확인할 수 있다. 더블클릭하여 "EXE corrupted"로 이동한다. 프로그램을 실행하면 함수 004508C7 내에서 crc체크에 걸려서 exe corrupted이라는 문자열을 ..
[2020.05.14] CSAW365 | Gametime CTF문제를 풀어보며, 새로운 CTF 사이트를 접하게 되었다 정말 내가 풀 수 있을 만한 난이도로, 완전 기초부터 적당한 난이도였고 이제 답지를 보지 않고 스스로 해결해 보고 싶어서 처음 시작하게 되었다! ​ 웹, 크립토, 리버싱, 포너블, misc 등 분야별로 문제가 있는데 분야별로 문제 수도 굉장히 고르게, 난이도도 고르게 많아서 좋은 것 같다 ​ 이번 문제는 1번 이기 때문에 그다지 어렵지 않을거라 예상 했지만, 답지를 안보고 푸는 것이라 다른 의미로 고민을 많이 했던 것 같다. 문제 자체는 쉽다:D 문제는 위와 같다 Gametime이라는 문제인데, 제목에서처럼 프로그램을 실행하면 Game이 나온다 그런데 여기서 참고사항은 The flag is not in the flag{} format이다. 흔히..
[2020.05.14] CSAW365 | Gametime | Gametime Reversing.kr의 문제들이 너무 어려워서 이번엔 사이트를 바꿔보았다. CSAW 365라는 워게임 사이트의 Gametime 문제를 풀어보겠다. 파일을 실행시키면 다음과 같은 게임이 실행된다. 카운트다운이 된 후 출력되는 문자에 따른 키를 누르면 되는 게임이다. s -> Space Bar, x -> x, m -> m 만약 잘못 눌렀을 경우 프로그램이 종료된다. | OllyDbg 올리디버거를 사용해 프로그램을 열었고 오른쪽에는 실행 창을 띄웠다. 표시한 부분을 보면 특정 주소로 Jump하는 것을 알 수 있다. 해당 부분을 미리 살펴보니 특별한 내용, 이를 테면 Return으로 빠져나가는 것과 같은 행위는 없어서 그대로 따라가도록 한다. 계속 내리다 보면 문자열들을 출력하는 걸 알 수..
[2020.04.14] Reversing.kr | ImagePrc 문제 | ImagePrc 오늘의 문제는 120점 짜리 ImagePrc 문제다. 실행 파일을 실행하면 그림을 그릴 수 있는 프로그램이 실행된다. Check를 누르면 Wrong이라고 뜨는 에러 메시지가 출력된다. | OllyDbg 우선 올리디버거를 실행시킨다. 에러 출력문의 부분으로 가기 위해 마우스 오른쪽 버튼 > Search for > All referenced text strings를 누른다. Wrong이 있는 부분을 더블 클릭하면 해당 영역으로 이동할 수 있다. Wrong 에러문이 출력되는 윗 부분을 우선적으로 살펴 보도록 하겠다. 하지만! 연산자가 너무 많이 나오기 때문에 몇몇 연산자의 개념을 정리하고 가자 ZF(Zero Flag) - 제로 플래그이므로 0이면 참이기 때문에 1로 세팅 - 0이 아니면 제..
[2020.04.14] XSS Game Level5 첫페이지에서 Sign up을 누르면 이메일을 입력하는 창으로 넘어간다 이때 url을 보면 변수 next에 인자값으로 confirm이 들어가는 것을 볼 수 있다 아무 값이나 입력하고 next를 누르면 위의 페이지로 이동하고 몇초 후 첫 페이지로 다시 넘어간다 소스코드를 보면 Next>>의 링크 값이 next변수값에 의해 결정되는 것을 볼 수 있다 따라서 url에서 netx=confirm 이라고 되어있는 값에 confirm값을 조작해 문제를 해결한다 url로 스크립트를 전달하기 위해서 javascript: 를 사용한다 javascript:alert("hello");를 입력하고 go를 누른 후에 Next>>버튼을 누르면 ​ 스크립트가 동작하며 문제가 해결된다
[2020.03.31] XSS Game Level 1,2,3 ​1번 Level 1은 alert()으로 팝업창을 띄우면 풀리는 문제입니다. 입력창에 Hello라고 입력하고 Serch 버튼을 눌러보니 사용자가 입력한 값이 GET 방식으로 전달되는 것을 확인할 수 있었습니다. 더 자세한 분석을 위해 코드를 확인해보았습니다. 사용자가 검색하려고 입력한 값이 query라는 변수에 담기고 그 변수가 message에 들어가는 것을 확인할 수 있었습니다. HTML에 들어가는 변수를 사용자가 입력할 수 있는 취약점을 이용하여 입력창에 를 넣고 serch를 누르면 다음과 같이 alert 창이 뜨면서 문제가 해결됩니다. --------------------------------------------------------------------------------------------..
[2020.04.14] Reversing.kr | AutoHotkey1 개념 정리 http://reversing.kr의 AutoHotkey1,2 문제를 푸는 도중 UPX 패킹과 관련된 부분이 나와서 UPX 패킹에 대해 개념 정리를 해보기로 했다. UPX 패킹? 패킹은 "실행 압축"이라고 표현할 수 있다. 실행 파일 내부에 있는 코드를 압축하여 평소에는 코드를 압축한 상태로 저장하고 있다가 파일을 실행하면 메모리에서 압축을 해제 시킨 후 파일을 실행시키는 기술이다. PE, UPX 프로그램 패킹의 흐름 UPX 패킹 확인 Exeinfo PE 툴로 UPX 패킹이 됐는지 확인할 수 있다. UPX 패킹 upx -o "생성될 패킹 파일 경로" "패킹에 사용할 파일 경로" UPX 언패킹 upx -d "언패킹 할 파일" UPX 패킹 파일 Ollydbg 분석 PUSHAD : CPU 레지스터 값들을 모두..