이론 내용
스푸핑
정보를 얻기 위한 중간 단계의 기술로 인터넷이나 로컬에서 존재하는 모든 연결에 가능함
1) 공격 대비책
- 관리하는 시스템의 MAC 주소를 테이블로 생성
- 브로드캐스트 ping을 네트워크에 뿌림 -> 답하는 모든 시스템에 대한 MAC 주소 값을 시스템 캐시에 기록
arp -a
로 현재 IP 주소, MAC 주소의 대칭 값과 비교 -> 엉뚱한 MAC 주소로 맵핑되어 있는 항목을 확인
2) ARP 스푸핑
- MAC 주소를 속이는 행위 -> 2계층에서 작동
- 공격 대상이 같은 랜에 있어야 함
- 보안 대책
arp -a
명령을 입력하고 enter -> 현재 MAC 주소 테이블 확인 가능
- 윈도우 서버 2012: 설정하고자 하는 IP 주소, MAC 주소를 static으로 확인 ->
arp -s <IP 주소> <MAC 주소>
형식으로 명령 입력
- 다시
arp -a
로 MAC 주소 테이블 확인 -> PERMPermanent, static이 있음 -> 설정된 IP 주소와 MAC 주소 값은 변하지 않음
3) IP 스푸핑
- IP 주소를 속이는 것
- 트러스트(Trust): 시스템 접속 시, 자신의 IP 주소로 인증 -> 로그인 X, 그냥 접속이 가능함 -> 한 번만 인증을 하면 그 이후로는 안해도 됨
- 스니핑은 막을 수 있으나 IP만 일치하면 인증 우회가 가능함
- SSO(Single Sign On): 트러스트에 대한 약점 때문에 개발됨
./etc/hosts.equiv
: 시스템 전체에 영향
.$HOME/.rhost
: 사용자 한 사람에 귀속하는 파일
- 보안 대책
- 트러스트를 사용하지 않는 것이 가장 좋음
- 사용해야 한다면 -> 트러스트된 시스템의 MAC 주소를 static으로 지정
4) DNS 스푸핑
- 주소 창에 원하는 사이트를 입력 -> 엉뚱한 사이트로 연결되는 것
ㄴ> 웹 스푸핑과 유사
- 공격순서
- 클라이언트가 DNS 서버로 DNS Query 패킷 전송 -> 선행 작업 필요 (ex. ARP 스푸핑)
- 정상 DNS 서버가 올바른 DNS Response 패킷을 보내주기 전에 위조 DNS Response 패킷을 보냄
- 클라이언트는 공격자가 보낸 DNS Response 패킷을 올바른 패킷으로 인식 -> 웹 접속
- 잘못된 웹 서버에 접속 시 -> 정보 유출, 감염, 악의적인 해킹(좀비), 채굴에 악용될 위험
- 기존 홈페이지 사칭: 보안카드 일련번호, 주민번호 뒷자리 입력 등 요구
- 게시판 글 열람: 악성코드 글 열람 -> 감염
- 접속만으로 감염: 드라이브 바이 다운로드(DBD)
- 배너 클릭 후 감염
- 홈페이지 추가 기능 설치: ActiveX, EXE 파일 등
- 보안 대책
- 사이트에 접속하면 캐시에서 읽음 -> hosts 파일을 통해 도메인 이름에 대한 IP 주소 해석
- Hosts 파일에 중요한 사이트 IP 작성해두면 공격 방지
- BIND는 최신 버전 유지
- BIND(Berkeley Internet Name Domain): PTR 레코드에 의한 A 레코드 정보 확인 후, 네임 서버의 DB 파일 변조 여부 판단 가능
- PTR 레코드: Reverse Zone에서 가장 중요한 레코드, IP 주소에 대한 도메인 이름을 해석
- A 레코드: Forward Zone에서 도메인 이름에 대한 IP 주소를 해석
5) Email 스푸핑
- 이메일 서버 조작
- ARP 스푸핑 -> DNS 스푸핑 -> 이메일 전송 -> 공격자 -> 포워드, 스니핑
- 중요정보 습득
- 이메일 보내는 사람, 받는 사람, cc, bcc(참조에 공격자 이메일 포함)
- 이메일 스캠, BEC
=> 보고 있는 것을 숨기기 위해 포워드
- 이메일 대량 발송 시, 받는 사람 숨기기 X -> 타겟(악성메일 송부)
실습 내용
Burp Suite
웹 애플리케이션의 취약점을 발견하고 악용하는데 사용되는 도구
웹 브라우저와 서버 사이에 작은 프록시 서버를 끼워서 모든 연결을 Burp Suite로 분석할 수 있게 함

