jnudiary의 등록된 링크

 jnudiary로 등록된 티스토리 포스트 수는 55건입니다.

5. OSPF [내부링크]

OSPF 개념 및 정리 OSPF network type Open Shortest Path First = link-state 알고리즘을 사용하는 IGP routing protocol OSPF는 Dynamic routing protocol 중에서 link state 방식에 따른 protocol이야. OSPF는 distance-vector routing인 RIP처럼 자신과 연결된 routing 장비의 정보만 routing table에 저장하지 않고, network의 전반적인 모든 routing 내용들을 담고 있어. 이런 특성 때문에 protocol이 무거운 부분이 있지만, 확실한 장점은 바로 routing update에 있어 RIP처럼 주기적으로 routing update하는 방식이 아닌 network에서 변..

4.Failover (Active-Active) [내부링크]

ASA F/W를 이용한 failover 구성하기 지난 시간에 active-standby 구성을 배워봤고, 이번 시간에는 active-active 구성에 대해 알아보려고 해 active-active 구성은 active-standby 구성에 비해 좀 더 복잡한 부분이 있어 하나씩 알아보자! active-active 구성 active-active 구성은 firewall 장비가 모두 active로 동작하는 구성으로 active-standby와 달리 load-balancing이 가능하다는 장점을 갖고 있어 하지만, 그만큼 복잡한 부분이 있는데 바로 security-context를 생성해야만 active-active를 구현할 수 있어 security-context = 물리적인 asa firewall 내부에 논리적인..

3. Failover (Active-Standby) [내부링크]

ASA F/W를 이용한 failover 구성하기 오늘은 failover에 대해서 배워보도록 할꺼야 network 환경에서 firewall을 이용하여 이중화 구조를 만들 수 있는데 이 때 사용하는 기술이라고 볼 수 있어 대충 말해서는 이해가 잘 안가지? 좀 더 자세하게 설명하자면...! 한 장비가 문제가 생겼을 경우 다른 장비를 통해 service를 장애없이 운영할 수 있도록 구성하는 기술이야 만약 목적지로 가는 경로가 하나일 경우에 해당 경로가 문제가 생겨서 정상적인 통신이 불가능할 경우에 다른 경로를 통해서 통신이 지속될 수 있도록 해야하잖아? 이렇듯이, 사용자들이 어떤 service를 사용할 때 network 장비에 문제가 발생하더라도 사용자들이 불편함 없이 service를 지속적으로 사용할 수 있도..

2. Layer 3 skills (HSRP) [내부링크]

Layer 3 오늘 배워 볼 내용은 Network에서 Layer 3에서 사용되는 protocol을 배워보려고 해! 카테고리는 다음과 같이 나눠볼께 1. HSRP 2. OSPF 두가지 프로토콜 모두 중요한 내용들이라 한번 끊어서 2부에서 이어가보도록 할께 먼저 HSRP에 대해서 알아보도록 하자 1. HSRP HSRP는 gateway 이중화 기술로 host/server 들이 외부 network와 접근이 불가능해진 경우 이중화 기술을 통해 network 접속이 끊기지 않도록 해주는 역할을 해 이런 안정적인 네트워크 환경을 구성하는 방법을 gateway 이중화라고 하지 지난 시간에 Layer 2에서도 배운 STP(spanning tree protocol) 기억나지? 둘의 역할은 Layer가 다를 뿐 gatewa..

1. Layer 2 skills [내부링크]

Layer 2 1. VLAN 2. trunk 3. etherchannel + port channel 4. STP (Spanning Tree Protocol) 1. VLAN (Virtual LAN) 논리적으로 분할된 switch network를 말하는데, 기본적으로 L2는 broadcast domain을 나눌 수 있는 기능이 없어 따라서 해당 기능을 L2에 적용하기 위해선 VLAN이 필요한데, VLAN에는 총 세가지 주요 기능들이 있어 - broadcast domain 분할 - 보안성 강화 - load balancing 첫번째로 볼 broadcast domain 분할 기능이야 현재 많은 protocol들이 broadcast 전송방식을 사용하기 때문에 broadcast traffic이 많아지면 장비들의 성능..

SQL injection [내부링크]

이번 시간에는 OWSAP top 10 에서도 많이 나오는 injection 공격에 대해서 배워볼꺼야 injection 공격 중에서도 가장 많이 일어나는 공격이 바로 SQL injection인데 SQL injection이 어떤 방식으로 공격이 진행되는지 알아보도록 할께~ 먼저 내가 만든 웹 페이지에 3개의 계정으로 회원가입을 진행해보도록 할께 admin, test, jinwoo 라는 아이디로 3개의 계정을 만들고 DB에 계정들이 잘 입력되었는지 확인해보자 자 그러면 이제 로그인 창에 들어가서 접속이 잘 되는지 확인을 한 이후, 이제 여기서부터 injection 공격을 진행해도록 할건데 id , pw를 입력하는 곳에 'or' 1=1 입력 후 로그인을 시도해보도록 해보자 그리고 결과가 어떻게 나오는지 한 번 ..

Key Logger 분석 [내부링크]

이번 시간에는 key log 기능을 가진 악성코드를 한 번 분석해보도록 할꺼야 지금까지 배웠던 정적 분석과 동적 분석을 다같이 활용하면서 분석해 나가보도록 하자! 먼저 정적 분석부터 시작~ PEview로 PE 분석해본 결과 난독화는 진행되지 않았어 그리고 resource가 들어있는 것을 볼 수 있었는데 A로 가득 들어가있는 것도 확인해 볼 수 있어...! 이제 PEid로 import 함수들이 어떤게 들어있는지 좀 더 알아보도록 하자 PEid 분석해본 결과 import 함수 중에서 kernel32.dll을 보면 virtualAlloc 이 실행되어있음을 확인해볼 수 있어 해당 함수를 진행하면 작업하는 가상 공간을 만들면서 메모리를 가져와서 작업을 실행할 수 있지 그리고 getfilesize가 실행되어 파일의..

