리눅스 명령어 grep CMD linux

파일 내에서 특정한 패턴을 검색하여 그 패턴을 포함하는 모든 줄을 화면에 출력하는 명령어. 파일 내에 특정한 패턴을 찾기 위해 많이 사용한다. 찾으려고 하는 패턴을 정규식이라고 표현한다. grep 명령어의 약자에서 볼 수 있듯이 많은 패턴을 제공하고 있다.

[명령어 형식]

# grep OPTIONS PATTERN file1

[기본 사용법]

# grep root /etc/passwd

# CMD | grep root

# cat /etc/passwd | grep root

# rpm -qa | grep talk

# ps -ef | grep xinetd

# chkconfig --list | grep ssh

[명령어 옵션]

옵션

설명

-l

 패턴이 있는 파일 이름만 출력한다.

-n

 패턴을 포함하는 줄을 출력할 때 줄 번호와 함께 출력한다.

-v

 패턴을 포함하는 줄을 제외하고 출력한다.

-c

 패턴을 찾은 줄의 수를 출력한다.

-i

 패턴을 찾을 때 대소문자를 구분하지 않는다.

예. grep 명령어 옵션

grep 명령어 다음 i 옵션과 n 옵션이 보이시나요??

'공부합시다 > 리눅스' 카테고리의 다른 글

리눅스 쉘의 정의, 기능  (0) 2016.12.15
리눅스 명령어 find CMD linux  (0) 2016.12.14
리눅스 명령어 file CMD linux  (0) 2016.12.12
리눅스 명령어 sort CMD linux  (0) 2016.12.11
리눅스 명령어 diff CMD linux  (0) 2016.12.10

리눅스 명령어 file CMD linux

file 명령어는 파일의 종류 ( File Type )을 알 수 있는 명령어이다. 많이 사용되는 명령어는 아니지만 특별한 경우에 사용 될 수 있다. 예를 들어 인터넷 상에서 다운로드 받은 파일이 정확히 어떤 종류인지를 확인 할 때 사용한다.

Unix와 리눅스에서는 확장자 ( Extention )는 특별한 의미를 가지고 있지 않은 경우가 대부분이기 때문이다. 인터넷상에서 다운로드 받는 대부분의 프로그램 파일들은 filename.tar.gz 형태로 되어져 있는 경우가 많다. filename.tar.gz 라는 이름은 만든 사람이 잘못 배포하는 경우 filename.tar 로 배포되는 경우가 발생할 수 있다. 이런 경우 다운로드 받는파일의 형태를 정확히 알지 못하는 경우 프로그램을 사용할 수 없게 된다. file명령어를 사용하여 파일의 형식 ( File Type ) 을 정확히 알아서 원본 확인의 확장자 ( Extention )로 복구한 후 압축을 풀고 아카이브 ( Archive ) 을 풀어 사용하게 되면 해결이 돤다

[명령어 형식]

# file /etc/passwd

예. 파일의 종류 확인

# file /etc/passwd      ( ASCII 파일 )

/etc/passwd : ASCII text

# file /bin/ls      ( Binary 파일 )

/bin/ls: ELF 32-bit LSB executable ~~~~~~~~

# file /var/run/utmp      ( Date 파일 )

/var/run/utmp:date

 

'공부합시다 > 리눅스' 카테고리의 다른 글

리눅스 명령어 find CMD linux  (0) 2016.12.14
리눅스 명령어 grep CMD linux  (0) 2016.12.13
리눅스 명령어 sort CMD linux  (0) 2016.12.11
리눅스 명령어 diff CMD linux  (0) 2016.12.10
리눅스 명령어 cmp CMD linux  (0) 2016.12.09

리눅스 명령어 sort CMD linux