1) 고려사항
- 웹 애플리케이션 취약점에 대한 기본적인 지식을 갖추면 도움이 됨
- 대규모, 복잡한 웹 애플리케이션 테스트에는 어려울 수 있음
- 악의적인 목적으로 사용 시, 심각한 피해를 입힐 수 있음
2) 설치 방법 및 세팅
🔗 참고
https://velog.io/@heoy01/Tools-Burp-Suite-%EC%9B%B9-%ED%94%84%EB%A1%9D%EC%8B%9C-%EC%8B%A4%EC%8A%B5
https://velog.io/@heoy01/Burp-Suite-Intruder%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-Brute-Force-%EA%B3%B5%EA%B2%A9-%EC%8B%A4%EC%8A%B5
- 자세한 설치나 세팅, 실습 과정은 링크 확인
이 글에서는 어떤 실습을 했는지만 간단히 작성하려고 함
3) Intercept
- 오고가는 Request, Response를 확인하고 이를 가로챌 수 있음
- 웹 페이지 접근 방식이 바뀜
- 기존: 브라우저 -> 네이버
- 프록시 설정 후: 브라우저 -> Burp Suite -> 네이버
4) Broken Authentication 테스트
- 목표: DVWA 로그인 모듈에서 취약점 찾아서 계정을 탈취하거나 우회
- 실습 방법
- Burp Suite Repeater 기능 활용하여 로그인 요청 반복 실행 -> 응답분석
- Burp Intruder로 패스워드 크래킹 시도 -> Brute Force
- 세션 관리 문제: ID/PW를 바꾸면서 요청을 보냄 -> 세션 ID가 동일하게 반복 -> 서버 측에서 세션을 재생성하지 않는 것으로 보임
= 세션 관리를 하지 않는다는 것
기타 설명
파일 변조 여부
- Hash, CRC, 해밍코드, 패리티 비트 등 활용하여 판단
유해/악성 사이트
- 유해 사이트: 마약, 도박 등 -> 악성코드 X
- 악성 사이트: 악성코드 감염 초래
- 사람 - DNS - N차 경유지 - 유포 사이트
=> 추적을 어렵게 하기 위해 경유지를 돌림
공격 방법
- 브루트포스(Brute): 무차별 대입
- 사전(Dictionary) 공격: 레인보우 테이블(패스워드 해시값 조합)
- 크리덴셜(Credential) 스터핑: 다크웹 수집(활성화 데이터, 지금 사용중인 ID/PW) -> 차별적/선별적 대입
- 사람의 관습때문 -> 모든 홈페이지에 동일한 ID/PW를 사용할 확률이 높음 -> N차 피해
Q&A
Q1. 피싱 vs 파밍
- 피싱: 악성코드 감염 X, 사람을 기만하는 행위
- 파밍: 악성코드 감염 O, 사람을 기만하는 행위
- 메모리 해킹: 파밍에 이용되는 수단 (루트킷 바이러스) -> 모바일 보안에서는 메모리 해킹 탐지가 중요
- Root-kit: 메모리에 남아있어서 사라지지 않고 남아있음
- 부팅 순서: 컴퓨터 On -> 시스템 순차 -> BIOS/CMOS -> 메모리 악성코드 -> OS -> 보안 솔루션
- 악성코드가 보안 솔루션보다 늦게 뜨기 때문에 지우지 못하는 것
Q2. 위조 vs 변조
- 위조: 존재하지 않는 것을 새로 만듦
- 변조: 존재하는 것을 다른 것으로 바꿈
Q3. 보안직군에서 개발에 대한 지식
- 개발자와 얘기할 수 있을 정도면 됨
- 해당 코드가 어떤 취약점을 야기할 수 있는지 알 정도 -> 코드 리딩
- 코드 리딩만으로는 코테 합격 불가 -> 당연히 추가적인 공부 필요
기타 사전 질문
Q1. 보안의 중요성
- 회사 입장에서 보안은 중요치 않음 -> 서비스가 더 중요
- 보안만 알아서는 힘듦 -> 보안으로 해당 서비스의 성능을 좋게, 안전하게, 이용자가 끊이지 않게 해야함
Q2. 취업 방향성
- 직무 적합도 -> 대기업(보안담당자) -> 최고보안책임자
- 규정(법령) 잘 알아야 함
- 산업전문성 -> 업권을 넘나들면 전문성 유지하기 힘드므로
- 출판, 강연, 공모전 등 뭐든 해야함
- 이직 준비 -> 긴장 상태 유지
코테 무슨언어로 보실건가요?