일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- base64
- 안드로이드
- vulnhub
- igoat
- ESXi
- Volatility
- InsecureBank
- Openstack
- Suninatas
- frida
- diva
- SQL Injection
- foremost
- XSS
- Reflected XSS
- otter
- ctf
- logstash
- CTF-d
- lord of sql injection
- kibana
- MFT
- NTFS
- 파이썬
- Strings
- 2018
- 인시큐어뱅크
- Docker
- beebox
- elasticsearch
- Today
- Total
목록diva (26)
Information Security
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/blF9Lp/btqR6vhPpJt/fTeOcKpj6zx8ENcpiwBVDK/img.png)
목표: 개인정보가 어디에&어떻게 저장되는 지 및 취약한 코드 검증 test/test 입력 시 데이터가 저장된 것을 알 수 있다. DIVA 디렉터리에 tmp 파일이 생성된 것을 알 수 있다. tmp 파일을 보면 test/test 평문으로 저장된 것을 알 수 있다. 소스코드를 보면 uinfo, tmp 파일로 평문으로 저장되는 것을 알 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nY982/btqSa9SHxGV/94jHnYQ65OkizX4m2qSCiK/img.png)
목표: 개인정보가 어디에&어떻게 저장되는 지 및 취약한 코드 검증 test/test 데이터 정보가 저장된 것을 알 수 있다. 데이터베이스 디렉터리에서 sqlite3 명령어로 ids2 DataBase에 연결했다. myuser 테이블에 test/test가 저장되어 있는 것을 알 수 있다. 소스코드를 보면 ids2 데이터베이스에 myuser 테이블에 평문으로 저장된 것을 알 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bmeAU3/btqSgNuOJ7V/ygzrdU81KyVo2jPJgniS71/img.png)
목표: 개인정보가 어디에&어떻게 저장되는 지 및 취약한 코드 검증 test/test 입력 시 데이터가 저장된 것을 알 수 있다. 안드로이드에서 설치된 패키지의 데이터는 보통 /data/data 경로에 저장된다. jakhar.aseem.diva가 설치한 DIVA 앱이다. 내부 데이터 저장조에 중요한 정보가 평문 test/test가 저장된 것을 알 수 있다. 소스코드를 보면 평문으로 저장하는 것을 알 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lOh9N/btqSdtKbmmr/ux0QIoHNqKGmGsJdYBKEgK/img.png)
목표: 하드코딩된 정보를 찾아내는 것이다. 입력 값에 test 입력 시 Access denied! 접근 제어 에러 메시지를 보여주는 것을 알 수 있다. 소스코드를 보면 키 값 "vendorsecretkey"를 확인할 수 있다. vendorsecretkey 키 값을 입력하면 Access granted! 메시지를 확인할 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yZiq2/btqR3RrRLvL/esrltlaSMsZR3mL0CckJN0/img.png)
목표: 민감한 정보가 로그로 노출되는 지 확인해라 Insecre Logging mechanism 로그 캣 정보 내에 중요 정보 평문 노출 입력 값에 1234 입력 시 error code가 발생하는 것을 알 수 있다. Log 기록에 Credit Card 중요정보가 평문으로 노출되는 것을 알 수 있다. Log.e 함수를 통해 에러 정보가 출력되는 것을 알 수 있다. 해당 정보를 삭제하면 에러 정보가 출력되지 않을 것이다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/7AAMb/btqzWZFXHPS/0ObXpdXPFuSzeh7ZtbK6UK/img.png)
런타임 조작 - 애플리케이션이 정상 구동될 경우 실행 흐름 조작 또는 정보 유출할 수 있는 취약점 위치 DamnVulnerableIOSApp 영향 변조된 어플리케이션을 통한 개인정보 유출 또는 사칭 애플리케이션, 스미싱 공격에 활용될 수 있다. 진단 아이디와 비밀번호를 입력했는데 Oops라는 문구가 떴다. 로그인 우회 할 수 있는 함수를 찾았다. 명령어를 이용해 로그인을 우회하기 위해 런타임 값을 변조했다. 로그인 우회를 성공한 것을 알 수 있다. 대응방안 인증서 체크 로직, 디버거 감지 로직을 추가한다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c2T1Sf/btqzT516dHB/KDaLN63GpSazIx3IatO9S0/img.png)
알림 메시지 수정 - 애플리케이션의 무결성 체크 기능이 구현되어 있지 않아 애플리케이션을 수정/조작할 수 있는 취약점 위치 DamnVulnerableIOSApp 영향 어플리케이션을 수정/조작할 수 있다. 진단 ps 명령어로 바이너리 위치를 확인했다. FTP로 접속해 경로에 들어가 DamnVulnerableIOSApp 파일을 추출했다. DVIA -> Application Patching -> Show alert를 누르면 I love Google 문구가 나타난다. I love Google을 I like google로 문자열을 변경했다. 다시 FTP를 이용해 파일을 업로드했다. DamnVulnerableIOSApp 파일의 권한을 755로 변경했다. 그림 12-3과 다른 I like Google 문구가 나타났다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lhxz7/btqzVDKlyEd/98mEMo3jpSs5VAOHhkC3zk/img.png)
URL Scheme를 통한 호출 - 애플리케이션이나 프로세스 간 통신 시 발생할 수 있는 취약점 위치 \Payload\DamnVulnerableIOSApp.app\info.plist 영향 민감한 정보가 노출될 수 있다. 진단 iPA 파일을 백업 후 \Payload\DamnVulnerableIOSApp.app\Info.plist 파일을 확인했다. Info.plist 파일에 들어가서 URLSchema를 확인했다. Safari -> URL 창 -> dvia:// 입력 후 실행했다. 웹 페이지에서 DVIA 호출하는 것을 알 수 있다. \DamnVulnerableIOSApp\DamnVulnerableIOSApp\AppDelegate.m 파일에서 소스코드를 확인했다. diva://call_number/?phone=..