Brute Froce공격, Command Injection 공격

devguri·2022년 9월 29일
0
post-thumbnail
post-custom-banner

브루트포스 공격

→ 일치할 때까지 무식하게 패스워드 대입

  1. 알파벳 순
  2. 딕셔너리 공격(사람들이 자주쓰는거 위주로 먼저 입력)
  • intercept 기능 : 실시간으로 요청 변조할 때만 켜두기

자동 브루트 포스 공격

LOW 단계

  1. security를 low로 설정하고 proxy history에서 아이디랑 패스워드 가져온다.
  2. 오른쪽 버튼 눌러서 send to intruder로 보내줌

  1. intruder로 보내진 것 알 수있음
  2. 사용자가 입력한 값이 변수로 처리됨
  3. 패스워드 값만 변수로 취급
  4. payload에서 brute forcer로 공격( request count 증가하면 해킹하기 어렵다는 뜻)
  5. start attack

  1. payload는 어떤 값을 요청했는지
  2. 알파벳 순서대로 진행하는 것 볼 수 있다.

→ 언젠가는 찾을 수 있지만 시간 너무 오래 걸린다.

딕셔너리 공격

#gedit/ usr/share/john/password.lst → 딕셔너리 파일 열기

(자주 사용되는 패스워드 파일들 이용하여 테스트)

  1. payload에 딕셔너리 파일 load하기 (password.lst 파일 가져오기)
  2. start attack

  1. 딕셔너리에서 하나씩 유추해봄
  2. length 응답길이가 다른 하나가 발견됨 (그게 패스워드로 추정) Q. 왜 length 다르면 password?

브루트포스 공격 대응

  1. medium : sleep()을 걸어서 공격 지연시킴 (delay 걸어서 브루트포스 공격 지연시킴)
  1. high : sleep을 random 하게 ( 몇초인지 알면 해커는 바로 다음 요청으로 진행하므로)

-> 랜덤하게 sleep 걸어서 해커가 몇초인지 예상 못하게 함

  1. impossible : 일정시간(15분)동안 라킹하여 해커들 무력화시킨다.

커맨드인젝션 공격

→ 웹을 통해 시스템명령어를 실행하는 공격,

→ 웹 내부에서 시스템 명령어 실행하는 경우, 입력값을 제대로 검사하지 않으면 해커 마음대로 시스템 명령어 실행

→ ip 주소 뒤에 passwd 파일 보내도록 입력되어서 해커에게 정보 넘어감

커맨드인젝션공격 실습

Low 단계

; 입력 후 다른 정보 확인하도록 함

ping -c 4 127.0.0.1 : -c는 ping을 보내는 횟수(여기서는 4번)

ping -c 4 127.0.0.1; ls : ping 명령후 ls 명령 실행 됨

;ls 입력한 경우 전체 파일 조회

medium 단계

  1. ; 막아줌 (ping -c 4; id 를 ping -c 4 id 처럼 인식)
    ping -c 4; idping -c 4; id 로 실행되도록 함
  2. |id (앞에 있는 명령을 뒤로 넘겨줌) → 애네들은 대응 못함
  3. &id → 애네들은 대응 못함

high 단계

대응하고 있는 명령어 늘어남 ( 지워놓음)

|id, &i 모두 실행 안됨

-> 이렇게 대응하여 커맨드 인잭션 공격 대응 가능하다

커맨드인젝션 대응 방법

사용자 입력값이 의도와 맞는지 검사하는 것

profile
Always live diligently
post-custom-banner

0개의 댓글