동적분석 (LAB 3-1) [내부링크]

악성코드 동적분석 지난 시간까지는 악성코드 분석기법 중 정적분석에 대해서 공부를 해봤어 (string 분석, PE 분석) 이번 시간에는 악성코드를 가상머신에서 직접 실행해보면서 어떤 동작을 하는지 하나씩 분석해보는 동적분석을 진행해보도록 할거야 새로운 Tool을 사용할 예정이니까 하나씩 잘 따라와보도록 해...!! windows xp에서 LAB03-01.exe 파일 분석 들어갑니다~ 1. PEid 분석 pe분석을 해보려했지만 암호화가 걸려있네? 그렇다면 string 분석을 시도해보도록 하지 string 분석을 해보니까...!! - SOFTWARE\Microsoft\windows\currentVersion\Run --> host기반의 signature 자동실행을 시키는 레지스트리키로 컴퓨터를 종료 후 다시..

LAB1-2 (악성코드분석) [내부링크]

이번 챕터부터 실제 악성코드 실행파일을 직접 정적분석해보고 정적분석과 동시에 난독화를 수동으로 푸는 unpacking을 진행해보도록 할께 LAB1-2 exe 파일은 악성코드 파일이고 악성코드 파일을 하나씩 풀어보면서 분석해보자 먼저 peid 와 peview를 통한 pe 분석을 진행해볼께 pe view 분석을 통해서 난독화가 되어 있음을 알 수 있지? +upx0를 보면 virtual size는 data 할당이 되었으나 size of raw data는 0으로 아무것도 없음을 볼 수 있다. 가상 영역의 공간만 할당되었음..!! upx로 난독화 되어 anti-reversing 기법이 들어가있음을 볼 수 있었다..!! peid 분석도 같이 해볼까?? peid 분석을 해보니 upx로 packing되어 난독화가 되어..

3.PE 분석(2) [내부링크]

지난 시간에 이어서 PE를 분석하는 tool인 PEview에 대해 좀 더 알아보도록 하자...!! 우리가 흔히 쓰는 메모장인 notepad.exe를 예시로 PE 분석을 해볼께 1. PE 파일 헤더와 섹션 PEview를 실행해서 보면 다음과 같은 카테고리들을 볼 수 있어 .text : 실행코드 .rdata : 읽기전용 데이터 .data : 데이터 .rsrc : 실행파일에 필요한 리소스 저장 Notepad.exe에 대한 하위 파일에 다음과 같은 정보들이 들어있는 것을 볼 수 있는데 image_nt_headers와 image_nt_section_header의 차이를 알아볼 필요가 있어 - IMAGE_NT_HEADERS --> 실제 헤더 정보를 담고 있음 - IMAGE_NT_SECTION_HEADER --> 실..

2. PE 분석 [내부링크]

오늘은 PE 분석에 대해 알아보는 시간을 가져보도록 할께 생소한 단어들이 많이 나올텐데 하나씩 정리해가면서 공부해보도록 하자! 1. PE는 뭔가요?? - PE (Portable Executable) file ==> 실행파일에 대한 구조를 가지고 있는 파일이야 윈도우 실행파일, 객체코드, DLL이 PE파일을 포맷하고 있고, 윈도우 OS 로더가 래핑(wrapping)한 실행코드를 관리하는 필수 정보를 갖고있어 - wrapping --> DLL이나 API를 한 곳에 모아주는 기능을 말해 DLL이랑 API는 또 뭔가요...?? ㅜㅜ - DLL(Dynamic Link Library) --> 동적 라이브러리, 필요할때마다 불러오는 함수 라이브러리는 일종의 해석기 모듈이야 즉, 프로그램에서 자주쓰이는 표준함수나 da..

1. 악성코드란..?? [내부링크]

이번 카테고리에서는 악성코드란 무엇인지 살펴보고 악성코드를 분석하는 방법에 대해 알아보도록 할께 최근에 악성코드로 인한 기업들의 피해 사례가 정말 많이 일어나고 있는데...... https://www.boannews.com/media/view.asp?idx=107696 2022년 상반기 ‘가상자산’ 노린 사이버 공격 급증했다 2022년 상반기에 가장 많이 발생한 사이버 위협은 가상자산을 노린 금융권 대상 공격인 것으로 조사됐다. 라이프 케어 플랫폼 SK쉴더스(대표 박진효)가 2022년 상반기 주요 보안 트렌드 및 사이버 www.boannews.com 올해 상반기에만 해도 악성코드로 인해 기업들의 자산이 위협받고 있는 사례들이 계속해서 나오고 있어 가장 대표적인 예가 바로 ransomware지...!! 타..

2. XSS 공격 [내부링크]

오늘은 XSS 공격에 대해서 배워볼꺼야! 웹보안을 배웠다면 XSS 공격에 대해선 한번씩 들어봤을텐데 XSS 공격을 직접 실행해보고 cookie 값을 burp suite로 직접 탈취해보는 시간을 가져보도록 할께~ XSS 공격을 실행하기 전에 먼저 XSS 공격이 무슨 공격인지를 알고 가보도록 하자..! XSS 공격 = Cross Site Scripting 공격 공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격을 하는 것을 뜻해 밑에 그림을 보면 좀 더 이해하기 쉬울꺼야..!! 그래서 우리가 실습할 때 사용할 script 언어는 javascript로 script가 실행되는지 확인을 해볼꺼야 XSS 공격은 보통 Sto..

1. Web Hacking [내부링크]

오늘은 가상환경에서 만들어진 Web server를 hacking해보는 시간을 가져보도록 할꺼야...! 일단 web hacking할 OS를 실행시키고 해킹할 OS랑 공격자가 같은 network 안에 있다는 것을 가정하에 해당 실습을 진행해보도록 할께 network 192.168.10.0/24 vmnet8 kali = 192.168.10.138 회원가입 파일 login.html -> 로그인 파일 logout.php -> 로그아웃 파일 index.html -> 웹 페이지 초기화면 파일 hidden directory -> ??? 우리가 여기서 확인을 해야될 파일은 바로 hidden dir인데 여기에 어떤 정보가 있는지 확인을 못했어..! 한번 hidden dir로 URL을 옮겨가보도록 할께 HTTP respon..

