ELK란?

"ELK"는 Elasticsearch, Logstash 및 Kibana, 이 오픈 소스 프로젝트 세 개의 머리글자입니다. 

Elasticsearch는 검색 및 분석 엔진입니다. Logstash는 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch 같은 “stash”로 전송하는 서버 사이드 데이터 처리 파이프라인입니다. 

Kibana는 사용자가 Elasticsearch에서 차트와 그래프를 이용해 데이터를 시각화할 수 있게 해줍니다.

 

https://www.elastic.co/kr/what-is/elk-stack

 

ELK Stack: Elasticsearch, Logstash, Kibana

ELK Stack이란 무엇인가요? ELK Stack은 널리 알려진 세 개의 오픈 소스 프로젝트인 E=Elasticsearch(Lucene 기반), L=Logstash, K=Kibana의 머리글자를 합친 것입니다. Beats가 추가되어 이제 ELK Stack을 Elastic Stack이

www.elastic.co

 

설치 환경

◾ AWS EC2, Ubuntu Server 20.04 LTS (64비트 x86)

ELK 5.4.3 버전

 

설치 과정

◾ 자바 설치

$sudo apt update && sudo apt install openjdk-8-jdk -y
$javac -version
javac 1.8.0_292

$which javac
/usr/bin/javac

 

◾ 환경변수 설정

$readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-openjdk-amd64/bin/javac

$sudo vi /etc/profile
  unset i
fi
...
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$HOME:$JAVA_HOME/bin
...

$source /etc/profile

 

◾ ELK 설치파일 다운로드

$cd ~
$wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.deb
$wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.3.deb
$wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.3-amd64.deb
$wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.3-amd64.deb

 

◾ 설치

$sudo dpkg -i elasticsearch-5.4.3.deb
$sudo dpkg -i logstash-5.4.3.deb
$sudo dpkg -i kibana-5.4.3-amd64.deb
$sudo dpkg -i filebeat-5.4.3-amd64.deb​

dpkg lock에러시

더보기

$sudo rm /var/lib/apt/lists/lock

$sudo rm /var/cache/apt/archives/lock

$sudo rm /var/lib/dpkg/lock*

$sudo dpkg --configure -a

$sudo apt update

출처 : https://enant.tistory.com/18

 

◾ elasticsearch 설정 파일 수정 

$sudo vi /etc/elasticsearch/elasticsearch.yml
...
network.host: 0.0.0.0 #원격 접속 허용
...

 

◾ kibana 설정 파일 수정

$sudo vi /etc/kibana/kibana.yml
...
server.host 0.0.0.0
...

 

fileabeat 설정 파일 수정

