분류 전체보기 105

메모리 평문저장 취약점 해결 #1

APP진단을 하다보면 메모리에 중요정보 평문저장 항목이 있다 . 그리고 앱진단 리뷰 시 해결방법에 대한 질문을 가장 많인 받는 항목이기도해 해당 해결방법 고찰에 대해 적어보려한다. 먼저 취약점 개요인 메모리 평문 저장에 대해 알아보면 일단 우리가 쓰는 스마트폰은 컴퓨터의 연장선상으로 기본적인 구조는 같다고 보면된다. 즉 스마트폰도 컴퓨터처럼 CPU(중앙처리장치) + 메모리(주기억장치)+입출력장치로 구성되어 있고 메모리는 여기서 CPU처리를 위해 저장하는 단기 저장되어 필요에 따라 휘발되는 저장공간으로 휘발되기 전에 남아 있는 정보가 중요 정보일 때 취약하다는 것이 위 취약점의 개요이다. 좀더 예시를 통해 취약점 개요를 자세히 설명해보자 (실제로 이렇게 타지 않겠지만 위 설명으로만 프로세스가 진행된다 가정..

android 원격 쉘 연결 방법

android shell 연결 시 adb를 사용해 shell을 연결하기도 하지만 무선으로 연결하고 싶어 두가지를 준비해왔다 둘의 장점 단점이 있기에 편한걸로 쓰자 - sshdroid putty를 통해 연결하기 위한 도구이다. 1. 먼저 인터넷에 가서 sshroid를 안드로이드 기기에 설치하면된다. 2. sshdroid를 실행한다(아이디 및 패스워드 등 정보 확인) 3. putty에 접근 하여 해당 기기로 접속 ***루팅이 되지 않을 시에는 포트 번호를 변경해야하며 루트로 되지 않는다. 2. adb shell 원격 접속 먼저 이 작업은 완벽한 원격접속은 아니다. 이를 진행하기 위해서 한번의 연결이 필요하다. 1. usb연결 후 연결 확인 2. 'adb tcpip 5555' 명령어로 5555포트 오픈(unk..

Android 진단도구 Drozer

앱 진단때 항목 중 디버깅 항목을 어떻게 풀어낼까 고민중 액티비티 강제실행을 통해 항목을 해결해보려 해서 드로저 설치를 진행하였다. 1. 드로저 설치 사이트 https://labs.f-secure.com/tools/drozer/ Drozer labs.f-secure.com 2. 이때 문제가 있다. msi를 통해 윈도우 설치를 진행하려하는데 크롬이 악성으로 인식해서 해당 설정을 껏다 (크롬 설정 -> 세이프 검색) 막상 설치하려는데 뭔가 잘안되서 살펴보니 필수요청에 파이썬 2.7이 존재했다. 다른거 1타 2피하기위해(안드로가드) 당시 아나콘다 다운받은걸 사용한다 https://www.anaconda.com/products/individual#windows Anaconda | Individual Editio..

아이폰 인증서 설치하기

아이폰 진단 시 버프 사용이 필요할 때가 있다. 이때 인증서가 없으면 사파리에서 내내 경고를 내뱉어서 인증서 설치를 진행하려한다. 안드로이드의 경우 인증서 확장자가 pem이라면 아이폰의 경우 crt라 crt인증서가 필요하다 먼저 인증서가 필요하니 다음 글을 참고해 der인증서 및 pem 인증서를 만든다. https://chanztudio.tistory.com/72 안드로이드 7 이상에서 버프 인증서 설치(유효기간 해결) 안드로이드5까지는 버프 인증서 설치가 쉬웠으나 7으로 가며 인증서 설치가 굉장히 불편해졌다. 먼저 필요한 프로그램은 openssl로 다음 주소에서 받으면된다. slproweb.com/products/Win32OpenSSL.html Win32/W chanztudio.tistory.com 1..

안드로이드 루팅탐지 우회 #2

안드로이드 루팅 탐지 보며 좀 궁금한게 생겨 적어본다. 1. 일단 안드로이드를 루팅하면 크게 su라는 폴더 및 파일이 생성되어 실행될수 있는 것 같다. 위치는 저번에 본것과 같이 su라고 검색하면 진짜 많은 위치가 나온다 (진단 어플에서 찾아준 것으로 감사하다) 즉 다음과 같은 파일이 있는지 찾는것으로 루팅 탐지를 진행할 수 있다고 보인다. 2. su 명령어 실행을 확인하는 방법이 있다. 스마일리코드로는 저렇게 구성되어있으며 초록색으로 색칠한 저부분을 필터링하여 검색하면 된다. 해당 코드를 java로 보면 다음과 같다 su 명령어의 실행여부를 보고 진행하며 우회로는 이를 고치면된다. 3. 마지막으로 아직 보지 못한 BuildTag방법이 있다. 이부분은 아직 보지못해 따로 설명하기 어렵지만 시스템에 커스터..

CCE2021 Web Challange 일부

얼마전 CCE2021이 열려 웹 문제 중 일부 푼 문제들에 대해 포스팅을 해본다. 1. Basic Web 사이트에 들어가기전 Flag는 파일에 존재한다고 적혀있다. 즉 home/flag 파일로 받으면될것같아 사이트 들어가니 다음과 같이 파일하나가있었다. Download.php파일에서 /flag를 넣어서 받으면 다음과 같이 플래그 파일로 받을 수 있다. 2. baby first 사이트에 들어가면 로그인창 하나가 나온다. 별 이야기 없길래 sql인젝션으로 ' or '1' = '1을 넣어보니 해결되었다. 3. Search King 사이트 들어가서 미션칸을 들어가면 너는 해커가 아니라며 홈으로 돌아간다. 문제명이 Search King이길래 서치에서 1, 2, 3 이래저래 넣어보니 어떤 것들은 계속 나오길래 본문..

CTF 2021.09.29

인터넷 게시판에서 올린 사진과 이름

얼마전 인터넷 게시판에 두명의 유저가 싸우며 사진과 이름을 올린것을 보았다. 사진과 이름은 개인정보인데 이럴 때 어떤 죄가 있는지 확인해보고싶어 찾아보고 이 내용을 정리한다. 상황정리 인터넷에서 김철수(가명)와 이양아(가명)이 서로 싸우다가 이양아는 김철수의 사진과 이름을 게시판에 올렸다 김철수 까불지마라 이럴때 과연 김철수는 이양아를 어떤 방식에 의거하여 처벌을 주장할 수 있을까 먼저 사진과 이름은 개인정보이다. 특히 이름과 사진이 결합 되면 특정인으로 재단할 수 있는만큼 개인정보보호법(개보법) 위반이 아닐까하고 개보법을 먼저 찾아보았으나 개보법에는 특별한 단어가 있어 위에사항에 해당될 수 없을것 같다. 먼저 개보법의 특별한 단어를 알아보기위해 저 사건의 핵심은 개인정보를 게시판에 "저장" 했으며 협박..

IT/OPINION 2021.09.29

아동의 비회원 주문 고찰

"개인정보보호법 제6장 정보통신서비스 제공자 등의 개인정보 처리 등 특례의 제39조의3(개인정보의 수집ㆍ이용 동의 등에 대한 특례) ④ 정보통신서비스 제공자는 만 14세 미만의 아동으로부터 개인정보 수집ㆍ이용ㆍ제공 등의 동의를 받으려면 그 법정대리인의 동의를 받아야 하고, 대통령령으로 정하는 바에 따라 법정대리인이 동의하였는지를 확인하여야 한다."의 항목이 있다. 즉 만 14세 이하 아동에게 서비스를 제공하려면 법정대리인의 동의가 필수인데 이 과정이 굉장히 까다롭기 때문에 많은 기업들이 14세 이하에게는 서비스하지 않는다로 약관에 명시 후 서비스를 제공하지 않는 것을 하고 있다 하지만 커머스의 경우 회원외에 비회원에게도 서비스를 제공하는데 이 때 만 14세 이하 이용자도 서비스를 이용할 위험이 있다 우리..

IT/OPINION 2021.08.24

안드로이드 루팅탐지 우회 #1

안드로이드 어플을 실행하다보면 루팅에 대한 탐지 어플들이 많이 보인다. 그럴때는 스마일리 코드 중 루팅 감지 코드를 우회하여 실행시키는 방법밖에 없다. 먼저 어플을 실행시키면 다음과 같이 루팅이 탐지되었다고 나온다. 그러면 이제 어플을 변조해 변조된 단말기에서 사용할 수 있도록 만들어야한다. 1. APKTool 사용해 디컴파일 chanztudio.tistory.com/58?category=897304 안드로이드 앱 역분석 (Android App Reversing) 저번 프라이덤프에 이어서 이번엔 역분석, 변조 등을 적어보자 시작하기 앞서 아래 소프트웨어를 다 다운받자. 1. Java : Jar파일 실행 https://java.com/ko/download/win10.jsp 무료 Java 소프트웨어 다운로드..

Android App 앱 변조

저번 역분석에 이어서 이번엔 변조 등을 적어보자 역분석에서 확인된 내용을 직접 수정하기에 좋은 방식이다. 0. 필수 어플리케이션 설치 1. Apktool : apk를 스마일리까지 분석 후 해제 https://ibotpeaches.github.io/Apktool/install/ Apktool - How to Install Install Instructions Quick Check Is at least Java 1.8 installed? Does executing java -version on command line / command prompt return 1.8 or greater? If not, please install Java 8+ and make it the default. (Java 7 will..