개요

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

 

 

과정

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

취약점

 첫째로, (1) 패스워드 복잡성 설정이 되어 있지 않은 사용자 계정 패스워드 존재 시

비인가자가 무작위 대입 또는 사전 대입 공격을 통해 패스워드를 획득할 수 있다.

 

 둘 째,(2) 로그인 시도 임계값을 제한하지 않을 경우

무작위 대입 공격을 허용하게 되어 패스워드가 유출당할 수 있다.

 

따라서 시스템 정책에 관련 설정이 되어 있는지 점검하자!

 

 

보안조치 - (1) 패스워드 복잡성 설정

계정과 유사하지 않은 8자 이상의 영문, 숫자, 특수문자의 조합으로 암호 설정 및 패스워드 복잡성 옵션 설정

손볼 파일은 두 가지, /etc/pam.d/system-auth/etc/login.defs

각 각, 패스워드 정책과 패스워드 사용 기간 등을 설정할 수 있는 설정 파일이다.

 

 

복잡성 추가

[root@localhost ~]# vi /etc/pam.d/system-auth
...
password    requisite     pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
...

*retry=3 변경 도중 3번 틀리면 실패 처리

*llcredit(소문자), ucredit(대문자), dcredit(숫자), ocredit(특수문자)

*-1은 최소 하나를 사용해야 한다는 의미

*결과적으로 전체 길이는 8이고 대소문자, 숫자, 특수문자를 적어도 하나씩은 포함해야 하는 정책

 

 

■ 패스워드 최대/최소 사용 기간을 지정

[root@localhost ~]# vi /etc/login.defs 
# Password aging controls:
...
PASS_MAX_DAYS   60
PASS_MIN_DAYS   1
PASS_MIN_LEN    5
PASS_WARN_AGE   7
...

*최대 사용 기간은 60일, 최소 사용 기간은 1일, 만료 전 알림은 D-7

 

 

결과

설정 전

설정 후

암호 복잡도 정책에 의해 쉽사리 패스워드가 변경되지 않고

계정을 추가 생성 시 사용 기간도 최소 1일, 최대 60일로 잘 적용되고 있음을 알 수 있다!

 

 

보안조치 - (2) 계정 잠금 임계값 설정

로그인 시도 횟수를 제한해보자

수정해야 할 파일은 /etc/pam.d/system-auth

 

 

■ 로그인 시도 횟수를 설정

다음 설정 2가지를 추가 및 수정하자!

[root@localhost ~]# vi /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run
...
auth        required      pam_tally2.so deny=5 unlock_time=120 no_magic_root
...

...
account     required      pam_tally2.so
...

*unlock_time=120 : 5회 초과로 잠겼을 경우, 120초 이후에 잠금 해제

*no_magic_root : 루트 계정에게는 마법(?)이 효력 없음

 

 

결과

재시도 5번이 발생하면 즉, 6번째에서 잠김이 발생!

 

 

마무리

아무리 강력한 패스워드를 설정한다 한들, 무차별 대입 공격에 뚫릴 수 있다.

따라서 패스워드 정책도 까다롭게! 대입공격 차단도 철저하게!

 

 

참조

'리눅스 > 계정관리' 카테고리의 다른 글

[CentOS 7] root 계정 su 제한  (0) 2020.12.30
[CentOS 7] UID,GID와 관련한 보안  (0) 2020.12.30
[CentOS 7] 패스워드 파일 보호  (0) 2020.12.30
[CentOS 7] root 계정 원격 접속 제한  (0) 2020.12.25
개요  (0) 2020.12.25

취약점

공격자가 대상 시스템의 현황을 파악하기 위하여 다양한 에러를 유발시킴으로써 반응하는 에러 결과값으로 웹 프로그램의 구조 및 환경설정을 추측하여 공격에 이용

예를 들어, 존재하지 않은 페이지를 요청하고 반환되는 서버 버전 정보를 파악하는 것

 

따라서, 지정된 에러페이지를 만들어 응답해주는 설정을 해주어야한다.

 

보안조치

먼저는 Error를 위한 별도의 페이지를 작성하고 web.xml을 수정해주자!

 

■ web.xml을 열어 다음 코드를 입력시킨다

앞으로 404에러코드가 발생하면 error_404.jsp파일이 응답하도록 설정되었다!

 

결과

적용 전 

적용 후

' > 보안 설정' 카테고리의 다른 글

[JSP] 16. WebDAV 취약점  (0) 2020.12.30
[JSP] 14. 사용자 정보 및 기타 중요 정보 노출  (0) 2020.12.30
[JSP] 11. 백업파일  (0) 2020.12.27
[JSP] 10. 디폴트 페이지  (0) 2020.12.27
[JSP] 9. 디렉토리 인덱싱  (0) 2020.12.27

+ Recent posts