화이트해커 64

Process Hollowing 기법 실습

#Process Hollowing #Malware - Process Hollowing 이란? Process Hollowing 은 간략히 설명하면, 정상적인 타겟파일을 suspended 상태의 프로세스로 실행 시킨 다음, 해당 프로세스 안에 악성코드 데이터를 삽입시키고 suspend 상태를 해제함과 동시에 악성코드를 정상 프로세스로 둔갑시켜 실행시키는 방식이다. CreateProcess -> NtUnmapViewOfSection -> VirtualAlloc -> WriteProcessMemory -> SetContextThread -> ResumeThread 의 흐름으로 진행된다. - 예제로 보는 Process Hollowing - OS 환경 Windows 10(x86) - 소스 #include #incl..

CSP(Content-Security-Policy) 정리

#CSP #Content-Security-Policy #Web 공격자가 xss 로 웹에 허용되지 않은 script 를 삽입하거나 외부페이지에 혹은 외부페이지로 부터 HTTP 요청 을 보내는 것을 막을 수 있도록 Response Header 에 마련된 정책이다. CSP 는 웹 서버에서 Content-Security-Policy 헤더를 리턴하도록 해야 사용가능하다. (PHP, Python 등에서) 혹은 정적인 html 페이지에서 태그를 활용할 수도 있다. 아래는 예제 코드 1. 실행가능한 소스, 함수 등을 제한하여 외부의 XSS 방지 2. 외부 -> 웹페이지로 로드 되는 URL, Protocol 등을 제한하여 패킷 스니핑 공격 방지 실제 사용사례 위 html 태그에서 보이듯이 content 값에 따라 무언가..

<보안 study>/웹 2021.08.23

[WinAPI] 리소스를 분석, 해체 해보자

#리소스 분석 API #FindResource #LoadResource #LockResource #SizeOfResource 악성코드에 리소스를 심어서 숙주파일을 뽑아내어 실행시키는 악성코드를 분석해보았다. 관련 API가 빈번히 나오는 것 같아서 정리해본다. 1. HRSRC FindResource( HMODULE hModule, LPCSTR lpName, LPCSTR lpType); #include 로 불러올 수 있다. 껍데기 파일에서 숙주 파일인 리소스를 찾는 함수이다. 인자들의 조건이 맞아떨어지면 리소스 정보 block 에 대한 핸들 을 리턴한다. Return value 에 대한 msdn 설명 Type: HRSRC If the function succeeds, the return value is a ..

ProcMon "Unable to load Process Monitor device driver" 에러

#ProcessMonitor #VMware #ProcMon Win7 Ultimate x64 버전이 깔린 VMware 에서 Process Monitor 가 실행이 원활히 안되었다. 해당 오류창을 뿜뿜 뿜어냈는데, 알아보니 윈도우 7 특정버전의 보안업데이트가 미비하여 실행이 안되는거라고... 아래 링크 파일 해당 VM 에서 실행시키면 된다. Download Security Update for Windows 7 for x64-based Systems (KB3033929)

[WinAPI] 프로세스 순회해보자

#WinAPI #프로세스 탐색 1. EnumProcesses(DWORD *lpidProcess, DWORD cb, LPDWORD lpcbNeeded); #include 로 불러와서 실행가능하다. 현재 실행 중인 프로세스들의 PID 를 불러와서 배열에 저장한다. [인자설명] lpidProcess : 실행 중인 프로세스들의 PID 를 저장할 DWORD 배열이다. cb : 첫 번째 인자 배열의 사이즈이다. lpcbNeeded : 전체 프로세스 PID 들의 총 바이트를 저장할 DWORD 변수이다. ( DWORD(4) * 프로세스들의 수 ) = ( 총 바이트 ) 2. HANDLE OpenProcess(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId);..

DreamHack CTF 문제에서 배우는 NOSQL Injection

당직근무 마치고 근무취침 잠깐 취하고 나니까 드림핵 ctf 가 시작되어있었다. 대회가 1시간여밖에 안남아서 부랴부랴 한 문제 풀었는데, 나에겐 조금 낯선 NOSQL 에 대해 공부할 수 있었다. 이번 글은 DreamHack CTF 의 Web 분야문제 중, Mango 문제도 살펴보는 겸 Not Only SQL Injection 에 대해 공부하는 글이다. - NOSQL 이란? Not Only SQL 이란 뜻으로 단순히 mysql,OracleDB 같은 RDBMS 에서의 SQL 뿐만아니라 다른 형태,형식 등으로 데이터를 조직할 수 있는 DB 언어이다. RDBMS 가 주로 XML, 스프레드시트같은 테이블 구조의 정형화 된 데이터를 담는다면, NOSQL 은 바이너리파일(미디어파일, 프로그램 등등)이나 텍스트파일 같은..

<보안 study>/웹 2020.09.30

[Pwnable.xyz] note

note #got_overwrite #BOF 바로 들어가보자. 파일은 일반 ELF 파일이다. 별다른 점은 없다. main 함수를 보면 메뉴번호를 고를 때 read_int32 함수를 통해 번호를 전달받는다. 이는 얼마안가서 취약점을 촉발시키는 매개가 되는데, read_int32 함수를 알아보자. 이 함수를 보자마자 눈여겨봐야겠다고 느낀게 문자열 형태의 숫자 를 atoi로 정수 로 바꿔주고 있었기에 얼마나 큰 수를 입력해도 검증과정없이 정수로 바꿔주는 과정이 조금 이상해보였다. 뭐 결론적으론... 좋은 발견이었지만. 그리고 1번 메뉴를 선택하면 edit_note 함수로 들어오는데 모습은 이렇다. 이 부분에서 read_int32 함수의 좋은 기능을 활용할 수 있는데, 일단 s 는 전역배열로 선언되어있는 32바..

반응형