분류 전체보기 117

파일시스템 기초

파일시스템 기초 HDD는 공간만 제공 따라서 제한된 공간을 체계적, 효율적으로 쓰기 위해 파일 시스템을 사용 파일개념 저장장치의 물리적특성을 추상화한 논리적 저장단위 컴퓨터에서 처리되는 다양한 정보를 저장 연속적인 논리 주소공간으로 구성 파일내의 정보의 의미나 형식은 작성자에 의해 정의 파일의 종류 프로그램 데이터: 숫자, 문자, 이진수의 배열 파일시스템 운영체제에 포함된 파일접근 및 관리모듈 저장장치에 구성된 파일들의 저장체계 파일의 온라인 접근과 저장을 위한 서비스 제공 저장장치의 구조 파티션 복잡한 관리를 위해 저장장치 공간을 세분화 개별 파일시스템의 크기 제한 하나의 저장장치에 여러개의 파일 시스템을 사용가능 별도의 스왑 혹은 포맷되지 않은 공간으로 활용 볼륨 파일시스템을 포함하는 개체 논리적인 ..

STUDY/Forensic 2020.03.07

GrrCON2015 #4

우선 프로세스 인젝션에 대해 알아야겠죠? Process Injection이란 Process injection is a widespread defense evasion technique employed often within malware and fileless adversary tradecraft, and entails running custom code within the address space of another process. Process injection improves stealth, and some techniques also achieve persistence 이렇다는데 그냥 들어보면 프로세스 인젝션이란 방어회피기술이라고 생각하시면 됩니다. 프로세스를 까보면 악성코드에 의해 실행되고 있는..

Write-up/GrrCON2015 2020.02.25

GrrCON2015 #2

이전에 올린 GrrCON 2015 #1에서 나온 3196.txt에서 CTRL + F를 사용하여 Keyformat인 ".exe"을 찾다보면 답이나온다. 정답 : Hello Mr. Wellick, In order to provide the best service, in the most secure manner, AllSafe has recently updated our remote VPN software. Please download the update from the link below. AnyConnectInstaller.exe">http://180.76.254.120/AnyConnectInstaller.exe If you have any questions please don't hesitate to c..

Write-up/GrrCON2015 2020.02.25

Volatility 사용법

volatility.exe가 있는 폴더로 이동해서 cmd를 킨다 분석하고자 하는 파일을 volatility.exe있는 곳에 같이 넣는다. volatility.exe -f [파일 명] imageinfo volatility의 plugin을 사용하기 위해서는 3번을 한 후 suggested profiles라는 곳에 써져있는 운영체제 명을 기억해놓는다. process의 리스트를 보기 위해 volatility.exe -f [분석할 파일명] --profile=[운영체제명] pslist을 입력한다. 휘발성이라 전원을 끄면 기록이 날라감 .한개는 .이 없는 것의 자식프로세스 ..은 .의 자식프로세스 pslist자리에 1. psscan은 프로세스의 시작과 끝 시간은 안다 2. pstree는 부모와 자식프로세스를 자세히 ..

STUDY/Forensic 2020.02.25

FTZ level 11 (환경 변수)

FTZ level 11 pw : what!@#$? [level11@ftz level11]$ ls attackme hint public_html tmp 항상 ls로 확인 합니다. 후에 cat hint를 해서 hint를 봅니다. [level11@ftz level11]$ cat hint #include #include int main( int argc, char *argv[] ) { char str[256]; setreuid( 3092, 3092 ); strcpy( str, argv[1] ); printf( str ); } 어디가 취약한 부분인지 아시겠나요?? 저기 strcpy가 취약한 부분입니다. 인자를 받아 복사를 하는 것인데 얼마만큼 복사를 해야하는지 지정해주지 않아서 argv[1]의 인자를 str의 2..

Write-up/FTZ 2020.02.23

1-day Exploit 실습

환경 : Windows 10 64bit Exploit 대상 소프트웨어 : Faststone - max viewer 32bit운영체제 Dword(4byte) 1-day 파일과 소프트웨어를 구해서 실습을 진행하도록 한다. 확인을 해보기 위해 bat파일을 만들어 위 사진처럼 내용을 작성한 뒤 저장한다. bat파일을 실행을 시키면 windbg가 실행되면서 해당 소프트웨어와 이미지파일이 로드된다. F5를 눌러 진행을 하다 보면 41414141로 뜨면서 멈출 때가 있다. RET부분으로 다음 주소로 갈 수 없기 때문에 일어나는 Segmentation Fault이다. 아까 맨 처음(Exploit 실습)에 보았던 Stack BufferOverflow 와 같은 현상이 일어났다. HxD를 켜서 Ctrl + F로 확인을 해보..

프로젝트 2020.02.21

SEH overwrite

이번에는 SEH(Structured Exception Handling)가 걸려 있는 코드를 가지고 exploit을 해보도록 하겠다. 앞서서 SEH이란 WINDOWS OS 에서 제공하는 예외처리방식이다. Stack Cookie옵션이 걸려 있는 상황이다. Stack Cookie란 RET, SFP 이전에 랜덤 한 4바이트의 쿠키 값을 삽입하는 것이며,함수가 종료되기 전 해당 쿠키 값이 기존의 값과 동일한지 검사하는 코드가 있다. 이러한 방어기법을 뚫으려면 SEH에 대해서 알아야한다. SEH(Structured Exception Handler)란 윈도우의 예외 처리 기술로써 해당 기술은 프로그램 상에서 발생하는 다 양한 예외에 대한 처리를 지원하기 위한 것이다. 컴파일러는 SEH 체인을 만들고 관리하며, 예외가..

프로젝트 2020.02.17

Trampoline Technique

일반적인 EIP overwrite기법은 정확한 shellcode의 주소를 알아야 하는데 ASLR이 적용되면 스택의 주소가 랜덤하게 바뀌어 정확한 주소를 알기 어려워져 공격이 힘들다. 위의 사진은 ASLR이 걸려있는 프로그램을 두번에 걸쳐 실행을 했을 때의 버퍼 주소이다. 보시다시피 하나는 01321359 , 다른 하나는 009C1359로 다르다. 이러한 경우에는 Trampoline기법을 사용한다. Trampoline기법이란 쉘코드의 주소를 직접 쓰는 것이 아니라 JMP ESP 가젯을 이용하여 쉘코드가 저장된 주소로 이동하게 하는 기법이다. 디버거를 열어 ALT + M을 하여 메모리창으로 간뒤 CTRL + B를 하여 바이너리서치 메뉴를 열어 Hex창에 FF E4를 넣는다. FF E4는 JMP ESP의 기계..

프로젝트 2020.02.16