'NCS보안3기'에 해당되는 글 63건

  1. 2017.03.14 리눅스 명령어
  2. 2017.03.14 우분투 리눅스
  3. 2017.03.14 기초지식
NCS보안3기2017. 3. 14. 22:11

리눅스는 CLI(Command Line Interface)를 기반으로 하지만 근래에는 GUI(Graphical User Interface)를 지원한다.

일단 CLI와 GUI에 대해 알아보자.


1. GUI(Graphical User Interface)

GUI는 그래픽을 통해 사용자와 컴퓨터간 인터페이스를 구현하는 것이다. GUI는 실제 생활에서 잘 알려진 하나 또는 그 이상의 객체들을 비유적으로 사용하는데, 그 예로는 바탕화면, 창(윈도우)를 통해 보는것 또는 건물 내에 물리적인 배치 등이 있다.

GUI 요소들은 윈도우, 풀다운 메뉴, 단추, 스크롤바, 아이콘 이미지, 마우스 같은 것들이 포함된다.


2. CLI(Command Line Interface)

명령어 인터페이스는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호작용하는 방식을 뜻한다. 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다.

GUI의 단추 또는 메뉴와는 달리, 명령줄은 그 자체로 사용자가 원하는 작업을 정확히 표현할 수 있다.


리눅스 기본 명령어


sudo

(super user do)

 root 권한으로 실행

man

(manual)

 명령어의 사용법을 보는 명령어

ls

(list)

 현재 디렉토리에 있는 파일 및 폴더의 리스트 보기

cd

(change directory)

 디렉토리 변경

cp

(copy)

 파일 또는 디렉터리를 복사

mv

(move)

 파일 또는 디렉터리의 위치 변경

mkdir

(make directory)

 디렉터리 생성

rm

(remove)

 파일 또는 디렉터리 삭제

pwd

(print working directory)

 현재 작업 디렉터리 출력

cat

(concatenate)

 파일의 내용을 화면에 출력

touch

 빈 파일 생성

chmod

(change mode)

 파일의 permission 변경

chown

(change owner)

 파일의 소유자 변경


'NCS보안3기' 카테고리의 다른 글

우분투 리눅스  (0) 2017.03.14
기초지식  (0) 2017.03.14
Posted by Imp3rio
NCS보안3기2017. 3. 14. 17:48

먼저 우분투에 대해 알아보기 전에 리눅스에 대해 알아보고자 한다.

우분투는 리눅스에서 파생된 운영체제이기 때문에 리눅스를 알고나면 이해하기가 더 쉬울것이라 생각한다.


리눅스

      

                             Tux.svg

                        <리눅스의 마스코트인 턱스(Tux)>


리눅스는 컴퓨터 운영체제의 하나이며, 그 커널을 뜻하기도 한다. 

리눅스는 다중 사용자, 다중 작업(멀티태스킹), 다중 스레드를 지원하는 네트워크 운영체제이다.

리눅스는 리처드 스톨만(Richard Stallman)의 GNU 프로젝트와 함께 한다.


GNU 프로젝트

GNU : GNU is Not UNIX!

GNU 프로젝트는 1990년까지 운영체제에 필요한 문서 편집기, 컴파일러, 라이브러리와 유틸리티가 있었다. 하지만 주요 구성요소인 커널이 완성되지 않았었다. 그러던 중 1991년에 핀란드의 프로그래머인 리누스 토발즈(Linus Torvalds)가 사용자와의 인터페이스를 담당하는 리눅스 커널을 발표하였다. 이후에 GNU 시스템과 통합되어 GNU/Linux라는 운영체제가 탄생하게 된다.


리눅스의 특징

1. 유닉스 기반

리눅스 커널은 유닉스 계열 운영체제의 커널이다.

유닉스는 교육 및 연구 기관에서 즐겨 사용되는 범용 다중 사용자 방식의 시분할 운영체제이다. 1970년대 초 벨 연구소 직원인 켄 톰슨, 데니스 리치, 더글러스 매클로리 등이 처음 개발하였다. 유닉스는 처음부터 다양한 시스템 사이에서 서로 이식할 수 있고, 멀티 태스킹과 다중 사용자를 지원하도록 설계되었다.

리눅스는 이러한 유닉스를 기반으로 만들어졌기 때문에 리눅스는 유닉스와 완벽하게 호환이 가능하다. 따라서 개발자들에게도 익숙한 환경이었고 결국 많은 사람들에게 빠르게 확산될 수 있었다.


2. 공개된 운영체제

리눅스는 인터넷이 연결되어 있는 공간이라면, 어디서든지 무료로 FTP를 통해 쉽고 빠르게 구할 수 있다. 또한 운영체제의 커널을 비롯한 모든 프로그램의 소스가 공개되어 있어 자신이 원하는 데로 프로그램을 변형하여 사용할 수 있으며, 이 변형한 프로그램을 다시 배포할 수 있다.


3. 네트워킹

