工作杂记 // 长期更新 // 记录日志
目录跳转 |
---|
第一周 |
第二周 |
第四周 |
第七周 |
第十一周(国庆节) |
第一周
第一次正式工作,压力还是挺大的. 我们实验室人虽然加上我只有六个人,但除开我之外全都是大佬:
- 负责管理整个西安研究所和我们实验室的李院长,虽然水平远远超过大家但从来不摆架子
- 指导我工作,带我来实验室研究固件及用户接口漏洞的潘老师. 从 Jvav .Net 审计至二进制漏洞挖掘几乎无所不知
- 来自西电物联网系,研究无人机安全的陈学长. 无人机、智能机械臂漏洞挖掘专家
- 研究各种底层内核协议的马总,是似乎能在半天时间内迅速完全弄清从 物理层到应用层 间任何一个未知协议并且快速部署的专家
- 负责西安研究所的 HR 李女士,也坐在我们实验室
总的来说,这一周基本上就是ida,启动!Eclipse,启动!Dnspy,启动!Vmware,启动!
然后中午大家一起去吃饭. 平时大部分时间做审计和逆向相关的工作,以及总结以往漏洞的 PoC 然后给内部数据库写漏洞报告和 MSF 的 Exp.
看了下以往的研究报告,各位师傅总有各种各样的办法把各种固件从各种机械臂、无人机里导出来,或者是有各种办法拿到各类 Web 系统的源码,然后再用各种稀奇古怪的虚拟环境模拟调试运行起来,能在互联网上迅速找出想要的信息. 换做是我,可能会卡在各种奇奇怪怪的地方,还是需要学习很多东西.
第二周
后期对 MIPS 架构的指令集的漏洞挖掘及利用的需求比较大,而自己对 MIPS 架构的指令集和语法糖、寄存器规则又有点不熟悉(虽然和 arm 架构很像,非常容易上手就是了)
在此过程中经常会出现一些根本解释不清的问题,真的非常想吐槽. 比如像头两天写了段 MIPS 架构 ShellCode 中的以下指令片段:
lui $t9, 0x0041 #低十六位放进寄存器 $t9 的高16位
ori $t9, 0x4231 #低十六位放进寄存器 $t9 的低16位
这两条指令的机器码分别是: "\x41\x00\x0c\x3c"
"\x31\x42\x8c\x35"
,可以看出执行后的寄存器 $t9 值理应为 0x00414231. 可此处不知什么特性,在真实情况下执行后 $t9 的值为 0x01414231,在这里我排查了不少时间才发现这个地方存在问题
后期对栈溢出漏洞作近一步利用,需要对内存情况作出近一步分析. 不过对于工控设备还好,大多数固件均未包含任何防护,并且对于工厂里面的东西,栈溢出导致的拒绝服务已经 enough,很多设备甚至没必要 rce
第四周
这段时间工作有点忙,所以暂时懒得更博客了
西安的景色确实好看,推荐来旅游
(需要原图可以联系笔者)
第七周
很久没更新了,主要是不知道更新啥.
在最近找到了一个特别好用的在线的机器码汇编互转工具,可以互转 11 种常见架构的汇编和机器码. 用途很广,有一切手写机器码的需求都可以用它
Online Assembler and Disassembler
在上边输入汇编指令,可以转译为机器码.
同样的,在上边输入机器码,可以反译为汇编指令.
十分地方便
第十一周
很久没更新了,十一国庆节还是更点啥吧.
刚刚从北京工控护网回来,睡觉的地方从豪华的全季酒店突然变成破烂合租出租屋,落差还是有点大
这也是我第一次护网中现场逆向审计应用系统,也是第一次双人审计(有一种玩双人成行的感觉),本来我想着他们应该会带一些 OA 0day 来打,可到场却发现:共计四个人的团队全都是研究员组成,除了我有些许渗透经验之外其他人都是全职干逆向和审计的,根本没人准备了这方面的东西
特别感谢的是团队中的卢老师,向某位红队大哥要了套某单位VPN系统源码,然后由于时间关系咱俩一起逆向,互相通气分析利用链.
最后不出意料的一天不到就出SQL注入 0day,时间盲注写脚本拿到管理员 hash (这个地方一开始有点坑,返回包根本不是 HTTP 协议),并且靠以往该系统的密钥生成系统逆向出管理员密码,成功打进某单位内网横向(有一种打 RWCTF 的感觉)
遗憾的是,虽然大家都很强,但是由于事先没有做任何准备,我们队伍遗憾离场.
就连反弹 Shell 和搭 C2 用的 VPS 都是用的我的,免杀也是 github 上现拉的,哎
要说快速部署能力,我们四个人队伍,肯定是比不过隔壁某一天上三万分的、看似四个人在场实际几十上百号安服在背后技术支撑的某友商.
但论技术水平,我相信我们队伍是不输他们的. 下次肯定会尽可能赶上他们的