목록공부/CTF 문제 풀이 (16)
OutDoorFrog의 리버싱 이야기
편안한 개구리입니다. 암드 캔 두 애니띵, WriteUP을 시작하겠습니다. . . . . . . 우리는 리버싱을 할려면 3가지 요구 조건을 만족해야합니다. 해당 CPU 아키텍쳐를 아는가?해당 어셈블리어를 아는가?리버싱 환경이 구성이 되었는가? 저는 환경 구성, CPU 아키텍쳐, 어셈공부까지 했습니다만.. 좀 더 좋은 방법 급박한 대회에서 점수를 버는 방법이 있습니다. Hex-Ray사에서 제공하는 디컴파일 기능을 이용하는 것입니다. 급박한 상황에서 애용하는 기능 중 하나지만 공부할 때는 지양하는 기능입니다. (뭐니뭐니 해도 핸드-레이가 공부에 최고)1. IDA 이렇게 상당히 희귀한 문제는 난이도가 그만큼 너프되기 마련입니다. 2. 디컴파일 사스가 Hex-Rays;;;; 저는 이거 디컴파일 하는데 2시간 걸..
블로그의 주인장 바깥 개구리 입니다.(개굴) 심플 리버싱에 대해서 포스트를 시작하겠습니다. 1. Die 이용 Detect It Easy는 정적 분석에 사용하는 도구 중 하나입니다. 사용한 언어, 파일 패킹 여부, 사용한 컴파일러, 사용한 링커 등의 정보를 수집할 때 사용합니다. 리버싱 환경을 정하고 어떤 디버거를 사용할지 판단할 때 씁니다. EntryPoint 값을 참고해서 Main 함수의 시작점이 어디일지 유추하기도 합니다. 사용 예시 PE 파일 -> 환경 : Windows, 디버거 : x32dbg, x64dbg, IDA ELF 파일 -> 환경 : Linux, 디버거 : EDB, IDA C언어로 작성했고 ImageBase값이 Default 입니다. 메인 함수가 401000에 위치하고 있지 않을까 유추해..
안녕하세요! 블로그의 주인장 OutDoorFrog입니다! 리눅스 디버깅 환경 준비하느라 혼났습니다. 리눅스에서 동작하는 악성코드를 분석하기 전에 머리 좀 풀어볼까하고 문제를 풀었습니다. 각설하고 시작하겠습니다!! 1. Detect It Easy로 정보 수집 라이브러리는 GLIBC를 쓰고 컴파일러는..(뭐지) 그래도 환경에 맞춰서 우분투에서 디버깅하는 것이 좋겠습니다. 2. IDA & Edb Debugger 이번에 저를 도와줄 새 친구는 바로! evan's Debugger 입니다. 리눅스계의 올리디버거입니다.(역시 GUI가 편-안) 친구의 도움을 받아서 gdb를 써봤는데 적응이 안되더군요. 3. 구조를 파악하자. 이 문제는 특이하게 볼 부분이 두개가 있습니다. 붉은 원으로 표시한 두 부분이 있는데요. 높이..
안녕하세요 블로그 주인장 OutDoorFrog 입니다. 해킹 캠프가 열린 후 벌써 6일이 지났습니다.1일만 지나면 해킹 캠프 문제 서버가 닫히는데요.제가 풀지 못한 문제는 인증해야 속이 시원할 것 같습니다.(잠도 오고) 문제 풀이를 시작하겠습니다. 1. Detect It Easy로 디버깅 환경 결정 Windows7 32bit 환경에서 분석해보겠습니다.EP는 Default, 섹션의 수는 9개... 특이합니다.(기억해둡시다.) 2. PEViewer 사용 섹션의 갯수가 특이해서 PEViewer로 까봤습니다. 스탭님께서 Write Up을 발표하실 때 귀담아 들었습니다. TLS 콜백 및 더미 코드 같은 안티 디버깅 기법이 숨어있다는 것을 말이죠. 안티 디버깅을 패커 이외에는 경험해본 적이 없습니다.(청정수) 구글..
안녕하세요 블로그의 주인장 OutDoorFrog입니다! 오늘은 제가 ILoveRegistry의 구조를 리버싱하며 삽질을 해볼려고 합니다! 주의 : 고인물의 문제를 푸는데 탄성이 나올 수 있습니다.문제 푸는 데 이런점을 느꼈고, 출제자의 의도는 이런 것 같다는 일기입니다. 제가 CTF에 대해서 상위권을 노리는 참가자와 출제자의 입장을 생각해봤습니다. 상위권을 노리는 참가자는 쉬운 문제를 빠르게 풀어서 퍼스트 컨쿼러 같은 이득을 취하고 어려운 문제로 넘어가는 것이 중요합니다. 출제자는 그러 입장의 노련한 참가자를 막기 위해 점수를 얻는 것을 지연하는 것이 중요합니다. 안티 디버깅 첨가하기처음보는 유형의 문제 만들기디버깅 파일들의 환경을 제각각으로 만들어 놓기Fake_Flag 집어넣기etc... 해킹 캠프에서..