T3SEC总结

{% meting "2111364820" "tencent" "playlist" "theme:#FF4081" "mode:circulation" "mutex:true" "listmaxheight:200px" "preload:auto" "autoplay" %}

主题:揭秘黑客如何通过木马控制目标服务器-webshell

学习前需要了解的内容:

  • 1.了解web的基础的原理(http协议...)
  • 2.对安全工具有一定的了解(burpsuite.中国菜刀等)

靶机:upload-labs

webshell是什么:其实就是一个网页木马

分析:

  • 1.分析上传点: 这是一个js过滤,前端过滤,所有前端过滤都是不安全的.checkFile()这个函数进行了对文件后缀格式的一个限制pass01

  • 2. 方法:

  • 通过burpsuite绕过js前端验证过滤上传webshell

  • 拦截代理:浏览器需要设置代理 ,-----Burpsuite设置

  • 通过浏览器审计工具绕过JS 验证,上传webshell(前端知识有一定的了解)

  • 思路:关闭事件,删除调用函数,修改函数体里面的过滤策略等.

  • 中国菜刀连接上传的webshell控制目标服务器

  • 中国菜刀连接上传额webs hell控制目标服务器进行上传文件.下载文件,等其他权限的获取

主题:揭秘黑客如何拿下目标最高权限

课程前言:

1.论提权的重要性

  • 我们在渗透过程一般都会获得普通用户的权限,在获取系统某些关键信息的时候会受到权限的限制,因此作为安全渗透测试工程师,掌握提权是一项必备的重要技能.

2.提权的分类

  • 数据库提权

  • web提权

  • 操作系统相关提权

**3.**本期课程内容:

  • 主要讲UDF提权

**4.**学习本课程需要掌握哪些基础知识:

  • 数据库相关基础

  • 操作系统基础

  • 掌握一些web安全基础

5.环境:phpstudy

  • mysql

  • apache

  • php解析器

6.数据库提权前提条件:已经获得数据库的用户名和密码*

  • 数据库的用户密码渗透:

    • 通过上传webshell到服务器-->利用菜刀工具下载网站的连接数据库的文件 如何判断网站的哪一个文件是连接数据库的文件db_config.php

    • 数据库用户名密码:用户名:root 密码:root

7.**数据库提权:**利用数据库的UDF提权(User Defined Function:用户自定义函数.)

  • UDF提权属于版本提权,版本不同方法有一些小区别

  • 区别在于生成udf文件保存的目录不一样

    • mysql<5.1 -->生成UDF路径可放在C:windows/system32/

    • mysql>=5.1 --> 生成udf(.dll)路径放在 mysql安装目录下的\lib\plugin目录下-->如何通过数据库来找

  • mysql>select $$plugin_dir;

  • 脚本自动生成

开始提权:提权脚本

  • 利用提权脚本---->去生成udf文件

  • host:输入服务端主机名或服务器ip地址

  • name: 输入用户名

  • pass: 密码

  • dbname:数据库名字mysql安装好后默认

  • 利用提权脚本--->生成udf文件按(.dll)

select sys_eval('net user moon$ 123456 /add & net localgroup administrators moon$ /add') 创建moon$ 密码为123456 同时提升管理员权限

  • 直接登录数据库进行提权

    • create function cmdshell returns string soname ‘moonudf.dll’;

    • select cmdshell(‘net user waitalone waitalone.cn /add’);

    • select cmdshell(‘net localgroup administrators waitalone /add’);

  • 利用dos开启远程桌面服务

信息安全提权分类

  • 数据库提权:udf提权 mof提权 反弹端口连接提权

  • web安全提权: SQL注入提权,webshell提权,web中间件漏洞提权等

  • 操作系统提权:系统内核溢出提权,错误的系统配置提权,组策略首选项提权,DLL劫持提权,第三方软件 /服务的提权

  • 安卓提权等

主题:寻找网站漏洞:漏洞挖掘

渗透测试VS代码审计:

  • 渗透测试**(黑盒测试):**渗透测试的目标是一个黑盒子,我们并不关心软件产品内部的代码结构.我们只知道整个web站点发起一些参数提交,达到我们利用某个漏洞的额攻击效果.

    • 特点:它能够相对于发现操作系统和网络服务宗全形的安全,而不仅仅是对web站点的漏洞挖掘

    • 注意:渗透测试不是真正意义的漏洞挖掘,他仅仅是通过探测或者验证的方式确定漏洞的可利用性.

  • 代码审计**(白盒测试)**:是指有一定安全经验的相关人员,通过阅读开发文档或者网站的源代码,以自动化分析工具或者人工分析对应用程序进行深入分析.高效全面地发现系统代码的缺陷.或者开发人员不安全的编程习惯.并知道开发人员进行修复,保障应用系统的安全运行.

    • 特点**:**更多是一个静态的代码审计,代码审计更加彻底发现代码风险.
  • 渗透测试VS代码审计的关系

    • 相互补充,相互强化.

    • 代码审计发现问题,渗透测试确定可利用性.

    • 渗透测试发现问题,代码审计确定成因.

漏洞挖掘过程与方式:

  • 漏洞挖掘的过程:

    • 代码审计准备(安全知识+代码审计工具)

    • 采用的方式:自动化工具+人工

    • 找到有漏洞的代码

    • 最终给出修复方案,指导开发人员完善我们的应用系统.

  • 工具漏洞的挖掘方式

    • 优点:效率高

    • 缺点:对漏洞存在误报

  • 人工漏洞挖掘方式

    • 优点:挖掘漏洞的精准

    • 缺点:效率低下

  • 人工+工具漏洞挖掘方式:结合工具和人工漏洞挖掘有点,相互补充,相互强化.

学习本课程需要掌握的知识体系:

  • web安全体系知识(http协议原理,web安全top10漏洞,安全工具)

  • 具备一定的语法基础(Html,CSS JS,ASP,PHP,JSP),以及代码的调试

  • 掌握常用的数据库(Mysql,Oracle,Sqlserver等等)

  • 对开发语言的框架知识有一定的了解,MVC(Model View Controller),SSM(Spring Struts Mybatis),SSH(Spring Struts Hibernate)等等

seay主要审计php语言 fortify:java语言

主题:获取管理员账号密码-窃取cookie

回顾:

  • 渗透测试vs代码审计:

    • 渗透测试VS代码审计

    • 代码审计及特点

    • 渗透测试vs代码审计关系

  • 漏洞挖掘方式

    • 漏洞挖掘过程

    • 漏洞挖掘方式

  • seay代码审计使用

论XSS漏洞的重要性

  • 关联web安全之XSS体系化课程里面的内容.

XSS体系知识:

  • XSS漏洞原理与检测机制
  • XSS反射型.存储型.DOM型
  • XSS漏洞针对客户端(获取cookie,转发邮件,放马,刷流量)
  • XSS漏洞针对服务端(劫持后台,篡改页面,蠕虫,内网扫描)
  • XSS漏洞绕过编码技术
  • XSS漏洞fuzzing Xsser模糊测试
  • XSS漏洞开发与漏洞修复
  • arc-xss漏洞需求分析
  • aec-xss漏洞挖掘过程
  • arc-xss漏洞挖掘利用
  • aec-xss漏洞挖掘验证

Q.E.D.