일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 소프트맥스함수
- 보안
- 백준
- 밑바닥부터시작하는딥러닝
- 파이썬신경망
- 버퍼오버플로우
- 알고리즘
- 머신러닝
- 달고나bof
- BOF
- 항등함수
- 신경망파이썬
- 파이썬
- 8086CPU레지스터
- BOJ
- 딥러닝파이썬
- 활성화함수파이썬
- 신경망구현
- 신경망 학습
- C알고리즘
- 딥러닝
- FTZlevel10
- 인공지능
- 정보보안
- 백준알고리즘
- 신경망
- C언어알고리즘
- C언어 알고리즘
- 스트림암호
- c언어
- Today
- Total
목록전체 글 (235)
HeeJ's
문제: 16진수 0X3D를 10진수로 바꿔 picoCTF{ } 안에 답을 넣어주면 해결
문제: 0x70을 아스키로 변환하여 picoCTF{___} ___부분에 답을 넣어주면 된다.
우회에 사용할 sample.vmem을 볼라틸리티로 열어주었다. ps() 명령어로 활성화되어있는 프로세스들을 확인해주었다. 여기서, System 프로세스의 offset을 이용해 EPROCESS 구조체를 확인해보려고 한다. 구조체 중, 0x188에 위치한 ActiveProcessLinks에 주목해야 한다. EPROCESS 안에 있는 ActiveProcessLinks의 Flink, Blink를 통해서 다른 프로세스로 이동하기 때문이다. LIST_ENTRY는 Flink와 Blink로 이루어져 있고, Flink는 다음 프로세스를, Blink는 이전 프로세스를 가리키는 포인터이다. 이제, System 프로세스의 LIST_ENTRY를 확인해보자. 다음 프로세스인 smss.exe로 이동하기 위해 Flink값을 사용해서..
Volatility? 파이썬 기반의 오픈 소스 메모리 포렌식 툴 CLI 인터페이스를 제공한다. 플러그인 형태로 다양한 기능들을 제공하는데, 자신이 직접 플러그인을 만들어서 사용 가능 Volatility 플러그인 pstree : 프로세스를 트리구조로 출력 pslist : 프로세스 리스트 출력 (가상 주소) psscan : 프로세스 리스트 출력 (물리적 주소) psxview : 프로세스 은닉 탐지를 위해 다양한 방식으로 프로세스 등을 조회 procdump : 프로세스 실행파일 추출 memdump : 프로세스가 사용한 전체 메모리 영역 덤프 filescan : 메모리상의 파일 오브젝트 전체 검색 hivelist : 메모리상의 파일 cmdscan : cmd에서 실행한 명령어 확인 cmdline : cmd에서 실..
level3에서 찾은 패스워드로 level4에 로그인한다. 디렉토리를 확인해주고, hint를 살펴보았다. 이번 level4는 백도어와 관련된 문제 같다. 백도어? 정상적인 인증 절차를 거치지 않고, 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 방법 보안상 허점을 역이용하여 크래커들이 계정 탈취에 성공한 후 재침입을 대비해 쉽게 접근할 수 있도록 만들어 둔 파일 Xinetd 하나의 독립 데몬이지만, 여러가지 다른 서비스들을 제어하고 관리. 시스템 부하를 줄이기 위해 사용 힌트대로 /etc/xinetd.d/ 디렉터리로 들어가 내용을 살펴보자 앞구르기하면서 봐도 수상한 backdoor라는 파일이 있다는 것을 확인할 수 있다. backdoor라는 파일의 실행권한을 보면, 읽기(r)밖에 할 수 없는 파일임을..
level2에서 얻은 password로 level3에 접속해주었다. ls 명령어로 디렉터리 확인 cat 명령어로 hint를 확인해주었다. 1. autodig라는 프로그램의 소스 2. 동시에 여러 명령어를 사용하는 방법과 문자열 형태로 명령어를 전달하기 위한 방법? 우선 level4의 setuid권한이 있는 파일을 찾아주었다. 일단 autodig를 실행시켜보았다. autodig의 사용법만 나오고 에러는 뜨지 않는다. ./autodig 호스트명 을 입력하면 되는 것 같다. 소스코드를 살펴보면 argc는 인자의 개수, argv는 인자를 뜻한다. if문에서 argc!=2라는 조건이 있고, 그 내부에 exit(0)이 있는 것을 보면, 인자의 개수가 2개라고 생각할 수 있는데, autodig 프로그램을 실행시킨다면..
디렉터리에 있는 파일들을 확인하고, hint 파일을 cat 명령어로 확인해보았다. 뭔가 리눅스의 에디터에 관련된 힌트 같은데... 일단 level3의 쉘의 명령을 실행시킬 수 있어야하니 level3 권한에 setuid가 걸린 파일을 찾아보았다. editor를 실행시키기 위해 /usr/bin으로 이동해 editor를 실행시켰다. 리눅스의 vi 에디터이다. vi에는 명령 모드, 입력 모드, 마지막 행 모드가 있는데, 명령 모드에서 : (콜론)을 입력해 화면 하단에 입력할 수 있도록 한다. 그래서 하단에 :!/bin/bash를 입력해 level3의 쉘을 사용해야한다. : : 명령어 수행 ! : 외부 쉘 실행 level3의 쉘을 얻은 것을 확인하고 my-pass 명령어를 통해 password를 확인한다.
level1, pw도 level1을 입력해서 level1에 접속한다. ls -l 명령어로 디렉터리에 있는 파일들을 전부 확인한다. hint라는 파일이 있어 이 파일을 확인해 보았다. setUID? setUID가 설정된 파일을 실행하면, 특정 작업을 수행하기 위해 일시적으로 파일 소유자의 권한을 얻게된다. 즉, 소유자가 root인 파일에 setUID가 설정되어 있을 때, 일반 사용자가 그 파일을 실행하면 잠시 그 순간동안 파일의 소유자인 root 권한을 빌려오는 것 setUID가 걸린 파일을 찾는 법 find / -user root -perm -4000 에러들이 화면에 출력되는데, 에러가 나오지 않게 하려면 끝에 2>/dev/null을 추가하면 된다. find : 찾기 / : 최상위로부터 -user [소유..