5. ps 탈취 [내부링크]

이번 시간에는 metasploit을 통해 ps 탈취하는 방법에 대해 알아보도록 할거야 지난 시간에 windows 2008 server를 reverse_tcp로 침투했듯이 오늘도 reverse_tcp 침투 상태에서 실습을 진행보도록 할게 바로 go~! 1. ps 탈취하기 ps는 process의 약자로 현재 시스템에서 구동되고 있는 서비스나 앱들을 말해 kali에서 meterpreter 명령어인 ps 명령을 치면 다음과 같이 결과가 나와 PID 별로 현재 windows에서 구동되는 서비스들을 볼 수 있을거야 각 service 별로 PID가 부여되었는데 여기서 PID를 탈취하여 kali에서 정보를 수집해볼거야 현재 실행되고 있는 메모장의 PID를 탈취해서 keylogging을 실행해도록 할게 1. 메모장 ke..

4. meterpreter [내부링크]

오늘은 windows 2008 server를 침투해서 어떤동작들을 실행할 수 있는지 알아보는 시간을 가져보려고 해 저번 시간에 배웠던 reverse_tcp 방식으로 침투를 해볼거야 자 바로 시작해보도록 하자! 1. windows 2008 server 침투 reverse_tcp를 msfconsole 명령을 통해 실행시킬건데, 오늘 실습에서는 reverse_tcp를 사용할 파일을 지정한 후에 이를 적용시켜보는 방법을 해보려고 해 먼저 vi editor로 reverse_tcp를 실행할 payload를 작성해보도록 하자 payload 내용은 지난시간에 rerverse_tcp에 적용시켰던 내용과 똑같아! msfconsole -r reverse.txt 명령을 통해서 reverse.txt의 내용을 바탕으로 rever..

3. Bind_tcp/Reverse_tcp [내부링크]

이번 시간에는 windows OS를 침투해보는 시간을 가져볼게 항상 침투하기 전에는 정보수집이 우선이니 nmap으로 해당 OS의 port 상태를 알아보고 port에 해당하는 service로 접근이 가능한지 확인 후, metasploit으로 해당 service의 취약점을 찾아서 침투를 해보도록 할거야 좀 어려운가....? ㅋㅋㅋ 아무튼 하나씩 해나가보자 1. windows 7 침투 windows7 침투 전에 우리가 기본설정을 해야하는 부분이 있어 1. windows7의 방화벽 끄기 2. bind_tcp와 reverse_tcp의 차이점 알기 방화벽을 우회하는 공격까지는 아직 배우지 않았으니 방화벽을 끈 상태에서 침투를 먼저 해볼거야 그리고 공격방법이 bind_tcp와 reverse_tcp가 있는데 이 둘의 ..

17. 아파치 서버 설정 [내부링크]

오늘은 웹 서버의 보안설정을 통해 시스템 내부 파일이 노출되지 않도록 실습해볼거야 오늘 사용할 tool은 'APMtools' 인데 sulinux에 설치해주도록 하자 설치는 apmtools 를 입력하면 blue screen이 뜰거야 거기서 apache,php,mariaDB의 버전을 선택할 수 있는데 최신 버전을 선택하고 설치를 진행하면 돼 설치하는데 조금 시간이 걸릴 수 있으니 이 점 감안하고 실습 따라오도록! APM= Apache, Php, MariaDB 1. Apache server APM tools가 성공적으로 설치가 되었다면 apache server의 home directory를 확인해보자 apache 디렉토리의 경로는 "/usr/local/apache/conf" 이제 여기서 service http..

2. SSH, MYSQL 공격 [내부링크]

이번 시간에는 telnet과 ssh를 metasploit을 이용하여 brute-force 공격을 해보도록 할거야 저번 시간에는 metasploit을 사용하는 방법을 배워봤으니 이를 활용해서 실습해보도록 하자 1. SSH / Telnet brute-force attack ssh와 telnet을 공격하는 방식이 거의 유사해서 같이 묶어놨어 먼저 telnet을 공격해보도록 하자 공격자: kali 192.168.10.200 희생자: centos7 192.168.10.100 밑의 파일 내용은 brute-force에 사용할 사전 파일내용이야 id,password에 들어갈 내용들이라고 보면 돼! msfconsole을 실행해서 다음과 같이 명령어를 입력하도록하자 1. use auxiliary/scanner/ssh/ss..

16. FTP(2) [내부링크]

이번 시간에는 FTP에 대해 더 알아보도록 할 거야 지난 시간에 배웠던 passive mode와 active mode를 직접 실습해보고 어떤 설정을 바꿔야 active mode와 passive mode로 나뉘는지 알아보도록 할게! 1. Active mode 설정 /etc/vsftpd/vsftpd.conf 파일에 57번 line과 60번 line을 살펴보자 57. idle_session_timeout=600 60. data_connetcion_timeout=120 57번에서 나오는 idle_session은 ftp의 control port를 뜻해 즉 client와 server가 처음 ftp를 접속 시도할 때 사용하는 port라고 볼 수 있어 57번 설정은 바로 그 port에 대한 시간 설정을 600초로 맞춘..

1. metasploit 사용법 [내부링크]

네트워크 보안과 시스템 보안에 대해 어느정도 공부가 된 이 시점에서 침투테스트를 수행해보려고 한다. 말 그대로 OS에 직접 침투를 해보면서 취약점을 파악하는 것이다. 지금까지 배웠던 시스템과 네트워크 기술들을 가지고 적용해보는 시간이라고 할 수 있다. 해당 카테고리에서는 kali linux를 중심으로 windows나 linux를 침투해보는 실습을 할것이다. 주로 사용하는 명령은 'metasploit' 으로 침투테스트를 할 때 주로 사용하는 명령어다. 바로 시작해보도록 하겠다. 1. metasploit 기본 설명 - 특징 취약점 분석도구이자 공격도구. 보안평가를 할 때도 사용하는 도구이며, ruby 언어로 제작되었다. module화로 이루어져 있어 사용하기 간편하다. - 활용 모의해킹을 할 때 주로 사용하..

