본문 바로가기
웹 해킹

웹 해킹 9

by 윤라경 2024. 7. 26.

[2024.07.25]

 

01. Brute Force Attack

 

 

 

오늘은 Kali Linux의 burpsuite로 실습을 진행한다

 

 

첫화면에서 Next, 그 다음은 시작을 눌러 주면 실행된다

 

 

zaproxy에서의 브레이크 기능과 같은 게 intersept라고 보면 되고,

현재 실습을 진행할 때는 proxy를 사용하게 된다 

 

 

proxy의 proxy settings를 눌러 주면 이런 화면이 나타나는데

현재로써는 자동으로 설정값이 부여되어 있는 상태로 확인할 수 있다

 

 

그런 다음 firefox로 dvwa를 접속하게 되면 이렇게 접속 기록을 스캐닝이 진행되며,

스캐닝이 완료된 건에 접근이 가능하다 

 

 

해당 dvwa 페이지는 웹 취약 서버이다

 

Brute Force  <-- 무차별 대입 공격

Command Execution  <-- 명령어 실행

File Inclusion  <-- 파일 포함

SQL Injection  <-- SQL 삽입

SQL Injection  <-- Blind, 블라인드 SQL 삽입

Upload  <-- 파일 업로드 취약점

XSS reflected  <-- 반사형 XSS

XSS stored  <-- 저장형 XSS

 

각 취약점의 역할이며,  CSRF를 공격하게 되면 서버 쪽을

XSS refleceted를 공격하면 클라이언트를 공격하게 된다

 

 

먼저 Brute Force 부분에서 아이디 admin, 비밀번호 1234로

틀리게 작성한 후 로그인을 시도해 주면

 

 

로그인이 감지된 스캐닝 화면을 확인할 수 있다

 

 

그 부분에서 틀리게 적은 비밀번호만 드래그 후 마우스 우클릭을 하게 되면

Send to Intruder가 나타나는데 이것을 선택한다 

 

 

선택하게 되면 Intruder의 부분에 주황색으로 표시가 된다

 

 

비밀번호 부분만 드래그 후 clear를 누르면 삭제, add를 누르게 되면 변경된다

add로 변경까지 해 주고 나서 다음 단계로 넘어간다

 

 

이제 payloads 화면에서 무작위로 비밀번호가 될 만한 숫자들을 생성한다

 

*숫자를 누르고 Add 선택

 

 

비밀번호를 여러 개 생성하고 Start Attack을 눌러 주면

비밀번호 스캐닝이 시작되는데 현재는 확인하는 정도로 진행시켜 봤다 

 

 

맞는 비밀번호를 찾기 위해 usr/share/john/passwd.lst를 넣어 주었다

 

 

다시 스캐닝을 진행하게 되면 비밀번호 password에서 유독 숫자가 다르게 나타난다

비슷한 숫자로 유지되다가 다른 하나가 눈에 띄게 된다면 그게 일치하는 비밀번호가 된다

이런 식으로 일치하는 비밀번호를 찾아내는 방법을 알아봤다 

 

 

이번에는 해당경로의 rockyou.txt로도 시도해 보려고 했으나,

파일의 용량이 커서 다운되는 상태가 발생해서 중단했다

 

(되시는 분들은 한 번 시도하면서 연습해 보시는 걸 추천드립니다)   

 

 

02. Command Execution

 

> &&

#ping 127.0.0.1 && ls -l

#ping 127.0.0.1 && cat /etc/passwd

#ping 127.0.0.1 && cd .. && ls -l

 

> ||

1 || ls -l

 

 

 

두 번째로 Command Execution 취약점으로 실습을 진행했다

해당 화면에서 ping 127.0.0.1을 입력하게 되면 화면에 ping이 돌아가는 화면이 나온다

해당 화면에서 우측 하단으로 내려가 보면 veiw source가 있는데 그것을 확인해야 된다   

 

 

