vulnhub-DC9
总结:sql注入,端口敲门,覆盖passwd提权
先扫一下c段
发现主机,然后进行端口扫描
还是着两个常规端口
这就是上面state的解释
简单来说就是不知道22端口是开的还是关的
于是我们就去尝试一下访问80端口
发现一个网站,但是不是一个cms
于是我们就开始探索网站,看存在哪些可以利用的地方
上面的sql语句会把下面的内容给爆出来,所以就是说这个地方存在sql漏洞,那么我们就可以进行sqlmap查看
1 | sqlmap -u "http://192.168.1.10/results.php" --data "search=1" --dbs --batch |
1 | 这里我们就得到了admin的密码了 |
然后进行登录
成功进行登录
文件包含
有个提示:File does not exist
显示文件不存在 通过测试 发现 可能是文件包含漏洞发现这里得用户和刚刚数据库里的用户有些一样的
成功读取,说明这里存在文件包含
这里知道不少用户的账号, 而且都是/bin/bash,但是说22端口不知道是有没有开启的,然后吧,咱们又不知道干什么了。看看其他人的,这里我们就知道要去查看linux中的任务。
1 | //查看linux的任务 |
这里因为太乱了没有排序,这里教给大家一个好方法,这里直接ctrl+u直接查看源代码,他就会自动给我们排列了。
这里发现了这个knockd服务
然后我们就去查看他的配置文件
1 | http://靶机ip/welcome.php?file=../../../../../../etc/knockd.conf |
那么这里就涉及到一个新的知识点了
端口敲门
这里分析一下这个配置文件,在按循序访问了这个三个端口,linux防火墙就不会防我们了,iptables就是linux设置防火墙的命令,这里给大家推荐一个博客,看完也就理解端口敲门是用来看什么的了Web端口敲门的奇思妙想 端口敲门
所以敲门密码我们从哪获取呢,就是通过访问knock服务的配置文件,然后从中获取
配置文件中给我们提供了
1 | nmap -sS 靶机ip -p 7469 |
发现ssh端口成功打开
利用sqlmap查到的全部用户名和密码
1 | sqlmap -u "http://192.168.142.136/results.php" --data "search=1" -D users -T UserDetails --dump |
于是进行ssh爆破,利用之前用到的工具,hydra
因为不知道哪些用户能进行ssh登录
发现了三个用户分别是 joeyt Passw0rd
和janitor Ilovepeepee
和chandlerb UrAG0d
使用命令:ssh joeyt@192.168.142.136
(这里ip自动获取了不用在意一样的)等三个用户都进行登入看看有没有什么隐藏的信息
发现存在一个密码,那么我们就拿这些密码添加到用来爆破的字典里,看还能不能再爆破出来一些可登录的账号密码
1 | hydra -L user.txt -P pass.txt ssh://192.168.142.136 |
发现一个新账号 于是进行登录
登录成功
提权
还是老三样
suid sudo -l
内核提权
访问这个目录进行查看这是什么东西
发现这个test
是一个python
文件
那么我们就得去找这个test.py
文件
看看他为什么能进行提权
1 | 使用命令:find / -name test.py 2>/dev/null 查找python文件 进行查看 |
发现这个test.py文件
1 | #!/usr/bin/python |
大概的就是将参数1
的内容写到参数2
中然后生成一个用户
1 | //使用openssl命令 |
④:就是/etc/passwd 的格式 这个不了解的话最好一步提权很容易错的
格式:用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell
(”x” 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中
允许登入的shell就是/bin/bash禁止shell登入就是/sbin/nologin)