15. FTP(1) [내부링크]

오늘은 FTP를 직접 설정해보고 보안 문제도 해결해보도록 할 거야 사실, FTP는 네트워크 보안에서도 몇번 다뤄봤기 때문에 어렵지 않을 거야 실습환경은 SUlinux를 기반으로 했어 실습에 앞서 FTP의 개념을 이해하고 들어가자 조금 어려울지라도 잘 따라오도록! 1. FTP의 종류 1. FTP : 일반적인 FTP로 인증을 해야 진입할 수 있는 방식 2. anonymous FTP : 인증을 하되 인증=Anonymous로 password=email 주소로 진입하는 방식 3. TFTP : 무인증 FTP로 port 69번을 사용 4. VSFTP: FTP와 Anonymous 기능이 같이 합해져 있는 형태 2. FTP 운영 MODE FTP는 운영 mode가 총 두 가지가 있는데, 하나는 active mode, 또 ..

14. DataBase 공격 [내부링크]

이번 시간은 지난 시간에 이어서 비밀번호 공격을 이어서 배워보려고 해 centos7에서 mariadb를 이용해 database의 계정을 탈취해보는 공격을 시도해볼 거야 database는 중요한 data 정보들이 모여있기 때문에 보안적으로 취약하면 큰일나! 따라서 mariadb를 보호할 수 있는 방법도 같이 알아보도록 할게 1. Database 설정 centos에서 사용할 database는 mariadb야 mariadb를 바로 실행시켜보도록 할게 - mysql -p mysql mysql의 database로 접근하기 위한 명령 - show databases; 현재 mysql의 database들을 확인하는 명령 - insert into user (host,user,password) values ('192.16..

13. 비밀번호 공격 [내부링크]

이번 시간에 알아볼 내용은 바로 비밀번호를 탈취하기 위한 공격기법이야 이제 점점 해킹하는 것 같은 느낌이 들지 않니...??? 비밀번호를 해킹하기 위해 보통 세가지 기법들을 사용하는데 어떤 것들이 있는지 확인해보고 실습하도록 하자 1. password 공격 - 비밀번호 공격의 종류 1. Brute-force 공격: 일명 무작위 공격이라고 하는데 가능한 모든 경우의 수를 다 넣어보는 공격이야 2. Dictionary 공격: 공격할 대상에 대해 미리 사전적으로 정보를 수집하고 이를 사용하여 공격하는 방법이야 3. password 추측공격: 단순히 추측을 통한 공격. 가장 어려우면서도 효과적인 공격방법이야 - 비밀번호 공격 tool 이번 실습에서 사용할 명령어는 'hydra' 명령어야 ftp,telnet,ss..

12. 가짜 사이트 만들기 [내부링크]

DNS Spoofing에 이어서 가짜 사이트로 우회하는 방법을 알아보도록 할께 이번에 사용할 명령어는 setoolkit 명령어야 하나씩 살펴보자! 1. setoolkit 보안에 있어서 가장 취약한 부분은 바로 사람이야 가장 약한 연결을 끊는 것부터가 보안공격의 시작인데, 요즘들어 이를 이용하여 공격하는 사례가 등장하는데 이를 사회공학기법이라고 해 영어로는 social engineering 이라고 하는 이 공격방법은 여러종류가 있는데 그 중에서 가짜사이트로 사용자들을 유도하는 방법을 배워보려고 해 오늘도 사용할 OS는 kali와 windows 10이야 kali: 192.168.10.200 windows 10: 192.168.10.134 setoolkit 명령을 실행하기 전에 DNS spoofing을 선행해..

14. Samba [내부링크]

오늘 다뤄볼 주제는 Samba야! 서로 다른 OS 끼리 파일을 공유하기 위한 서비스인데 지난 시간까지 배워봤던 NFS와 유사한 서비스라고 보면 돼 그러면 NFS와 어떤 부분이 상이한지 한번 살펴보고 환경설정 파일과 Samba 서버를 구축해보는 시간을 가져보도록 할게! 1. Samba 궁금한 점이 있는데 NFS가 있는데 굳이 Samba를 쓰는 이유는 뭘까? 그건 Samba는 서로 다른 OS 끼리 파일을 공유할 수 있도록 해주는 서비스이기 때문이야 예를 들어 내가 사용하는 OS가 windows7인데 파일을 공유하고자 하는 상대측의 OS가 리눅스인 경우 사용할 수 있도록 해주는 서비스야 samba 프로그램은 samba로 표기하는 대신 Daemon은 smb로 표기해 그래서 만약 service를 시작하려면 ser..

13. NFS (2) [내부링크]

저번 시간에 NFS를 끝까지 배우지 못했는데 이어서 공부해보도록 할게 방화벽을 실행한 상태에서 NFS 연결을 어떻게 실행시킬 수 있을지부터 알아보자 바로 GO~GO~! 1. NFS port 고정시키기 우리가 NFS를 사용할 때 두 가지 서비스를 사용한다고 배웠는데 그것이 바로 portmapper와 NFS 였는데 이 서비스들은 각각 다른 포트를 사용해 portmapper = 111번, NFS = 2049번 우리는 이 위의 두 포트번호를 꼭 기억해야 돼 근데 이걸 어떻게 아냐고? rpcinfo -p 명령을 통해 알 수 있어! 그래서 이를 sulinux에서 포트를 고정시키는 작업을 해보도록 할 거야 이때 사용하는 파일이 바로 /etc/init.d/nfslock 파일이야 이 파일의 52번째 line을 보면 다음..

12. NFS (1) [내부링크]

오늘 배워볼 내용은 바로 NFS야 NFS는 Network File System의 약자인데 파일을 서로 공유할 때 사용하는 시스템이지 이를 통해서 서로 다른 OS를 가진 host끼리도 파일을 같이 공유할 수 있어 그러나 보안에서는 항상 편리한 만큼 취약점도 존재하게 되는데, 서로 같은 파일을 공유하다보니 공유하는 파일들 사이에서 취약점들이 발생하게 돼 그래서 이번에는 NFS를 알아보면서 어떻게 구성되어 있고 어떤 부분이 취약한지 알아보자 1. NFS 사용 및 설정파일 먼저 NFS를 사용하기 위해서는 두 가지 프로그램이 선행되어야 해 첫 번째는 portmapper, 두 번째는 NFS 야 portmapper는 왜 사용하는 거야??? NFS를 실행하는 데몬이 port까지 연결할 수 있는 기능이 없어 그 기능을 ..

번외) SSH 설정 [내부링크]

