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 시 자유롭게 사용 가능함. - 크게 동적 라이브러리와 정적 라이브러리로 나뉜다. 구분 특..
1. Process Hollowing이란?
·
System/침투
출처: Process Hollowing - John Leitch Process Hollowing Suspended 상태의 프로세스를 생성한 후 해당 프로세스의 이미지를 언매핑하고 원하는 악성코드를 매핑하는 기술이다. #suspended 상태: 프로세스가 메모리를 강제로 빼앗긴 상태, 즉 프로세스의 중지 상태를 의미함. Technique: Process Injection # 공격자가 목표에 대한 tactic을 달성하기 위한 방법 # Technique를 사용함으로써 발생하는 결과를 명시함 # Tactic에 따라 다양한 technique들이 존재 가능. Tactics MITRE ATT&CK 홈페이지에서 실제 공격 기술에 대해 분류한 카테고리 Techniques 내 Process Hollowing 항목에 따르면..
PE 파일
·
System/OS
1. PE - PE파일은 윈도우 운영체제에서 사용되는 실행 파일 포맷이다. 윈도우 시스템에서 동작되는 대부분의 실행 파일은 PE파일. - 윈도우 운영체제에서 사용되는 실행 파일(exe), DLL파일, object파일, 폰트 파일, sys파일 그리고 드라이버 파일 등을 위한 파일 형식이다. (컴파일의 결과물인 OBJ 파일을 제외한 모든 것은 실행 가능한 파일.) 종류 주요 확장자 실행 계열 EXE, SCR 드라이버 계열 SYS, VXD 라이브러리 계열 DLL, OCX, CPL, DRV 오브젝트 파일 계열 OBJ PE구조는 DOS헤더, PE 헤더, 각 Section 헤더, 각 Section 테이블로 구성되어 있다. - PE포맷은 정해진 포맷을 가짐. 이 정보들을 추출하여 언제 어떤 머신에서 어떤 컴파일러로 ..
나의 Public IP 찾기 TIP (curl)
·
System/OS
Windows Terminal 1) curl ifconfig.me 2) curl ipinfo.io/ip 3) curl wtfismyip.com/json