본문 바로가기
웹 해킹

웹 해킹 4

by 윤라경 2024. 7. 19.

[2024.07.18]

 

[Web Server 구축]

 

01. 계정 생성

 

#useradd kbs

#passwd kbs

>

>

 

 

맨 처음 Kali Linux로 가서 Rocky Linux의 포트를 확인한다

80번 포트의 http가 열려 있는 것을 확인

 

 

rocky에서도 방화벽이 비활성화 상태인 걸 확인해 준다

 

 

Rocky Linux의 IP 주소로 접속 시 설정해 뒀던 해당 화면이 나와야 된다

여기까지 잘 따라 왔다면 이제 오늘 수업의 처음 단계인 계정 생성부터 진행한다

 

 

useradd를 이용하여 kbs를 생성한다

passwd는 잊지 않게 123456으로 통일

 

 

02. /home/kbs 디렉터리 허가권 변경

 

#cd /home

#chmod 775 kbs

 

> 웹문서 디렉터리 생성 후 index.html 파일 생성

#cd /home/kbs/public_html

#vi index.html

 

 

채널 모드 명령어를 이용하여 kbs로 허가권을 변경한다  

 

 

kbs 디렉터리에 public_html이라는 디렉터리 하나를 생성

 

 

public_html 디렉터리에서 index.html이라는 파일을 하나 또 생성해 준다 

 

 

기존에 만들었던 것과 같이 중간 부분을 KBS로 수정만 하고 동일하게 작성한다

 

 

03. 환경 설정 파일 수정

 

#vi /etc/httpd/conf.d/userdir.conf

 

17 # UserDir disable  <-- 주석 처리

24 UserDir public_html  <-- 주석 해제

 

 

etc 디렉터리의 httpd의 conf.d 디렉터리에 userdir.conf 파일이 있는 것을 확인한다 

 

 

UserDir disabled의 부분을 주석 처리

 

 

UserDir public_html의 경우 원래 주석 처리가 되어 있으므로,

주석 처리 되어 있던 것을 해제시켜 준다

 

 

파일에서 무엇인가를 수정하고 난 후에는

반드시 systemctl restart를 이용하여 활성화시켜 준다

 

 

그렇게 되면 Rocky Linux의 IP로 접속 시 KBS로 변경되어 출력된다

 

 

강사님께서 mbc도 똑같이 진행하라고 하셔서 진행해 본다

 

 

앞서 했던 내용을 그대로 진행하면 이와 같이 mbc 화면도 확인할 수 있다

 

 

curl 명령어를 사용하여 간략하게 확인도 가능하다

일반 정보를 볼 때는 옵션 -l을 사용한다

 

 

더 상세하게 보고 싶다면 옵션 -i를 사용하면 화면처럼 나온다

 

------------------------------------------------------------------------

 

[서버 자체 취약점 제한/제거]

 

01. 서버 버전 정보 숨기기

 

> /etc/httpd/conf/httpd.conf

> #curl -i http://192.168.10.50

 

> 지시자: ServerToken

 

> ServerToken Full

Server: Apache/2.4.57 (Rocky Linux) OpenSSL/3.0.7 mod_fcgid/2.3.9

 

*Default의 경우 Full로 나온다

 

> ServerToken Prod

Server: Apache

 

> ServerToken Major

Server: Apache/2

 

> ServerToken Minor

Server: Apache/2.4.

 

> ServerToken min

Server: Apache/2.4.57

 

> ServerToken OS

Server: Apache/2.4.57 (Rocky Linux)

 

ex)

 

 

차이점을 비교하며 시도해 보면 도움이 된다

 

 

02. 디렉터리 리스팅 취약점 허용

 

> Testinf Page 'index.html'

> /usr/share/httpd/noindex/index.html

 

/etc/httpd/conf.d/welcome.conf 수정

8번 행 ~ 16번 행까지 주석 처리

 

151 Options indexs FollowSymLinks  <-- 'indexes' 옵션 제거

 

 

html 디렉터리에 index.html 파일이 있는 것을 확인하고,

index.html 파일을 in.html 파일로 이동시킨다

 

 

그렇게 되면 Rocky의 50번 서버로 접속해도 테스팅 페이지가 나온다 

 

 

이번에는 conf.d 디렉터리에 welcome.conf 파일이 있는 것을 확인

 

 

 

해당 경로에 index.html이 존재하는 것을 확인한 후

 

 

welcome.conf 파일에서 왼쪽의 화면이 뜨게 되는데,

이때 8번 행부터 16번 행까지 모두 주석 처리를 진행한다

 

 

그 후 다시 접속하게 되면 해당 화면처럼 출력된다

 

 

이번에는 conf 디렉터리에서 httpd.html 파일을 열어 보면,

Options Indexes FollowSymLinks가 나오는데 해당 줄에서

Indexes를 그대로 두면

 

 

설정한 대로 화면이 출력되고

 

 

Indexes를 삭제하게 되면

 

 

IP 주소가 차단되는 것을 확인할 수 있다

 

 

이번에는 모든 것을 원래대로 돌려놓고

 

 

다시 접속했을 때 테스팅 페이지가 나오게끔 설정한다 

 

 

이번에는 kbs 디렉터리의 public_html 디렉터리에서

index.html 파일을 in.html로 옮기게 되면

 

 

보이는 화면처럼 출력된다

 

 

여기에서도 33번 줄의 Indexes를 삭제하게 되면 IP 주소가 차단되고

 

 

다시 Indexes를 넣게 되면 화면 출력이 가능하게 된다  

 

 

Require all denied를 적게 되면

 

 

IP가 차단되었기 때문에 테스팅 페이지가 뜨게 된다

 

 

진행을 위해 다시 index.html을 복구시키고 

 

 

현재 Windows 10도 IP가 차단되었기 때문에 변동 사항이 없게 된다

 

 

Kali Linux도 마찬가지로 접속이 불가하다

 

 

모두 차단된 경우 Windows 10만 허용시켜 보려고 하는데,

허용 정책의 경우 Require ip 192.168.10.202로 허용 ip만 삽입하면 된다

 

 

Windows 10의 IP 주소만 넣어 줬기 때문에,

현재 202 서버인 10에서만 해당 화면이 출력된다

 

 

Kali Linux에서는 차단된 화면

 

 

확실하게 차단이 된 건지 확인을 위해 Windows 7도 접속을 시도해 봤지만,

허용을 10의 IP만 입력했기 때문에 7도 마찬가지로 접속이 차단된 상태다

 

 

 

강의 소감

오늘은 웹 서버 구축 및 서버 자체 취약점 제한과 제거에 대한 실습을 진행했다

강의 도중 systemctl restart httpd를 하는데 오류가 발생했었다

이때 해결 방법을 찾지 못했는데 보통 이전 파일 수정에서

오타가 있으면 그렇게 오류가 뜬다고 배웠다

오늘도 모르는 부분에 있어 배움은 확실하다고 느낀다

오류 수정 후 다시 진도를 따라 갈 수 있었고 강사님께서 하시는 대로

나도 내 선에서 천천히 이해하며 열심히 따라 갔다

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

웹 해킹 6  (1) 2024.07.22
웹 해킹 5  (0) 2024.07.21
웹 해킹 3  (1) 2024.07.17
웹 해킹 2  (0) 2024.07.17
웹 해킹 1  (1) 2024.07.15