Constant(438)
-
User Account Control Agenda
Windows Architecture 중 UAC에 대해 공부해보는 시간을 가졌다. 현재 진행 완료 된 것은 취소선으로 표시되어 있다. [1] User Account Control은 무엇인가? [2] User Account Control의 배경은 무엇인가? [3] User Account Control의 동작과정은 어떤가? [4] Bypass User Account Control은 무엇인가? [5] Bypass User Account Control은 왜 필요한가? [6] Bypass User Account Control 하는 법 [7] C&C 서버 제작 [8] C&C 서버 Anti Virus Bypass 하는 법 [9] User Account Control 후킹 [10] 자동화 프로그램 프로토 타입 [11]..
2019.12.20 -
Pwnable.tw 3x17
보호기법 확인해보니 NX Enable NX가 Enable되어 있고, Partial RelRo가 적용되어 있다면 ROP를 이용할 수 있겠다는 시나리오를 안고 가자. 메인함수를 살펴보면 이렇다. 일단 메인함수가 진행되면, 첫 번째 조건문은 만족하게 된다. 근데 문제점이 있다. 두 가지의 데이터를 입력받고 나면 프로그램이 정상종료 되게 설계 되어있다. 해커 관점으로 이 부분을 어떻게 가지고 놀 것인지 고민해봐야한다. ELF 파일에서 프로그램이 꺼질 때 무엇을 건드는지 알 필요성이 있었다. 이전에 연구해본 Windows Visual Studio 기반에서는 PE 구조를 체킹하는 부분이 존재했었다. ELF 파일을 똑같이 만들고 메인함수 이후에 어떤 작업을 하는지 살펴보면 도움이 될 거라고 판단했다. (새로 만들면 ..
2019.11.25 -
HackCTF static
해당 문제 컨셉 : Binary Patch 환경 : 64bit ELF Thinking.. static이 문제 명인 이유 : 도출 된 input 값을 입력하면 특정 문자에 의해 command가 먹히지 않음. 그래서 정적으로 분석하고 코드를 짜야함. 패치 하면 다음과 같은 코드를 볼 수 있음. __int64 __fastcall sub_A3A(int argc, char **argv, char **a3) { const char *s1; // [rsp+20h] [rbp-10h] // bi0s ~~ s1 = getenv("team_name"); if ( s1 && !strncmp(s1, "bi0s", 4uLL) ) // // { if ( argc == 2 ) { if ( (unsigned int)enc(s1, ar..
2019.07.25 -
개발 일지
====================================================================== 시작 일 : 2019/06/26 종료 일 : 2019/06/28 ------------------------------------------------------------------------------------------------------------------------ Socket 비동기 서버 Version 1 1. 소켓 서버 원리 이해 2. 리눅스에서 kbhit 커스텀해서 사용가능 3. 터미널 속성을 얻기 위해 'termios' 구조체를 사용할 수 있다. 4. 스레드 잘 못 쓰면 다 꼬인다. 5. 파일 경로명을 지정할 때 주석을 달면서 하지 않으면 너무 헷갈린다. 반..
2019.07.02 -
개발 일지
====================================================================== 시작 일 : 2019/07/08 종료 일 : ------------------------------------------------------------------------------------------------------------------------ Socket 비동기 프로그램 제작 Environment : WINDOWS SERVER 2016 ====================================================================== 시작 일 : 2019/07/01 종료 일 : --------------------------------..
2019.07.02 -
HTTP Protocol을 SOCKET에서 사용하는 법
HTTP 프로토콜은 연결한 다음, 직접 사용자가 요청을 해야 반응을 보여준다. 이 요청형식이 '규약' 즉, 프로토콜이다. User-Agent는 마음대로 적어도 되긴 하지만, 통신이 잘 안될 수 있기 때문에 난 ~이런 웹 브라우저이다 라고 알려주게 된다. 서버는 라인 구별을 \r\n으로 한다. 제일 마지막도 \r\n으로 줘야 서버가 끝임을 알 수 있다. example. In C code, "GET /a.zip HTTP/1.0\r\n" "Host: www.A.com\r\n" "User-Agent: FileDownloadProgram/1.00\r\n" "Accept: */*\r\n" // 모든 것을 다 받겠다 "\r\n";
2019.07.02