渗透测试基础

重要知识点:
对客户的渗透测试范围的授权书一定要看仔细,测试范围有哪些。
发现漏洞   探测漏洞   验证漏洞
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:物理机挂vpn,虚拟机就不用挂vpn

     两个虚拟机互相连接必须要满足: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可以使用vyprvpn 真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协议参数

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。