You cannot see this page without javascript.

메뉴 건너뛰기

WHKorea

 

 

1. Sniffing : 스캐닝 , 탐색

 

네트워크 옵션을 normal 에서 promiscuous 모드로 변환 해서 (ifconfig eth0 promisc / -promisc ) 네트워크단에 돌아다니는 모든 패킷을 자신의 IP로 받아서

분석할수 있게 조정한뒤 시니핑툴로 패킷분석을 할수 있게 한다

 

2. Spoofing (변조)

 

  • IP Spoofing
TCP/IP의 구조적인 취약성을 이용하는 공격으로 자신의 IP를 속여서 접속하여 IP로 인증하는 서비스를 무력화 시키는 공격방법
Sequence Number추측이 가능하고 IP주소로 상대방을 인증하는 방식을 쓰는 서비스가 가능한 TCP/IP의 구조적 취약성을 이용하여
자신의 IP를 속여서 접속하는 IP로 인증하는 서비스를 무력화 시키는 공격방법
Non Blind IP Spoofing, Blind IP Spoofing

대응방안은 TCP/IP 프로토콜을 사용하는 한 완벽한 보안대책은 없으므로 지속적인 보안관리 및 점검이 중요하고 
Packet Filtering 이나 Sequence Number를 랜덤하게 발생, IP인증 서비스 사용자재, 암호화된 Protocol사용 등으로 예방

 

  • ARP Spoofing : ARP cachetable 변조, IP주소, MAC주소, 유형(동적/정적)
arp -a : cachetable 리스트를 보여준다
arp -s [IP][MAC] : IP와 MAC 주소를 고정하여 ARP Spoofing 을 예방할수 있다
arpspoof -i eth0 : 공격 예시

예시 shell script 

while true
do
send_arp [G/W IP] [Hacker MAC] [Client IP] [Client MAC]
echo " attack .... "
sleep 10
done

 

  • DNS Spoofing : 사이트에 대한 파밍, 스미싱
DNS cachetable 변조, hostics, hosts 파일 변조가 되면 일반적으로 알고 있던 사이트가 아닌 변조된 사이트가 뜨게 하여
개인정보나 아이뒤및 비밀번호등을 갈취 하는 목적으로 요즘, 은행 사이트를 위장하여 
보안카드 번호 일괄 등록하게 만드는 사이트로 이용되게 하는 공격기법
확인 : ipconfig /dnsflush
도구 : flagrouter, dnsdpoof

 

3. Flooding (범람)

  • SYN Flooding
3way handshake 과정에서 마지막 SYN 주지않음으로 무한대기에 빠지는 세션들이 증가하여 네트워크 대역폭 및 서버의 자원을 잡아 먹는현상
netstat -na 결과에서 SYN_RECY 상태가 많음
PPS(임계치)설정 : /etc/system , /etc/sysctl, ndd : OS 의 셔션값이나 keep_alive_time 값을 적절히 조정
router 장비에서 watch 모드/ Intercept 모드 로 운영하여 차단하거나 로깅할수 있다
  • Smurf (ICMP) - ICMP Flooding
위조된 IP로 ICMP 수신
ICMP Echo Request : 응답을 공격 서버 IP로 변조해서 보냄으로서 공격하는 서버가 icmp 응답을 받아 서버 부하를 일으킴
ICMP Echo Reply
Direct Broadcast/redirect 차단으로 해결
  • Tear drop
flag offset 변조 : MTU 만큼 분해 재조합시 앞뒤 연결 변조(IPv4만 해당/IPv6는 없음) 

 

  • Land Attack : src ip = dst ip

소스 ip 와 목적지 ip 를 동일하게 위조하여 해당 서버의 폭주를 유발함

 

  • Ping of Death : Tear drop과 유사
패키 사이즈가 MTU 초과하여 분할에 따른 부하 : 분해 재조합시 부하발생)
ICMP Echo Request
  • hping --rand-source IP -d 50000 -p 80 -ICMP --flood

 

  • HTTP Get/POST flooding : Ping of Death 와 동일, GET/POST 신호 사이즈 크게하면 MTU 만큼 분해 재조합 부하

 

  • HTTP Cache Control : No Cache 페이지 열때마다 새롭게 호출

 

  • HTTP Slow HTTP GET/POST : window size = 1, 전송시 아주 느리게 (1byte) 씩 주고 받기 때문에 느린만큼 시스템 대기로 인한 해당 세션의 대기증기로 시스템부하 증가

 

  • HTTP Hulk Dos : Rand 함수로 url 바꿈

 

  • HTTP Read Dos : TCP window size 변경

 

  • HTTP Header Dos : 웹로그가 기록되지 않음 , 개행문자 /r/n 없음, HTTP 분할응답, 자바소스에서 replaceAll(/r/n)

 

  • Slow HTTP Read Dos : window size = 0

 

4. command Injection

