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 지정하지 않았다면, 응용프로그램이 존재하는 디렉터리가 첫번째 우선순위이다. 그렇기에 하이재킹을 쉽게 실습할 수 있다...
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 항목에 따르면..
UAC bypass 실습하다가 컴날림
·
System/침투
Abuse Elevation Control Mechanism- UAC bypass - 참고로 해당 실습은 3개월 전에 진행한 것이다.업데이트 확인 작업 시.. 존재하지 않는 DLL인 WindowsCoreDeviceInfo.dll을 로드하려함. 내가 해야하는 것일반 프로세스를 시스템권한까지 올림.이를 위해 시스템 권한을 가진 프로세스로의 인젝션 또는 하이재킹이 필요하다.단, UAV없이 바로 시스템권한으로의 상승이 필요하다.시스템권한을 가진 프로세스로 하이재킹한 후.. shellExcuteEx() 함수를 통해 시스템권한을 가진 자식프로세스를 생성.여기서 자식프로세스의 역할은 일반 권한의 프로세스를 선택해서 setPrivilege같은 함수 통해 일반권한 프로세스 시스템 권한으로 상승시키기.그럼 당장taskmg..
AV 엔진 우회 2
·
System/침투
참고: https://cocomelonc.github.io/ AV 엔진 우회 2 실습환경 Windows 10 Home 21H2, VMware® Workstation 16 Pro 16.2.3, 가상머신 내 kali-linux-2022.1, 가상머신 내 Windows 10 Home 21H2 2GB 2CORE 무슨 트릭을 써 볼 것이냐면.. AV 엔진이 스캔을 할 때 제한적으로 주어진 "시간"에 대한 트릭이다. 시스템을 검사하는 동안 AV엔진은 많은 파일을 분석하는데.. 특별한 것에 엄청난 시간을 쏟을 수 없음. AV엔진 우회 1에서처럼 페이로드를 암호화하는 것 외에 AV엔진의 탐지를 피하는 고전직인 방법 중 하나이다. => 100MB 메모리를 할당하고 Wirte. 1. metasploit으로 쉘코드 만들기 ..
VM 엔진 우회 실습 1
·
System/침투
VM 엔진 우회 실습 1 실습환경: windows 10 21H2 64bit, windiws 7 service pack1 64bit 실습대상: Vmware 실습도구: visual studio 2022 17.1.1​, regedit 참고: https://cocomelonc.github.io/ 악성코드 개발 실습 3 FOR Persistence 여기 포스팅에서 레지스트리 관련 함수들 배운 겸, VM엔진 우회 실습도 이를 이용해서 해 보려고 한다. VM엔진 우회가 무엇이냐하면.. 어떤 실행파일 돌려보기 전에, VirtualBox에서 실행시켜봄으로써 악의적인 파일 여부를 탐지하는데, 이를 우회하기 위한 것이다. 코드는 VM엔진일경우, 악의적인 행위를 하는 코드가 실행되지 않도록 만들 것. 즉, VM엔진의 특징을 ..
AV 엔진 우회 실습 1
·
System/침투
참고: https://cocomelonc.github.io/ AV 엔진 우회 실습 1 [튜토리얼] payload: calc.exe 프로세스를 실행하는 코드. (멀웨어라고 가정) 목적 1. 코드 실행 2. 악성 프로그램을 탐지하는 안티바이러스 엔진의 수를 확인 3. 해당 엔진의 수를 줄이려고 시도할 것. ▶ 본인은 Windows Defender를 우회하려는 목적으로 시도해볼 것이다. #include #include #include #include unsigned char my_payload[] = { 0xfc, 0x48, 0x83, 0xe4, 0xf0, 0xe8, 0xc0, 0x00, 0x00, 0x00, 0x41, 0x51, 0x41, 0x50, 0x52, 0x51, 0x56, 0x48, 0x31, 0x..