본문 바로가기

분류 전체보기62

HackCTF - Handray(reversing) Writeup ELF 파일이 하나 주어집니다. 리눅스에서 실행해보면 flag ~~~ 라고 한 줄이 출력된 후 실행이 종료됩니다. IDA로 열어서 구조 파악을 먼저 했습니다. 제가 본 화면은 위의 loc_40058D에 해당하는 부분이 실행되어져 출력된 것 같았습니다. 아래 Textview로 확인해보면, 빨간색 줄에 분기문 [ cmp ] 명령이 있고, cmp [rbp+var_4], 0 --> [rbp - 4] 주소에 있는 값이 0이 아니면, jnz short loc_40058D --> 40058D로 점프해라 라고 해석할 수 있습니다. 40058D 주소로 점프하면 아까 출력되었던 flag ~~~가 기다리고 있기 때문에, 점프가 안되게 [rbp - 4] 의 값을 0으로 만들어주겠습니다. 우선 위 사진의 빨간 줄(분기문)에 B.. 2021. 8. 18.
안드로이드 취약점 - < 메모리 내 민감한 정보 저장 > 분석 취약점 소개 애플리케이션이 실행되면 일정량의 메모리를 차지하고 실행 중에 필요한 정보들이 저장됩니다. 안드로이드에서 프로세스가 생성되면 달빅 가상 머신을 사용해 해당 프로세스가 동작에 필요한 만큼 메모리를 할당하고, 더 사용해야 한다면 프로세스당 허용된 메모리 한계 안에서 필요한 만큼의 메모리를 할당합니다. 인시큐어뱅크 앱을 통해 메모리 영역에서 어떤 방법으로 데이터를 추출하고, 어떤 데이터들이 노출되는지 확인해보겠습니다. 취약점 분석 명령어 : -> 위 명령어로 쉘에 접속해 현재 실행중인(메모리에 올라와있는) 인시큐어뱅크의 프로세스 ID를 알아냅니다.(3938) 명령어 : < adb shell am dumpheap 3938 /sdcard/Dow.. 2021. 8. 17.
앱 취약점 - < 루팅 탐지 및 우회 > 분석 취약점 개요 리눅스 커널 2.6을 기반으로 제작된 안드로이드는 리눅스에서 발생하는 취약점들을 내포하고 있습니다. 루트 노출 및 우회 취약점은 안드로이드 디바이스 시스템 권한을 얻는 것을 말합니다. 안드로이드의 경우 보안상의 이유로 루트 권한을 막아놓았습니다. 그리고 금융권 애플리케이션에서는 이렇게 루팅된 기기에서의 앱 실행을 차단하는 경우가 대다수입니다. 이번 글에서는 애플리케이션에서 어떤 방식으로 루팅을 탐지하는지 알아보고, 우회방법까지 공부해보겠습니다. 취약점 분석 루팅 체크가 필수적인 금융 앱이나 게임 앱에서는 다음과 같은 네 가지 경로를 주로 체크합니다. /system/bin/su /system/xbin/su/ /system/app/superuser.apk /data/data/com.noshufo.. 2021. 8. 16.
앱 취약점 - 로컬 암호화 이슈 분석 취약점 개요 안드로이드 애플리케이션은 실행되는 도중에 특정 정보들을 저장해야 할 때가 있습니다. 만약 개인 정보 같은 중요한 정보를 저장하려고 한다면, 어떠한 안전한 방법으로 저장할 지 고민해야 할 것입니다. 평문으로 저장한다면 공격자에게 중요한 정보가 노출될 수 있기 때문입니다. 대부분 중요한 정보의 저장을 위해 암호화를 사용합니다. 이번 글에서는 안드로이드 앱이 암호화하는 과정에서 어떤 취약점이 발생하는지 확인해보겠습니다. 취약점 진단 인시큐어뱅크 앱의 로그인 화면입니다. Login 버튼 밑의 Autofill Credentials 를 누르면 직전에 로그인했던 ID와 password를 불러와서 자동으로 입력해줍니다. 이런 기능이 실행된다는 것은 앱의 내부에 해당 ID와 비밀번호가 저장되어 있기에 가능합.. 2021. 8. 14.