1. 백도어
  • 직역하면 뒷문, 공격자가 침투에 성공했을때 다음에 다시 침투하거나 추가적인 공격을 위해 만들어둠
  • 쉽게 말해 스파이가 담장을 넘어와 담장 어딘가에 개구멍을 파는것이라고 생각하면됨
  • 공격유형으로는 로컬, 원격 두 가지 방식이 있음
  • 접속방식으로는 다이렉트, 리버스 커넥션 방식

  1. 다운로더
  • 악성코드를 다운로드해서 설치하는 프로그램
  • ex) 트로이목마 형태의 다운로더

  1. 드롭퍼
  • 사용자 몰래 악성코드를 시스템에 설치하는 프로그램
  • ex) 트로이목마 형태의 드롭퍼

  1. 키로거
  • (우리가 아는 그것..) 피해자가 입력한 키 정보들을 공격자가 보거나 뺏어오는 것
  • 공격유형으로 하드웨어형 키로거와 소프트웨어형 키로거가 있음

  1. 혹스(Hoax)
  • 장난의 목적이 큼
  • 가짜 바이러스
  • ex) 행운의 편지, 당신은 XX를 보았습니다 등

  1. 익스플로잇
  • 소프트웨어의 취약점을 이용하여 시스템의 권한을 획득하는 프로그램

  1. 루트킷
  • 초기의 의미
    • root + kit
    • 좋은 의미의 백도어의 일종
  • 현재의 의미
    • 은닉
    • 보안프로그램으로부터 모습을 숨기고 커널단에 메모리를 상주시킴
      • 커널단은 발견 및 분석이 어렵다는 점을 이용

  1. 랫(RAT : Remote Administration Tools)
  • 원격 PC를 액세스하는 프로그램
  • 원격 관리 기능을 이용하여 피해자의 컴퓨터를 제어
  • 기능
    • 화면/캠 캡쳐 또는 제어
    • 파일 관리
    • 쉘 제어
    • 컴퓨터 제어
    • 레지스트리 관리
    • 마우스 및 키보드 제어
    • 채팅 기능
    • 하드웨어 과부하
    • 기타 다양한 소프트웨어 제품 관련 기능
  • 공격자가 많이 활용하는 프로그램



