블로그의 모든 내용은 학습 목적으로만 사용하세요.
불법적인 행위에 대한 모든 책임은 당사자에 있습니다.
● 모의 해킹 진행 순서
1. 정보 수집
2. 취약점 분석
3. Exploit : 공격코드 생성 + 공격
4. 공격 후 분석 ~~> 패킷
로그
효과 / 난이도 / 범용(대상)
5. 해결책
: 해결책을 모아서 보안 가이드라인에 적용 ~> 최소한의 보안책
-------- : 체계적으로 되고 있는지 검증
-------------------------------------- : 인증 체계
ISO2700x 패밀리 : ISMS : 국제표준
-------- : 국가 표준 + KISA
-----------------------
ISMS + @
PIMS
~> ISMS-P
● 구조 파악
공격자(attacker / hacker)
: kali 2023.2 <~ 2번째 배포판
2023.04 <~ 4월의 배포판
공격자 OS 정보
Debian 계열 : 우분투 계열 + 해킹과 관련된 어플리케이션을 기본적으로 세팅된 운영체제
핵심적인 기능 : MSF(Metasploit framework)
1. 정보 수집
● 목적
1. 대상 물색 : 1) 도메인 선정
2) 현재 시스템 상태(서비스 / 커널)
2. 취약점 분류(정보수집)
------------ : open source intelligence, OSINT
1) 네트워크 디스커버리 ~~>
● 목표 대상 네트워크
: 자신이 포함된 네트워크
명령어 : netdiscover -r 네트워크
동작 방식
: arp를 뿌린 후 reply를 통하여 인식
● 포트 스캔
: 호스트에서 제공하는 서비스 파악
~> 호스트의 특정 포트에 syn신호를 전달 ~> 1. 반응 안함 : 포트가 닫혀있다.
2. 반응이 돌아온다. : 포트가 열려있다.
명령어 : nmap -옵션 대상ip
2. 취약점 분석
목표 : 퍼징(fuzzing) ~> 기존에 문제가 있는 (코드 / 함수)
소스 코드를 분석 ~> 소프트웨어 보안 가이드
~> 시그니처 확보 : 아티팩트(Artifact) / 흔적
: 적용될 악성코드를 선정(CVE) : well known vulnerabilities
최종 선택된 취약점으로 공격 : exploit
1. SAST : 정적 애플리케이션 보안 테스트
----- : 사람이 직접 확인
2. DAST : 동적 애플리케이션 보안 테스트
----- : 취약점 분석 도구가 확인
---------------------- ~> ex) Nessusd
3. IAST : 대화형 애플리케이션 보안 테스트
~> 웹 및 모바일 응용프로그램 ~> 실행을 해보고 문제를 감지하는 방식
(그레이 박스 테스트 방법론) - QA
4. RASP : 런타임 애플리케이션 자체 보호
-------- : 실시간 / 실행 중
~> 보안 공격 방지를 위해 내부 및 외부 트래픽과 최종 사용자 행동 패턴 분석 <~ 패킷 / 로그
------------------- : 시그니처 ~> 관제
● 관제
1. 시스템 관제 : 서버 관리
2. 네트워크 관제 : 네트워크 관리
---------------------------------------------------------------- : 정상 동작 여부 판별(장애의 발생 유무)
3. 보안 관제 : RASP ~> 사용자 감시 / 유해 트래픽 판별
● 취약점 분류
1. 정보 수집
2. 취약점 분석
3. 웹 어플리케이션
1) CMS ~> 사용자가 많다. ~> 확장 플러그인 생산
2) 직접 만든 사이트 ~> 검증되지 않은 코드의 사용
4. DB
5. 패스워드 크랙
6. WIFI
7. Reverse Engineering (역공학)
8. Exploit ~> MSF
네트워크 해킹 ~> 9. 스니핑 환경 구축 ~> 모니터링 : 1) Span
2) 허브처럼 동작시키기(Mac Flooding)
Mac Flooding : 기본적인 스위치는 Forwarding 동작
: 무한대의 MAC주소를 학습시키면 스위치는 오동작을 하게 된다.
--------- : Flooding
~> 단, 신형 스위치에서는 Blocking 한다.
스니핑 & 스푸핑 환경 ~~> MITM(Man In The Middle Attack)
(훔쳐보기) (변조)
피해자 <~~> 해커 <~~> 서버
: 피해자가 눈치채지 못하고 있다.
해커 ~~> 피해자 (클라이언트 / Victim) ~> 프록시 환경설정을 유도 / 강제로 변경
네트워크 환경을 조절한다.
프록시 ~> Proxy 서버를 구축
피해자 ~> Proxy ~> GW
(해커)
: 피해자가 게이트웨이로 보낸 패킷을 해커가 받고 다시 게이트웨이로 전달.
게이트웨이에서 피해자로 보낸 패킷을 해커가 받고 다시 피해자에게 전달.
● 실습
피해자 : Win 10 : 192.168.0.144
서버 : Webgoat8.0
해커 : Kali-Red(Proxy) : 192.168.0.153
목표
: 피해자가 서버로의 접속을 시도할 때의 패킷을 해커가 획득
Proxy
: 브라우저가 외부에 통신을 요청하면 그 대상이 proxy로 설정된 호스트에게 전달한다.
-------- : 사용자의 요청을 대신해서 서버에 전달한다.
● 피해자 환경 설정
방법 1
: 좌측 하단에 인터넷 옵션 검색 ~> 연결 ~> LAN 설정에서 설정에서 Proxy 활성화
방법 2
: 크롬 ~> 설정 ~> 시스템 ~> 프록시 설정 열기 ~> 프록시 서버 사용
위 두가지 방법 모두 같은 결과값을 가져온다.
● 서버 설정
: 루프백 청취자를 삭제.
: 자신의 아이피로 프록시 설정
: 설정 후 Intercept on으로 변경하면 패킷을 잡을 수 있다.
~> 패킷을 변조할 수도 있다.