728x90
반응형
🔹 해킹 및 보안 관련 정리 🔹
✅ Kali Linux & BackTrack 🖥️🔍
- Kali Linux와 BackTrack은 해킹 및 보안 전문가들이 사용하는 침투 테스트(펜테스트)용 OS
- Ubuntu 기반으로 제작되었으며, 다양한 해킹 및 보안 도구가 기본 내장되어 있음
- 일반 Ubuntu를 사용할 경우, 추가적으로 해킹 도구를 설치하고 설정해야 하는 번거로움이 있음
✅ Telnet vs SSH 보안 차이 🔐
항목 | Telnet | SSH |
보안 수준 | ❌ 암호화 없음 → 해킹 취약 | ✅ 암호화 사용 → 보안 강력 |
데이터 전송 방식 | 평문(Plain Text) 전송 → 해커가 쉽게 읽을 수 있음 | 암호화(Encrypted) 전송 → 해커가 읽을 수 없음 |
세션 하이재킹 위험 | ✅ 매우 높음 → 데이터 노출 가능 | 🚫 낮음 → 암호화된 데이터로 보호됨 |
포트 번호 | 기본 23번 포트 사용 | 기본 22번 포트 사용 |
실제 사용 여부 | 현재는 거의 사용되지 않음 | 원격 접속 시 필수 보안 프로토콜 |
📌 결론:
- 해킹 및 보안 분석을 위해서는 Kali Linux를 활용하는 것이 편리함 🚀
- Telnet은 보안이 취약하므로 사용하지 말고, SSH를 사용할 것! 🔐
🔹 데이터베이스 관련 정리 🔹
✅ MySQL → MariaDB
- MySQL은 원래 Sun Microsystems가 개발했으며, 이후 Oracle이 인수하여 유료화됨.
- 이에 따라 MariaDB라는 무료 오픈소스 데이터베이스가 MySQL의 개발자들에 의해 만들어졌음.
- MariaDB는 MySQL과 호환되며, 무료로 사용 가능하고, 커뮤니티 기반으로 개발됨.
✅ Wireshark
- 이전에 EtherReal이라는 이름으로 존재했으나, 판권 문제로 인해 Wireshark라는 새로운 이름으로 변경하여 오픈소스 패킷 분석 도구로 제공됨.
🔹 MySQL 명령어 사용법 정리 🔹
📌 로그인 명령어
- 올바른 로그인 예시
- root 사용자와 rootoor 패스워드로 MySQL에 로그인.
-
mysql -u root -prootoor
- 잘못된 예시 (데이터베이스 명시 오류)
- 여기서 rootoot는 데이터베이스 이름이지만, 실제로 해당 데이터베이스가 없으므로 오류 발생.
- 올바른 명령어: mysql -u root -p (패스워드는 로그인 후 입력)
-
mysql -u root -p rootoot
🔹 GRANT 명령어를 통한 권한 설정 🔹
📌 권한 부여 예시
- 로컬에서 root 사용자에게 모든 권한 부여
- root 사용자는 로컬에서 모든 데이터베이스 및 테이블에 대한 권한을 가진다.
-
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'rootoor';
- 원격에서 root 사용자에게 모든 권한 부여
- 원격지에서 root 사용자와 rootoor 패스워드로 로그인하여 모든 권한을 가질 수 있다.
-
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootoor';
- 권한 회수
- 권한을 회수하는 명령어로, 필요한 권한만 부여하도록 관리한다.
-
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'localhost';
🔹 데이터베이스 스키마와 제약조건 🔹
📌 스키마(Schema)
- 스키마는 데이터베이스 테이블을 구성하는 규칙으로, 테이블을 만들 때 이름, 데이터 타입, 크기 등을 지정한다.
예:CREATE TABLE example ( id INT(3) PRIMARY KEY AUTO_INCREMENT, name CHAR(30) NOT NULL );- id: INT 타입, 크기 3, PRIMARY KEY 및 AUTO_INCREMENT
- name: CHAR(30) 타입, NOT NULL 제약조건
📌 제약조건(Constraints)
- NOT NULL: 해당 컬럼은 NULL 값을 가질 수 없음
- PRIMARY KEY: 중복되지 않는 값이어야 하며, 테이블에서 유일한 식별자 역할
- FOREIGN KEY: 다른 테이블의 기준이 되는 컬럼과 관계를 설정
- UNIQUE: 컬럼의 값이 중복되지 않도록 보장
**침투를 Penetration Test(=Pen Test)라고 한다. <= 이런 작업을 수행하는 사람을 Whitehat 이라고 부른다.
🔹 Proxy Server (프록시 서버) 개념 정리 🔹
✅ 프록시 서버 (Proxy Server)
- 프록시 서버는 인터넷 접속을 대신해주는 서버로, **로컬 네트워크(LAN)**의 클라이언트들이 외부 인터넷에 접속할 때 중개 역할을 함.
- Cache Server라고도 불리며, 자주 요청되는 웹 페이지나 데이터를 캐싱하여 성능을 향상시킬 수 있음.
🔹 프록시 서버의 역할과 작동 원리 🔹
- DNS 캐싱 (Domain Name System)
- 로컬 네트워크의 각 노드들이 인터넷에 접속할 때, 먼저 DNS 서버를 통해 웹사이트의 도메인 이름을 IP 주소로 변환함.
- 예: www.naver.com -> 203.234.235.101
- 프록시 서버의 작동
- 로컬 LAN에 프록시 서버를 설정하면, 각 클라이언트가 인터넷에 접속하려 할 때 DNS 서버를 거치기 전에 프록시 서버로 먼저 요청함.
- 프록시 서버가 도메인 이름과 해당 IP 주소를 미리 저장해두고 있기 때문에 DNS의 Name Resolution 과정을 생략할 수 있어 더 빠르게 웹사이트에 접속할 수 있음.
🔹 프록시 서버의 보안 위험성 🔹
- 패킷 가로채기 (Packet Sniffing)
- 프록시 서버를 악용하면, 중간에서 웹 트래픽을 가로채고 패킷을 분석하여 데이터 값을 변경할 수 있음.
- BurpSuite와 같은 도구를 사용하면 웹 요청/응답 패킷을 분석하고, 중요한 정보를 변조할 수 있음.
- Paros와 같은 도구는 BurpSuite보다 간단한 버전으로, 트래픽을 캡처하고 변경하는 데 사용됨.
- 프록시 서버 해킹
- 프록시 서버를 해킹하면, 로컬 네트워크의 모든 트래픽을 모니터링하고 가로챌 수 있는 위험이 발생.
- 이를 통해 사용자들의 인터넷 사용 기록과 개인 정보를 쉽게 탈취할 수 있음.
🔹 프록시 서버를 이용한 보안 위협 예시 🔹
- 인터넷 접속 기록 감청
- 프록시 서버를 통해 모든 웹사이트 접속 기록을 볼 수 있으며, 이를 통해 사용자의 온라인 활동을 추적할 수 있음.
- 중간자 공격 (MITM)
- 공격자가 프록시 서버를 해킹하거나 설정을 변경하면, 중간자 공격을 통해 사용자의 요청과 응답을 변조할 수 있음.
- 예: 사용자의 로그인 정보나 개인 데이터를 탈취하는 데 사용될 수 있음.
🔹 악성코드 종류 및 방어 방법 정리 🔹
악성코드 종류 | 설명 | 방어 방법 |
Virus (바이러스) | 정상적인 파일이나 MBR(Master Boot Record)에 감염되어 다른 파일을 감염시키고 증식하는 프로그램. MBR이 오염되면 부팅에 지연이 발생. | - ClamAV와 같은 안티바이러스 프로그램 사용 🛡️ - VirusWall을 설정하여 내부 네트워크에서 바이러스 확산 방지 🚫 |
Worm (웜) | 숙주 없이 스스로 복제하고 증식하여 네트워크를 감염시키는 프로그램. 주로 메일이나 웹사이트를 통해 전파됨. | - 메일과 웹사이트에서 의심스러운 링크나 첨부파일 열지 않기 ❌ - Firewall 및 네트워크 보안 강화 🔒 |
Trojan Horse (트로이 목마) | 정상적인 소프트웨어처럼 위장한 악성 프로그램으로, 백도어를 통해 해커가 시스템에 접근할 수 있도록 함. | - 출처가 불명확한 소프트웨어나 메일 첨부파일 다운로드 금지 🚫 - 정기적인 시스템 점검 (Rootkit 점검) ✅ - 로컬 형상서버(Configuration Server) 운영하여 악성 코드 제거 🔧 |
Bot (좀비 PC) | 감염된 PC가 DDoS 공격 등에 사용되는 프로그램. 여러 감염된 PC가 모여 BotNet을 형성. | - DDoS 공격 방어: Reverse IP Filtering 사용 🔄 - iptables 또는 라우터 ACL 설정으로 비정상적인 트래픽 차단 🚧 |
BotNet | Bot들이 모여 구성된 네트워크로, DDoS 공격과 스팸 메일 전송 등에 사용됨. | - Reverse IP Filtering을 통해 DDoS 공격을 차단 🔒 - 패턴 기반 네트워크 모니터링을 통한 이상 트래픽 탐지 🚨 |
Rootkit (루트킷) | 해커가 타겟 시스템에 침투 후, 백도어를 숨기거나 로그를 삭제하여 추후 침투가 가능하도록 만드는 악성 프로그램. | - Rootkit 탐지 도구인 rootkithunter나 checkrootkit 사용하여 점검 ✅ - 시스템 보안 강화 및 최소 권한 원칙 적용 🔐 |
/etc/rc.local 악성코드 | 시스템이 부팅되기 전에 실행되는 /etc/rc.local에 악성 코드를 삽입하여 부팅 후 자동으로 악성 코드가 실행되게 함. | - /etc/rc.local 파일 검토 및 자동 실행 파일 모니터링 ⚠️ - 보안 패치 및 시스템 무결성 검사 수행 🔧 |
🔹 ClamAV 개요 및 기능 🔹
ClamAV는 Linux 시스템을 위한 무료 오픈 소스 안티바이러스 프로그램입니다. 주로 Linux 시스템에서 바이러스 감염 예방을 위한 도구로 사용됩니다. Linux 시스템에서 바이러스 감염 사례는 적지만, 머신 간 데이터 이동 과정에서 감염된 파일을 공유 디렉토리에서 가져오면 감염될 수 있기 때문에 예방 차원에서 ClamAV를 설치해 두는 것이 좋습니다.
🔹 ClamAV 주요 기능 🔹
- 바이러스 및 악성코드 탐지
ClamAV는 trojans, viruses, malware, malicious software 등 다양한 종류의 악성코드를 탐지하고 차단합니다. - 다양한 파일 포맷 지원
ClamAV는 다음과 같은 다양한 파일 포맷을 지원하여 널리 사용됩니다:- ELF, broken executable, Mail, OLE2, PDF, SWF, HTML, HWP3, XMLDOCS 등
- Linux 시스템에서의 주요 바이러스 예방 도구
ClamAV는 Linux 시스템에서 바이러스와 악성코드를 예방하는 데 유용한 기본적인 바이러스 프로그램으로 사용됩니다.
🔹 ClamAV 로그 분석 🔹
- 로그 파일 위치:
ClamAV의 로그 파일은 /var/log/clamav/ 디렉터리에 저장됩니다.
이 로그 파일을 통해 바이러스 탐지 결과와 위협에 대한 정보를 확인할 수 있습니다. - 로그 분석:
로그 파일을 정기적으로 확인하여 바이러스나 악성코드가 감지되었는지 파악하고, 필요시 악성코드를 제거하거나 추가적인 보안 조치를 취할 수 있습니다.
🔹 ClamAV 사용 예시 🔹
#클램AV 업데이트
sudo freshclam
#디렉토리 검사
clamscan -r /path/to/directory
#특정 파일 검사
clamscan /path/to/file
네트워크 공격 형태와 방어책 정리
공격 형태 | 설명 | 방어책 |
Eavesdropping (도청) | 해커가 네트워크를 통해 타겟의 통신을 도청하거나, 허락 없이 시스템에 접근하여 통신을 가로채는 공격 기법입니다. | 강력한 암호화(SSL/TLS 등)를 사용하여 통신을 보호해야 합니다. |
Data Modification (데이터 변조) | 해커가 타겟 네트워크에 침투해 오가는 데이터를 변조한 뒤 재전송하여 데이터를 왜곡하는 공격입니다. | 프록시 관리와 SSL 인증을 통해 데이터를 암호화하여 보호합니다. |
Sniffing (취약점 탐색) | 해커가 암호화되지 않은 데이터를 외부에서 탈취하여 네트워크를 들여다보는 공격입니다. | ping, ICMP 프로토콜을 규제하여 불필요한 패킷을 차단합니다. |
Snooping (염탐) | 네트워크에서 중요 정보를 몰래 훔치는 공격입니다. | DHCP 서버에서 신뢰할 수 없는 포트에서 오는 정보를 차단합니다. |
Spoofing (IP/MAC 변조) | 해커가 자신의 IP/MAC 주소를 타겟 네트워크의 주소로 변경하여 신뢰할 수 있는 호스트처럼 가장하고 정보를 탈취하는 공격입니다. | 호스트의 IP/MAC 주소를 정적으로 설정하여 변조를 방지합니다. |
Password Crack (패스워드 크랙) | 해커가 사용자명과 패스워드를 크랙하여 네트워크에 로그인하는 공격 기법입니다. | 유효한 사용자 리스트를 관리하고, 관리자 권한 상승을 제한합니다. |
DoS (Denial of Service) | 타겟 서버의 서비스를 불능 상태로 만드는 공격입니다. 주로 대량의 트래픽을 보내 서버를 마비시키는 방식으로 이루어집니다. | 포트 필터링, 루트킷 체크 도구 등을 사용해 서비스를 보호합니다. |
MitM (Man in the Middle) | 클라이언트와 서버 간의 통신을 해커가 가로채서 중간에서 정보를 수정하거나 탈취하는 공격입니다. | Arp Spoofing이나 Session Hijacking 방지 대책을 사용하여 세션을 보호합니다. |
Compromised-key (취약한 키) | SSL 등의 보안 키가 취약하여 해커가 쉽게 키를 해독하고 보안 네트워크에 접근하는 공격입니다. | 강력한 키 생성 및 SHA512, RSA 알고리즘을 사용하여 보안을 강화합니다. |
Applications (응용 프로그램) | 해커가 타겟 시스템의 응용 프로그램 취약점이나 잘못된 설정을 이용해 침투하는 기법입니다. | 응용 프로그램과 운영체제의 패치 및 업데이트를 관리하고, 불필요한 프로그램 설치를 제한합니다. |
OS (운영체제) | 해커가 운영체제의 취약점을 이용해 시스템에 침투하는 공격입니다. | 운영체제의 최신 패치 및 업데이트를 적용합니다. |
ATP (Advanced Technology Persistence) | 해커가 타겟 시스템에 악성코드를 심어두고, 지속적인 공격을 수행하여 네트워크를 완전히 장악하려는 기법입니다. | 패치 및 망 분리, 이메일 첨부 파일 열지 않기 등의 예방 조치를 취합니다. |
Phishing (퓌싱) | 신뢰할 수 있는 사람이나 기관처럼 가장하여 사용자의 비밀번호나 신용카드 정보를 탈취하는 공격입니다. | 이메일 및 첨부파일의 확장자 필터링을 설정하여 악성 파일을 차단합니다. |
Pharming (퐈밍) | DNS나 hosts 파일을 변경하여 사용자가 악성 사이트에 접속하게 만드는 공격입니다. | 시스템에서 파일 변동을 추적하고, 최신 패치 및 자바 업데이트를 수행합니다. |
Ransomware (랜섬웨어) | 해커가 시스템 파일을 암호화하여 사용자가 접근할 수 없도록 하고, 금전을 요구하는 공격입니다. | 강력한 AV/Anti-malware 프로그램을 사용하고, 웹 파일을 별도의 서버에 저장하여 보호합니다. |
Watering Hole (워터링 홀) | 타겟 웹사이트에 악성코드를 심어 타겟이 접속한 사용자만 감염시키는 공격입니다. | 알 수 없는 파일을 열지 않도록 주의하고, 웹사이트에 대한 보안 검토를 강화합니다. |
Virus Wall (바이러스 월) | 외부 네트워크에서 내부 네트워크로 유입되는 바이러스를 차단하는 방어 기법입니다. | 내부 네트워크에 유입되는 데이터를 검사하고, 감염된 파일을 격리 및 차단하여 바이러스 확산을 방지합니다. |
일반적인 보안 도구들
- Nmap
- 설명: Nmap은 네트워크 탐색 및 보안 감사를 위한 도구로, 타겟 서버에서 운영체제, 버전, 실행 중인 서비스, 오 픈 포트 등을 스캔하여 수집할 수 있습니다. 이 도구는 TCP 프로토콜을 활용하여 연결을 수립하고, SYN Flooding, Stealth scan 등과 같은 침투 기법을 사용할 수 있습니다. 특히 Nmap Script Engine(NSE)을 통해 더욱 정밀한 스캔을 수행할 수 있습니다.
- 주요 옵션:
- sS: SYN 스캔 (세션 수립 없이)
- sT: TCP 스캔
- sU: UDP 스캔
- sN: 플래그 OFF (null scan)
- sX: 모든 플래그 ON (x-mass scan)
- sF: FIN 플래그만 설정
- sV: 열린 포트와 버전 확인
- O: OS 정보 확인
- A: OS와 OS 버전 확인
- v: 상세 결과 보기
- 사용 예: nmap -v -sT -O 192.168.100.123
- 결과 표시: 포트 상태는 open(열림), filtered(방화벽에 의해 차단), closed(닫힘), unfiltered(알 수 없음) 등으로 표시됨.
- 방어책: 자신의 서버를 스캔하여 너무 많은 정보가 노출되지 않도록 포트 및 서비스의 보안을 강화해야 함.
- Netcat (NC)
- 설명: Netcat은 "Swiss Army Knife"로 불리는 강력한 네트워크 도구로, 포트 스캔, 파일 송수신, 백도어 열기 등 다양한 기능을 지원합니다. 특히, 백도어로 사용될 때 유용하지만 정상적인 네트워크 관리에도 활용될 수 있습니다.
- 기능:
- 포트 스캔
- 파일 송수신
- 원격 쉘 접속 등
- Tcpdump
- 설명: Tcpdump는 Wireshark와 유사한 패킷 분석 도구로, 네트워크 인터페이스에서 수신된 데이터를 텍스트 형태로 콘솔에 출력합니다. 이를 통해 네트워크 상의 평문 데이터를 볼 수 있으므로, 사용자명과 비밀번호 등의 크레덴셜 정보가 암호화되지 않은 상태로 전송될 경우 이를 바로 확인할 수 있습니다.
- 활용: 네트워크 트래픽 모니터링 및 분석
- Tripwire
- 설명: Tripwire는 파일의 변조 여부를 탐지하는 도구입니다. 시스템에 설치된 파일들의 해시 값을 미리 저장하 고, 나중에 파일의 해시 값과 비교하여 변조된 파일을 찾아냅니다. 해커가 시스템에 침입하여 파일을 변조했을 때 이 를 검출하는 데 유용합니다.
- 원리: 파일의 해시 값 및 속성을 데이터베이스에 저장하고, 현재 파일 상태와 비교하여 변조 여부를 확인.
- 주의점: 실시간으로 변조를 탐지하지 않으므로 시스템 설치 후 바로 Tripwire를 실행하여 설정하는 것이 좋습니 다.
반응형
'Linux 보안' 카테고리의 다른 글
리눅스 보안 5일차 핵심요약본 (0) | 2025.03.12 |
---|---|
리눅스 보안 5 (0) | 2025.03.12 |
리눅스 보안 4일차 핵심요약본 (0) | 2025.03.11 |
리눅스 보안 4 (0) | 2025.03.11 |
리눅스 보안 2 (0) | 2025.03.07 |