渗透测试基础
重要知识点:
对客户的渗透测试范围的授权书一定要看仔细,测试范围有哪些。
发现漏洞 探测漏洞 验证漏洞
poc: 验证漏洞需要写的
exp: 利用漏洞,在测试报告编写情况下就不写exp,只需要写poc验证存在该漏洞即可
安全术语介绍
Python
1.脚本asp,aspx,php,jsp:用于数据的交互操作
属于脚本语言,脚本黑客
2.前段html,js,css
3.http协议:是超文本传输协议
4.cms(B/S)属于网站的模板也称之为指纹
5.md5/加盐(salt):MD5是一个加密算法。可以把你的密码变成明文加密
重点:需要注意的是管理员可能对密码进行了salt加盐,
加盐: 密码是admin 但他放进数据库的却是adminabc123其中"admin加密一次,abc123在加密一次,"
加盐的如何解:在注入的时候去看数据库有固定的盐:dump 在salt下字符串就是盐,把盐一起复制出来去md5里挑选模式去解密
经常加盐的cms:dedecms,dz ,phpv9
不标准的md5
正常的md5是16位和32位,但可能会得到一个20和24位的
20位md5:16位md5+特殊的字母或数字会放前面后面中间形成了20位
20位md5解方法:①例如dedemd5会在16位原有的字符前加3位,后加1位。解密的时候就得去掉前三后一,再去解密。②去下载目标站的cms去分析他对md5的has设置反推.③实在解不出来用hashct本地离线破解1秒计算1.4亿密码
常用的md5解密网站:
cmd5.com
pmd5.com
somd5.com
xmd5.com
hash密文
6.肉鸡,抓鸡,DDOS,cc
肉鸡用来 ddos别人,植入广告,挖矿
抓肉鸡的方式:漏洞 密码爆破 1433.3389 社工三种方式较多
一般流程:黑客密码爆破后打开目标服务器3389利用服务器执行命令去黑客的vps下载一个exe的程序,在目标服务器打开程序,这时候黑客的vps就上线能控制目标服务器,肉鸡形成。爆破3389的过程叫做抓鸡。
cc:cc攻击比较早只需要代理即可。cc只需要一台笔记本,在网上找大批免费代理验证过后,让代理去发送请求,cc攻击一般是消耗的cpu资源
ddos和cc区别。 ddos拼的是流量和目标的处理能力,而cc是耗费cpu资源如果cpu很差会导致cc瘫痪
7.一句话,小马,大马,提权,后门,跳板,rookit
简称webshell,他都可以直接间接控制网站的,也称网站后门
提权---提升权限,提权不一定提升到administor,windows最低权限是system,linux是root,提升到最大权限即可。
后门,程序后门,计算机内核后门rookit
权限维持比较多的方式:
01.免杀 bypass
02.持续访问 上线
免杀方式:用cs做免杀,去劫持dll文件稳定一点。
8.源码打包,脱裤,暴库
源码打包:打包源代码
脱裤:拿到数据库 ps:50条以上的脱裤是会判刑的。3年起步,罚款50w
9.嗅探,rookit,社工
rookit:系统内核及后门
10.poc,exp,cve
poc漏洞验证,exp漏洞利用,cve漏洞编号
11.src平台,0day
0day:未公布的漏洞
12.事件形漏洞,通用型漏洞
13.web服务器,web容器,中间件
web服务器:提供了web
dns服务器:提供了dns 根据服务器提供的东西来判断的
web容器:apache,tomcat,iis,nginx等等
中间件:
各种各样的CMS使用场景
企业常用cms:
dedecms 织梦
米拓
xdcms
南方
aspcms
动易
帝国CMS
论坛:dz
博客:zblog,wordpress,emlog
视频站点:macos,代码执行漏洞多
海洋cms 代码执行漏洞多
重点!!!
第一:熟悉CMS目录结构,方便更好的识别CMS。去百度CMS漏洞
虚拟机搭建
下载好的虚拟机
安装windowsServer2008系统
打开系统
虚拟机---设置---CD/DVD---镜像文件选中到windowsServer2008R2SP1.ISO---勾选“已连接”
打开系统---打开服务器管理器---添加角色---下一步---IIS---下一步---应用程序开发(支持脚本语言)---下一步---安装完成---关闭
运行输入:inetmgr(调出管理器)---打开默认站点---成功后删除---新建站点---网站名称asp---网站路径放源码创建c盘里新建文件夹---确定---端口设置80---不设置ip---确定
设置好站点以后点击右键浏览---打开源码,放进去
启用ASP功能
应用程序池目录---asp名称---右键高级设置---修改32位应用程序(True)---ok---asp父路径双击打开(True)---默认文档里添加index.aps---浏览打开网站查看是否正常
重点:
access +asp +iis7 asp是自带数据库可以直接运行
php环境 + mysql +iis7
php环境搭建:
①以及安装了iis7 就直接下一个载phpstudy2014---80端口被iis占用“默认不能复用”所以apache起不来,我们就切换版本到php5.4+iis7
②新建站点---网站名称php---网站路径放源码创建c盘里新建文件夹---确定---换端口设置81---不设置ip---确定
③设置好站点以后点击右键浏览---打开源码,放进去
④放进去之后,查看默认文档里是否有index.php没有就添加---添加后在浏览,显示没有数据库就代表正常
⑤接着localhost:81后面添加/install/install.php进入数据库安装界面 localhost:81/install/install.php
⑥点击下一步---进入数据库名称创建名称xycms(随意记住),数据库账号root,数据库密码root。在其他的数据库创建事必须先去创建数据库才能在网页填写。这个数据库不用创建,他会自动创建。
接上一步---创建后会报错(原因是他会在安装目录创建一个锁定文件,锁定文件没创建也会报错,权限问题)
*⑦返回iis管理器找到php右键编辑权限---安全--用户组第一个编辑---添加---输入:e--确定---完全控制,修改,读取和执行,列出文件夹内容,读取都勾选允许。---确定---链接数据库---下一步再次访问成功
网站:http://localhost:81/system/
注:win7以上运行小先锋,就会自己识别页面运行
创建数据库---打开phpstudy---其他选项---Mysql工具---mysql命令行---输入密码root---create database xycms
虚拟机联通问题:
物理有两个网卡WMnet1,WMnet8
虚拟机08使用的NAT就是wmnet8
Nat:以你的物理机为路由器连通出去(可以上外网)ip是虚拟的ip
桥接:以你的物理路由器为路由器和物理机相同,ip和物理路的ip等于在同一个网段
nat:物理机挂,虚拟机就不用挂
两个虚拟机互相连接必须要满足:1.同一网段 2.同一个网卡 3.ping同关闭防火墙
域名解析过程:客户机访问www.baidu.com---先到dns这里---dns查询百度的ip1.1.1.1---dns返回客户机1.1.1.1---客户机拿着1.1.1.1访问百度
什么是网关:
上网的设备手机,电脑都会通过网关、 网关的ip就是路由器的内网地址io
host文件位置:c盘---windows---System32---drivers---etc---hosts:hosts的优先级大于dns
host用处:抓取信息,以及破解xmind使用,因为抓取不到服务器,
切记:SSR和VPN有区别,即使你用SSR连通在去访问服务器也会出问题,ssr设置的是ie的代理,但登录3389就会暴露本机的ip,全局也没用。登录3389可以使用vypr 真VPN。
旁站搭建:
旁站:同一个服务器的不同网站
完成方式:
不同ip同端口
不同端口 同ip(教育/学习/ip访问的站点/政府/云商)
不同域名,同端口ip的(最普遍)
同域名,不同目录(站中站)二级目录建站黑帽比较多
攻击思路:主站未攻击成功可以ip反查攻击旁站,一样可以拿到服务器。
谷歌常用插件安装:
Hackbar charset Cookie Hacker Modify Header value (HTTP Headers)头注入以及绕过限制 Proxy SwitchySharp
HTTP协议
请求包
通过抓包我们可以看出
第一行GET请求方式:get,post,cookie put move head 都可能会存在http头注入
第一行网址
第一行http协议号
第二行host:是给网站的容器和dns去分析的。同ip很多个站,就是通过host去区分的
User-Agent:这个很重要,是浏览器的标识许多waf会识别出来:例如sqlmap去扫会飘红,因为sqlmap的标识是sqlmap.org,会被waf识别成扫描工具会被屏蔽.
解决sqlmap飘红方法:采用sqlmap里的random-useragent参数随机出现识别码就行,防止waf来屏蔽我
client-ip x-forwarded-for这些都是指定的客户端ip.
referer:指定的是从哪里来源跳转到目标网站的。 csrf就用referer来判断是否合法跳转
post:登录,上传,留言,修改资料
响应包
第一行协议号,状态码
dare:返回的时间,可以判断服务器是否在国外
区分网站系统方法:网址后面修改大小写,大小写报错证明是linux,返回正常正常是windows
Server:使用的容器
有时候可以看出是否有waf回显
响应吗:
200:客户端请求成功,常见
302:重定向
404:请求资源不存在 常见
400:客户护短请求语法错误,不能被服务器所理解
401:请求未经授权
403:服务器收到请求,但是拒绝提供服务
500:服务器内部错误, 常见 菜刀访问报500可能被waf拦截了
503:服务器不能处理客户端请求,一段时间后恢复
如果被client-ip给限制了ip比如:burp暴力破解 被限制ip可以在破解时候的请求头里设置一个client-ip:1.1.1.1把1.1.1.1都设置成变量就可以边跑密码边换Ip(这个办法比较麻烦)方法二:burp插件“fakeip”在extender(扩展)BAPP xxxx 找到后设置变量,再去爆破选项选择扩展生成,选择fakeip 在设置密码,直接攻击
。
抓https包的方法:
打开代理---在url输入burp---访问到burp证书---下载下来---选项---高级---加密---证书---服务器---导入---下载的证书---找到证书编辑信任---信任证书都勾选了---导出----portsxxxxxx.crt文件---证书机构---portsxxxx导入进去就行
课后作业
了解常见术语
熟悉渗透测试流程
熟练操作虚拟机配置
熟练安装系统
熟练搭建网站测试环境
掌握常见cms搭建方法
熟悉常见主流cms框架
熟悉http协议参数