HALucinator: Firmware Re-hosting Through Abstraction Layer Emulation 포스팅 썸네일 이미지

SYSTEM HACKING/EMBEDDED

HALucinator: Firmware Re-hosting Through Abstraction Layer Emulation

HALucinator Firmware Re-hosting Through Abstraction Layer Emulation 0. 개요 펌웨어를 동적분석하는데에 있어서는 많은 어려움이 있습니다. 기본적으로 펌웨어는 하드웨어와 밀접한 연관이 있기 때문에 다양한 임베디드 시스템에 의하여 분석하는데 다양한 어려움이 생깁니다. 이 가운데 HALucinator는 하드웨어 없이 펌웨어 리호스팅을 가능하게 한다고 합니다. 오늘은 HALucinator에 대해서 알아보도록 합시다. 1. Background Knowledge [0] Firmware Re-hosting 우선 Firmware Re-hosting이 무엇인지 알아야 합니다. 이에 대해서는 글을 작성한 적이 있기 때문에 생략하도록 하겠습니다. Link : https:..

2022.05.11 게시됨

임베디드, 펌웨어, 펌웨어 리호스팅 용어정리 포스팅 썸네일 이미지

SYSTEM HACKING/EMBEDDED

임베디드, 펌웨어, 펌웨어 리호스팅 용어정리

임베디드, 펌웨어, 펌웨어 리호스팅 용어정리 1. Abstract 갑자기 정확한 개념을 모르겠어서 쓰는 글입니다. 나중에 또 까먹을까봐! 혹시나 틀린 부분이 있다면 지적 부탁드립니다. 이런저런 공부를 하다보면 정말 자주 펌웨어는 딴거니? 리호스팅은 된거고? 덤프는 땄어? 가상화 지원은 안된대? 등등... 어설프게 아는것보다 한번 정리하고자 글을 작성합니다! 2. 임베디드 시스템(Embedded System)이란? 우선 임베디드 시스템이란 직역할 경우 '내장된 시스템'정도로 번역이 됩니다. 이정도 내용만 보고서는 음.. 그럼 컴퓨터도 임베디드 시스템이 아닌가? 라는 생각을 했었는데, 전혀 다릅니다. 한 글에서 임베디드 시스템은 개인용 컴퓨터(Personal Computer)의 정반대의 말이다, 라고 하는 ..

2022.04.24 게시됨

[PWN] shellcode 정리 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE

[PWN] shellcode 정리

본 글은 Dreamhack System Hacking Curriculum - Shellcode를 참고하여 작성되었습니다. 1. 개요 기본적으로 시스템 해킹의 목적은 대상 시스템을 '부당하게 이용'하는 것입니다. administrator의 권한을 빼았는 것부터 시작해서 인가되지 않은 파일을 열어보는 것 등등도 해킹의 목적이 될 수 있겠죠. 이를 위해 제작된 어셈블리어 코드를 쉘코드(shellcode)라고 합니다. 해당 코드를 실행시키면 쉘(shell)을 실행시킬 수 있기 때문입니다. 굳이 C언어와 같은 고등 언어가 아닌 어셈블리어로 작성하는 이유는, 어셈블리어 단으로 작성할 경우 RIP레지스터만 조정할 수 있어도 바로 원하는 코드를 실행할 수 있기 때문입니다. 물론 어셈블리어로 작성된다는 특성상 아키텍쳐 ..

2022.04.06 게시됨

[Cheat Engine] 기본적인 사용법 / 단축키 포스팅 썸네일 이미지

SYSTEM HACKING

[Cheat Engine] 기본적인 사용법 / 단축키

Cheat Engine 기본적인 사용법 몇 달 안썼더니 다까먹어서... 또 까먹을 미래의 나를 위해 기록 (개인 기록용이라 대충 작성되어있고, 틀린 부분이 있을 수 있습니다. 있으면 댓글로 알려주세요) 0. 기본 설정(Debug 우회) Windows에서 Cheat Engine을 사용하면 기본적으로 Windows Debugger를 사용하고 있는데, 이걸 감지하는 경우가 있음. 이 경우 Edit > Settings > Debugger Options > Debugger Method에서 Use VEH Debugger 사용 이게 모든걸 우회해주지는 않지만, 우회되는 프로그램들이 많음 1. Search String 프로그램을 실행시켜서 보이는 문자열/값들은 모두 메모리 어딘가에 기록될 수 밖에 없음. 따라서 이를 ..

2022.01.25 게시됨

[Python] Built-in 객체 사용하기, 응용하기 (Python RCE) 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE

[Python] Built-in 객체 사용하기, 응용하기 (Python RCE)

Built-in 객체 사용하기, 응용하기 (for CTF) Python built-in functions (Python RCE) 요즘 python으로 포너블 문제가 많이 나오던데, 왠만하면 이거 관련 문제들이여서 한번 정리하려고 합니당 1. __builtin__ 객체 소개 일단 'built-in'함수라는건 누구나 알고 있다고 생각합니다. 그 python에서 기본적으로 제공하는 그 함수들 맞아유! 더 중요하게 봐야할 건 built-in 객체입니다. 예를 들어, builtins.open 은 내장 함수 open() 의 완전한 이름입니다. 이렇게 모든 내장 식별자를 연결하는 액세스를 제공합니다. 어려워 보일 수 있는데 사실 우리가 평소에 사용하던 것들입니다. 혹시나 더 궁금하신 분들은 여기로 #1. Using ..

2021.05.14 게시됨

[STACK] mprotect ROP 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE

[STACK] mprotect ROP

ROP using mprotect 오늘은 기존의 ROP와는 조금 다른 것을 해보려고 합니다. 기존에는 system함수를 이용해서 권한을 얻는 식이라면, 이번에는 mprotect함수를 이용해서 권한을 획득하는 방식의 ROP에 대해서 알아보려고 합니다. 1. mprotect함수란 기본적으로 mprotect함수에 대해서 알아보도록 합시다. mprotect함수는 메모리에 대한 접근을 제어하는 함수로, 원형은 다음과 같습니다. #include int mprotect(const void *addr, size_t len, int prot); - addr : 접근을 제어할 주소 - len : 주소 기준으로 관여할 길이 - prot : 다음 값들의 비트OR값이다. PROT_NONE : 접근할 수 없다. PROT_READ..

2021.03.17 게시됨