AWS 기초 클라우드 컴퓨팅 개념과 배포 모델 종류
·
사이버보안
클라우드 컴퓨팅이란?전통적으로는 시스템 구축을 위해서 자체적(온프레미스 On-Premises)으로 서버와 스토리지, 장비를 구매하고 관리해야 했는데 이는 비용뿐만 아니라 유지보수가 복잡하다. 반면에 클라우드 컴퓨팅 서비스에서는 인터넷을 통해 서버, 스토리지 등의 IT 리소스들을 온디맨드로 제공받는 방식이다. 대표적으로 AWS, Azure 등의 서비스가 있는데 제공자 측에서 기본적인 인프라를 관리해 주기 때문에 사용자 입장에서는 물리적 서버를 직접 관리할 필요가 없고 필요한 만큼의 리소스를 사용하고 비용을 지불하면 된다는 장점이 있음. AWS 같은 클라우드 서비스 제공자는 서버와 네트워크 유지 보수, SW 패치 적용, 재해 복구 같은 작업을 해주기 때문에 서비스를 이용하는 고객 입장에서는 인프라 관리를 ..
가상주소공간 VAS의 스택 메모리 IA32 스택 프레임
·
리버싱
스택프레임 : 함수가 사용하는 스택의 영역으로 호출된 함수의 지역변수, 매개변수, 반환 주소 등이 있다함수 호출마다 새로운 스택 프레임 생성과 제거의 과정이 이루어짐  - EBP: 함수의 스택 프레임 시작주소 /Base Pointer → 고정 - ESP: 함수의 스택 프레임 끝 주소 /Stack Pointer → 변함  main 함수가 실행되면 main 함수의 스택 프레임, 다음에 A()가 실행되면 A함수의 스택 프레임이 생성되는 구조, 함수 실행 끝나면 프레임도 무효화됨(삭제는 X) 프로세스 흐름이 main에서 A함수로 넘어가면 EBP 프로세스 역시 A 함수의 시작 부분으로 이동  스택 프레임 생성과 종료  함수가 실행된 직후 함수에 의해 스택 프레임이 생성됨 함수 시작 직후 스택 프레임을 시작하는 코..
리버싱 :: 가상주소공간 VAS 스택메모리
·
리버싱
스택메모리스택에는 함수에게 전달된 파라미터, 지역변수, 반환주소 등이 보관됨 탑포인터가 마지막으로 저장된 데이터를 가리키고, 낮은 방향으로 자라는 full descendung stack 방식 PUSH→ 탑포인터가 올라가고 POP→ 탑포인터 내려감 2개의 오퍼레이션 PUSH, POP 한 개의 탑포인터 ESP로 운용됨 Call Stack현재 실행 중인 서브루틴에 관한 정보를 저장하는 스택 자료구조스택 자료구조와 다르게 중간에 있는 데이터 바로 사용가능 full descending 방식 Full Stack vs Empty Stack push 명령어를 통해 마지막에 들어온 데이터가 TOP 포인터면 Full stack그다음 위치를 가리키면 Empty stack Ascending/Descending Stack 메모..
Vulnerability Management :: Metasploitable 2 실습
·
Defensive
Metasploitable 2는 Rapid7에서 해커들의 실습을 위해 의도적으로 취약하게 만든 가상 머신 환경이다.내부에는 많은 취약점들이 있고 원격 액세스를 얻고 추가 익스플로잇도 가능하다.실제 환경들보다 결함, 우회, 익스플로잇이 더 가능한 취약한 테스트 환경이기 때문에 합법적으로 실습할 수 있고시스템에 문제가 생겨도 재부팅하고 다시 시작하면 됨. kali linux에 metasploitable framework가 있길래 이건 줄 알고 한참 헤맸는데iso 설치하듯이 가상환경 자체를 다운받아야 하는거였음...^^ Metasploitable 2 설치하기 여기서 다운받고 MetasploitableDownload Metasploitable for free. Metasploitable is an in..
[Dreamhack] 리버싱 rev-basic-5 Writeup
·
Writeup
이전 rev-basic 시리즈와 유사한 구조의 문제다correct를 출력하는 플래그를 찾으면 됨틀린 값을 입력하면 wrong을 출력함 IDA에 로드해서 실행파일을 분석해 보겠음  input: 여기서 사용자에게 입력값을 받고if 문에 있는 sub_140001000에서 비교해서 일치하면 correct 출력 __int64 __fastcall sub_140001000(__int64 a1){ int i; // [rsp+0h] [rbp-18h] for ( i = 0; (unsigned __int64)i  if ( *(unsigned __int8 *)(a1 + i + 1) + *(unsigned __int8 *)(a1 + i) != byte_140003000[i] )위의 수식을 간소화하면 이렇게 되겠다a1[i+1..
[Hackthebox] Behind the Scenes 리버싱 챌린지 Writeup
·
Writeup
behindthescenes이라는 리버싱 챌린지를 풀어보았음$ ./behindthescenes ./challenge  어떤 패스워드를 입력하면 플래그를 알려주는 방식인듯하다파워쉘 powershell에서 strings 명령어로 대략 내용을 볼 수 있다  챌린지의 패스워드가 HTB{strings} 이런 구조라는 힌트가 있다디컴파일러 IDA에서 살펴보자  지금까지 했던 리버싱 문제들과는 다르게 cmp 조건문으로correct wrong 으로 나뉘는게 아니라 쭉 이어지는 구조다메모리 할당하는 _memset, _sigaction 같은 함수가 호출된다  디컴파일된 모습을 보니까 sigaction 구조체가 선언딘후에 memset으로 초기화된다sigaction() 함수를 호출해서 핸들러가 동작하도록 한다 근데 코..