저번시간에 xinetd에 대해 알아봤는데 ssh에 대해 공부하지 않았더라구...... 그래서 오늘은 SSH에 대해 알아보도록 할꺼야 저번시간에 배웠던 telnet과 비슷한 개념의 원격접속 서비스이지만 telnet처럼 xinetd에서 관리되지 않고 standalone방식으로 관리되고 있어 그래서 SSH 설정파일과 그 내용에 대해서 한번 알아보려고 해 가면 갈수록 배울 양도 많아지는데 그래도 하나씩 해보자 ㅜㅜ...... (이놈의 공부는 언제까지 해야되냐......) 1. SSH 설정파일 SSH 설정파일은 /etc/ssh/sshd_config 파일이야 파일의 내용들을 살펴보면 100줄이 넘는 설정들이 있기 때문에 우리는 이 중에서 꼭 필요한 설정들만을 가지고 접근통제를 해보도록 할께 - Port 22 >> ..

11. 데몬 (Daemon) [내부링크]

오늘은 데몬에 대해서 배워보도록 할께 데몬은 리눅스에서 사용하는 대다수의 서비스들은 데몬을 거치기 때문에 데몬을 모르고 서비스를 논하는 것은 있을 수 없어 ㅎㅎ 데몬에 대해 이야기할게 많은데 한번 바로 공부하러 가보자! 바로 go~go~ 1. Daemon 데몬은 service를 제공하는 process야. 우리가 리눅스에서 사용하는 모든 service들은 데몬을 거쳐서 실행된다고 생각하면 돼 데몬은 우리가 종종 사용해왔었어 systemctl restart sshd 혹은 service telnetd restart 명령을 보면 서비스 이름 뒤에 'd'가 붙은 것을 봤을거야 여기서 sshd와 telnetd가 바로 데몬이었던거야 그런데 여기서 데몬은 또 두 가지 종류로 나뉘게 돼 1. standalone 방식 2..

10. TCPWrapper [내부링크]

오늘은 TCPWrapper에 대해서 한 번 배워보도록 할텐데 배우기 앞서 우리가 저번에 배웠던 내용을 이 사진 한장을 보고 정리해보도록 할께 우리가 지난 시간에 server 보안에는 세 가지 종류가 있다고 했었지? 1. firewall 2.TCPWrapper 3.service 오늘 배워볼 부분이 바로 2차방어에 해당하는 TCPWrapper야 마지막 3차방어는 xinetd에 대한 내용으로 다음 시간에 이어서 알아보도록 할께 자 그러면 바로 TCPWrapper에 대해 살펴보자 1. TCPWrapper TCPWrapper는 문자그대로 "TCP를 감싼다" 라는 의미를 갖고 있어 정확히 표현하자면 "TCP 통신에 대해 접근통제를 하는 시스템" 이라고 할 수 있어 TCPWrapper는 기본적으로 리눅스에 설치가 되..

9. 서버보안 (iptables) [내부링크]

자 이제 드디어!! 시스템 보안에 있어 가장 중요한 단계에 도착했어 system 보안에 있어서 필요한 개념 세 가지가 있는데 1. 운영체제 2. client 보안 3. server 보안이야 오늘은 우리가 배울 부분이자 가장 중요한 server 보안에 대해 알아보도록 할꺼야! 1. 공격자의 system 침투단계 공격자가 네트워크를 타고 나의 system에 도달했을 때 거쳐야 하는 관문들이 있어 가장 먼저 통과하는 문은 바로 "방화벽"이야 방화벽은 네트워크 보안에서도 많이 다뤘지만 system 보안에서도 내부 방화벽이 존재해 system 방화벽은 "Netfilter" 라고 하는 커널에 의해 작동되고, 이를 활용하는 tool은 두 가지가 있어 바로 iptables와 firewalld야 CentOS7 이상 버전..

8. ICMP 필터 [내부링크]

방화벽 공부는 네트워크 보안에서 하지 않았나......? 맞아! 하지만 시스템 내부에서도 방화벽이 존재한다는 사실 ㅋㅋ 시스템 방화벽에 대해 알아보기 전에 먼저 ICMP 필터에 대해 알아보고 가려고 해 저번 시간에 배운 내부 PING 차단 기억나지? 시스템을 외부나 내부로부터의 공격을 원천 차단하기 위한 방어에 대해 배우는 과정인데 지난 시간에는 내부 PING을 차단했다면 오늘은 외부의 PING을 차단해보려고 해 바로 시작! 1. ICMP 차단 이 과정은 방화벽에서 이뤄지는데 우리가 네트워크 보안에서 종종 사용해왔었던 내용이야 firewall-cmd --list -all 명령으로 하나씩 해보도록 할께 위의 사진에 보면 icmp-blocks 라고 적힌 부분 보이지? 바로 여기에 우리가 icmp 차단을 실행..

7. ping 차단 [내부링크]

