진단 일을 하면 웹과 앱의 비율이 6:4 ~ 7:3 정도 되는 것 같다. 앱은 또 안드로이드와 IOS 두가지로 나뉘는데, 오늘은 이러한 앱 진단을 하기 위한 기본적인 세팅을 해볼까 한다. 먼저 안드로이드(이하 AOS) 어플의 진단을 위한 세팅 중 하나인 Burp suite 인증서 설치를 해보자 필자는 안드로이드 진단에서는 주로 에뮬레이터는 Nox를 쓰고, 프록시 툴은 Burp Suite를 쓴다. 우선 PC와 에뮬레이터간 연결이 필요하다. Nox와 실 안드로이드 디바이스에서의 인증서 설치과정은 동일하다 nox, Burp Suite 실행 Proxy > Options > Proxy Listeners에서 add nox와 통신할 포트, All interface로 설정 nox에서 연결된 wifi > 네트워크 수정 ..
전체보기
CVE 연구를 하다보면 해당 취약점에 취약한 환경을 구성하는 일부터 시작하게된다. 몇번 하다보면 정말 환경 세팅만큼 귀찮은게 없다는 걸 알 수있는데, 이런 환경 구축을 케이크먹듯 간편하게 할 수 있는게 바로 도커(docker)다. 가상머신처럼 독립된 프로세스(컨테이너)를 실행시킬 수 있는 도구 도커의 개념을 간단하게 얘기하자면 이런데, 가상머신을 띄워주는 도구정도로 생각하면 편하다. 컨테이너라는 개념이 보이는데, 이는 다음에 환경 구축할 때 부터 알아보고 우리의 친구, 우분투에서 설치하는 방법을 알아보자 apt로 설치하는 방법과 설치 스크립트를 다운받아 설치하는 방법이 있는데 아무거나 해도 무방하다 1. apt sudo apt update && sudo apt upgrade sudo apt install..
어플 진단의 경우 루팅/탈옥 디바이스에서 구동 여부의 항목이 존재한다. ios의 경우 탈옥 디바이스를 만들어서 테스트를 진행하는데, 간단하게 만들어보자 준비물 : 탈옥가능한 ios 버전의 디바이스, itunes / icloud 탈옥 디바이스 및 버전 : 아이폰 6(ios 12.5.5), unc0ver v8.0.2 탈옥은 ios 버전 및 프로세서에 따라서 탈옥이 되는 버전이 있고, 안되는 버전이 있다. 애플 정책 상 구버전의 ios로 다운그래이드는 사실상 거의 불가능하므로 탈옥 진행 시 이 부분을 주의깊게 확인 해야한다. 당근으로 간단하게 구버전의 ios를 지닌 디바이스를 구입 후 진행했다. +) 필자는 ios 12.5.5의 디바이스였는데, 실제 진단하는 경우 Testflight를 통해서 진단 앱을 배포를..
AWS 계정을 만들고, 기본적인 초기 설정까지 마쳤다. 이제부터 재대로 찍먹을 해보자 먼저 클라우드 시스템의 시작인 EC2를 하나 생성해보자 EC2는 Elastic Compute Cloud로, 쉽게 가상 컴퓨터라고 생각하면 편하다. 기본적으로 쓴 만큼 비용을 지불하며(프리티어는 t2.micro 1대 분량만 무료로 사용가능), IP를 할당 받아 외부에서 접속할 수 있다. 검색창에 EC2 입력해 EC2 관리 콘솔 페이지로 넘어올 수 있다. 처음 접속하면 (당연하게도)아무것도 없는 상태를 볼 수 있는데, 시작하기 전에 리전을 설정해주자 리전은 말 그대로 지역이라는 뜻인데, 여기서는 클라우드 컴퓨터의 위치라고 생각하자 먼저 내가 운영하려는 서비스가 위치할 지역을 생각해 보자. 주로 이용하는 사람이 국내위주면 국..
여느때와 같이 점검 스케쥴이 끝나고 CVE 분석하는 와중이였다. "지난번에 분석했던 CVE, AWS 환경에서도 한번 확인 해줄래요?" AWS 환경에 구축된 취약한 환경에서 CVE 공격을 했을 때 어떻게 처리가 되는지를 보고싶어 하시는 것 같았다. 이전까지 내가 생각한 AWS는 그저 남의 나라 얘기정도였다. 해킹당하면 밑도 끝도 없이 탈탈 털려서 과금 폭탄을 맞거나, 서비스마다 비용이 부과돼서 돈 관리하기 어려운 그런 개념 정도 밖에 없었다. 찍먹이라도 해보자 AWS 가입하기 우선 AWS 사이트 접속 후 계정생성 버튼으로 이동 계정 생성 창으로 넘어오면 5단계가 존재하는데, 우선 루트 사용자라는 것이 있다. 이 개념은 나중에 따로 관련 서비스 나올때 넣어 두겠다. 이메일 주소와 계정이름 입력하고 넘어가자 ..
이번에는 지난번 인사 명령에 이어 명령어를 더 추가하고 Embed에 대해서 알아보도록 하겠다. 새로 만들 명령은 주사위로, 예전 게시판 웹사이트를 보면 댓글로 많이 들어가 있었던 기능이다. @bot.command(aliases=['주사위']) async def roll(ctx, number:int): await ctx.send(f'주사위를 굴려 {random.randint(1,int(number))}이(가) 나왔습니다 (1~{number})') 3줄 남짓의 짧은 코드다. 이번 명령어는 단순히 명령어 하나만 입력받는 것이 아니라 매개변수를 하나 더 받는다 이와 같이 매개변수를 입력받고자 할때는 ctx 뒤에 매개변수 명을 써주자 @bot.command() async def repeat(ctx, *, txt)..
게임하느라 디스코드를 쓰는 중에 '봇'을 사용하는 친구가 있었다. 명령어를 써서 노래도 틀고, 디스코드 서버 관리도 하는걸 보니 꽤 재미있어 보였다. 마침 파이썬도 배우는 참이라 삘받아서 만들어 보았다. 디스코드 봇을 만드는 언어는 여러종류가 있는데 가장 많이 쓰는 언어로는 크게 2가지가 있다고 한다. Node.js와 파이썬, 이 두가지인데 필자는 Node.js를 아직 다뤄본적이 없으므로 파이썬으로 만들기로 했다. 먼저 디스코드 개발자 페이지로 로그인해서 봇을 만들어줘야 한다. (discord.com/developers/) 로그인해서 들어간 후, Applications에서 New Application Application의 이름을 만들고 생성하면 My Application에 새롭게 추가가 된다 Gener..
DDL은 Data Definition Language로 데이터베이스를 정의하는 언어이다. 데이터베이스를 생성 / 수정 / 삭제하는 명령들로 이루어져 있다. 이번에 알아볼 명령어들은 CREATE, ALTER, DROP, TRUNCATE이다. 데이터베이스는 테이블들의 집합으로 이루어져있고, 테이블들은 열과 행이 존재하는 모델로 데이터 값들이 실제로 저장되는 집합체이다. 이번에 볼 DDL의 경우 테이블의 구조를 설정하는 명령어들 이라고 정리할 수 있다. 예시로 학교 데이터베이스를 만들고 학생 정보를 담은 테이블을 만들어 보자 테이블을 만들기 전에 테이블을 담을 데이터베이스를 만들어주자 CREATE DATABASE School; USE School; 만든 School 데이터베이스를 사용하는 설정까지 마친 후, ..