Nikto
출처: https://www.secuneus.com/nikto/
Nikto는 오픈 소스 웹 스캐너로 6700개 이상의 취약점과 1250개 이상의 웹 서버 버전 정보를 확인 가능하다
웹 서버에 대한 포괄적으로 테스트를 수행을 하며 '보안 점검'을 위한 툴이어서 스캐닝을 하면
로그 기록이 남는 특징을 갖고 있다.
Tomcat
아파치 소프트웨어 재단에서 java 기반의 서블릿 컨테이너이자 웹 서버 이다. 즉 WAS(web application server)라고도 불린다. JSP와 Servlet을 구동하기 위한 서블릿 컨테이너 역할을 수행 하며 DB연결, 다른 응용프로그램과 상호 작용 등 동적인 기능들을 사용할 수 있다.
개인적으로 아파치와 톰캣에 대해 잘 설명했다고 느껴진 블로그라서 같이 공유 한다.
Apache? Tomcat?? 둘이 무슨 차이지?
학교에서 php를 하고, 회사에서 spring boot + jsp를 사용하면서아파치 톰캣을 자연스럽게 사용하게 되었다.하지만, 사용하는 동안 이게 도대체 무엇이길래 웹을 할 때 많은 곳에서 사용하는지?이게
velog.io
실습 환경
PC1 (공격자)
OS: kali linux
IP: 192.168.180. 147
PC2 (타겟)
OS: Linux (matasploitable V2 )
IP:192.168.180.149
타겟을 nmap으로 스캔닝을 한다.
#nmap -sV -T4 192.168.180.149
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-24 10:02 EDT Nmap scan report for 192.168.180.149 Host is up (0.0025s latency).
Not shown: 977 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd 53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd 513/tcp open login OpenBSD or Solaris rlogind
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5 5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
Service Info: Hosts: metasploitable.localdomain,
irc.Metasploitable.LAN;
OSs: Unix, Linux;
CPE: cpe:/o:linux:linux_kernel
여기 제일 마지막줄에 8180 포트에 대해 연구를 할 것이다.
80번포트가 Apache 웹 서버인것을 통해 8180포트가 Tomcat 서버라는 점이 확실해 졌다.
8180 번 포트의 서비스가 http 이니 브라우져로 접속을 해볼것이다.
여기서 주목해야 할 점은
접속을 할때 반드시 포트번호(빨간색 밑줄 및 노란색 하이라이트 )까지 해서 접속을 해야지 포트 번호를 안쓰면 80포트의
웹서버로 접속을 하게 된다
또한 tomcat 버전 5.5 (빨간색 밑줄)라는 점을 알수 있다.
tomcat은 어플리케이션 배포 관리를 위한 관리 백그라운드에 존재하며, 관리 백그라운드는 http 기본 인증을 사용하여 로그인 한다
사용자의 암호가 약한 암호일 경우 무차별 대입으로 쉽게 로그인을 할수 있다. 그렇다면 무차별 대입을 하기 위해서는 관련 단어 들이 있는 사전 파일이 필요하다
리눅수에 find 명령어와 비슷한 성질을 갖은 locate 명령어를 wordlist를 검색하면 다양 종류의 사전 파일들을 확인 할수 있다.
grep 옵션을 통해 tomcat 관련 사전 파일을 찾았으나
/usr/share/dirb/wordlist/vulns/tomcat.txt
해당 사전 파일들은 웹 디렉토리를 찾을때 쓰이는 사전파일이었다.
물론 그 아래 메타스폴로이드 프레임워크 디렉토리에 로그인에 관한 사전 파일들이 있지만 해당 프로젝트에 목표는
브루트포스가 아니기에 다음 프로젝트에 기약을 해야한다.
물론 만들어진 사전파일 말고도 직접 만들수 있다.
사전 파일에 내용은 해당 웹서버 글 내용들을 조합을 해서 만들수도 있다.
해당 웹서버에 글 내용들의 동사,명사 등을 분리를 해서 사전 파일을 만들수도 있다.
이번 게시물 목표 답게 Nikto를 이용을 해볼것이다.
-h : 호스트 주소
-p: 포트 번호
브라우져 접속할때 마찬가지로 반드시 포트 번호와 함께 스캔을 돌려야 한다.
옵션 | 설명 |
-o | 출력 결과 저장 파일 지정 |
-C | 목표 웹 서버의 CGI 디렉터리를 지정 |
-config | 설정 파일 지정 |
-update nikto | 업데이트 |
-cookie | 쿠키표시 |
-ssl | ssl을 사용하는 타겟에 사용 |
그외에 옵션
다양한 취약점이 나왔다
그중에서
/manager/html: Default account found for 'Tomcat Manager Application' at (ID 'tomcat', PW 'tomcat'). Apache Tomcat. See: CWE-16
해당 내용을 보자면 192.168.180.149:8180/manager/html 해당 링크에는 톰캣 매니저 어플리케이션이 있는데
거기 아이디와 비번이 tomcat, tomcat 이라고 한다.
그래서 접속을 해보니 인증 절차가 있었고
아이디와 비밀번호를 입력하자 인증절차에 통과 되었다.
이외에도 다른 로그인 절차도 모두 아이디 비밀번호는 똑같다
'보안 > 칼리 리눅스' 카테고리의 다른 글
Burpsuite 버프슈트에 대해 알아보자 1 /proxy, target (0) | 2023.11.04 |
---|---|
tomcat 취약점, 업로드 취약점 맛보기! (0) | 2023.10.28 |
Nessus 와 Metasploitable로 실습! / VNC 인증 정보 디폴트 취약점 (0) | 2023.10.22 |
Nmap을 개조해보자! NMAP NSE / 취약점 분석 nse 활용하기 (2) | 2023.10.14 |
포트를 점검해보자 nmap / ctf 풀이 영상에서의 nmap 활용 (0) | 2023.09.19 |