웹 해킹 실습
netscan을 이용하여 IP정보, GW,
HOST, MAC 확인
mac주소가 같기 때문에
같이 사용하는 주소라고 유추
유추한 세 주소를 통해
텔넷 접속을 시도
192.168.10.60 접속 성공
서버의 apache버전, OS버전,
PHP버전 등 확인 가능함
웹으로 192.168.10.60 접속
프록시를 사용하여 Forward 함
숨겨져 있는 hidden 페이지를 찾음
/hindden/index.html
히든페이지 접속 시 힌트 발견
위 힌트를 토대로 /hidden/a/b/c/
접속 시 hidden.txt 파일을 발견
hidden.txt파일을 열었을 때
계정을 찾으라고 힌트를 줌
프록시를 킨 상태에서
정보를 준 ID인 secureftp와
PW는 아무거나 세자리 입력
입력한 세 자리를 드래그하여 ADD
브루트 포스 공격을 수행함
브루트 포스 공격을 수행하기 위해
키 조합을 a~z까지 수행 (영문 3자리기때문)
최소 3자리부터 최대 3자리까지 수행
Request count가 17,576개
1분에 50개의 request인 것을
생각하면 너무 오래 걸림
hydra 도구를 이용하여 병렬 공격 진행
ssl/tls같은 보안 프로토콜에도 가능
사용자의 이름인 secureftp를
길이가 3인 패스워드를 사용
a는 모든 알파벳 소문자, 대문자,
숫자, 특수문자 등 문자 집합
password가 pap인 것을 확인
good.txt 파일을 찾아 get으로 받아옴
good.txt파일을 확인해보면
계정 ID를 주고 PW 브루트 포스 공격 힌트 줌
받은 힌트 조합인 agto6497으로
2자리인 브루트포스 공격을 진행
Start attack
브루트 포스 공격 성공
PW는 g7인 것을 확인
ID : master
PW : g7
아이디와 비밀번호 입력후 로그인
ID와 PW를 정확하게 입력하여
로그인에 성공, 환영메시지 확인
쉘 스크립트
if (조건문)을 이용한 쉘 스크립트 작성
e 옵션을 통해 파일이 존재 여부 확인
해당 경로로 복사를 하면 "복사 끝!!! 완료!! 출력
파일이 없으면 else문으로 와서 "파일 없어 다시~" 출력
실행 시 파일이 없기 때문에
파일 없어 다시~ 출력
해당 경로와 파일을 생성
실행 시 복사 끝!!! 완료!! 출력
두번 째 쉘 스크립트 작성
첫번 째와 차이는 $와 [ 임
[] : 조건을 평가함(숫자, 문자열 비교 등)
$ : 변수의 값을 참조 출력 변수 저장
위와 같이 파일 생성
참 잘하셨어요 출력
while : 조건이 참인 동안 반복
-le 옵션을 통해 변수인 x가 10보다
작거나 같을 때 조건이 참이 됨
하지만 에러. 이유는 변수가 참조되지 않음
변수 x=0;으로 참조하고 다시 실행해보면
변수 x가 0이므로 10보다 작기때문에
echo "$x" 즉 0을 계속 출력함
expr은 수학 연산, 문자열 처리,
비교 연산 등을 수행함
x=$(expr $x +1)
반복문이 실행할 때마다
변수 x에 +1을 더하여 출력함
10보다 작거나 같을 때까지 +1을 증가하여
10까지 증가될 때까지 반복해서 출력함
sleep : 실행을 지연시킴
default : 초
m :분
h : 시간
d : 일
2초 시간을 지연시켜 실행
반복문 실행 시 2초마다 시간을 지연시켜
딱밤 횟수 1씩 증가하여 n대 아얏~!! 출력
until : 조건이 거짓일 때 계속 실행
즉, 조건이 참이 될 때까지 반복
count는 0이지만 4보다 크거나 같을 때(거짓)
count가 1씩 증가하여 반복 출력함
0은 4보다 크거나 같을 때 조건이
거짓이기 때문에 1씩 증가하여 출력이 됨
RANDOM : 랜덤 숫자를 생성
0부터 32767까지 정수를 반환
그 값을 9로 나눈 나머지는 항상 0이상 8이하
0부터 10까지의 랜덤 숫자를 생성
변수 R에 저장, 조건에 만족하면 실행
10이 나올경우 8번 조건문 실행
5가 나올경우 5번 조건문 실행
0이 나올경우 11번 조건문 실행
외 나머지 값은 15번 행 출력
0부터 11까지 랜덤 숫자를 생성하여
랜덤으로 값을 생성, 해당 조건 실행하여 출력
for : 특정 작업을 여러번 실행
do...done : 반복할 코드 블록을 정의
첫 번째 코드는 인덱스만 출력하는 반면
두 번째 코드는 모든 요소를 출력하고
마지막 a[4]도 다시 출력하여 중복 값을 출력
실행 시 첫 포문에서 a[2] 인덱스의 값이 5,
a[4] 인덱스의 값이 9 출력
두 번째 포문에서 인덱스 @가 들어가서
모든 요소 출력 후, 인덱스 4번의 9출력
첫 번째 for문과 두 번째 for문 반복하여
i번은 1세트씩 증가할 때마다 , j회를
1부터 9까지 전부 증가하여 출력
첫 번째 for문은 i가 1부터 9까지 반복
두 번째 for문은 j가 1부터 9까지 반복 후
곱셈 결과를 출력, echo ""로 줄바꿈
각 단이 구분되어 1단부터
9단까지 곱셈 결과를 출력
'수업 및 해킹실습' 카테고리의 다른 글
[Linux/Web] Non-Blind-Injection 공격 (0) | 2025.03.21 |
---|---|
[Linux/Web] XSS, CSRF, SSRF 공격 및 보안 (4) | 2025.03.21 |
[Linux/Network] DNSSEC 및 DNS Spoofing (0) | 2025.03.05 |
[Linux] 로그인 크래킹 및 브루트포스 공격 (1) | 2025.02.06 |
[Linux/Network] Scan 및 Dos 공격 (1) | 2025.01.24 |