본문 바로가기

분류 전체보기

(18)
정보보안기사 실기-1 (로그 관리, 시스템보안) 로그 관리 (로그 유형, 로그 설정 방법) 유닉스(리눅스) 로그 관리 개요 리눅스에서는 시스템로그, 보안로그, 메일로그, 부팅로그 등 시스템의 다양한 로그들을 생성/저장하기 위해서 syslogd 프로세스를 실행하며, 기본적으로 로그 파일은 종류별로 /var/log 디렉토리의 아래에 생성된다. 또한 보안을 위해 파일들의 저장위치나 저장 파일명을 변경할 경우에는 /etc/syslog.conf 파일을 수정한다. 유닉스 로그 종류 utmp: 현재 시스템에 로그인한 사용자 상태 출력 (w, who, users, finger) w는 사용자계정, 접속터미널타입, 접속한 클라이언트 ip, 로그인시각, idle 시간, 수행중인 프로세스 이름 확인 접속 터미널타입 (tty: 콘솔에서 직접 접속, pts: 원격 접속) wh..
정보보안기사 실기 키워드 로그 관리 (로그 유형, 로그 설정 방법) 비밀번호 관리 (비밀번호 정책, 설정 방법, 설정값의 의미) 필수 명령어 (chmod, ls, find, ps, ndd, last, chattr, 특수비트) IPSec (AH, ESP, 전송모드, 보호범위) SSL (구성요소, 보안 취약점) 서비스거부공격(Smurf, Slow계열공격, Land attack 등) 포트 스캔 (스캔 종류, 스캔 원리) 주요프로토콜 (SNMP, TCP, ARP) Snort (룰 구성, 설정 방법, 실무적용) IPtables ( 옵션 구성, 설정 방법, 실무적용) 웹 서버 설정 (웹 서버 구조, 아파치 설정) 웹 취약점 (HTTP, SQL Injection, 파일업로드, 디렉토리 인덱싱, Robot, XSS, XXE) 웹 보안방안 (쿠..
리눅스마스터 1급 필기 정리 Linux, Unix, Windows XP 1. 프로그램을 어떠한 목적을 위해서도 실행할 수 있는 자유 2. 프로그램의 작동 원리를 연구하고 이를 자신의 필요에 맞게 변경시킬 수 있는 자유 3. 이웃을 돕기 위해서 프로그램을 복제하고 배포할 수 있는 자유 4. 프로그램을 향상시키고 이를 공동체 전체의 이익을 위해서 다시 환원시킬 수 있는 자유 자유 소프트웨어 범주에 공용 소프트웨어가 포함된다. 페도라(Fedora), 센트os, 데비안, 우분투(ubuntu), 민트(Mint), 안드로이드, Slackware, OpenSUSE, 레드햇(Rad Hat) 여러 운영체제를 사용할 때 운영체제를 선택하여 부팅할 수 있도록 도와주는 기능. 리눅스 >> LILO, GRUB OS/2 >> 부트 관리 프로그램 Window..
호출 규약 (Call conventions) 간략 비교 (cdecl vs stdcall vs fastcall) 함수 호출은 어셈블리 코드에서 다르게 나타날 수 있다. 이는 호출 규약이 함수 호출이 발생하는 방식을 결정하기 때문이다. 호출이 발생하는 방식이라 함은 아래와 같이 두 가지가 존재한다. 1. 함수의 파라메타를 스택 혹은 레지스터에 놓는 순서 2. 함수가 종료되면 스택을 정리하는 대상(호출자 또는 호출된 함수) 또한 컴파일러에 따라서 사용되는 호출 규약도 다르다. 컴파일러가 이러한 규약을 구현하는 방법에는 미묘한 차이가 있다. 그래서 다른 컴파일러에 의해 컴파일된 코드를 인터페이스하기가 어려울 수 있다. 하지만, Windows API 사용할 때에는 일정한 규약을 따라야하며, 호환성을 위해 균일하게 구현된다. 호출 규약은 주로 cdecl, stdcall 및 fastcall 세 가지가 사용된다. cdecl -..
디스크 인터페이스 간략 정리 (정리중) IDE (=PATA=ATA) - 개인용 디스크 인터페이스 - 40 pin - 병렬 SATA1/2/3 - 개인용 디스크 인터페이스 - 7 pin - 직렬 - SATA2: USB처럼 허브를 이용해 하나의 포트에 여러개 하드 연결 가능, PC 종료 없이 장치 연결 가능한 핫플러그 기능 SCSI [스커시] - 서버/워크스테이션 등에 쓰이는 고속 인터페이스 - 비쌈 - 병렬 - 88 pin SAS [사스] - 서버 등 대형 PC 등에 쓰이는 고속 인터페이스 - 커넥터와 선은 SATA와 같은 것을 이용하나 컨트롤러가 달라 SAS 규격의 HDD가 SATA보다 훨씬 비쌈 - 32 pin - 직렬 ZIF - 노트북 HDD 인터페이스 SCA - 단일커넥터로 별로 전원 커넥터가 필요없는 인터페이스 - 82 pin -.핫스왑..
[Python] Database 조작 간략히 import sqlite3 1. db 연결 con = sqlite3.connect('') 2. 데이터 전달을 위한 cursor 객체 생성 curs=conn.cursor() 3. 데이터 조작 ex 0) curs.execute('SELECT * FROM table~') ex 1) sql='select name, age from people' aa=curs.execute(sql) for a in aa: print(a) ex 2) sql='insert into people values (?,?)' curs.execute(sql, ('kim', 26)) 4. 저장 conn.commit() 5. 연결 종료 conn.close()
[Python] Timestamp Convert 시간 데이터는 디지털포렌식에서 중요한 정보로 활용됩니다. 이메일, 데이터베이스, 파일시스템 등에서 많은 시간 정보를 획득할 수 있으므로 사건의 사실 여부를 증명하는데 활용할 수 있기 때문입니다. 이렇게 특정한 시각을 나타내는 문자열을 바로 타임스탬프 (Timestamp)라고 합니다. 디지털포렌식에서 타임스탬프를 활용하여 분석을 수행할 경우 주의해야할 점이 있는데 운영체제 혹은 언어마다 타임스탬프의 기준시와 단위가 달라집니다. 아래는 RFC 822, ISO 8601, Unix/Epoch, FILETIME, Microsoft, Mac 타임스탬프 등 다양한 방식으로 표현된 시간 정보입니다. 다양한 방식으로 시간을 표현하지만 모두 같은 날짜 및 시간을 의미합니다. Tue, 07 Apr 2020 07:03:36 ..
Reversing.kr 10번 문제 (Twist1) Twist1 프로그램 디버깅 시작 부분은 아래 그림에서 볼 수 있듯이, OEP (Original Entry Point) 위치가 아니다. 그렇다면 프로그램이 패킹되어 있을 것으로 예상된다. 그러나, 다음 그림의 Detect It Easy을 통해 확인한 Twist1 프로그램에 패킹된 정보는 없다. 그렇다면, 커스텀으로 패킹된 것이 아닐까라는 생각이 든다. ANTI DEBUGGING 기법-1 (POP SS) 우선, [F9] 단축키를 통해 프로그램을 실행해보았다. 그러면 아래 그림 00402052 위치에서 프로그램이 멈추고 다음 그림과 같이 EXCEPTION_ACCESS_VIOLATION 예외가 발생한다. 계속 이렇게 동적 디버깅할 때만 예외가 발생해서, 'pop ss'에 대해 검색해보았다. 찾아보니 왠걸.. ..