파일의 정렬, 하나 또는 그 이상의 파일의 텍스트 줄을 스크린 상에서 정렬하고자 할 때 사용한다. 즉 출력 내용을 정렬하여 표현하고자 할 때 사용한다. sort 명령어는 아무런 옵션 없이 사용되면 숫자나 알파벳 순으로 정렬하여 준다. 기본적으로 sort 명령어는 공백 문자 ( white space : space, Tab )를 필드 구분자로 인식한다.

[명령어 형식]

# sort /etc/passwd

# sort -r /etc/passwd

# sort -k 3 filename

# sort -t : -k 3 -n /etc/passwd

[명령어 옵션]

옵션

설명

-n

 숫자로 정렬한다.

-r

 내림차순으로 정렬한다. 기본은 오름차순으로 정렬하는 것이다.

-o

 출력 결과를 파일에 저장한다.

-t

 필드 구분자를 지정한다. ( 기본값은 공백이 기준이 된다. )

-k

 정렬할 필드를 지정한다.

예. sort 정렬 실습

우선 # vi sortfile1 이라는 곳에 입력을 해 주셔야 합니다.

1번째는 첫번째 필드를 기준으로 정렬

2번째는 내림차순으로 정렬

3번째는 세번째 필드릴 기준으로 숫자로 정렬한 것입니다.

'공부합시다 > 리눅스' 카테고리의 다른 글

리눅스 명령어 grep CMD linux  (0) 2016.12.13
리눅스 명령어 file CMD linux  (0) 2016.12.12
리눅스 명령어 diff CMD linux  (0) 2016.12.10
리눅스 명령어 cmp CMD linux  (0) 2016.12.09
리눅스 명령어 mail CMD linux  (0) 2016.12.08

리눅스 명령어 diff CMD linux

diff - 두 파일에서 차이점을 찾는다.

두 디렉토리를 비교할 때, 모든 서브디렉토리는 재귀적으로 ( recursively ) 로 비교한다.

[명령어 형식]

# diff file1 file2     ( 두 개의 파일에 대한 간략한 차이점 )

# diff -c file1 file2     ( 두 개의 파일에 대한 자세한 차이점 확인 )

# diff -i file1 file2      ( -i : 대소문자를 구분하지 말아라. A와 a는 같은 것으로 간주 )

[명령어 옵션]

옵션

설명

--brief

 두 파일의 내용이 같은지 다른지 알아봄

-c

 파일의 이름, 날짜 등 파일의 차이점을 상세히 출력

-d

 두 디렉토리간의 차이점 출력

-H

 용량이 큰 파일 비교 시 속도를 빠르게 비교

-i

 대소문자 구분하지 않음

 예. diff 파일 비교

빨간색 점에서 Ctrl + D 키를 눌러야 넘어갈수 있습니다.

dirr -c 명령어는 파일의 이름, 날짜 등 파일의 차이점을 상세히 출력하는 명령어입니다.

맨 마지막에 보이시죠??^^

리눅스 명령어 cmp CMD linux

서로 다른 파일을 비교하여 다른 내용을 출력해 주는 명령어이다.

[명령어 형식]

# cmp file1 file2

[명령어 옵션]

옵션

설명

-l

 두 화일 내용을 비교함에 있어 틀린곳마다 byte 수 (10진수)와 틀린 byte 수(8진수)를 출력

-s

틀린 화일의 내용을 출력하지 않고 return code 만 변환한다.

예. cmp 명령어

캡쳐 사진을 보시게 되면 빨간색 점이 보이실 것입니다.

그때 < Ctrl + D > 키를 눌르면 빠져나올수 있습니다.

요번 실습은 참 쉽죠??!! 한 3일 동안 해킹기본 세팅을 하게 되었는데.. 점점 더 어려워져 가고 있네요...ㅠ.ㅠ;; 다들 화이팅 해요~~^^

 

해킹 정보 수징 ( Data Gathering )

정보 검색이란?
자신이 원하는 정보 ( 자료 )를 여러가지 검색 도구를 사용하여 찾아내어 활용하는 과정이다.