metasploitable2의 inet address IP를 입력했을 때 ping이 돌아가게 되는데,

해당 소스의 shell exec로 cmd 명령어로 실행 중이기 때문에 ping이 돌아가게 된다

cmd란 시스템 안에 있는 것을 실행하는 것을 말한다

시스템 내부에서 리플라이 되어 돌아오는 원리로 보면 된다

 

 

위의 화면에서 -c 옵션의 ping을 확인했는데 옵션으로 pc 정보도 확인할 수 있다

ping이 돌아갈 때 -c 옵션을 주면 리눅스고, -n 옵션을 주면 윈도우다

 

 

ping 뿐만이 아니라 && 연산자도 사용 가능하다

좌측이 참이라는 걸 알았으며, ls -l도 리눅스 명령어기 때문에 실행 가능해진다

 

 

연산자로 동시에 두 가지 작업을 확인할 수도 있다

 

 

위의 결과들로 실제로 metasploitable2에 가서 해당 경로에

해당 파일들이 있는지 확인해 본 결과 똑같이 보여진다  

 

 

이 외에도 date와 cal 명령어도 사용 가능하다

 

 

해당 화면은 && 연산자의 경우 양쪽이 다 참이어야 실행되며,

우측이 거짓이므로 실행되지 않는 걸 확인할 수 있다

 

 

평소에 쓰는 많은 명령어들을 실행해 봤다

현재 실행 중인 프로세스 상태를 확인하는 명령어인 ps를 사용해서 성공했다

 

 

디렉터리도 생성 가능한 걸 여러 가지 명령어로 연습을 통해 확인할 수 있었다 

 

 

삭제도 가능하며 삭제 후 확인까지 했을 때 삭제가 완료된 상태다

 

 

cat으로 파일들을 열어 확인할 수도 있다

 

 

netstat를 시도해도 정상적으로 화면에 결과가 출력된다

 

 

이것은 vulnervilities 디렉터리의 파일들을 확인한 것인데

 

 

metasploitable2에서 확인해도 같은 디렉터리에 같은 파일이 존재한다

 

 

vulnervilities에서 한 단계 더 상위 디렉터리인 dvwa 디렉터리의 파일들도 확인할 수 있다 

 

 

위의 결과와 마찬가지로 같은 디렉터리에 같은 파일들이 실제로 존재하게 된다

 

 

var부터는 root 허가권이 없기 때문에 확인이 불가능하다

그 외의 www/dvwa/vulnerabilities/exec는 확인이 가능하다

 

 

마지막으로 or 연산자도 사용해 봤다

좌측을 거짓으로 만들고, 우측을 참으로 만들면 실행이 가능하다

 

 

명령어 하나만 실행할 때는 | 하나로도 사용이 가능하다

 

 

and와 or 연산자로 현재 vulnervilities의 경로 및 위치를 확인할 수도 있다

 

 

해당 연산자들로 vulnervilities 파일까지 확인하며 오늘 실습을 여기에서 마무리했다

 

 

 

강의 소감

오늘 강의에서는 여러 가지 취약점들의 소개 및 이전 시간에 이어 스캐닝도 진행했다

burpsuite에서도 비밀번호를 다르게 하여 다양한 파일들로 어떤 결과가 나오는지

더 연습을 해 봐야 될 것 같고, Command Execution의 경우도

연산자와 리눅스 명령어들을 이용하여 추가 연습이 더 필요할 것 같다

아직 리눅스의 명령어가 곧잘 생각나지 않는 걸 생각하면

리눅스 명령어들을 잠시 집중적으로 보는 시간을 가져도 되겠다고 생각했다

'웹 해킹' 카테고리의 다른 글

웹 해킹 11  (0) 2024.07.30
웹 해킹 10  (0) 2024.07.26
웹 해킹 8  (1) 2024.07.25
웹 해킹 7  (5) 2024.07.23
웹 해킹 6  (1) 2024.07.22