본문 바로가기

전체 글170

[PE+Reversing] 프리서버 레드문 개발 ※. 프리서버 레드문은 상표권이 끝난 게임으로 더 이상의 수정이나 운영이 문제가 되지 않는다고 들었습니다. 해당 내용이 잘못됬을 경우에는 admin@hack.kr로 메일부탁드립니다. 개요. 프리서버의 특징으로 유저수가 적은 반면에 맵이 너무나 넒어서 서로 다른맵에 있는 유저들끼리의 대화가 쉽지 않다. 유저들이 외로워하는 이유로 채팅의 말머리에 "!"를 붙여서 시도할 경우에 웹으로 전송이 되게한다. (이후에 웹으로 전달된 메시지가 게임상으로 재전달시킬 생각이였다.) 내용. 먼저 서버파일을 분석해야한다. 레드문의 경우에는 svMapServer.exe파일이 맵마다 인자를 1, 2, 3, 4 같이 주어서 동작하게 된다. 총 60여개정도 실행되던 것으로 기억한다. 뭐 이것 저것 내용 다빼고 서술해보면, 채팅할 때.. 2019. 12. 9.
[HackShield] SDK Version 5.7.14.555 Bypass (2015-06-15 분석 내용) 핵쉴드는 매우 오래 이어온 안랩의 Anti-Cheat 솔루션인데 어느날부터 자취를 감췄습니다. 시장에서 수익이 되지 않자 안철수님이 철수하신 것 같습니다. 우리나라에 대표적으로 X-trap , GameGuard, HackShield 가 존재 하였는데 대부분 찾아보기 힘듭니다. 요즘은 XignCode가 많이 이용되고 있는 것 같아요. 저는 해당 프로그램을 분석하기전에 이미 분석된 과거 버전을 많이 찾아보았습니다. 바이너리 게놈 지도가 존재하듯이 소형프로그램이 아니라면 몇 번 패치를 한다해서 코드 구조가 눈에 띄게 변하지 않기에 OPCODE들도 크게 변하지 않을거라 생각한점. 또한 라이브러리가 로딩되는 주소는 랜덤하더라도 오프셋은 같은점에 착안하여 기존에 공개된 오프셋부분의.. 2019. 12. 2.
[Crypto] 2019 CTFZONE CSES : CBC모드에서 KEY=IV 일때, 발생하는 취약점 먼저 루아와 관련된 문자열이 상당히 많이 존재하는 ELF파일이 주어졌다. 해당 파일을 살펴보는게 먼저이지만, 이 문제는 그것이 핵심이 아닌듯하니 생략하겠다. 단순한 루아 스크립트가 아닌 스크립트의 실행이 가능한 파일이라는 것을 알 수 있었다. 아래의 루아 라이브러리에 대해 빌드하면 나오는 형태와 비슷한 것 같다. https://empier.tistory.com/334 파일의 하단부분인 0x37020 주소에 47과 4F가 많이 나타나는 수상한 값을 찾을 수 있었다. 읽을 수 없도록 꼬아져있다고 생각했다. a1은 암호화되어 있는 스크립트의 주소, a2는 스크립트의 길이를 인자로 복호화 연산을 하는 것으로 추정되는 함수를 찾아서 아래처럼 동일하게 작성해 동작시켰다. 출력 결과로 루아 컴파일러에 의해 컴파일된 .. 2019. 12. 2.
[Crypto] 2019 CTFZONE agents : OFB 모드에서 값을 조작해야하는 문제 먼저 문제에 대해 설명을 하자면, 1번을 누를 경우, 요원이름과 장문의 랜덤한 암호문을 준다. 이후 이 암호문을 가지고 2번을 눌러 에이전트에게 이름과 암호문을 전달하면 믿을만한 요원이 아니기때문에 시크릿 메시지를 줄 수 없다고 한다. 이에 분석을 해서 알게된 것을 아래와 같이 추렸다. 알고있는 것: 1. AES-OFB모드로 암호화된 암호문 2. 세어보니 암호문은 자릿수는 337자리 (ECB와 OFB모드처럼 길이가 블럭단위가 아니다) 3. 한번 사용된 요원의 암호문은 재사용불가 4. 암호문은 JSON이다. (337자리에서 특정 바이트들을 깨서 보내보았는데 정상동작을 할때도 있고, "JSON Corrupted" 메시지가 뜰때도 있었음) 그래서 나는 JSON 값에 "{trust : 0}" 와 같은 필드가 존.. 2019. 12. 2.
반응형