이후 교육원에서 실습한 내용

  1. 로컬 백도어 - passwd 실습
  • CentOS(40)
    • useradd -o -u 0 back
      -o -u 0 : UID가 0인데, 중복이 가능하게 해줌
    • passwd back
    • su khtest171
      없으면 만드셈, 뒷 숫자는 아무거나
    • id
    • su back
    • id



  1. 로컬 백도어 - SetUID를 통한 권한 상승
  • SetUID의 사용 예
    • 파일이 실행될 경우 부모 프로세스의 권한이 아닌 파일의 소유주 권한으로 실행되고 종료시 반환
    • SetUID 가 적용된 검색
      • find / -perm +4000 -exec ls -l {} \; 2> /dev/null
        0> 표준 입력
        1> 표준 출력
        2> 표준 에러
        /dev/null 리눅스판 휴지통(?)
    • SetUID가 설정되어 있는 대표적인 프로그램 : su, passwd
  • RUID(Real UID) / EUID (Effective UID)
    • passwd 파일이 관리자 권한으로 실행 될 때 일반 사용자 계정에 의한 실행인지 판별하여야 하며 이때 사용되는 것들
    • Linux에서 프로세스가 실행될 경우 두 가지 UID의 정보를 관리하며, SetUID에 의해 프로세스 UID가 적용될 경우 RUID는 변경되지 않고, EUID만 해당 파일의 소유주 권한으로 상승
    • 이로 인해 프로세스가 두 가지의 다른 UID를 갖게 되는데, 이 때 기본적인 접근 허가를 EUID로 수행하며, 필요할 경우 프로그램 내부적으로 RUID를 확인하여 SetUID를 통한 권한 상승인지 실제 해당 사용자인지를 분별할 수 있게 됨 ->  passwd 프로그램이 실행될 때 내부적으로 RUID를 확인하여 root 사용자인지 일반 사용자의 권한 상승인지를 확인하여 예외 처리 수행


  • 예제를 통해 RUID / EUID 권한 확인
    • getuid.c



    • 일반 권한




    • SetUID 권한


      > SetUID 설정


      > RUID와 EUID가 다름
  • 다른 예제
    • getuid.c



    • 일반 권한



  • SetUID를 이용한 권한 상승 백도어 예제
    • cd /tmp
    • vim backdoor.c


    • gcc -o backdoor backdoor.c
    • chmod 4755 backdoor

  • 정상 프로그램처럼 위장하여 백도어 제작
    • fake_ping.c



    • install.sh



  • 보안 대책
    • find 명령을 통해 SetUID가 부여된 프로그램 확인
    • SetUID가 부여된 프로그램들을 따로 목록화하여 관리
    • Partition Mounting 시 SetUID가 불필요한 파티션에서는 --nosuid 옵션으로 마운트


    • 무결성 점검 도구를 통해 기존의 SetUID 파일의 무결성 확보
      • tripwire



  1. RAT
  • Beast
    • 원격 PC 제어를 위한 프로그램
    • 기능
      • 백도어 생성(다이렉트, 리버스 커넥션 지원)
      • 레지스트리를 이용한 자동 실행
      • Anti-Virus, Firewall 종료 기능
      • Trogen-Horse 생성
      • 파일, 레지스트리, 화면, 웹캠, 프로세스 서비스, 클립보드 정보 변경 또는 탈취
      • 컴퓨터 제어(종료, 부팅, 크래쉬, 로그 아웃, ...)
      • 장난스러운 기능(CD-ROM Open/Lock, Hide Tray, Chatting, URL 이동, ...)
      • 프로그램 제어(업데이트, 연결 종료, 프로그램 삭제, ...)
      • 키로깅(Key Logger, Live Key Logging, ...)
      • 스캐닝(Scanning)
  • DarkComet RAT
    • Beast보다 강력한 기능을 제공
    • 리버스커넥션 기능을 주력
    • (이하 설명 생략)



  1. 윈도우 로컬 보안 정책(secpol.msc)
  • 컴퓨터 보안에 영향을 주는 설정들을 모아놓고 설정, 관리하는 도구
  • 로컬 보안 정책에서 설정 시 일반 관리 도구에서 설정 불가능
    • 예) 로컬 보안 정책 -> 방화벽 설정에서 방화벽 설정 변경
    • 방화벽 관리도구(고급 보안이 설정된 윈도우 방화벽)에서 설정 불가능
  • Home Edition에서는 로컬 보안 정책을 지원하지 않음(보이지 않음)


'Malware > Malware Theory' 카테고리의 다른 글

[보안프로젝트] 악성코드 분석 내용 정리  (0) 2018.01.24
악성코드 주요행위 (1)  (0) 2018.01.24
악성코드와 WinAPI의 관계  (0) 2018.01.24
악성코드 분석 흐름  (0) 2018.01.24

    Metasploit 

  • https://www.metasploit.com/
  • 2003년 오픈 소스로 발표된 취약점 점검 도구
  • 단순 공격 도구라기보다 복잡한 작업든을 자동화하는데 필요한 힌프라 구조를 제공하는 프레임워크
  • 2009년 rapid7에 인수된 이 후 2개의 상용 제품인 express와 pro 발표
  • Windows / Linux 플랫폼에서 사용 가능

    Exploit

  • 취약점 공격(동사)

    Payload

  • 공격하는 코드, 실행파일, 라이브러리 등을 통틀어 말함

    사용하기(Kali)

  • 먼저 메타스플로잇과 데이터베이스 연동하는 기능 활성화시키기
    • service postgresql start
    • msfdb init
  • msfconsole에서 아까 저장한 xml 저장
    • msfconsole
    • db_import <이전에 저장한 xml파일>
    • hosts
    • reload_all
    • hosts
      (그대로 남아있음)


'Penetration Testing > Hacking Theory' 카테고리의 다른 글