취약함수는 개발에서 사용하지 말것
perl : open(), sysopen(), system(), glob()
php : exec(), system(), passthru(), popen(), require(), include(), eval()

 

5. 윈도우 서버 공격 예시

 

공유폴더 제거 : net share name /delete
dirve by download : 자동다운로드
watering Hole : 표적, 타겟, 신뢰사이트
spear phishing : 특정대상인, 첨부파일대상
Dropper : 악성코드 실행하거나 생성하는 p/g, Lifecycle, $logfile로 볼수있음
Injector : Code, DLL
ADS(Alternatice Data Stream)은닉기법 : MAC와 연동위한 공간, filename:hidden, XP에서는 바로 실행가능

  • DLL Injection
 DLL 파일 자체를 프로세서에 삽입하여 로드 됨
  • Code Injection
 Code만 삽입하여 실행
 1. 임의의 공격코드 준비 : Shell Code, Metasploit 등을 이용
 2. 대상 프로세서 내에 공격코드만큼의 메모리 공간 할당
 3. 할당된 메모리 공간에 공격코드를 삽입
 4. 할당된 메모리 공간은 스레드로 실행
 5. 스레드 공격코드를 실행

 

6. 리눅서 서버 공격

Backdoor : reverse telnet - Outbound
Process 고갈공격 : fork();
root권한 획득 : shellshock
upload 스크립트 : webshell
proxy : 파로스, 버퍼쉬트
shellcode : 기계어로된 공격코드
exploit : 취약점 사용공격
payload : 전송되는 데이타

7. 버퍼오버플로우 공격

- Stack 오버플로우 공격 
  할당괸 버퍼크기를 초과하는 데이터를 기록하고 저장된 복귀주소를 변경하여 임의의 코드를 실행
- Heap 오버플로우 공격
  할당된 버퍼크기를 초과하는 데이터를 기록하고 저장된 데이터 및 함수의 주소를 변경해서 임의의 코드를 실행

 

8. 스파이웨어(spyware)

스파이(spy)와 소프트웨어(software)의 합성어로 사용자몰래 PC에 설치되어 정보를 수집하는 악성코드
팝업광고를 반복해서 띄우거나 특정 홈페이지로 사용자를 유도하는 등 상업적은 용도로 주로 사용되며, 
일부 스파이웨어는 PC의 설정을 변경하거나 자신을 삭제하기 어렵게 만들어 불편을 야기한다
바이러스처럼 스스로를 복제하지는 않는다

 

 

9. Race Condition (경쟁조건)

병행 시스템에서 프로세스가 두개 이상의 동작을 동시에 수행하려고 할때 발생하는 비정상적인 상태
UNIX에서 실행되는 프로세서 중에 임시로 파일을 만드는 프로세스가 있을 경우, 프로세스의 실행 중에
끼어들어 그 임시파일을 전혀 엉뚱한 파일과 연결하여 악의적인 행동을 할 수 있는 문제가 발생

대응방안

유닉스에서 가능한 임시파일을 생성하지 않음
unlimk()을 불가능하게 하고 그렇게 하기 위해서 임시폴더의 권한을 Stick 비트를 붙여서 1777로 변경한다.
이렇게 하면 symbolic link가 불가능함
프로그램 개발 시에 create()와 open()문을 구문하여 사용함
다른 사용자의 Write 권한을 제한하기 위해서 umask를 최하위 022로 유지함

 

10. Active Contents 공격

메일 수신자가 메일 열람 시에 HTML 기능이 있는 메일 클라이언트나 웹브라우저를 대상으로 하는공격
스크립팅 기능을 사용해서 피해자의 컴퓨터에서 정보를 유출하거나 악성 프로그램을 시행

대응 방법
메일 스크립팅 기능을 제거, 스크립트 태그를 다른 이름으로 변경하여 저장
즉, 메일 스크립트를 해석하지 못하게 함

 

11. 세션 하이재킹(Session Hijacking)

이미 인증을 받아 세션을 생성, 유지하고 있는 연결을 빼앗는 공격을 총칭(스니핑 기술의 일종)
인증을 위한 모든 검증을 우회: TCP를 이용해서 통신하고 있는때 RST(Reset) 패킷을 보내 일시적으로
TCP 세션을 끊고 시퀀스 넘버를 새로 생성하여 세션을 빼앗고 인증을 회피
세션을 스티핑 추측(Brute-force, guessing) 을 통해 도용이나 가로채어 자신이 원하는 데이터를 보낼 수 있는 공격방법

원인 : 암호화 되지 않은 프로토콜에서 정보를 평문으로 전송, 길이가 짫은 session id, 세션 타임아웃 부재
1. 비동기화 상태탐지 : 서버와 스퀀스 넘버를 주기적으로 체크하여 비동기화 상태에 빠지면 이름을 탐지
2. ACK Storm 탐지 : 전송 중 Window크기와 시퀀스 넘버가 맞지 않는 상태가 되면 서보에 대한 교정 패킷이 정상적으로 
                   작동하지 못하기 때문에 무한루프에 걸리게됨
                   결국 ACK 패킷의 비율이 급격히 늘어남