정보 수집 방법의 종류
인터넷 검색 엔진을 통한 정보 수집 ( EX : 구글링, 구글핵, 구글해킹 )
DNS서버, whois DB를 사용하는 경우 ( EX : nslookup CMD )
스캐닝 ( Scanning ) ( EX : nmap CMD )
취약점 스캐닝 ( EX : nessus, nespos, OpenVas )
전문 취약점 스캐닝 ( EX : nikto, sqlmap )

 

정보를 검색할 수 있는 전문 사이트

Securecast

http://securecast.co.kr

1999년 부터 축적되어온 정보보호 관련 데이터 베이스 서비스

국내 최초/최대의 유료 컨텐츠 제공 서비스

, 전세계 취약점, 웜바이러스, 홈페이지 위변조 정보, 악성코드 유포지 정보, 위협 예보 및 경보등 정보보호 Portal의 기능을 갖춘 강력한 서비스

 

MAPP(Microsft Active Protection Program)

http://www.microsoft.com/security/msrc/default.aspx

2009년 부터 국내에 도입된 마이크로소프트 관련 제로데이 취약점을 신속히 패치 하기 위한 커뮤니티

국내에서는 2009Nowcom이 최초 가입되어 현재 다수의 가입기관이 활동 중임

 

Milw0rm  ( 싸이트 변경 가능서이 많습니다. )

http://www.milw0rm.com

(최근에 사이트가 변경됨: 1337day.com)

취약성 코드(Exploit) 직접적으로 게제하는 사이트로서 최신의 취약성을 이용한 공격들과 실제 해킹 소스 코드들이 공개되는 곳이다.

 

Explit DB

http://www.exploit-db.com

Milw0rm을 대신하는 악성코드 데이터 베이스

 

Security Focus

http://www.securityfocus.com

보안에 관련된 newspaper, magazine, on-line article을 대상으로 광범위한 망라적인 주제 브라우징이 가능

보안 관련 포탈 사이트

 

Packetstorm

http://packetstormsecurity.org

보안 관련된 프로그램, 패치 정보 최근 이슈에 관한 정보 제공

운영체제별 취약성 정보 및 보안 경고(Security Alert) 정보 제공

 

Krcert

http://www.krcert.or.kr/index.jsp

인터넷 보안취약성에 대한 연구

컴퓨터 보안사고 관리

Securly Alert 출간

네트워크 및 시스템 관련 장기 프롲\

 

zoneh

http://www.zone-h.org

해커그룹에 의한 전세계 홈페이지 해킹 통계 및 미러 페이지를 볼수 있는 곳

운영체제 별 전세계 해킹 취약 요소원에 대한 비율도 게재

 

OWASP

http://www.owasp.org/index.php/Main_Page

매년 웹 공격에 관한 통계와 신기술들을 규격화 하여 10대 취약점을 발표하고 관리하는 사용자들의 모임

중요한 웹 공격에 대한 자료 및 웹 서버 코딩 가이드 제공

Webgoat라는 모의 해킹용 테스트 베드 프로그램 제공

 

Metasploit

http://www.metasploit.com

무료 모의 해킹 테스트(Penetration Tools)로 사용되며 python을 이용한 전세계 사용자들의 스크립트 툴킷으로 애용되는 툴을 배포 및 공동 연구

 

CodeBreakers

http://www.codebreakers-journal.com

Anti-debugging 등의 최신 해킹 기술 기고 및 다양한 해킹 관련 정보들을 제공

 

위 싸이트들 한번씩 방문해보셔요~~^^

영어가 대부분이라는 단점.....ㅠ.ㅠ;;;

 

'공부합시다 > 해킹' 카테고리의 다른 글

해킹 nmap ( Network MAPper ) CMD  (0) 2016.12.08
스캐닝 (SCAN) 해킹  (0) 2016.12.08
운영 체제 스캐닝 ( 해킹 스캐닝 )  (0) 2016.12.08
구글링, 구글 해킹, 구글 핵  (0) 2016.12.08

