- 靶机名称:hackme: 1
- 靶机难度:初级
- 靶机作者: x4bx54
- 靶机地址:hackme: 1 ~ VulnHub --- hackme: 1 ~ VulnHub
对于vulnhub中的靶机,我们都需先下载镜像,然后导入VM,并将网络连接改为NAT模式。首先我们再来看一下靶机渗透的步骤:信息收集-漏洞分析-漏洞利用-提权。基本都是这个三个步骤,接下来开始我们今天的靶机渗透吧!
信息收集
主机发现
---通过判断可以得出靶机ip为192.168.11.133.
端口扫描
通过看扫描结果,我们能够得知开放端口和与之对应的服务。接下来再对扫出的端口做进一步的扫描
扫描其中参数-sT是使用TCP进行扫描,-sV是对扫描结果进行版本探测,-O是对操作系统进行判断。通过进一步扫描,我们能够知道目标主机上运行着SSH服务,主机使用OpenSSH 7.7p1版本,HTTP服务主机使用的是Apache httpd 2.4版本,运行的操作系统是Ubuntu Linux。除此之外还可以看到MAC地址。但是最重要的信息就是对应的服务。对于SSH服务,在后续渗透过程中可以利用这一服务进行远程登录,文件传输等等。
漏洞扫描
端口nmap中自带了一些内置脚本,其中就用漏洞脚本vuln 端口22/tcp开放,运行着SSH服务。 端口80/tcp开放,运行着HTTP服务。 在HTTP服务上。 以下是针对端口80的一些脚本扫描结果: http-enum:在/login.php页面上可能存在管理员文件夹。 /uploads/:在'apache上有一个潜在有趣的目录。
目录扫描
漏洞分析
打开页面---发现登陆页面,那我们就注册一个用户,然后进行登录
登录成功后,发现搜索框,由于sql注入漏洞较容易出现在存在搜索框的地方所以我们尝试一下sql注入
查看是否有sql注入,点击search可以查看所有信息
使用单引号判断法
Windows OS'
发现既没有回显也没有报错
猜测两种可能:
1.会对单引号进行转义
2.报错回显并不会出现在前端页面
通过凭借1=1和1=2来进行判断
Windows OS' and 1=1#
回显正常
Windows OS’ and 1=2#
回显消失,确定此输入框存在sql注入漏洞
由此看出存在字符型(单引号)sql注入
接下来就开始爆字段,爆库, 爆表,爆列,爆内容!
判断字段数
因为回显框存在三个数据所以从3开始尝试
Windows OS' order by 3#
3个字段回显正常说明返回字段数为>=3
在对4个字段进行测试
Windows OS' order by 4#
回显为空
确认此语句查询返回结果为3个字段。判断字符数为3
判断显示位置:
-1' union select 1,2,3#
使前面为一个错误的结果,然后只查询后面的结果
通过回显我们判断出1,2,3均为回显位,我们选择1为我们的显示位
查看当前数据库位置:
-1' union select database(),2,3#
查看webapphacking库所有的表
-1' union select group_concat(table_name),2,3 from information_schema.tables where table_schema='webapphacking'#
查看users表中所有的列 -1' union select group_concat(column_name),2,3 from information_schema.columns where table_name='users'#4
查看表中user,password字段数据:-1' union select group_concat(user),group_concat(pasword),3 from users#
将密码进行MD5解密
,
我们使用superadmin账户登陆一下,发现有文件上传功能,猜测可能存在文件上传漏洞,并且要求上传文件格式为图片
上传phpinfo()进行验证
制作假图片头
GIF89a<?php phpinfo(); ?>
GIF89a"是Graphics Interchange Format (GIF)图像文件的文件标识符。它是指GIF图像文件的文件头部分的标识。
上传前先开启burp抓包
拦截-修改文件后缀-send,我们可以从回包中看出文件已将上传至文件夹
发现文件上传成功,并且保存到uploads文件夹下
信息收集时,目录扫描出的路径也有uploads,打开看看,发现了我们上传的3.php文件,说明存在文件上传漏洞
漏洞利用
—getshell:通过上传一句话木马,然后使用蚁剑连接
通过制作图片马来尝试上传一句话木马
制作图片木马--通过将木马文件拼接到图片后得到
然后上传抓包,并修改文件类型。最后放包
访问上传的图片马,访问成功,则表示上传成功
使用蚁剑连接成功
上传反弹shell脚本----使用kali工具写脚本,开启http服务,然后再在靶机上拉取这个脚本
在蚁剑终端上下载
kali监听4444端口
运行
反弹shell成功
提权
识别所存在的用户
在/home/legacy路径下发现二进制文件touchmenot并且此文件具有s位,执行二进制文件
提权成功
心得体会
在这次靶机渗透的过程中,首先是先将靶机镜像下载完成导入到VM中,并将网络连接设置为NAT。将网络连接设置为NAT(Network Address Translation)的主要原因是为了实现虚拟机与主机之间的网络连接和互联网访问。其次便开始靶机渗透过程,一般步骤为信息收集,漏洞利用,漏洞分析,提取权限。在信息收集的过程中利用kali自带工具nmap搜集主机ip,端口以及存在的漏洞等信息。然后在漏洞分析的过程中找到靶机所存在的漏洞,然后在这个过程中发现了sql注入以及文件上传漏洞。最后在漏洞利用的过程中,利用了文件上传漏洞上传一句话木马,然后getshell。最后就提权成功!总之在这个过程中更加深入的了解了提权的过程以及方法,并且在靶机渗透的过程中也体会到了合作的重要性,总之有很大的收获!