slowloris 공격 탐지
·
공격기법 및 탐지
slowloris =http get 요청이면서 요청패킷의 종료 시그니처가 잘못된것 (개행문자가 1번만 있는것) 1. 개행문자가 1번 포함 = 개행문자가 2번이 아닌것 = content:!"|0d 0a 0d 0a|" 2. 시작이 GET / => content:"GET /" vi snort-2.9.17/local.rules alert tcp any any -> any any (msg:"slowloris"; content:"|47 45 54 20 2F|"; content:"|0d 0a 0d 0a|"; nocase; sid:0001;) snort -q -A console -c /root/snort-2.9.17/local.rules (탐지) tcpreplay -i eth0 --topspeed example20.p..
smurf attack 공격탐지
·
공격기법 및 탐지
출발지가 피해서버가 속해있는 네트워크의 모든 호스트로 지정해야한다. vi snort-2.9.17/loca.rules alert icmp 10.40.201.0/24 any -> 10.40.201.226 any (msg:"smurf"; icode:0; itype:0; threshold: type both, track by_dst, count 10, seconds 1; sid:0001;) type도 0 이고 code:0 이며 10.40.201.226 목적지를 기준으로 잡고 출발지인 10.40.201.0/24 대역전부중에서 1초에 10번의 icmp핑이 목적지로 오면 탐지를하겟다 네트워크 id 와 같은네트워크에있는 호스트들을 지정합니다 icmp 핑이 10번이상들어오면 탐지를 하겠다. 출발지는 예측할수는 없지만 출..
ICMP flooding , NTP replection 공격탐지
·
공격기법 및 탐지
vi snort-2.9.17/local.rules alert icmp any any -> 192.168.1.50 any (msg:"icmp flooding"; itype:8; icode:0; threshold:type both, track by_dst, count 1000, seconds 1; sid:0001;) pcap 파일이 192.168.1.50 으로 향하고있으면 그목적지를쓰면된다 모르겠으면 여기서 type 코드를 잘보면된다 정확하지는않지만 이런것이나온다 itype 8 은 echo request snort -q -A console -c /root/snort-2.9.17/local.rules (탐지) tcpreplay -i eth0 --topspeed flooding.pcap (패킷생성) -=====..
DNS qeury flooding 공격 탐지
·
공격기법 및 탐지
환경을 구축하기 어려우므로 패킷을 발생시키는 패킷 재생 프로그램(tcpeplay) 이용 칼리리눅스 터미널에서 tcpreplay -i eth0 --topspeed flooding.pcap 출발지 기준으로 웹 접속시도(www)가 많다면 DNS query flooding 으로 의심한다 dns서버를 공격을 하게되면 대부분의 url 과 ip와매칭되는 데이터서버를가지고있습니다. 어떤홈페이지의 단순히 마비시킨다기보다는 dns 를 통해서 서비스 절차를 느리게만드는것입니다 시간이오래걸린다 이런식으로 dns query를 조작해서 단순히 느려지게하는게 목적입니다 출발지 ip가 조작됬구나 라고 조작할수있습니다 패킷을 보고 판단을 해서 룰을짯을때 alert udp any any -> 192.168.100.50 53 (msg:"..
tcp만 사용하는 port에 udp로 접속시도 탐지
·
공격기법 및 탐지
tcp만 사용하는 port에 udp로 접속시도 alert udp any any -> any 22 (msg:"udp scan"; threshhold:type both, track by_dst, count 20, seconds 1; sid:0003;) vi snort-2.9.17/local.rules 위에는 synflooding 공격탐지이고 밑에는 포트스캔의 공격탐지이다. 이건 정규표현식으로 한번찾아보면좋을듯합니다 alert udp any any -> $SERVER $PORT GROUP(msg:"udp scan"; threshhold:type both, track by_dst, count 20, seconds 1; sid:0003;) $PORT_GROUP={21,22,23,24} $SERVER = {192...
udp port scan 탐지(icmp destination unreachable)
·
공격기법 및 탐지
wireshark에서 ip.addr==192.168.0.80 nmap -sU 192.168.1.80(udp scan) 이제 포트스캔을 할수가있었습니다 edit -> preference 를 가서 +버튼을누르고 추가를해줍니다 dst port가 추가되고 확인을 할수가있었습니다. 칼리가보낼때는 칼리가 출발지-> 메타스플로잇(서버)목적지 로 udp scan을 시작하면 나갈때는 서버(출발지)->칼리(목적지)로 unreachable이 뜬다고하면 서버에서 출발지로 응답을 계속 주면 udp port scan을 했다는 것을 추측을 할수가있습니다 그리고 참고로 wireshark 에서는 destination unreachable 이 네트워크 패킷에 포함되어있는게아니고 사람이 알수있게 보여주는거 뿐입니다. icmp에서는 도달불..
udp flooding 탐지
·
공격기법 및 탐지
칼리리눅스에서 룰을등록- vi snort-2.9.17/local.rules alert udp any any -> 192.168.1.80 any (msg:"Udp flooding"; sid:0001;) kali linux 터미널 하나에는 hping3 192.168.1.80 -2 --flood --rand-source -p 80 -d 1000 (공격) kali linux 터미널 하나에는 snort -q -A console -c /root/snort-2.9.17/local.rules (탐지) 탐지가 가능하게됬고 성공하였다.
정상 비정상행위 구분
·
공격기법 및 탐지
사용자가 많은 사이트의 경우 짧은 시간의 fin, syn은 정상/비정상을 구분하기 어려울 수 있다. snort -v를 통해 스니핑 모드로 악성패킷의 특징을 추출한다. 특정 송/수신 패킷이 seq=0이다. 정상적인 상황에서는 seq=0이 나오기어렵다 sequence number, ack number가 있다. 이런식으로 sequence 넘버가 0이면 비정상행위일 가능성이크다 하지만 정상적인 패킷을 보면 seq =1과 len=1460이였던 sequence num와 len이합쳐져서 seq가 1461로 변화하엿고 그또 1460을 더해서 Seq 가 2921 로바꼇다 일련번호를 더해가면서 정확히 규칙이 일치해야지만 정상적으로 판단을 합니다. 비정상적인 패킷을 탐지하려면 이러한 룰을 적용을 시킨다. vi snort-2..
x-mas scan 탐지 기법
·
공격기법 및 탐지
vi snort-2.9.17/local.rules alert tcp any any -> 192.168.1.80 any (msg:"x-mas scan"; flags:URF; threshold:type both,track by_src, count 200, seconds 1; sid:0001;) 집어넣기 칼리 첫번째터미널에서 nmap -sX 192.168.1.80 (x-mas scan 시작) 칼리 두번째터미널에서 snort -q -A console -c /root/snort-2.9.17/local.rules (탐지시작)
syn scan 탐지
·
공격기법 및 탐지
칼리리눅스에서 vi snort-2.9.17/local.rules alert tcp any any -> 192.168.1.80 any (msg:"port scan"; flags:S; threshold:type both,track by_src, count 200, seconds 1; sid:0004;) 집어넣기 칼리 1 터미널에서는 snort -q -A console -c /root/snort-2.9.17/local.rules (탐지) 칼리 2 터미널에서는 nmap -sS 192.168.1.80 이런식으로 탐지도 성공하였습니다.
Get flooding탐지
·
공격기법 및 탐지
================================== Get floodig 공격탐지 vi snort-2.9.17/local.rules alerr tcp any any -> any any (msg:"Get Flooding attack"; content:"GET /"; nocase; threshold:type both, track by_src, count 100, seconds 1; sid:1000160;) 넣기 저장후 snort -q -A console -c /root/snort-2.9.17/local.rules (탐지를하는 모니터링같은걸) 실행하고 tcpreplay -i eth0 --topspeed example19.pcapng (피캡파일을 복구하는 명령어를사용해 패킷을 생성해서 반응을본다) 반..
synflooding 탐지
·
공격기법 및 탐지
목적지 기준으로 syn 패킷이 초당 20개 이상 발생 시 경고(차단) 임계치(threshhold)설정 -type limit ; 매 m초 동안 s번쨰 이벤트까지 action 수행 threshhold : 매 m초 동안 s번쨰 이벤트마다 action 수행 both : 매 m초 동안 s번쨰 이벤트 시 한번 action 수행 -track by_src :발신자 ip 기준(동일한 출발지로 묶는다, 1;N) by_dst : 수신자 ip 기준 (동일한 목적지로 묶는다, N:1) -count/seconds :횟수/시간 - sid 탐지 번호 중복되면 에러난다 rule 설정 alert tcp any any -> 192.168.1.80 any (msg:"syn flooding"; flags:S; threshold:type bo..
kali linux에서 snort 탐지프로그램 설치
·
공격기법 및 탐지
kalilinux에서 터미널을켜서 전부진행한다. apt-get install -y gcc libpcre3-dev zlib1g-dev libluajit-5.1-dev apt-get install -y libpcap-dev openssl libssl-dev libnghttp2-dev libdumbnet-dev apt-get install -y bison flex libdnet autoconf libtool cd ~ wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz tar -xvzf daq-2.0.7.tar.gz cd daq-2.0.7 autoreconf -f -i ./configure && make && make install cd ~ wget www..
DDos slowloris, slow read dos 공격실습
·
공격기법 및 탐지
kali linux에서 apt-get install slowhttptest DDos slowloris ===================== slowhttptest -H -c 2000 -i 1 -r 100 -x 3 -p 3 -u http://192.168.1.80 ======================== DDos slow read dos ================================= slowhttptest -X -c 1000 -r 200 -w 1 -y 1 -n 5 -z 1 -p 3 -u http://192.168.1.80 윈도우 사이즈도 1 버퍼사이즈도 1 window size 가 1로 바뀐다 ===================================== -H slow header..
DRDos 공격 실습
·
공격기법 및 탐지
분산 반사 서비스 공격 drdos denial of service distributed denial of service distributed reflection denial of service 분산 반사 서비스 거부 공격 99프로 DRDos를 ddos라고 부릅니다. 원점 추적이 굉장히 어렵기때문에 왠만한공격을 DRDos를 씁니다. smurf 공격과 매우 유사합니다 공격자는 출발지 ip를 목적지(피해서버) ip로 조작 요청대비 큰거같은 것을 피해자로 공격을 시킨다고생각하면된다. (ifconfig 하나를 쳤을때 쭈욱 나오는것처럼) 칼리리눅스를 vmware에 2개를 띄웁니다 공격자 반사서버 피해자 kali 1번 ----- 메타스플로이터블 --- kali 2번 (192.168.1.) ---- (192.168.1..
syn-ack flooding 와 TCP, Get flooding 공격 실습
·
공격기법 및 탐지
syn-ack flooding hping3 192.168.1.80 -A -S --flood --rand-source -d 1000 -p 8180 -A ack -S syn 서버가 SYN,ACK를 보내면 잘못된 패킷이기때문에 연결을 끊어버릴려고 RST으로 답을줍니다 원래는 취약한 사이트가 아니면 반응도 주지않는 것 입니다. ======================================= GET flooding get 요청을 마구마구 보내는 것입니다. low orbit ion cannon 툴을 다운합니다. (구글에서 이름 치면됩니다.) 다운된 파일은 보안->바이러스->제외하기 이런식으로 진행을 한뒤에 IMMA CHARGIN MAH LAZER를 누르면됩니다 wireshark로 잡아보면 무수히 많이 잡힌것..
ICMP flooding, smurf attack 공격실습
·
공격기법 및 탐지
ICMP flooding hping3 192.168.1.80 -1 --flood --rand-source -d 1000 -p 8180 -1은 icmp 모드 ================================= Smurf attack hping3 192.168.1.255 -a 192.168.1.80 -1 --flood -a 192.168.1.80 메타스플로이터블 ip로 출발지를 조작하다. -1 icmp (ping) --flood 빠른소스 출발지를 상대방ip (피해시킬서버) 목적지를 상대방쪽의 브로드캐스트(피해시킬 서버 브로드캐스트) 정상적인 상황에서는 반응이나오지가 않습니다. 그래도 테스트를 해봤는데 인터넷이 끊기는 현상이생겨서 일단한번해보시길바랍니다..
udp flooding, syn flooding 공격 실습
·
공격기법 및 탐지
metasploitable2 -linux kali linux vmware에 2개띄운뒤 bridge 로 네트워크 구성을 한다 그리고 핑이 잘 통하는지 확인을 한다 그리고 이제 ip로 접속한다 그뒤에 칼리에서 wireshark를 킨다 metasploitable 의 아이피로 잡는다. ======================================= udp flooding 톰캣 서비스를 한번 공격을해보려고 한다. 칼리터미널에서 apt-get install hping3* hping3 192.168.1.80 -S --flood --rand-source -p 8180 -d 2000 -s 는 출발지 포트지정 목적지 포트 무작위 단편화공격 1초에 10 패킷 (-u10000) 1초에 1000 패킷 (-u100) 무수..
ddos - udp flooding
·
공격기법 및 탐지
udp 프로토콜을 이용해서 네트워크 대역폭을 고갈시키는 공격 정상적인 서비스를 방해하는것, 파괴하는것 x 이렇게 엄청나게많은 출발지가 있는것들이 무엇이냐면 공격자 1명이 서버1대에 자기의 출발지 ip와 port를 랜덤으로 생성하여 목적지(192.168.100.50,80port)서버에 udp 패킷을 보내는것입니다. 목적지인 192.168.100.50에 1대의 pc로 여러가지 출발지 ip를 조작하여(랜덤으로) 같은 데이터 size의 패킷을 보내는 것입니다. 같은목적지로 보내는것입니다. flooding= 패킷을 흘러넘치게한다 이런뜻 이라고 생각하면됩니다. 위에처럼 time display 를 변경해서 보게되면 1초도안되는시간에 엄청나게많은 패킷을 보낸다는것도 알수가있습니다. 네트워크장비의영향보다는 메모리에 영향..
udp scan
·
공격기법 및 탐지
567 : 데이터 4 : 전송계층 = 포트번호, 제어 플래그 TCP = 신뢰성 있는 1:1 통신 UDP = 브로드캐스트 , 1:N 통신, 192.168.0.255 3 : 네트워크 계층 = IP, fragmentation ID (파편화 된 패킷의 조립 순서) 2 : 데이터링크 계층 = mac ========================================= udp 프로토콜을 이용하여 port scan을 합니다 열린포트 해당통신에맞는 메세지를 udp응답으로 전송 닫힌포트 icmp port unreachable 수신 반응이없을때는 보안장비에서 차단합니다 ========================== 실습 일단 제대로보기위해서 wireshark-------------- ip.addr == 192.16..