hping3, nmap을 이용한 IDLE 스캔  (0) 2018.04.02
[★] 해킹기법 실습때 사용한 네트워크  (0) 2018.04.02
개인 수업 메모  (0) 2018.04.02
개인 메모  (0) 2018.04.02
보안과 해킹  (0) 2018.03.31

    IDLE Scanning

  • TCP 스캐닝의 일종
  • IDLE Host(좀비PC)의 반응을 통해 침투 대상의 활성화된 Port 확인
    • IP 헤더의 Identification 필드를 지속적으로 모니터링 하여 변화를 관찰 함
    • IDLE Host -> Windows System(RST 전송), 다른 프로그램이 동작 중이면 정확한 결과 확인 힘듬
  • 그림


    Hping3을 이용한 IDLE 스캐닝

  • TCP/IP 패킷 제네레이터
  • 헤더 값을 옵션을 통해 지정 및 변경
  • 생성된 값으로 보안 테스트를 가능케 해줌
  • Port 스캐닝, Hide Pinging, Dos Attack, Firewall rule test 등 성능과 보안 테스트용으로 사용
  • 사용법
    • 기본 사용법 : hping3 <host> [옵션]
    • 옵션
      • -r : ID 모니터링
      • -p <dport> : 목적지 Port 주소 설정
      • -a <spoofing id> : 출발지 IP주소 변조
      • -S : TCP flag에서 SYN 셋팅

    실습하기

  • idle host 상태 모니터링

    • kali_30# hping3 -r 10.10.10.10

  • 타겟 시스템 port scan 요청 전송

    • kali_30# hping3 -p 80 -S -a 10.10.10.10 10.10.10.40


      명령어 입력하는 순간 id가 +2씩 증가하는 걸로 볼 수 있음 >> 포트가 열려있음
      취소하면 다시 +1로 바뀜
    • kali_30# hping3 -p 80 -S -a 10.10.10.10 10.10.10.40


      명령어 입력하는 순간 id는 +1로 유지됨 >> 포트가 닫혀있음


    실습하기 2

  • nmap을 이용하여 실습
  • 개요
    • 공격자 : kali(20)
    • Idle PC : XP(10)
    • 피해자 : CentOS(40)
    • 확인 : 공격 순서에 맞게 패킷 분석
  • 명령어
    • nmap -sI <IDLE PC IP> -p <Port> <Victim IP>
    • nmap -sI 10.10.10.10 -p 80 10.10.10.40



      +1씩 증가





      +2씩 증가 >> 포트 열려있다.
      이렇게 중간에 갑자기 IP가 바뀌는 이유(소스IP가 10에서 40으로 바뀜)는 보안상 걸리는 것을 회피하기 위해서 nmap이 알아서 똑똑하게 공격하는 것. (보리-쌀 게임 생각하면 편할듯)

    • nmap -sI 10.10.10.10 -p 110 10.10.10.40

    실습 저장하기

  • nmap <명령어> -oX <파일이름>


'Penetration Testing > Hacking Theory' 카테고리의 다른 글

Metasploit ?  (0) 2018.04.02
[★] 해킹기법 실습때 사용한 네트워크  (0) 2018.04.02
개인 수업 메모  (0) 2018.04.02
개인 메모  (0) 2018.04.02
보안과 해킹  (0) 2018.03.31

conf t
interface fast 0/0
ip address 10.10.10.254 255.255.255.0
no shutdown
exit

interface fast 0/1
ip address 200.200.200.15 255.255.255.0
no shutdown
exit

interface fast 0/1
ip route 0.0.0.0 0.0.0.0 200.200.200.254
interface fast 0/1
no shutdown
exit

// 조건 정책 설정, 내부 사설IP 대역대 묶음
access-list 1 permit 10.10.10.0 0.0.0.255

// NAT정책 설정 패스트이더넷0/1이 외부랑 연결됨
ip nat inside source list 1 interface fast 0/1

// 인사이드(사설) 아웃사이드(공용) 설정
interface fast 0/0
ip nat inside
no shutdown
exit
interface fast 0/1
ip nat inside
no shutdown

피해자 리눅스 고정 IP 설정
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.10.10.40
NETMASK=255.255.255.0
GATEWAY=10.10.10.254
DNS1=8.8.8.8

'Penetration Testing > Hacking Theory' 카테고리의 다른 글

Metasploit ?  (0) 2018.04.02
hping3, nmap을 이용한 IDLE 스캔  (0) 2018.04.02
개인 수업 메모  (0) 2018.04.02
개인 메모  (0) 2018.04.02
보안과 해킹  (0) 2018.03.31

    수업들으면서 코어내용만 필기


    maltego

  • 검색엔진을 통해 공개된 정보를 수집하여 데이터간의 관계를 분석해주는 통합 정보 수집 도구
  • 칼리 : /usr/bin/maltego
  • 회원가입을 해야 사용 가능