$sudo vi /etc/filebeat/filebeat.yml
...
- input_type: log

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
	- /var/log/syslog        #전반적인 시스템 로그   
	- /var/log/apache2/*.log #아파치 웹 로그를 elasticsearch에게 전달
...

 

◾ ELK 실행 및 확인

$sudo systemctl start elasticsearch
$sudo systemctl start logstash
$sudo systemctl start kibana
$sudo systemctl start filebeat

$sudo systemctl enable elasticsearch #재부팅시 자동 실행
$sudo systemctl enable logstash
$sudo systemctl enable kibana
$sudo systemctl enable filebeat

$sudo systemctl status elasticsearch
$sudo systemctl status logstash
$sudo systemctl status kibana
$sudo systemctl status filebeat

 

웹서버 로그 시각화를 위해 Apache2 설치 및 실행

$sudo apt-get install apache2 -y

$sudo systemctl start apache2
$sudo systemctl enable apache2
$sudo systemctl status apache2

 

결과

◾ filebeat가 elasticsearch에게 로그를 전달해주는 지 확인

http://[AWS IP]:9200/_cat/indices?v

 

 

kibana에 접속해서 결과 확인

http://[AWS IP]:5601/

AWS 우분투에 ELK Stack 설치 끝!

 

마무리

리눅스 시스템 내에서 동작하는 서비스들의 로그 저장 폴더를 지정해주면 다음과 같이 json형식으로 로그를 받아 시각화 시킬수있다!

 

 

참조

개요

앞서 암호를 크랙 해보았다. 이번에는 무선환경에서 암호화되어 송수신되는 암호 패킷을 복호화해보자!

 

실습환경

웹서버 : http://172.30.1.30:8080 

PC : 172.30.1.41 

 

시나리오 : 공격자는 네트워크 보안이 취약한 곳를 찾았고 패킷을 수집 중이다. 얼마 뒤 한 사용자가 이 네트워크에 접속하여 특정 홈페이지에 회원가입을 시도한다.

 

네트워크 정보 : 

사용자 화면 :

 

 

과정

1. 4way-handshake을 통한 재인증 패킷 수집(Wifi 패스워드 크래킹 참고)

2. airdecap-ng -p a123456789 /packetD/packets-01.cap  -e "KT_GiGA_2G_Wave2_1C49"

 

패스워드와 캡처된 패킷 그리고 ESSID를 인자로 넣어주자

 

복호화된 패킷이 만들어졌다

vi로 열어보자

 

잘 찾아보면 ID와 PW가 보이는 것을 확인할 수 있다!

 

마무리

http통신은 데이터 암호화를 하지 않는다 그래서 네트워크 패킷만 복호화하면 내용물을 볼 수 있다.

반면 https는 암호화를 지원하기 때문에 네트워크 패킷이 복호화되더라도 내용물은 볼 수 없다.

따라서 https을 지원하는 웹사이트가 더 안전할 수밖에!

'네트워크 > 무선 해킹' 카테고리의 다른 글

WPA-PSK 패스워드 크래킹  (0) 2020.12.29

개요

해킹의 핵심은 인증이 수행되는 패킷들을 수집하고 여기에 다수의 암호문을 대입!

 

 

과정

1. 패킷 캡처를 위한 무차별 모드 활성화 
#airmon-ng start wlan0 monitor 

 

2. 네트워크 정보 및 패킷 캡처
#airodump-ng --bssid 88:3C:1C:AE:1C:4D -c 2 -w packets wlan0

 

3. 재인증 발생 유도
#aireplay-ng --deauth 100 -a 88:3C:1C:AE:1C:4D wlan0

 

4. 크래킹
#aircrack-ng -b 88:3C:1C:AE:1C:4D -w /packetD/worldlist.txt /packetD/packet-01.cap

 

 

 

실습환경

운영체제 : 칼리리눅스

 

네트워크 환경

무선랜카드

iptime n150ua

 

특이사항

 암호 앞에 5자리는 안다고 가정한다(a1234*****)

 암호길이와 복잡성(숫자,대소문자,특수문자)이 커짐에 따라 암호문 리스트가 기하급수적으로 증가하기때문

 

무차별 모드 활성화

지금 상태에서는 나에게만 오는 패킷만을 수신하고 나머지는 드랍한다. 패킷 캡처를 위해 모니터모드로 전환해주자

 

 

 

 

네트워크 정보 및 패킷 수집

네트워크 정보 확인

여기서 확인할 것은 공유기 아이디와 채널 번호(88:3C:1C:AE:1C:4D와 2)

 

패킷 수집

 BSSID와 채널을 대상으로 수집을 시작

 다음 단계에서 노랑 박스에 주목하자!

 이 프롬프트 창은 끄지말고 유지

 

   

 

재인증 발생 유도

패스워드 크랙의 핵심은 4-way handshake 과정의 인증 수행 패킷을 수집하는 것

 

재인증을 위해 기존 연결을 끊어주자!(사용자는 재접속을 진행하게됨)

 

 

이제 handshake가 수집된것을 확인!

ctrl+z로 수집 종료

 

 

 

크래킹

무차별 대입 공격에 쓰일 파일을 생성해주자

문자길이 10, 숫자와소문자, -t패턴생성시 @는 모르는 문자를 의미

 

 

크랙

수집한 패킷에 암호문을 대입하자

 

 

크랙성공!

보안대책

WPA2-AES_CCMP 방식을 이용한다

SSID를 숨김모드로 설정하여 무선랜 노출을 방지한다(무차별모드에서는 노출됨)

공개되어있는 초기 패스워드는 변경 후 사용

AP의 도난이나 리셋 버튼 차단 등 물리적 보안대책을 확보한다

worldlist.txt

'네트워크 > 무선 해킹' 카테고리의 다른 글

WPA-PSK 암호문 복호화  (0) 2020.12.30

+ Recent posts