Season 1/기술 보안 DVIA 를 통한 취약점 파헤치기!(Runtime 조작3) 작성자 - 한수임 Runtime 조작 마지막 3번째 시간을 가져보도록 하겠습니다. 1. DVIA 앱을 통해 Runtime Manipulation 으로 접속해 줍니다. 2. 이후 위에 4자리 코드를 임의로 입력 하여 타당한 코드인지 확인해 봅니다. 3. 확인 시 에러가 뜨며 해당 에러를 확인하기 위해 기드라의 String 검색을 통해 해당 구문의 위치를 확인해 줍니다. 4. 검색 후 기드라에서 위치를 확인 후 해당 참조 값으로 이동 합니다. 5. 이동 후 해당 의 값을 보여주는 참조 값으로 이동 합니다. 6. 이후 해당 값의 분기를 확인하기 위해 그래프를 통해 구조를 파악 합니다. 7. 그래프 확인 시 Incorrect 문자열이 출력으로 분기되기 전의 구조를 확인해 봅니다.(초록색 분기점 더블클릭) 8. 해당 분기점을 통해 Congratulation 문자열 출력을 위한 8848의 번호가 존재하고 해당 번호를 입력해 봅니다. 9. 해당 번호가 맞다는 것을 알 수 있네요 이 방법 이외에 프리다를 이용하여 다시 문제풀이를 해보도록 하겠습니다. 8-2 해당 분기점을 분석을 해보도록 하겠습니다. mov x8, #0x2290 : 2290 값을 x8에 저장 ldur x9, [x29, #local_28] : 사용자에 의해 입력되는 값을 x9 에 저장 cmp x9, x8 : x9 와 x8 의 값을 비교 해당 로직을 보면 3가지 정도의 방안을 통해 문제를 해결할 수 있습니다. 1. 0x2290 값을 16진수를 10진수로 변환하여 기존 저장된 값 확인하여 문제 해결 2. cmp x9, x8 의 값을 동일하게 만들어주어 결과를 참으로 변경 3. x9 와 x8 비교 시 bruteforcing을 통해 x9 의 값을 x8 과 맞춰주기 9-1. 간단하게 계산기를 통해서도 확인 가능 합니다. 9-2. x9 의 값과 x8 의 값을 동일하게 만들어 우회를 해보도록 하겠습니다. 1. Frida 사용을 위한 x9 값을 x8에 넣는 코딩 수행 2. Attach 시 DVIA에 임의의 숫자 입력 3. 해당 x9에 3333을 넣었지만, x8 과 x9 의 값이 동일하면 성공하는 로직이기에 crack 성공 확인 4. DVIA 확인 시 crack 성공 확인 9-3. 정답이 4자리 이기에 0 부터 9999 까지 값을 넣어 x9 가 x8 값이 만족 하도록 브루트포싱 공격 수행해보겠습니다. 1. 비교하는 x8, x9에 interceptor를 통해 확인할 것입니다. cmp 주소 확인(15e3e0) 2. 프리다 코딩 작성 후 x8 의 값과 x9 의 값에 들어가는 값을 확인해 보겠습니다. 3. 프리다 실행 후 Attaching 시 DVIA에 임의의 값을 입력해 봅니다. 4. 임의의 값을 0000 을 넣었더니 0 이 출력 되네요.. 5. Frida 값 확인 6. 프리다 코딩을 통해 입력 x9 레지스터 안에 x8 의 값이 될때 까지 비교하여 값을 같아지도록 코딩, 입력 값의 자리수가 "000값" ~ "9999" 가 될 수 있도록(4자리 숫자) 코딩 7. Frida 실행 하여 해당 코드 실행 8. Attach 시 DVIA를 통해 임의의 1111 값 입력 값 입력 시 BruteForcing 되고 있는 것을 확인 9. BruteForcing이 끝나면 해당 값 확인 10. 이후 DVIA 확인 시 코드 crack 성공 확인 대응방안 - 예방 기술 : 디버거가 애플리케이션에 연결되는 것을 방지 - 반응 기술 : 디버거의 존재를 확인하고 애플리케이션 종료 디버깅 탐지 방법 - ptrace 사용 : 프로게스 디버거 연결 방지 - sysctl 사용 : 연결된 디버거 탐지 - 프리다 아티팩트 탐지 공유하기 게시글 관리 MSS 저작자표시 비영리 'Season 1 > 기술 보안' 카테고리의 다른 글 DVIA 를 통한 취약점 파헤치기!(Data 노출) (0) 2024.03.01 Apache struts 2 취약점(CVE-2023-50164) (0) 2024.02.29 [IOS] DVIA 를 통한 취약점 파헤치기!(Runtime 조작2) (0) 2024.01.02 SSL/TLS 인증서 투명성(CT, Certificate Transparency) 로그 (0) 2024.01.01 레드팀 인프라 구축(6) (Gophish 서버 구축) (0) 2023.12.31 Contents 당신이 좋아할만한 콘텐츠 DVIA 를 통한 취약점 파헤치기!(Data 노출) 2024.03.01 Apache struts 2 취약점(CVE-2023-50164) 2024.02.29 [IOS] DVIA 를 통한 취약점 파헤치기!(Runtime 조작2) 2024.01.02 SSL/TLS 인증서 투명성(CT, Certificate Transparency) 로그 2024.01.01 댓글 0 + 이전 댓글 더보기