xplico 설치
·
공격기법 및 탐지
xplico 설치 xplico = 패킷 파일에서 사용자별로 구체적인 행위를 추출해주는 도구 (시각화 도구) apt-get install xplico service apache2 start service xplico start 접속해보기 http://localhost:9876/ xplico/xplico apt-get upgrade xplico*
sql injection 공격 탐지 , 정규 표현식을 이용한 탐지
·
공격기법 및 탐지
1. content:"union+select"; nocase; 룰을 우회하여 union sql injection 공격을 수행하시오 alert tcp any any -> 192.168.1.24 80 (msg:"union sql injection"; content:"union+select"; nocase; sid:0001;) 공격은 ' union all select 1,2,user(),4,5,6,7# all을 추가하여 한다. 2. 'or '1'='1'# 패턴을 차단할 수 있는 룰을 작성하시오 ' or '1'='1'# 이것을 url 인코딩하여 content:" url인코딩한것 " content:"%27+or+%271%27%3D%271%27%23" 특수문자만 바꿔주고 띄어쓰기는 바꿔주지않습니다. 또 ' or '..
sql injection 탐지
·
공격기법 및 탐지
beebox 1.6버전을 다운받고 vmware에 띄우고 bee-box 서버에 스노트를 설치합니다. 칼리리눅스가 이제 공격자가되는것입니다. su 관리자 권한신행 bug apt-get update 이곳의 공격을 할 탐지룰을 하나 만듭니다 칼리에서 vi snot-2.9.17/local.rules alert tcp any any -> 192.168.1.24 80 (msg:"sql injection"; sid:0001;) (beebox ip) snort -q -A console -c /root/snort-2.9.17/local.rules 공격을시도한다 ========================================= vi snot-2.9.17/local.rules alert tcp any any -> 1..
내부망 원격 접속시도
·
공격기법 및 탐지
내부망으로 원격접속을 시도하는 것을 탐지하는 룰은 alert tcp 192.168.0.0/24 any 192.168.0.0/24 20:21:22:23 (msg:"remote connection"; sid:0001;) 출발지와 목적지를 자신의 서버가 속한 내부망 대역 전체로 설정 목적지 포트를 여러개 지정하는 방법은 콜론을 사용해서 구분합니다.
telnet 접속 탐지,bruteforce 공격 탐지(무작위대입공격), slow read dos 공격 탐지
·
공격기법 및 탐지
telnet을 패킷을 캡쳐하려면 칼리에서 wireshark를 키고 메타스플로이터블에 텔넷접속을 한것을 캡쳐한다 텔넷은 아이디를 문자 하나 입력할동시에 다시 서버로 갑니다 그리고 나한테보입니다 ========================================== =========================== 1.telnet 접속 시도 탐지 정상접속은 syn, port scan은 syn , rst를 보내므로, 구분하여 룰을 생성한다. vi snort-2.9.17/local.rules alert tcp any any -> any 23 (msg:"telnet"; sid:0001;) 윈도우cmd ) telnet 192.168.1.80 (metasploitable2로 갑니다) snort -q -A con..
snort 문법정리해서 다시해보기
·
공격기법 및 탐지
get flooding 다시해보기 offset:0 과 depth:3 첫byte 부터 3byte 사이에서 content탐색 (0부터3글자) 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;) 넣기 alert tcp any any -> any any (msg:"Get flooding"; content:"|47 45 54|"; offset:0 depth:3 threshold:both, track by_src, count 20, seconds 1; sid:0001;) get요청은 정상적이지만 ..
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..