이번에 알아볼 내용은 network 내부의 신호 차단에 대해 알아볼꺼야 network 외부에서 들어오는 공격은 firewall로 막을 수 있지만, network 내부에서 발생하는 공격은 firewall로 막을 수 없어 따라서 시스템 내부에서 차단을 해야하는 번거로움이 있어 ㅜㅜ 오늘 공부내용과 다음 내용까지 두 가지 방법을 통해 공격자의 공격을 원천 봉쇄하는 방법을 배워볼꺼야 여기서 활용할 OS는 kali 와 CentOS7이야 kali: 192.168.10.200 CentOS: 192.168.10.100 1. 내부 ping 차단 - /proc/sys/net/ipv4/icmp_ech_ignore_all 리눅스에는 내부에서 발생하는 ping에 대하여 차단할 수 있는 파일이 바로 이 파일이야 icmp echo..

6. 리눅스 파일 권한 (2) [내부링크]

지난번에 이어서 리눅스 권한에 대해 문제를 풀어보도록 할께 그리고 SETUID, SETGID, stickybit에 대해 알아보도록 할께! 7. test2,test4 사용자만 daejeon1.txt, daejeon2.txt 읽기 허용 참고로 daejeon1.txt와 daejeon2.txt는 korea2 디렉토리에 있어! korea2 디렉토리에 접근을 먼저해야 하니까 cd와 ls-l 명령은 기본적으로 해야되니깐, korea2 디렉토리의 group 권한은 r-x로 설정하고 group 소유자를 test2로 설정을 해야겠지? 그리고 test2 group 계정에 test4 계정을 추가해줘서 test4도 test2의 group권한을 쓰도록 해줘야 돼 그리고 daejeon1,daejeon2.txt 파일의 group 소..

11. DNS spoofing [내부링크]

오늘 다룰 내용은 DNS spoofing이야 이전에 DNS scan에 대해 알아보면서 DNS가 어떤 역할을 하는지 알아봤는데, 이제 DNS를 가지고 가짜 사이트로 연결시키는 공격을 해보려고 해 DNS spoofing 전에 arp spoofing 과정도 선행되니까 잘 따라와봐! 1. DNS spoofing 오늘 실습 대상자는 kali 리눅스와 windows 10 두개만 가지고 진행해볼거야 순서는 다음과 같이 진행해볼거야 kali 리눅스 ip: 192.168.10.200 windows 10 ip: 192.168.10.134 1. ARP spoofing -> 2. DNS spoofing -> 3. 가짜 사이트 만들기 먼저 ARP spoofing을 진행시켜볼게! 다들 저번에 배웠으니까 알고 있겠지? 1. arp..

5. 리눅스 파일 권한(1) [내부링크]

이번 시간에는 시스템에서 정말 중요한 권한관리에 대해 배워볼거야! 상당히 복잡한 주제이지만 시스템 관리에 있어서 매우 중요하기 때문에 시간이 걸리더라도 하나씩 확인하면서 해보도록 하자! 1. 파일 권한과 umask 보통 리눅스에서 파일권한을 확인하기 위해 umask라는 명령어를 사용해 umask란 universal mask 라는 뜻인데, 최소한의 권한을 걸어놓고 사용한다는 뜻을 갖고 있어 리눅스는 기본적으로 '0022' 값을 갖고 있는데 이것이 뜻하는 바가 무엇이냐! 0 특수 bit 0 소유자 권한 2 그룹 권한 2 기타 권한 박스 하나의 값을 8진수로 표현하고 있어 하나의 박스에는 r,w,x 총 세개의 비트가 있는데 r=4 w=2 x=1 의 값을 갖고 rwx 권한 모두 갖게 되면 7이라는 값을 갖게돼 ..

10. DoS 공격 실습 (2) [내부링크]

오늘은 네트워크 보안 8번째 이야기에서 끝내지 못한 실습을 이어서 해보려고 해 오늘은 ettercap과 wireshark를 활용해서 공격 실습을 해보도록 할께 바로 시작하자! ettercap을 사용한 DoS 공격 우리가 9번째 이야기에서 ettercap을 잠깐 다뤄봤는데 여기서 ettercap에 대해 상세하게 배워보려고 해 ettercap의 기능 1. arp spoofing 2. DNS spoofing 3. Sniffing 4. DDoS 와 같은 공격을 수행할 수 있어 운영 mode는 저번 시간에서 배웠듯이 text mode와 graphic mode로 나뉘는데 오늘은 text mode로 실습을 진행해보도록 할께 i : interface G : graphic mode T : text mode q : qui..

4. 로그인 접근 권한 [내부링크]

