Study 185

[Cloud]클라우드 컴퓨팅

클라우드 인터넷을 통해 액세스할 수 있는 서버와 이러한 서버에서 작동하는 소프트웨어와 데이터베이스 클라우드 서버는 전 세계 데이터 센터에 위치 사용자와 기업은 클라우드 컴퓨팅을 사용하면 직접 물리적 서버를 관리하거나 자체 서버에서 소프트웨어 응용 프로그램을 실행하지 않아도 됨 가상화라는 기술을 사용하여 클라우드 컴퓨팅 작동 즉, 클라우드 컴퓨팅은 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것 클라우드 컴퓨팅에서 가상화하여 서비스로 제공하는 대상은 서버, 플랫폼, 소프트웨어 클라우드 배포 유형 퍼블릭 클라우드 외부 공급자가 운영하는 클라우드 서비스로서 서버는 하나 또는 다수의 데이터 센터에 있을 수 있음 최종 사용자가 소유하지 않은 리소스에서 생성되어 다른 테넌트에 재배포될 수 있는 클라우드 환경..

Study/Cloud 2022.12.18

[Forensic]GRR

GRR이란? Google Rapid Response의 약자 원격 라이브 포렌식에 중점을 둔 사고 대응 프레임 워크 대상 시스템에 설치되는 파이썬 클라이언트(에이전트)이며, 클라이언트를 관리하고 통신할 수 있는 파이썬 서버 인프라 GRR 프레임워크 기능 동작 클라이언트의 활성 메모리 덤프파일을 추출하기 위해서 GRR 웹서버에 관리자 모드로 접속 활성 메모리 덤프파일 요청 메시지를 엔드포인트에 설치된 바이너리 파일에 송신 바이너리 파일은 활성 메모리 추출 API를 활용해 덤프 파일 생성 바이너리 파일은 생성된 덤프파일을 Message queue 형태로 서버의 데이터베이스로 송신 서버 관리자는 데이터베이스에 저장된 덤프파일을 명령 프롬포트를 통해서 획득하고 분석 데이터베이스에 저장된 덤프파일은 프론트 엔드 서..

Study/Forensics 2022.11.07

[Malware]호크아이 악성코드

호크아이 악성코드 HawkEye 주로 스팸 메일을 통해 유포되는 정보 탈취형 악성코드 주로 키로깅이나 사용자의 데이터를 훔치는 기능 2018년 이후 변종 호크아이 멀웨어가 출현하기 시작 해당 악성코드에는 난독화가 심하게 되어 있어 분석가의 분석을 방해하거나 백신에서도 검사되지 않음. 코드 인젝션을 통하여 Nirsoft 소프트웨어로 사용자의 비밀번호를 탈취하는 주 기능을 포함 호크아이의 정보 탈취 대상을 보면 기본적인 시스템 정보 외에도 웹브라우저, 이메일 클라이언트 등에 대한 계정 정보들이 있다. 참고로 호크아이 정보 탈취 대상은 대부분 과거 버전의 응용 프로그램들이며, 최신 버전의 프로그램에서는 정상적으로 동작하지 않을 수 있다. 이 외에도 호크아이에는 키로깅, 클립보드 로깅 및 스크린샷 캡처를 탈취하..

Study 2022.10.30

[App]Uncrackable3

해당 앱을 실행하면 경고와 함께 OK를 누르면 앱이 종료된다. 기존 uncrackable1과 2와 동일하게 exit() 후킹을 시도했으나 다음과 같은 결과가 나온다. 분석 MainActivity를 확인해보자. 해당 부분을 보면 106번째 줄에서 init()함수에 xorkey 값으로 "pizzapizzapizzapizz"를 인자로 가지고 간다. 그리고 104번째 줄에서는 verifyLibs()함수가 실행된다. verifyLibs()라는 함수가 있고 해당 함수에서 libfoo.so 파일을 불러오는 것을 확인할 수 있다. 해당 함수는 무결성 검증 로직이다. libfoo.so 파일의 crc를 저장하고, apk가 실행되는 실제 환경에서 llibfoo.so 파일을 찾아 crc 값을 비교한다. 여기서 값이 다르다면 ..

Study/App 2022.10.30

[App]Uncrackable2

해당 앱을 실행하면 루팅이 탐지되었다는 경고와 함께 OK를 누르면 앱이 종료된다. 해당 부분의 경우 uncrackable1과 동일한 방법으로 해결해주면 된다. 자세한 내용은 아래 게시글을 참고하도록 하자. [App]Uncrackable1 루팅 탐지 - 반환 값, exit() Uncrackable1을 실행하면 다음과 같은 화면이 뜨며 앱이 종료된다. 반환 값 수정 jadx를 사용하여 MainActivity를 확인해보자. if문을 사용하는 것을 확인할 수 있다. c.a() 혹은 c.b() 혹은 c.c()의 값이 True.. seomj74.tistory.com 그 후 String 값을 입력해야 한다. verify 함수를 확인 79번째 줄을 보면 if문을 사용하여 조건을 만족하면 "Success!"를 출력한다...

Study/App 2022.10.22

[App]Fridalab 7

문제 challenge_07에서 check07Pin 메소드에서 받은 인자를 chall07 변수 값과 비교한 값을 return한다. chall07의 값은 랜덤 bruteforce를 사용할 것 (burteforce를 사용하지 않을 경우에는 chall07에 저장된 값을 가져와 Mainactivity에서 chall07()의 인자로 값을 넘겨주면 됨) js코드 function pad(n, width, z) { z = z || '0'; n = n +''; return n.length >= width ? n : new Array (width - n.length + 1).join(z) + n; } setTimeout(function() { Java.perform(function() { var main; Java.cho..

Study/App 2022.10.20