전체보기 333

[JBU-CTF 2022][web]JJ's doorbell(100)

문제 Treat or Trick! 친구 JJ의 집에 가서 사탕을 주지 않으면 장난을 쳐야지.. 흐흐흐 문제 취지 js 난독화를 알고 있는가 풀이 해당 링크로 접속하면 다음과 같은 화면이 나온다. 노크 버튼을 누르면 계속해서 숫자가 증가하게 된다. F12를 통해 js 코드를 확인해보자. function Knock(){ var _0x51e8=["\x49\x27\x6C\x6C\x20\x67\x69\x76\x65\x20\x79\x6F\x75\x20\x74\x68\x69\x73\x20\x69\x6E\x73\x74\x65\x61\x64\x20\x6F\x66\x20\x63\x61\x6E\x64\x79\x2E","\x68\x72\x65\x66","\x2E\x2F\x63\x61\x6E\x64\x79\x2E\x68\x74..

JBU-CTF 2022.10.31

[JBU-CTF 2022][web]NewJeans(200)

문제 할로윈을 맞이해 쿠키를 구웠다. 1..2..3... 총 100개! 최근에 새로 사귄 5명의 친구 뉴진스에게 나눠줘야지~ 문제 취지 쿠키 값을 추가 혹은 수정할 수 있는가 Bruteforce를 아는가 뉴진스라는 그룹을 모르는 분들이 계셨던터라.. 좀 알려드렸어야 했나 라는 생각이... 그래도 다른 문제에 뉴진스 언급이 있어서 괜찮을거라 생각했던...ㅎㅎ.... 풀이 해당 링크를 접속하면 다음과 같은 화면이 뜬다. 출발 버튼을 누르면 다음과 같은 경고창이 뜬다. F12 혹은 Editthiscookie를 사용하여 쿠키 값을 확인해보자. (문제 출제 및 풀이 과정에서는 Editthiscookie를 사용하였으나 본 글에서는 개발자도구 사용) 뉴진스라는 그룹에 대해 먼저 알아보면 5명의 멤버들로 구성되어 있다..

JBU-CTF 2022.10.31

[Malware]호크아이 악성코드

호크아이 악성코드 HawkEye 주로 스팸 메일을 통해 유포되는 정보 탈취형 악성코드 주로 키로깅이나 사용자의 데이터를 훔치는 기능 2018년 이후 변종 호크아이 멀웨어가 출현하기 시작 해당 악성코드에는 난독화가 심하게 되어 있어 분석가의 분석을 방해하거나 백신에서도 검사되지 않음. 코드 인젝션을 통하여 Nirsoft 소프트웨어로 사용자의 비밀번호를 탈취하는 주 기능을 포함 호크아이의 정보 탈취 대상을 보면 기본적인 시스템 정보 외에도 웹브라우저, 이메일 클라이언트 등에 대한 계정 정보들이 있다. 참고로 호크아이 정보 탈취 대상은 대부분 과거 버전의 응용 프로그램들이며, 최신 버전의 프로그램에서는 정상적으로 동작하지 않을 수 있다. 이 외에도 호크아이에는 키로깅, 클립보드 로깅 및 스크린샷 캡처를 탈취하..

Study 2022.10.30

[App]Uncrackable3

해당 앱을 실행하면 경고와 함께 OK를 누르면 앱이 종료된다. 기존 uncrackable1과 2와 동일하게 exit() 후킹을 시도했으나 다음과 같은 결과가 나온다. 분석 MainActivity를 확인해보자. 해당 부분을 보면 106번째 줄에서 init()함수에 xorkey 값으로 "pizzapizzapizzapizz"를 인자로 가지고 간다. 그리고 104번째 줄에서는 verifyLibs()함수가 실행된다. verifyLibs()라는 함수가 있고 해당 함수에서 libfoo.so 파일을 불러오는 것을 확인할 수 있다. 해당 함수는 무결성 검증 로직이다. libfoo.so 파일의 crc를 저장하고, apk가 실행되는 실제 환경에서 llibfoo.so 파일을 찾아 crc 값을 비교한다. 여기서 값이 다르다면 ..

Study/App 2022.10.30

[App]Uncrackable2

해당 앱을 실행하면 루팅이 탐지되었다는 경고와 함께 OK를 누르면 앱이 종료된다. 해당 부분의 경우 uncrackable1과 동일한 방법으로 해결해주면 된다. 자세한 내용은 아래 게시글을 참고하도록 하자. [App]Uncrackable1 루팅 탐지 - 반환 값, exit() Uncrackable1을 실행하면 다음과 같은 화면이 뜨며 앱이 종료된다. 반환 값 수정 jadx를 사용하여 MainActivity를 확인해보자. if문을 사용하는 것을 확인할 수 있다. c.a() 혹은 c.b() 혹은 c.c()의 값이 True.. seomj74.tistory.com 그 후 String 값을 입력해야 한다. verify 함수를 확인 79번째 줄을 보면 if문을 사용하여 조건을 만족하면 "Success!"를 출력한다...

Study/App 2022.10.22

[App]Fridalab 7

문제 challenge_07에서 check07Pin 메소드에서 받은 인자를 chall07 변수 값과 비교한 값을 return한다. chall07의 값은 랜덤 bruteforce를 사용할 것 (burteforce를 사용하지 않을 경우에는 chall07에 저장된 값을 가져와 Mainactivity에서 chall07()의 인자로 값을 넘겨주면 됨) js코드 function pad(n, width, z) { z = z || '0'; n = n +''; return n.length >= width ? n : new Array (width - n.length + 1).join(z) + n; } setTimeout(function() { Java.perform(function() { var main; Java.cho..

Study/App 2022.10.20