安全矩阵

 找回密码
 立即注册
搜索
楼主: wholesome

侯欣悦学习日记

[复制链接]

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-14 20:24:29 | 显示全部楼层
gclome 发表于 2020-4-14 20:18
payload1=offset*'a'+p64(addr_rdi)+p64(1)+p64(addr_rsi)+p64(addr_gets)+p64(1)+p64(addr_write)+p64(a ...

哦哦哦!对哦!明白了!rdx本身有值,我们就不必管它!
回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-16 23:25:39 | 显示全部楼层
回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-17 21:03:02 | 显示全部楼层
0x00 windows下的内存保护机制
在接触了Linux平台下的栈溢出漏洞攻击,今天便正式开始了windows的学习。在Linux最开始的学习中,我了解到Linux下的内存保护机制:
  • Canary(栈保护)
  • NX(数据执行保护)
  • Pie(地址随机化)
  • Relro
  • Fortify
其中特别隆重介绍了前三种,(后两种利用例子似乎很少)这里就不再赘述。
同样的,在windows下,我们也有类似的内存保护机制:
1、GS:功能类似于Linux的Canary。在缓冲区溢出修改返回地址的实验中,若启用GS选项,就会在函数一开始调用执行的时候保存一个“Security cookie”,并在其他地方(.data段保存一个副本)即如果栈中发生溢出,那么Security cookie就会被先淹没,然后是EBP和返回地址,此时系统再对比Security cookie,就会出现不一样而进入异常处理机制。
绕过方法(尚且先做个总结吧,虽然这些方法还没有接触):
(1)利用未被保护的内存
(2)覆盖虚函数
(3)攻击异常处理
(4)同时替换栈中和.data中的Cookie
在上面这四个方法,我从字面意思只能理解第四种方法。o(╥﹏╥)o
然后又百度查资料对其他三条稍作了解了一丢丢......(后续再详谈)
2、SafeSEH:这是一种针对S.E.H攻击的防御措施。查找资料得知,我们可以通过攻击S.E.H(structure exception handler:异常处理结构体,我第一反应是_try(...)catch(...))来绕过GS,或者改写S.E.H堆栈中异常处理的函数指针进行windows漏洞利用。还是简单点来说吧,SafeSEH可以校验S.E.H,从而有效降低通过攻击S.E.H获得控制权的成功率。(不懂?没关系!我也不懂!哈哈哈哈哈)
绕过方法:
(1)未启用GS时,攻击返回地址绕过SafeSEH
(2)攻击虚函数劫持流程绕过SafeSEH(此时没有用到任何异常处理机制,那么SafeSEH就是一个摆设)(这一点与绕过GS(2)相似)
(3)从堆中绕过SafeSEH(之前看过一点点堆,听说比栈难多了)
(4)利用未启用SafeSEH模块绕过SafeSEH(我发现这一点也与GS(1)绕过一样,使用未启用的。)
(5)利用加载模块之外的地址绕过SafeSEH(这个我无法解释一点点o(╥﹏╥)o)
3、DEP:数据执行保护,规定堆和栈只有读写权限没有执行权限,(资料说是用来弥补冯若依曼设计的图灵机混淆数据和代码的天然缺陷)这个时候我们就必须利用ROP技术将程序自身碎片(gadgets)绕过DEP。值得注意的是:ROP技术的前提是代码片段的地址固定。
(补一句:这个时候就要了解一下PE文件的结构,清楚什么是数据页,什么又是代码页)
绕过方法:
(1)(怎么又是)攻击未启用DEP的程序
(2)利用ret2libc挑战DEP(这个我有了Linux的基础,终于懂了一个,不过,听说这一条还可以再细分)
(3)利用.NET挑战DEP
(4)利用JAVA applet绕过DEP
后面两条感觉(o(╥﹏╥)o)
4、ASLR:地址空间布局随机化,前面几种保护机制都有的共同前提是程序加载基址确定。在Linux缓冲区溢出漏洞实践中,接触到一些。
绕过方法太不普通了!后面操作再细讲。
参考链接:
  1. https://www.cnblogs.com/t1mes/articles/7136728.html
  2. https://blog.csdn.net/whatday/article/details/82976677
复制代码


回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-18 20:55:31 | 显示全部楼层
本帖最后由 wholesome 于 2020-4-18 21:05 编辑

今天本来打算看windows那一系列溢出视频,感觉今天没在状态,似乎不能思考(一个是因为有关基础没有学习,二是估计被自己电脑给整晕了)所以今天就在《0day》上复习一下以前学习的知识(页数蛮多,但是为了连续看书,记录下来的没有太多)
第2章 栈溢出原理与实践。
发现看的时候,最大的感受就是理解能力能跟上了,加深了基础理解,同时一些也给自己补充了一些没有注意到的或者迷迷糊糊的。
(1)函数的局部变量到底怎么放在栈帧中的
(2)内存数据与数值数据的区别
(3)淹没相邻变量
(4)改变程序流程和淹没返回地址
(5)代码植入
第3章 开发shellcode的艺术
这一章,就有一些关键技术不太懂了!
(1)静态地址直接定位shellcode与跳转指令间接定位shellcode的缓冲区分布及优势利用
(2)动态定位API地址的shellcode(这个没有明白,但是这个利用理解很重要)
(3)复习了一遍解码编码经典技术

回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-19 22:00:00 | 显示全部楼层
本帖最后由 wholesome 于 2020-4-20 23:33 编辑

由用户输入导致的程序崩溃是一个漏洞利用开发的开始。
今天表面了解了egg hunter技术,由于时间问题,只是看了一些别人的文章。没有进行实际操作。egg hunter技术是windows下的一种缓冲区溢出利用技术。大概原理就是:当我们在一个程序里幸运地找到一个缓冲区溢出时,但是,令人失望的是我们的缓冲区太瘦小了,不能够接受我们有一定长度的shellcode。那么我们该怎么利用这个溢出呢?这个时候我们就可以将这个“胖子shellcode”存放在程序其他内存里,作为目标“蛋”。这个时候我们又另外构造一个适合缓冲区溢出大小的shellcode——“hunter”。别看它瘦小瘦小的,但是他是我们寻找主角的关键。“蛋”被我们放在足够大的内存页之后,我们就要精确“怎么找”?看了一些别人的文章,就是要给这个“胖子shellcode”定义一个独特的标签,供“hunter”循环内存也鉴别比较这个标签,然后定位目标“蛋”并利用。
总之,两个关键点:
  • 内存扫描
  • 对比标签
只是理解个大概!并没有实际操作,所以很多细节都没有实现!所以,打算有时间弄一弄!毕竟操作了才知道难点在哪!
回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-20 23:28:22 | 显示全部楼层
本帖最后由 wholesome 于 2020-4-22 23:50 编辑

估计这一周都要在无用的事情上浪费功夫(双创文档、马克思PPT),所以可能没有长质量总结操作文章!再加上护网要来了,明天计划,复习web,感觉web这方面特别薄弱!主要是没有实践吧!
回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-22 23:49:42 | 显示全部楼层
本帖最后由 wholesome 于 2020-4-22 23:51 编辑

今天最大的收获就是学姐今天的溢出屏幕的一番经验了!!比自己大不了多少的经验很有借鉴性!大概内容就是脚踏实地,切记走马观花,布置的事情一定要用心做!反复看!同时,是时候为自己定个目标了,这样才有动力、有干劲.........

(还有一件令我震撼的是马克思的一节网课视频竟然达到了一节175分钟,平时最多只有十几、二十分钟
回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-25 15:45:47 | 显示全部楼层
回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-30 12:00:33 | 显示全部楼层
本帖最后由 wholesome 于 2020-4-30 14:43 编辑

搭建环境搭了好几天!第一天,还得理清搭建思路,虽然有教程!但是还是比较困难!各种合作查资料,查文档!第二天理清了一部分,但是安装的时候频频出问题,不断重头开始!同时,开启了对网站登录框的测试,没有怎么有收获!(有点慌呀)第三天,环境感觉搭得还不错!但是访问不了!询问作者,配置nginx:web服务和代理,于是又开始了一天的百度。第四天,同样的问题,依旧没有得到解决:发现防火墙也关闭了,主机curl以及ping都能成功连接虚拟机靶场,但是浏览器就是访问不了,(访问的时候,会出现一个绿色标志,但是一会就访问失败)于是抱着试试的心态私聊了以下这篇文章的作者(因为我的环境是按照该文搭建的)

幸运的是有了回复!最后在我还没有解决的时候

(莫名有点小害怕
行!那就百度网盘里面传过去吧!文件太大,开通了网盘会员,(上传速度也太慢了吧,换了个网!速度还不错:1.7MB/S)希望最后能得到解决



补:
最后,问题完美解决!其实问题也是一个小小的问题,但是自己复现的时候就是各种不成功!在教程原文有这样一句话


这句话!误解了!原来是这样:


一针见血!这下我终于可以访问了!
再贴一点大佬的建议吧,希望对搭建环境的小伙伴有帮助:


最后总结:
搭建环境确实需要足够的毅力和耐心!本来已经想放弃,但是(不敢放弃)感谢作者的耐心解答!每一句说的都是一针见血!没有一句废话!
参考链接:
https://www.mzxh.xyz/2020/04/23/vulfocus%E6%9C%AC%E5%9C%B0%E5%8C%96%E9%83%A8%E7%BD%B2/#footer
https://www.anquanke.com/post/id/203735









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
 楼主| 发表于 2020-4-30 22:36:09 | 显示全部楼层
本帖最后由 wholesome 于 2020-5-2 09:20 编辑

第一个目标:重庆经贸职业学院
(界面还挺好看,点一下会变一个主题)
随意测试账号:
点击密码的时候会提示用户名不存在(我滴个乖乖!这也太直接了吧)
学院官网主页找找有什么泄露可利用的账号。
没过多久就找到赤裸裸的“附表名单”:
大概有130个人:
现在第一个申请人试试:
再随便点点注意事项:
默认密码123456
输入密码:
当我输入第二次密码:
发现验证码没有替换。
试试爆破吧!固定密码123456,爆破用户,制作字典:
将那130个学号复制到Excel表,截取学号一栏:
保存11.txt:
爆破之后发现似乎没有用的!哎!迷茫了!试了一些人的弱口令!没有成功!于是在星期二之后就在没有碰过这个网站。
星期五了,在重庆的各个大学都大致走了一遍,发现有OA系统的都关闭服务器了,兜兜转转,还是测试星期二那个系统吧!
随便测试一个:
默认密码123456不对,那就再试试名字+数字:ljh123456
Duang地就看见浏览器跳转了页面!
左下角的OA系统引起了我的注意,但是无法访问。找找其他突破口。点击教务系统和学工系统,显示:
有一个Tomcat图标,总感觉有点什么,但是没有思路!
本来想测试admin/administrator管理员是否存在,但是登录框说不存在!疑惑就是要么名字不对,要么就是后台链接不在此,搜索了后台但是没有找到!该生文件上传只出现在修改头像:
试试看!能不能做点什么:
然而我又发现我没有开代理池,以至于下面的登录查询:
(这可咋办?)还好我还没有传马儿上去!




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 03:48 , Processed in 0.016477 second(s), 17 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表