3. 패킷유실 및 재전송 증가 탐지 : 공격자가 중간에 끼어서 작동하므로 패킷의 유실과 재전송이 발생하여 서버와의 응답시간이 길어짐
4. 기대하지 않은 접속의 Reset : 최우선 대응책은 데이터 전송 암호화, 지속적인 인증을 통한 세션의 유효성을 확인
                   

12. keylogger Software 종류

- keylogger : 키보드에 입력한 정보를 로그파일에 남김
- SC-Keylog : 키보드 입력을 로그에 남김, 지정된 시간에 로그파일을 자동 전송기능을 포함
- Winhawk : Trojan-spy 의 한 종류로 감염된 시스템에서 다양한 정보를 유출하는 프로그램

 

13. Spear Phishing

정부 고위관부, 유명인, 군인 등과 같은 특정인을 대상으로 이들의 개인정보를 얻어 내기 위한 피싱공격으로
물 속에 있는 물고기를 작살로 잡는 작살낚시(Spearfishing)을 의미
1. 해커가 소셜 네트워킹 사이트에서 정보수집
2. 해커가 합법적인 비즈니스 서버를 장악
3. 해커가 특정 대상을 목표로 하는 피싱 이메일 생성
4. 수신자들이 이메일에 임베드된 URL을 아무 의심없이 클릭함
5. 해커가 트로이목마나 기타 멜웨어(악성코드)로 기업 네트워크에 침투합
6. 기밀 정보가 해커에게 전송됨

 

14. Blind SQL Injection

웹에서 SQL 삽입에 취약하나 데이터베이스 메시지가 공격자에게 보이지 않을때 사용한다. 취약한 페이지는 데이터를 디스플레이 하지 않지만
SQL문에 따라 다르게 디스플레이한다. 하지만 이 공격 방법은 한 비트를 알아내기 위해 매번 새로운 문장을 넣어봐야 하기 때문에 매우 시간
소모적인 방법이다. 때문에 이 공격을 자동화하기 위한 여러가지 도구가 있다
  • Mass SQL Injection
데이터베이스 정보를 악용하여 악성코드 링크를 특정 테이블의 필드 혹은 전체 테이블의 필드에 삽입하여 접속하는 사용자를
악성코드에 감염시키는 공격기법
  • Union SQL Injection
  • Time Base SQL Injection
  • Cookie SQL Injection

15.  Fragment Overlap Attack

공격자는 공격용 IP패킷을 위해서 두 개의 피킷조작을 생성
첫번째 패킷조각에 패킷 필터링 장비에서 허용하는 포트와 같은 포트번호를 가짐
두번째 패킷조각에 Offset을 아주 작게 조작해서 패킷조각들이 재호합 될 때 두번째 패킷조각이 첫번째 패킷조각의 일부분을 덮어 쓴다.
일반적으로 공격자들은 첫 번째 패킷조각의 포트번호가 있는 부분까지 덮어씌운다
침입탐지 시스템(IDS)에서 첫 번째 패킷조각은 허용된 포트번호이므로 통과시키고, 두번째 패킷조각은 이전에 이미 허용된 패킷조각의 ID를
가진 패킷조각이므로 역시 통과시킨다.
이 두개의 패킷조각이 목적지 서버에 도달하여 재조합되면 첫번째 패킷조각의 포토번호는 두던째 패킷조각의 포트번호로 덮어쓰고 TCP/IP 스택은 
이 패킷을 필터링 되어야 할 포트의 응용프로그램에 전달한다.

 

16. ftp 바운스공격

nmap -b IP
hydra -l 유저명 -p 패스워드파일 IP주소 ftp

17. 워터링홀 공격방식

공격 대상이 방문할 가능성이 있는 합법적 웹사이트를 미리 감염시킨 뒤 잠복하면서 패해자의 컴퓨터에 악성코드를 추가로 설치하는 공격

사전에 공격 대상에 대한 정보를 수집한 후 주로 방문하는 웹사이트를 파악, 해당 사이트의 제로데이(ZeroDay:공개되기 전에 알게 된 정보의 취약점)

등을 악용해 접속하는 모든 사용자에게 악성코드를 뿌리기 때문에 사용자가 특정 웹사이트에 접속만 하더라도 악성코드에 감염될수 있다

워터링홀은 산업스파이 활동을 목적으로 컴퓨터나 네트워크를 감염시켜 기밀 정보를 빼내기 위해 사용된다. 빈도가 낮고 공격자의 웹사이트에서

자동으로 돌연변이 악성코드를 생성해 매던 기존 유형과 조금씩 다른 형태로 공격하는 서버측 다형성 공격기법을 이용하기 때문에 방어가 어렵다

 

 

 

 

위로