위에 캡쳐는 maltego에서 동작을 시작하는 부분
machines는 초심자를 위해 준비된 마법사와 같음

Company Stalker : 인터넷에 노출된 모든 이메일 정보 수집
Footprint L1 : 기본적인 정보수집
Footprint L2 : 중간단계 정보수집
Footprint L3 : 상세정보 수집
Footprint XXL : 모든 정보 수집
Person-Email Address : 개인의 이메일 주소가 노출되어있는 웹사이트를 보여 줌

너무 복잡하므로 따로 알아보고 사용해보는게 좋을듯. 보통 개인사찰용(...)으로 많이 사용한다고 함



    탐색(Scanning)

  • Footprint 단계에서 수집한 정보의 사실 유무 확인 및 누락된 정보 확인
  • 대상 시스템에 로그가 남을 확률이 높다.
    • 공격으로 판단하여 잘못하면 법적인 문제에 휘말릴수도있음
  • 침투 대상의 네트워크에서 실제 동작중인 프로그램,서비스,OS 등 확인

    종류

  • Active Host Scanning : 실제 동작중인 시스템 식별
    • 목적 : 침투대상이 될수 있는 시스템을 식별
    • 종류
      • ICMP echo ping : 우리가 아는 그것 ping명령어
      • ARPing : ARP 패킷을 사용하여 통신 확인
      • TCP ping : TCP 패킷을 사용하여 통신 확인
      • UDP ping : UDP 패킷을 사용하여 통신 확인
  • Port Scanning : 동작중인 시스템에서 제공하는 서비스 식별
    • nmap
  • Target Scanning : 특정 취약점을 제공하는 시스템 식별
  • Vulnerability Scanning : 동작중인 시스템에서 발생 가능한 알려진 취약점 식별

    NMAP(Active Host Scanning)

  • 옵션


    Port Scanning

  • UDP Port Scanning

  • TCP Port Scanning
    • TCP Connection Scanning (Full Connection Scan)

    • SYN Stealth Scanning (Half Open Scan)


      - 특이한점은 Stealth모드는 nmap을 root권한으로 이용하여야한다. 값을 수정해야하기 때문이다.

    • NULL Scanning



    • FIN Scanning



    • X-mas Scanning



실습하기


우선 위와 같은 응답방식을 거침

활성화된 IP들 확인
nmap -sn 10.10.10.0/24


nmap -sT -p 22 10.10.10.40  // 열린 포트



nmap -sT -p 110 10.10.10.40  // 닫힌 포트




nmap -sn -O 10.10.10.0/24
nmap -sT -p 22 10.10.10.40 -O // -O는 OS 버전확인, 수행결과 22번은 열려있고, 24번은 열려있지 않음


nmap -sT -p 24 10.10.10.40


nmap -sS -p 22 10.10.10.40


nmap -sS -p 24 10.10.10.40


nmap -sF -p 22 10.10.10.40  // FIN 스캐닝, 포트가 열려있을수도 있고 아닐 수도 있음


nmap -sF -p 24 10.10.10.40  // FIN 스캐닝, 포트가 열려있지 않음


nmap -sX -p 22 10.10.10.40 // X-mas 스캐닝, Windows는 사용불가


nmap -sX -p 24 10.10.10.40 // X-mas 스캐닝, Windows는 사용불가


nmap -sU -p 53 10.10.10.40 // UDP 스캐닝, 열려있는 IP중에 추정해서 때려박음
마지막 ICMP는 아래와 같이 뜨는게 정상, 왜냐하면 nmap은 53번으로 데이터를 보내고 포트를 바꿔버리기때문.. 고로 다른 포트로 53번으로 보내면 Port Unreachable로 나옴





nmap -sT -O 200.200.200.38
namp -sT -O 200.200.200.39


'Penetration Testing > Hacking Theory' 카테고리의 다른 글

Metasploit ?  (0) 2018.04.02
hping3, nmap을 이용한 IDLE 스캔  (0) 2018.04.02
[★] 해킹기법 실습때 사용한 네트워크  (0) 2018.04.02
개인 메모  (0) 2018.04.02
보안과 해킹  (0) 2018.03.31

+ Recent posts