리눅스는 이더넷(Ethernet), 토큰링(Token Ring), 아크넷(Arcnet) 등 3대 주요 랜 표준을 지원하며 ISDN, FDDI, ATM, X.25, Frame Relay 등의 주요 네트워크 장비를 리눅스에서 사용 가능하다. 또 리눅스 PC에 적절한 하드웨어를 결합하면 기존 제품보다 훨씬 저렴한 가격으로 브리지, 라우터, 게이트웨이를 만들 수 있다.



우분투란 ?


우분투는 데비안(Debian) GNU/Linux를 기반으로 만들어졌으며 고유한 데스크탑 환경을 사용하는 리눅스 배포판이다. 


우분투의 특징

1. 개인용, 데스크탑 환경에 최적화

대부분의 리눅스 배포판은 서버용으로 사용되고 있는 것에 반하여, 우분투는 개인 사용자와 데스크탑 환경에 최적화되도록 사용자 편의를 중점으로 개발되고 있다.


2. 자유 소프트웨어 기반

리눅스의 특징을 그대로 물려 받으며 자유 소프트웨어에 기반하기 때문에 누구나 무료로 다운받아서 사용할 수 있다.


우분투의 역사

우분투는 일년에 두 차례 새로운 버전을 릴리즈 하는데 나온 연도와 달로 번호를 매긴다. 예를 들어 7.10은 2007년 10월, 8.04는 2008년 4월에 나온 버전이다.

버전 번호 뒤에 LTS는 Long Term Support의 약어로 장기적으로 지원하는 버전임을 뜻하며 가장 안정적인 버전이라고 생각할 수 있다. 이러한 LTS 버전은 2년에 한 번씩 배포된다.

'NCS보안3기' 카테고리의 다른 글

리눅스 명령어  (0) 2017.03.14
기초지식  (0) 2017.03.14
Posted by Imp3rio
NCS보안3기2017. 3. 14. 16:39

시스템 해킹을 위한 사전지식

1. 진법(2진수, 10진수,  16진수)변환과 논리연산, ASCII

2. Big Endian, Little Endian

3. CPU, RAM, HDD에서 프로그램의 실행 동작

4. VI Editor

5. C언어

6. 어셈블리어


기본적으로 외워두면 좋은 ASCII Code

A

0x41 

0x61 

0x30 

null 

0x00 

space

0x20

carriage return 

0x0D  

 line feed 

 0x0A


논리연산

AND - 둘 다 참이어야 참( subnet )

OR - 하나라도 참이면 참 ( flag )

XOR - 같으면 0 다르면 1 ( 초기화, 암호화 )


XOR 사용 ( 암호화 )

ABC == 0x414243

KEY == 0x4B4559


ABC xor KEY = 0xA071A

0xA071A xor KEY = ABC


컴퓨터의 구조와 동작

컴퓨터는 기본적으로 CPU, RAM, HDD로 구성되어 있다.

CPU는 실제 연산을 처리하는 컴퓨터의 '머리' 부분이라고 볼 수 있다. 

CPU에는 레지스터라는 저장소가 있는데 CPU가 연산을 하는데 필요한 값을 저장하는 용도로 사용되며 RAM보다 빠르다.

RAM(Random Access Memory)는 휘발성 저장장치다.

HDD에 저장되어 있는 프로그램을 실행하게 되면 그 프로그램은 RAM에 올라가게 된다.

여러 프로그램이 동시에 RAM에 올라가더라도 페이징, 세그먼테이션 기법을 이용하여 가상 메모리를 사용함으로써 

프로세스간 독립적인 메모리 공간을 확보한다.

컴퓨터의 전원이 나가면 RAM에 저장되어 있던 데이터들은 사라진다.

RAM은 주소를 알면 참조할 수 있기 때문에 물리적으로 접근하는 HDD보다 속도가 빠르다.

HDD는 비휘발성 저장장치이기 때문에 컴퓨터의 전원이 없어도 데이터를 저장할 수 있다.

HDD는 LP판처럼 주소를 하나하나 찾아가기 때문에 느리다.


Endian

단어를 형성하는 2진 바이트에서 저장하는 바이트의 순서를 나타내는 방법으로 Big Endian과 Little Endian으로 나뉜다.

Big Endian

- 데이터를 앞에서부터 채워 넣는다. 즉, 낮은 주소에서 높은 주소로 저장한다.

- Network, Sun, ARM 등에서 사용하는 Endian

- High Order Byte


Little Endian

- 데이터를 뒤에서부터 채워 넣는다. 즉, 높은 주소에서 낮은 주소로 저장한다.

- Intel x86 series

- Low Order Byte


0xDEADBEEF, 0x41424344, 0xCAFEBABE, 0x12345678

Q. 위 데이터를 Little Endian으로 저장할 경우와 Big Endian으로 저장할 경우

Little Endian 

0xEFBEADDE 

0x44434241 

0xBEBAFECA 

0x78563412 

Big Endian 

0xDEADBEEF 

0x41424344 

0xCAFEBABE 

0x12345678 

'NCS보안3기' 카테고리의 다른 글

리눅스 명령어  (0) 2017.03.14
우분투 리눅스  (0) 2017.03.14
Posted by Imp3rio