본문 바로가기
웹 해킹

웹 해킹 6

by 윤라경 2024. 7. 22.

[2024.07.22]

 

01. 정보 수집

 

1) 사용 도구: whatweb

 

> 웹 서비스 정보 수집 도구

> 웹 사이트 식별, 콘텐츠 관리 시스템, 블로그 플랫폼,

통계 분석, JAVA Script, 웹 서버 등의 웹 인식 기술

> 웹 서버의 버전, 헤더 등의 정보 수집

> 1000개 이상의 플로그인을 제공

 

2) 웹 서버 스캐닝

 

> 상세 정보 수집

#wharweb 192.168.10.50 -v

 

> IP 대역별 스캐닝

#whatweb 192.168.10.0/24 -v

 

> IP 대역별 스캐닝(오류 메시지 제거)

#whatweb --no-errors 192.168.10.0/24 -v

 

> IP 대역별 스캐닝(오류 메시지 제거)

#whatweb --no-errors --url-prefix https://192.168.10.50

 

> IP 대역별 스캐닝(오류 메시지 제거) 정보 파일로 저장(요약 정보)

# whatweb --no-errors 192.168.10.50 --log-brief whatweb.txt

 

> IP 대역별 스캐닝(오류 메시지 제거) 정보 파일로 저장(상세 정보)

# whatweb --no-errors 192.168.10.50 --log-verbose whatweb.txt

 

 

 

실습을 시작하기에 앞서 OWASP에 대해 알아봤다 

 

 

순위별로 있으므로 참고하여 알고 있는 것이 좋다

 

 

오늘은 정보 수집을 위해 웹 서버 스캐닝을 진행하려고 한다

먼저 50번 서버의 Rocky Linux에서 httpd.conf 파일에 해당 부분이 all granted가 되어 있고

이 파일의 맨 윗줄에 ServerTokens Full로 되어 있어야 한다  

 

 

그렇게 되면 Kali Linux에서 50번 서버로 접속 시

테스팅 페이지가 아닌 미리 만들어 둔 파일의 화면이 나타난다

 

*모든 파일 수정 시 systemctl restart ~를 진행해야 되며,

공격자의 입장에서 사용하려는 포트가 열려 있는지부터 우선적으로 확인해야 된다

 

 

Rocky Linux에서 파일을 수정한 다음 Kali Linux로 넘어와서

whatweb 명령어와 50번 IP 주소, -v 옵션을 주고 실행시킨다

현재 정상적으로 접속이 가능하기 때문에 Status 부분에서 200 OK로 나타난다 

 

 

이전 시간에 배웠던 것들을 통해 어떤 변화가 일어나는지도 연습해 봤다

 

 

장치에서 Rocky Linux의 http만 확인되어, php도 실행하려고 했으나

프로그램 자체에서 방어가 되어 나오는 것 같다고 강사님께서 말씀해 주셨다

/etc/usr/bin 디렉터리의 php.ini 파일에 들어가서 400번 줄의 On만 Off로 변경하고 끝냈다   

 

 

#whatweb 192.168.10.0/24 -v를 이용하여 대역별로도

스캐닝이 가능하지만 현재의 화면처럼 ERROR 메시지가 확인된다

 

 

그럴 시에는 #whatweb --no-errors 192.168.10.0/24 -v를 입력 후

다시 스캐닝 하게 되면 에러 메시지를 제외한 나머지가 출력된다

 

 

--url-prefix로 주소를 입력해도 되지만

현재 http's'를 사용하고 있지 않기 때문에 아무런 결과가 없다

 

 

--log-brief를 이용해 파일로 저장할 수도 있으며,

brief의 경우 요약 정보가 저장된다

 

 

verbose는 상세 정보를 저장시켜 준다 

 

 

다른 서버도 저장하는 연습도 진행했다

 

 

IP 주소는 물론이고, 대역폭으로도 설정하여 저장도 가능하다  

 

 

02. 취약점 분석

 

1) 사용 도구: nikto

 

> 오픈 소스, 웹 서버, 애플리케이션 취약점을 자동으로 점검해 주는 도구

> 65000 여개의 CGI  파일을 포함

> 다양한 테스트를 진행 후 취약점 점검

 

<점검 항목>

 

> 서버 버전

> 기본으로 설치되는 파일이나 스크립트 존재 여부

> 추측 가능한 디렉터리 사용 여부

> 안전하지 않은 파일이나 스크립트 유무

> 웹 서버의 각종 파일이나 구성 항목에 대한 검사

> 버전 정보 등 불필요한 정보 노출 여부

> 불필요하게 허용된 메소드 검사

 

2) 취약점 점검

 

#nikto -h 192.168.10.50 -C all

 

 

 

명령어를 입력 후에 실행시키게 되면 취약점 점검을 진행한다

 

 

50번 서버로 페이지 접속 시 보이는 바와 같이

취약점에 나와 있던 Apache 페이지가 나타난다

서버 안에 들어 있으며, /manual을 추가적으로

입력 후 접속하면 해당 화면이 나타난다

 

 

해당 경로로 들어가서

 

 

실제로 manual 디렉터리에 images가 존재하는지 확인한다

 

 

존재 여부를 확인했기 때문에 당연히 페이지 접속 시에도 images의 화면창이 보이게 된다

 

 

REDNAME의 경우에도 txt 파일이기 때문에 접속 시 그대로 확인할 수 있다

 

 

취약점을 없애기 위해 해당 경로로 들어가서 파일 시스템을 수정한다  

 

 

왼쪽의 화면에서 오른쪽의 화면과 같이 주석(#) 처리 시켜 주고 저장  

 

 

파일 시스템 생성 후 다시 취약점 점검을 하게 될 시

방금까지 보였던 icons의 취약점들이 사라져 있는 걸 확인할 수 있다

 

 

 

강의 소감

오늘은 정보 수집의 웹 스캐닝과 취약점 점검에 대해 실습을 진행했다

짧은 시간이지만 스캐닝과 취약점 점검을 하면서 취약점에 대해 이렇게

무방비한 상태로 있으면 안 되겠구나 싶을 만큼 취약점들이 존재한다

오늘은 그런 취약점을 찾는 것이 배움의 일부였다

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

웹 해킹 8  (1) 2024.07.25
웹 해킹 7  (5) 2024.07.23
웹 해킹 5  (0) 2024.07.21
웹 해킹 4  (1) 2024.07.19
웹 해킹 3  (1) 2024.07.17