분류 전체보기

    Android framework  Study[2 - 핸드폰을 부팅 하자]

    Android framework Study[2 - 핸드폰을 부팅 하자]

    핸드폰을 할 때에는 먼저 핸드폰을 켜야한다. 핸드폰을 안키면 뭔가를 할 수가 없으니까 0.

    Android framework  Study[1]

    Android framework Study[1]

    안드로이드에 대해 자세히 공부 하기 직전 어떤것을 공부 해야하는지에 대한 지도 입니다. 파란색 부분은 JAVA로 구성 되어 있고 초록 부분은 C/C++로 구성 되어 있다고 합니다. 맨위부터 차례대로 공부해 보겠습니다. application Layer 우리가 흔히 사용하는 게임이나 카카오톡 같은 앱스토어에서 다운 받는 어플 들과 핸드폰을 사면 기본으로 깔려있는 기본 어플리케이션들은 어플리케이션 영역에 속한다. 여기서 우리가 깔지 않았는데 깔려있는(전화 ,메시지,카메라) 앱들은 시스템 우선권을 가지고 있다. 읭? 왜요?!?!?! 라고 물을 수도 있겠는데 만약 우리가 메모리가 부족하다고 생각 해보자 그럴때 우리 전화 앱은 꺼지면 안되기 때문에 우선 순위가 가장 높게 설정 되어 있는 것이다. Applicatio..

    프로필

    이름 : 송태현 학교 : 중부대학교 동아리 : S.C.P e-mail : abesse0109@naver.com -기록- 2019.03.20 - S.C.P 외부 세미나 참여 2019.09.17 - 정보 보호 동아리 S.C.P 2019.11.23 - kucis 서경강 세미나 참여 2019.12 - Signature-based Anti-Virus 툴 제작 (개인) 2019.12.16 ~ 2020.02.22 - android unity 후킹 툴 제작 (팀장) 2020.03.08 ~ 2020.??.?? - SCPlanb 사이트 제작(팀원) 2020.07 : KISA "웹 취약점 보안 실무" 교육 수료 2020.06.05 : 2020.Definit CTF 참여 2020.08 : 2020 SSTF 참여 2020.08..

    CodeEngn<Basic RCE L05>

    CodeEngn<Basic RCE L05>

    문제 풀이 프로그램을 실행하자 등록키가 보이길래 제작사의 실수 인줄 알고 클릭했더니 잘못된 키였습니다. 올리디버거를 이용해서 열어보니 이상한 문구가 떴습니다. 그래서 무시하고 갔더니 이렇게 정상적으로 열리는 것을 확인 할 수 있었습니다. 먼저 저는 저번 글에서 썼는 api 확인을 했습니다. 뭔가가 이상한걸 볼 수 있습니다. 그래서 저는 2번과 비슷한 문제 인줄 알고 HXD로 열어 봤습니다. 그랬더니 UPX 패킹이 되었다고 뜨는 것을 볼 수 있었습니다. 더보기 ※패킹이란? 패킹은 실행압축이라는 뜻을 가진다. 일반적으로 ZIP, RAR과 같은 압축은 그 압축을 해제 시켜야 해당 프로그램을 실행시킬 수 있다. 하지만 패킹은 있는 그대로 일반 프로그램처럼 실행 가능하다.실행파일을 대상으로 파일 내부에 압축해제코..

    Codeengn<Basic RCE L04>

    Codeengn<Basic RCE L04>

    문제 풀이 올리디버거를 썼을때는 디버깅 당했다고 뜹니다. 그렇다면 이렇게 디버깅을 찾는 함수를 찾아보겠습니다. 이번에 쓸 올리 디버거 옵션은 "All intermodular calls" 입니다. 이 옵션은 디버깅 시작전에 미리 코드를 분석하여 사용되는 API 함수 목록을 뽑아내줍니다. 쓰는 방법은 마우스 오른쪽 클릭 -> search for ->All intermodular calls 클릭 이렇게 많은 API함수들이 사용되는군요. 목록을 천천히 훑어 보면 IsDebuggerPresent라는 함수가 눈에 띕니다. 그래서 검색을 해봤습니다. 우리가 찾는 함수가 맞는것 같습니다. 볼 때 마다 행복한 문장입니다. 다음에 실력이 늘면 이 함수를 우회하는 방법도 써보고 싶습니다. 내가생각하는 문제의 의도 : 디버거..

    CodeEngn <Basic RCE L03>

    CodeEngn <Basic RCE L03>

    저번 문제의 충격에서 빠져나와 3번 문제를 풀어보도록 하겠습니다. 문제 풀이 이번 문제를 보고 제가 제일 먼저 해 본 행동은 구글링입니다. 뭔가 나오길래 쳐봤더니 아니였습니다. 어쩔수 없이 올리디버거를 이용해 보도록 하겠습니다. 제대로 된 분석을 시작하기 전에 실행은 시켜봐야죠 입력창이 뜨고 문자열을 입력하니 실패 했다고 하네요 이제 실행도 시켰으니 분석을 해보겠습니다. 여태까지는(여태라고 해봤자 1번 문제만이였지만)직접 실행 시켜보면서 했지만 이번에는 다른 방법을 쓰겠습니다. 올리디버거의 기능중 하나를 이용하는건데 바로 ALL referenced text strings 기능을 이용하는겁니다. 사용법은 마우스 오른쪽 클릭 -> Search for -> ALL referenced text strings 클..

    CodeEngn <Basic RCE L02>

    CodeEngn <Basic RCE L02>

    문제 문제를 보니 실행 파일이 손상된것 같습니다. 아마 실행이 안되겠죠 풀이 실행을 시켜보니 실행이 안됩니다. 그렇다면 올리디버거로 까봅시다. 올리디버거 문제인것 같아서 1번 문제도 넣어보고 가상머신 문제인가 해서 본체에서도 해보고 이래 저래 다 시도 해봤습니다. 아! 그럼 x64dbg를 써보자! 전 암것도 몰라연ㅎ 놀랍습니다 얘도 안됩니다. 혹시나 해서 HXD로 열어 봤더니 HXD는 써집니다. 그렇다면 얘는 HXD를 이용해서 푸는걸까요? 열리길래 시그니처 먼저 확인 해봤습니다. 시그니처가 이상합니다. 그래서 EXE의 시그니처로 바꿔서 돌려봤습니다. 세상에 !! 열려요 그래서 계속 돌려봤습니다....계....속.... 뭐가 되는건 하나도 없고... 뭔가 이상해요 ㅠㅠ 그래서 HXD를 다시 확인 해봤습니다..

    CodeEngn <Basic RCE L01>

    CodeEngn <Basic RCE L01>

    문제 문제를 보니까 HDD를 CD-Rom으로 인식 시키는 리턴값을 찾는 문제같습니다. 문제만 보고 포기하기는 너무 빠르니까 한번 까보기라도 합시다. 풀이 일단 실행시키면 저런식으로 실패 했다고 뜹니다. 한번 어셈블리 코드를 보겠습니다. 저기 문제에서 나왔던 GetDriveTypeA 가 보입니다. 그 밑에다 breakpoint를 걸어서 돌려봅시다. 여기서 이제 다시 코드를 쭉 훑어 보면 EAX 값이랑 ESI 값이랑 비교하는 부분이 있습니다. 위에 나온 초기 EAX 값은 3이였습니다. 그렇다면 cmp 부분에서 eax 값이 뭐가 되는지 확인을 해보겠습니다. JE 부분에 breakpoint를 걸고 돌려 보겠습니다. 무슨일이 벌어진건지 모르겠지만 EAX == 1 이되고 ESI == 3이 되버렸습니다. 그 과정은 ..