리눅스 명령어 mail CMD linux

전자 우편을 사용하기 위해 mail이라는 명령을 사용한다. System V 같은 계열의 Unix에서는 mailx라고 하기도 한다. BSD에서는 mail이라고 하며, 당연히 Bsd 계열인 리눅스에서도 그렇게 부른다. 사용자 ID를 명시되지 않고, 인수 없이 mail을 실행하면 수신된 편지를 읽을 수 있다. 편지는 mail 디렉토리 사용자 ID 이름으로 만들어진 파일에 저장된다.

[명령어 형식]

# mail     ( 메일 확인 )

# mail user01     ( 특정 사용자로 메일 보내기, user01@asdf.com )

# mail -u user01     ( 특정 사용자의 mail의 확인 )

# mail -s "test mail" user01     ( 제목을 명령어 입력시 포함하여 mail 보내기 )

[명령어 옵션]

옵션

설명

-s

 mail의 제목을 먼저 기재한다.

-u

 관리자는 해당 사용자의 mail을 열어 볼 수 있다.

# mail user01

Subject : test mail

user01 hihi

< CTRL + D > or < . >

Cc : root 

위에 보시면 컨트롤와 디키, 점키를 누르게 되면 메일 작업을 마무리 하겠다는 뜻입니다.

오늘 하루도 화이팅!!!

해킹 nmap ( Network MAPper ) CMD

1. nmap 툴의 기본 기능
- Host Sweep : alive 시스템 확인 ( EX : IP Scanning )
- Port Scan : alive 시템의 port ( 서비스 ) 정보확인 ( EX : Port Scanning )

2. nmap 명령어의 주요 옵션

옵션

설명

-sT

TCP Open Scan

-sS

TCP Half Open Scan ( 세션을 성립 시키지 않는 SVN 스캔 )

-sF

TCP FIN Scan ( FIN 패킷을 이용한 스캔 )

-sN

TCP NULL Scan ( NULL 패킷을 이용한 스캔 )

-sX

TCP Xmas 스캔 ( FIN, PSH, URG 패킷을 이용한 스캔 )

-sP

ping 이용한 호스트 활성화 여부 확인

-sU

UDP port Scan

-0

대상 호스트의 운영체제 판별

-sV

서비스 버전 확인

-F

Fast Scan

한번 보시죠!!ㅋ

스캐닝 ( SCAN ) 해킹

1. 풋 프린팅

정보 수직 = 풋 프린팅 ( footprinting )

풋 프린팅 ( Footprinting )
공격 대상의 정보를 모으는 방법 ( 기술적인 해킹 공격, 신문, 게시판, 구글링 등 )
풋 프린팅에는 매우 다양한 기법이 있으며, 매우 넓은 범위가 포함된다.

사회 공학 ( Social Engineering, SET )
기술적인 해킹에 의한 방법이 아닌, 개인적인 인간관계, 업무적 관계 등을 이용한 방법
비 기술적인 경로를 이용해서 정보를 모으는 방법

2. 스캐닝 ( Scanning )

스캔 ( Scan )
서비스를 제공하는 서버의 작동 여부와 제공하고 있는 서비스를 확인
TCP 기반의 프로토콜의 질은 (Request ) / 응답 ( Response ) 메커니즘 사용
열려 있는 포트, 제공하는 서비스, 동작중인 데몬의 버전, 운영체제의 버전, 취약점 등 다양한 정보 획득 가능
일반적으로 nmap ( Port Scanning, Host Sweeping ), nessus ( 취약점 진단 도구 ), nexpose 등을 사용

ping & ICMP Scan
ping은 네트워크와 시스템이 정상적으로 작동하는지 확인하는 유틸리티
ICMP ( Internet Control Messaging Protocol ) 을 사용

Service Scan
특정 애플리케이션이 동작하는 경우 반드시 구동되는 포트가 있다는 것에 기인하여 확인
telnet 유틸리티 사용