오늘은 로그인 접근 권한에 대해 배워보려고 해 명령어로 usermod -L로 계정을 잠궈버리는 간단한 명령어 말고 로그인 계정을 관리하는 파일을 한번 확인하고 또 원격접속을 허용하거나 차단해주는 방법도 알아볼거야 자, 이제 바로 시작해보자! 1. 계정 관리 - /etc/login.defs 우리가 저번 시간에 useradd와 passwd를 통해 계정을 생성해봤을 거야 이번에는 계정을 생성할 때 서버가 참조하는 파일을 확인해볼 거야 그 파일은 /etc/login.defs 파일이야. 파일의 내용을 한 번 들여다보자 1. Mail_DIR /var/spool/mail 메일을 생성하는 디렉터리를 지정 home 디렉터리에 생성된 사용자 계정들에 대한 mail 파일 경로라고 볼 수 있어 2. pass_(max/min/..

9. DoS 공격 확인과 ARP spoofing [내부링크]

저번 시간까지 우리가 DoS 공격의 여러 가지 종류를 실습해봤어 이제 DoS 공격을 확인할 수 있는 방법에 대해 알아보려고 해 하나씩 하다 보면 재밌는 분야니까 천천히 따라오도록! 1. netstat 과 port 갑자기 웬 netstat 명령어가 나와? 보통 nestat 명령어는 해당 시스템에 어떤 포트가 활성화되어있는 확인할 때 종종 사용해 그런데 우리가 종종 사용하던 wireshark와 공격신호를 분석하는 데 있어서 차이점이 존재하는데 wireshark로 packet을 분석하는 경우 시스템 내부로 들어오기 전 외부에서 감지를 하는 방식인 반면 netstat 명령은 시스템 내부로 들어온 신호를 감지해내는 역할을 하지 이번에 실습할 부분은 특정 포트로 DoS 공격을 진행하는데 포트를 열었을 때와 닫았을 ..

3. 계정관리 [내부링크]

이번에는 저번 2장에서 배웠던 계정에 대해 이어서 실습을 해보려고 해 오늘 배울 내용 중에서 가장 중요한 파일 다섯개를 미리 보여줄께 1. /etc/passwd 2. /etc/shadow 3. /etc/group 4. /var/spool/mail 5. /home 이 파일들은 계정이 생성될 때 고정적으로 계정의 정보를 추가하는 파일들이야 이렇게만 봐서는 복잡할 수 있으니, 오늘은 이 다섯가지 종류의 파일과 친해지는 시간을 가져보자! 1. 계정 관리 파일 - /etc/passwd 파일 구조와 /etc/shadow 파일 구조 1. /etc/passwd 구조 /etc/passwd 파일은 다음과 같은 형식으로 이루어져있어 jinwoo:x:1000:1000:jinwoo:/home/jnu:/bin/bash jinwo..

2. system 보안의 이해 [내부링크]

이번 시간에는 system 보안에 대해 알아볼게 지금 카테고리를 네트워크, 정보보안, 시스템 세 개로 나눴는데 서로 어느 정도 연관성이 있기 때문에 겹치는 내용이 있으니까 참고해! 아무튼 오늘은 system보안에 대한 이해부터 시작해보도록 할게 1. system 보안의 이해 system 보안은 크게 6단계로 나뉘어있는데 어떻게 나뉘어 있는지 살펴보자 1. 계정, 비밀번호 관리 2. 세션 관리 3. 접근 제어 4. 권한 관리 5. 로그 관리 6. 취약점 관리 각각의 역할과 기능은 차차 알아가 보도록 하기로 하고 이제 우리는 네트워크 보안에서 시스템 보안으로 넘어왔는데 네트워크 보안과 시스템 보안의 큰 차이점은 뭘까? 다음 사진을 보자 해당 그림을 보면 서버, 방화벽, 스위치가 있는데 이 그림을 통해서 네트..

8. DoS 공격 실습 [내부링크]

DoS 공격을 저번시간에 배워봤고 오늘은 DoS 실습을 해볼께! 그전에 저번에 설명 못한 DDoS에 대해서 알아보고 바로 실습으로 들어가보자~ 1. DDoS DDoS는 Distribute Denial of Service의 줄임말이야 분산 서비스 거부 공격이라는 뜻인데 말이 어렵지...? DoS의 변형된 형태인데 DoS와 큰 차이점이 있어 그 차이점이 뭐냐면, 1. 대부분의 공격이 자동화된 도구로 실행 2. 공격자, master, agent(slave)구성으로 이뤄짐 -공격자: 공격을 주도하는 해커의 컴퓨터 -마스터: 공격자에게 직접 명령을 받는 시스템으로 여러 대의 에이전트를 관리 -에이전트: 공격 대상에 직접 공격을 가하는 시스템 -데몬: 에이전트 시스템의 역할을 수행하는 프로그램 최근에는 DDoS 공..

7. 보안공격의 종류 [내부링크]

오늘은 이론적인 공부를 한번 해보려고 해 갑자기?? 지금까지 공부한 건 단순히 설정하거나, 명령어 종류들을 배워봤다면 보안 공격이 과연 어떤 것이고, 어떻게 이뤄지는지 알아보려고 해 조금 딱딱할 수는 있지만 이론을 알아야 실습에서도 써먹을 수 있으니 꼭 보고 넘어가자 1. 공격의 분류 - 소극적 공격: passvie attack이라고 하며, system과 data에 직접적인 영향을 주지 않는 공격 ex) sniffing, 도청, 트래픽 분석( packet 분석 ) - 적극적 공격: active attack이라고 하며, system과 data에 직접적인 영향을 주는 공격 ex) scanning, DoS, DDoS 쉽게 분류하자면 소극적 공격을 제외한 모든 공격은 적극적 공격임을 알아둬! scanning이 ..

6.Nmap [내부링크]

이번에는 nmap으로 port scanning을 해보자! nmap의 형식을 알아보고 nmap 결과도 같이 수집해보는 걸로~ 1. nmap 명령어 형식과 활용 nmap [ scan 형식 ] [ option ] [ 공격 대상 IP주소 ] - Open scan - TCP scan nmap -sT 192.168.10.100 TCP만 scan, 3-way handshaking이 이뤄지므로 속도가 느림 - UDP scan nmap -sU 192.168.10.100 UDP만 scan, tcp보다는 비교적 빠르게 scan - ping scan nmap -sP 192.168.10.100 공격 대상이 open 되어 있는지 확인하기 위해 ping을 보냄 - SYN scan - FIN scan nmap -sF 192.168...

5.Port Scan (TCP scan UDP scan) [내부링크]

port scanning에 앞서 기본적인 scan의 종류와 scan 방식을 살펴보자. 1. TCP scan 우리가 현재 가장 많이 사용하는 통신 protocol은 tcp다. tcp를 기반으로 한 scanning방식이 있는데, 이 방식은 세 가지 방법을 통하여 scan을 할 수 있다. -open scan: TCP connected scan으로 3 way-handshaking으로 established가 된 상태에서 scan을 하는 방식 -half scan: SYN scan으로 3 way-handshaking을 맺지 않고 중간에 연결을 끊어버리는 scan 방식 -stealth scan: TCP header의 6가지 flag를 이용하여 보내는 scan. log가 남지 않는다는 특징이 있다. - 3 way han..

1.리눅스 보안 설정(Boot Loader p.w. 설정) [내부링크]

