본문 바로가기

4. 모바일 앱 취약점 진단22

앞으로는 자바와 코틀린, 스위프트를 쓰지 않을 수 있다..? 미래에 각광받을 수 있는 모바일 개발 언어 - 리액트 네이티브(React Native)! 모바일 앱 개발 언어를 꼽으라 한다면 대다수 사람들은 두가지 언어를 말할 것이다. 바로 'Java'와 'Kotlin', 그리고 iOS의 'Swift'이다. 자바는 오픈소스 라이브러리 등이 많아 여전히 개발하기 좋은 편이며, 코틀린은 기존 자바의 문제점을 보완하여 구글에서 공식으로 선택한, 현재 각광받는 언어이다. 스위프트는 애플에서 적극 지원하는, iOS 개발 전용 언어로써 그 가치를 톡톡히 보인다.그런데 2015년경 페이스북이 한번만 코드를 작성하면 Android와 iOS 모두에서 사용할 수 있어 개발과 유지보수에 있어서 엄청난(?) 생산성을 제공하는 모바일 개발 언어를 만들어버렸는데, 그것이 바로 리액트 네이티브다.하나의 코드베이스로 iOS와 Android 앱을 동시에 개발할 수 있는 크로스 플랫폼 .. 2024. 10. 17.
내부 데이터 저장소의 중요 정보 평문 저장 취약점 iOS 진단 시 꼭 확인해 보아야 하는 정보들이 존재한다. plist, xml, SQLite 파일 등이 그러한 파일들인데 이는 내부의 각기 다른 애플리케이션 경로에 존재하거나 ipa 파일 내부에 존재한다.여기서는 진단 시 중요 정보가 포함되어 있을 만한 파일의 경로와 이번 진단 시 어떠한 정보들이 발견되었는지 분석해보고자 한다. Plist 파일먼저 Plist 파일은 애플리케이션 데이터 및 설정 정보를 저장하는 데 사용하는 XML 파일로 해당 정보가 암호화되지 않아 중요 정보가 저장되는 경우가 가끔 존재한다.기본적으로 버전 정보, 바이너리 정보 등이 저장되어 있다.대표적으로 검색하는 파일 위치는 아래에서 확인할 수 있다.* Info.plist 파일 위치 - /var/containers/Bundle/Appl.. 2024. 7. 17.
앱 소스코드 내 중요 정보가 노출되는 경우 IPA를 추출하고 Ghidra와 같은 툴로 앱의 소스코드를 분석할 때 평문으로 구성되어 있는 경우 앱 소스코드 내 계정 정보나 서버 정보 등 중요 정보가 노출되어 있는지 여부를 점검할 수 있다.금번 진단 시 앱 소스코드를 진단할 때 내부에서 MDM 에이전트를 설치할 수 있는 포트번호를 포함한 페이지를 확인할 수 있었으며 외부에서 접근이 가능한 것을 확인할 수 있었다.소스코드에서 http를 검색하면 숨겨진 서버 정보가 노출되는 경우가 존재하는데 여기서는 MDM 에이전트 설치 페이지가 노출되었다. 비록 큰 문제가 되진 않겠지만 이러한 서버들은 공격자들이 추가적인 공격을 진행할 수 있는 발판이 될 수 있다.추가적으로 http 뿐만 아니라 UserId, Password 등을 검색하면 소스코드 내 계정 정보가 검.. 2024. 7. 17.
Zadig 같은 툴을 잘못 사용하여 iOS 아이폰 단말기 USB 인식이 안될때 해결법! 진단을 위해서는 아이폰 단말기를 기기와 USB로 연결하여 인식시키는 작업은 필수라고 볼 수 있다. 이번에 진단하는 과정에서 itunes(Apple Mobile Device Support)를 설치하고 아이폰을 연결했지만 3utools에서 이상하게 기기가 인식이 잘 되지 않았다.여기서 뭣도 모르고 Zadig라는 툴을 사용하여 아이폰 드라이버를 강제로 변경시켰는데 그 결과....Apple Mobile Device Support 드라이버가 사용되어야 인식이 되지만 이상한 드라이버를 적용시키는 바람에 더더욱 인식이 되지 않는 상황이 되어버렸다..이걸 해결하기 위해 Zadig에서 설치된 드라이버를 삭제해본다든지, 드라이버 업데이트에서 Apple Mobile Device Support 경로에 위치한 드라이버로 변경시.. 2024. 7. 15.