前言:
最近很久没写博客了,今天打了下dc-9靶机,觉得挺有意思的,记录下,顺便更新一下博客。
-----------------------------------------------------分割线-------------------------------------------------------------------
这里我用nmap扫局域网下的开放80端口则主机。
nmap -sS -p 80 -oG - 192.168.192.0/24 | grep open
访问主页,顺便翻了一下,发现一个功能点。
burp抓包手工测试一下sql注入
~~~~没有任何过滤,sqlmap一把梭。
将数据包写入一个txt文件
sqlmap -r s.txt --dbs
数据库中发现后台web服务的账户密码
sqlmap -r s.txt -D Staff -T Users -C Username,Password --dump
登录上来后发现:
主页存在xss漏洞
然后点击确定后跳转到下个一页面
在这里看到了sql语句执行报错的信息。
这个功能点是添加信息,应该是将添加的信息插入到数据库中,秉持着只要和数据库存在交互的功能点都可能存在sql注入的理念,果断抓包上sqlmap跑一波。
确实存在~~~~。
到了这里本来以为sql注入是一个获得命令执行权限的切入点,但是不是dba权限,这就真不会了。
然后发现了给的提示。
这个意思是不是可能存在文件包含的漏洞。
确实存在。
然后有没思路了,这些漏洞都不能直接的拿shell,根据其他师傅的文章后知道存在一个ssh服务的防护措施。
这个服务的默认的配置文件路径是 /etc/knockd.conf
得到设定的顺序。
我通过nmap去敲门
这样发现ssh服务就开启了。~~~~
------------------------------------------------------------------
结合之前查看到的passwd账户信息,和sql注入得到的密码信息。
一个一个找太麻烦了,我这里通过构造一个简单的正则表达式的python脚本去提取。
脚本贴上:
import re
for line in open("foo.txt"):
name = re.findall('\w.*?(?=:X)',line)
for u in name:
print(u)
数据库中存放的的密码:
sqlmap -r s.txt -D users -T UserDetails -C "password" --dump
利用九头蛇爆破一下
hydra -L u.txt -P p.txt ssh://192.168.192.168 -t 38
得到了三组账户密码。
三组账户密码,都可以登录,但是只要janitor账户里发现了有用的信息。
隐藏起来的文件肯定是对靶机危害很大的信息,你说对吧。就像人们藏在心底的那个人,肯定是曾经对自己触动最大的那个人。
根据 Passw0rd这条信息判断这可能是一组密码,添加到我刚才准备的密码字典(p.txt)。
在此爆破得到一组新的账户密码。
发现该用户可以使用root权限的test文件。
这个文件的作用应该就是将获得的第一个参数写入的第二个参数里边
发现是一个python文件。
利用openssl passwd生成一个账户密码
(6) openssl passwd(生成加密的密码) - 苦咖啡~~ - 博客园 (cnblogs.com)
openssl passwd -1 -salt admin 123456
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/a //按照passwd文件形式写入到tmp/a文件里
这里的 /tmp/a就是一个参数
利用脚本将第一个参数写入到 /etc/passwd 文件中。
sudo ./test /tmp/a /etc/passwd
--------
最后切换用户,切换到我们刚才写入的admin用户
拿到root权限。