Linux server 보안의 기본 개념 1) 시스템 설정 system 설정을 통한 linux server를 보안할 수 있는 다섯 가지 방법이 존재한다. 1. 물리적 보안 > 설치 장소의 물리적 출입 통제와 출입 관리 2. partitioning > 디스크 partition의 검토, 사용자 쿼터 설정, file system 권한 설정 3. 설치할 software > 설치 소프트웨어의 최소화 4. Boot loader 설정 > 비밀번호를 설정하여 system booting 설정을 변경할 수 없도록 한다. 5. service 설정 > 불필요한 service는 작동 중지 오늘 여기서 해볼 것은 Boot loader에서 password 설정을 통한 server의 접근을 통제해보도록 하겠다. 또한 Boot loa..

4. 방화벽 설정 [내부링크]

이번에는 CentOS에서 firewall과 nmap 간의 관계를 파악해보는 실험을 해보도록 하겠다. 먼저, CentOS에서 firewall과 systemctl을 이용하여 port service와 방화벽을 setting 하자. 1. firewall 설정하기 firewall의 환경설정 상태를 확인할 수 있는 명령으로 firewall에 설정된 모든 정보를 확인할 수 있다. 현재 CentOS에서 firewall을 설정한 port들을 확인할 수 있다. firewall에 port 등록하는 명령은 다음과 같다. -firewall-cmd --permanent--add-service= [service name] option의 permanent는 영구적으로 이 service를 등록하겠다는 option이다. firewall..

3. DNS Scan [내부링크]

지난 시간에는 직접 수집을 위한 명령어들을 알아보았으니, 이번에는 scanning의 종류와 scanning 하는 방식을 알아보도록 하자~ 참고로 오늘 내용은 저번 내용보다 좀 더 많다. DNS 설정해야 하는 파일이 많거든 ㅜㅜ...... 아무튼 또 하나씩 파헤쳐보자! 1. Scanning의 종류 - DNS Scanning: domain을 통해 IP를 알아내는 scan 방식 - Port Scanning: IP를 통해 port service를 알아내는 scan 방식 2. DNS Scanning을 위한 setting systemctl stop firewalld로 방화벽을 잠시 비활성화시키고 setenforce 0 명령으로 SElinux도 비활성화 하기 비활성화 이후 rebooting하고 getenforce 명..

2. 정보수집 [내부링크]

모의해킹을 위한 setting은 끝났다. 이제 해킹을 하기 위한 단계를 정리해보자 해킹 공격의 순서 1. 정보수집 -> 2. Hacking 공격 -> 3. 공격 전이 -> 4. 흔적 지우기 첫 번째로 수행할 단계는 정보수집 단계다. 정보수집에는 크게 두 가지 방식이 있다. 공격하는데 순서도 엄청 복잡한데, 단계별로 종류도 다양하다 (으.......) 아무튼 하나씩 파헤쳐보자! 1) 직접 수집: foot printing, social engineering, fishing - foot printing: 발자국 찍기, 모든 단계를 하나씩 밟아가는 방식 - social engineering: 현대사회에서의 공격 기법. 산업스파이와 같이 인간의 약점을 이용하여 공격하는 방식이다. 제일 약한 연결인 인간관계를 노리..

1. 칼리 리눅스 설치 [내부링크]

오늘은 보안실습을 위해 OS를 직접 깔아보자~ 정보보안에 있어서 OS를 직접 실습해보는 것이 가장 습득하기 쉽기 때문에 간단하게 설치를 해봤다. 1. Kali linux 설치하기 https://www.youtube.com/watch?v=3RdaSj0jrWQ&t=1501s 2. CentOS 설치하기 https://www.youtube.com/watch?v=5QLpk3B7AOk kali/CentOS 내부환경 설정하기 실습에 앞서 네트워크와 OS에 대한 기본적인 환경설정이 꼭 필요하니까 하나씩 확인해보는 것은 필수! IP주소, 방화벽, 설치 프로그램 등등 하나씩 정리해보았다. 1.Kali의 ip 설정 파일: /etc/network/interfaces -ip를 static으로 할당하고 ip 주소는 192.168..

Bandit 원정대 2주차 [내부링크]

Bandit Level 7 → Level 8 Level Goal The password for the next level is stored in the file data.txt next to the word millionth Commands you may need to solve this level grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd step1. ls-al로 파일 확인후 data.txt 파일 열기 step2. cat data.txt 결과 데이터가 계속해서 나오므로 ctrl+c로 실행을 멈추도록 한다. step3. millionth 단어가 포함되어 있는 문자열을 찾아야하므로, grep -w 'millionth' ./data.txt 로..

Bandit 원정대 1주차 [내부링크]

Level 0 The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password is bandit0. Once logged in, go to the Level 1 page to find out how to beat Level 1. 여기서 첫번째로 할일은 ssh로 해당 사이트를 접속을 해야된다는 것을 알 수 있다. SSH는 secure shell 로 telnet의 단점인 보안을 강화한 프로토콜이다. 강력한 인증 방법 및 안전하지 못한 ..

Bandit 원정대 4주차 [내부링크]

Bandit Level 21 → Level 22 Level Goal A program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/ for the configuration and see what command is being executed. step1. /etc/cron.d/ 로 directory를 옮기고 directory 안에 파일들을 확인한다. cronjob_bandit22 파일을 열어서 파일내용을 확인한다. step2. cronjob_bandit22 파일 안에 다음과 같은 내용이 적혀있다. 1. /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZK..

Bandit 원정대 3주차 [내부링크]

Bandit Level 14 → Level 15 Level Goal The password for the next level can be retrieved by submitting the password of the current level to port 30000 on localhost. Commands you may need to solve this level ssh, telnet, nc, openssl, s_client, nmap step1. bandit14의 비밀번호가 저장되어 있는 /etc/bandit_pass/bandit14 파일을 열어 비밀번호를 확인하고, bandit14의 ip주소를 확인한다. step2. nmap 명령어로 해당 ip주소에서 open되어 있는 port를 찾아낸다. step3..