nmap
┌──(root㉿kali)-[~/lab]
└─# nmap -p- -A 192.168.166.93
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-03 01:12 UTC
Nmap scan report for 192.168.166.93
Host is up (0.071s latency).
Not shown: 65519 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
20/tcp closed ftp-data
21/tcp open ftp vsftpd 3.0.2
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_drwxrwxrwx 2 0 0 6 Apr 01 2020 pub [NSE: writeable]
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 192.168.45.250
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 3
| vsFTPd 3.0.2 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
| 2048 21:94:de:d3:69:64:a8:4d:a8:f0:b5:0a:ea:bd:02:ad (RSA)
| 256 67:42:45:19:8b:f5:f9:a5:a4:cf:fb:87:48:a2:66:d0 (ECDSA)
|_ 256 f3:e2:29:a3:41:1e:76:1e:b1:b7:46:dc:0b:b9:91:77 (ED25519)
53/tcp closed domain
80/tcp open http Apache httpd 2.4.6 ((CentOS) PHP/7.3.22)
|_http-server-header: Apache/2.4.6 (CentOS) PHP/7.3.22
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
| http-robots.txt: 11 disallowed entries
| /config/ /system/ /themes/ /vendor/ /cache/
| /changelog.txt /composer.json /composer.lock /composer.phar /search/
|_/admin/
|_http-title: Sybaris - Just another HTMLy blog
|_http-generator: HTMLy v2.7.5
6379/tcp open redis Redis key-value store 5.0.9
10091/tcp closed unknown
10092/tcp closed unknown
10093/tcp closed unknown
10094/tcp closed unknown
10095/tcp closed unknown
10096/tcp closed unknown
10097/tcp closed unknown
10098/tcp closed unknown
10099/tcp closed unknown
10100/tcp closed itap-ddtp
Aggressive OS guesses: Linux 3.10 - 4.11 (92%), Linux 3.13 (90%), Linux 5.1 (90%), Linux 3.2 - 4.9 (89%), Linux 3.13 or 4.2 (88%), Linux 4.10 (88%), Linux 4.2 (88%), Linux 4.4 (88%), Asus RT-AC66U WAP (88%), Linux 3.11 - 3.12 (88%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 4 hops
Service Info: OS: UnixTRACEROUTE (using port 53/tcp)
HOP RTT ADDRESS
1 70.09 ms 192.168.45.1
2 70.07 ms 192.168.45.254
3 71.23 ms 192.168.251.1
4 71.25 ms 192.168.166.93OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 124.59 seconds
登录成功但里面没文件
但是我尝试上传文件id_rsa 发现可以上传 也就是说我们对该目录具有上传能力
然后我们再看看redis端口
发现redis没有设置密码可以直接登录
但发现数据库好像也是空的
尝试定时任务反弹shell
失败
于是又看到了hacktrick的另一个方法
用redis上传webshell 写入不成功 服了
现在还有一个可行的rce方法就是联合之前我们发现的ftp可上传文件功能 让他加载我们上传的module.so 这样就能rce了
具体见下面的介绍
https://github.com/n0b0dyCN/RedisModules-ExecuteCommand
我先上传好我的module.so文件
可是问题是我们并不知道他的ftp目录是哪如果实在不知道可以fuzz一下
在尝试了几个默认路径最终找到了ftp的目录路径 /var/ftp !!!
现在我们按照hacktrick的方案 执行rce
成功
反弹shell
shell不太稳定我觉得还是上传个ssh公钥 用ssh登录
我们先把authorized_keys 用ftp上传然后再把它放到 pablo的.ssh 目录下面 步骤如下图
ssh登录成功
接下来就到了提权环节了
老套路
先从kali 里面wget 出来我们的linpeas.sh 和 pspy64 脚本
从linpeas.sh
我尝试了一下这几个提权脚本发现好像都不太行
思路有点断了
pspy的定时任务也看了好像也没啥点客提权
卡了好久
没办法看看wp
wp说是有个定时任务
cat /etc/crontab
能够看到
但是神奇的是为啥pspy里面并没有这个任务执行呢 搞不懂
尝试运行这个命令
说没有一个so文件 这就很有意思了 可以提权的点来了
可以看到他的动态链接库的目录有/usr/local/lib/dev
而我们的linpeas.sh 刚好告诉我们我们具有对这个文件的写入权限
所以我们只要写一个so恶意so文件就可以提权了
先在本地写好提权so文件
然后编译
gcc -shared -fPIC -nostartfiles pwn.c -o pwn.so
上传到/usr/local/lib/dev 目录里面
提权成功
总结一下 其实整体来说还好不难
如果pspy能显示出来那个定时任务的话 我觉得不看wp肯定做得出来
还是不能太相信pspy 多亲自动手看看定时任务