3. 스캐닝 도구

스캔 범위에 의한 스캐닝 도구의 종류
시스템 진단 도구
- 진단 대상 시스템에 설치되어 시스템의 내부 보안 취약점 진단
- 단순 패스워드, 패치 현황, 중요 파일 변조 여부, 백도어, 루트킷 ( Rootkit ) 설치 여부 체크
네트워크 스캐닝 도구
- 네트워크 상의 특정 시스템에 설치 / 시스템 원격 진단
- 주요 네트워크 서비스들에 대한 정보 수집, 해킹 가능 여부 및 취약점 점검, 백도어 설치 여부 체크
전문 스캐닝 도구
- 데이터 베이스 스캐닝 도구
- 방화벽 룰셋 ( Ruleset ) 테스트 도구
- 웹 서버 취약점 진단 도구
- 소스 코드 취약점 진단 도구

 

진단순서 (EX : 모의해킹, 모의진단 )

1. 시스템 진단 도구 ( 각 서버에 script 실행 )

2. 네트워크 스캐닝 도구 ( 취약점 통합 진단 도구 (nussus) )

3. 전문 스캐닝 도구 ( 취약점 개별 진단 도구 ( DB, WEB ) )

4. 개인적으로 진단

운영 체제 스캐닝 ( 해킹 스캐닝 )

배너 그래빙 ( Banner Grabbing )  버전 정보 같은 것들을 수집하는 작업

telnet 명령어를 사용하여 원격지의 시스템에 로그인을 시도하면 나타나는 안내문

운영체제 버전과 커널 버전을 확인

배너 그래빙은 21, 23, 25, 110, 143 포트에서 가능

# nmap -sV 192.168.20.200

[root@linux200 ~]# nmap -F -sV 192.168.20.200

 

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2016-12-08 08:14 KST

Interesting ports on linux200.example.com (192.168.20.200):

Not shown: 1227 closed ports

PORT STATE SERVICE VERSION

21/tcp open ftp vsftpd 2.0.5

22/tcp open ssh OpenSSH 4.3 (protocol 2.0)

23/tcp open telnet BSD-derived telnetd

25/tcp open smtp Sendmail 8.13.8/8.13.8

53/tcp open domain

80/tcp open http Apache httpd 2.2.3 ((CentOS))

110/tcp open pop3 Dovecot pop3d

111/tcp open rpcbind 2 (rpc #100000)

143/tcp open imap Dovecot imapd

443/tcp open ssl/http Apache httpd 2.2.3 ((CentOS))

993/tcp open ssl/imap Dovecot imapd

995/tcp open ssl/pop3 Dovecot pop3d

Service Info: Host: mail.example.com; OS: Unix

 

Nmap finished: 1 IP address (1 host up) scanned in 19.004 seconds

 

 

리눅스 서버에서 작업을 하게 됩니다!

# telnet localhost 23

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'. <<-- 빨간색 진한 것은 컨트롤+]

 

linux200.example.com (Linux release 2.6.18-348.el5 #1 SMP Tue Jan 8 17:57:28 EST 2013) (3)

 

login:

<CTRL + ]>

telnet> quit

 

# telnet localhost 21

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 (vsFTPd 2.0.5)

quit

 

# telnet localhost 25

rying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 mail.example.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 15 Jul 2014 09:28:06 +0900

quit

 

# lynx -head http://localhost

HTTP/1.1 200 OK

Date: Wed, 16 Jul 2014 07:02:33 GMT

Server: Apache/2.2.3 (CentOS)

Last-Modified: Mon, 14 Jul 2014 10:40:47 GMT

ETag: "62237b-43-ec8109c0"

Accept-Ranges: bytes

Content-Length: 67

Connection: close

Content-Type: text/html; charset=UTF-8

Q

-> 대표적인 Text-based Web Browser : curl, lynx

+ Recent posts