• 《metasploit渗透测试魔鬼训练营》靶机演练之第五章实战案例KingView 6.53版本CVE-2011-0406漏洞


    在一个笔记本上开两个虚拟机有点卡,而且太麻烦,就把metasploit的目标靶机放在别的机器上了,ip自己配置了一下,
    目标主机:192.168.137.254
    入侵机:192.168.137.253
    目标机上存在漏洞:KingView 6.53版本CVE-2011-0406漏洞,系统 win2003 SP0
    下面进入正题:
     
    在信息搜集中得知,目标主机开放了777端口,百度发现,这个端口运行着KingView的服务,并且存在着漏洞。
    直接在msf在search这个漏洞的利用模块。。。没有啊
    于是,上网搜了一个exp,放到 /exploits/windows/scada中,查看了一下源代码,发现里边target没有win2003 SP0。
    没办法,先试试 winXP SP3看看能否同用吧。
    配置过程:
    看看能反弹连接吗:
    好吧。。。果断不行。。
    回到目标主机上去调试吧,通过刚才的一次攻击,发现HistorySvr.exe停止了运行,说明漏洞被触发了,但是没有执行shellcode,那么,应该就是跳转指向的地址不是shellcode的地址,最终调用了系统默认的异常处理函数。
    打开OllyDBG,在option菜单中选择 “Just-in-time debugging”,在选“Make ollydbg just-in-time debugger”,之后退出。重新启动HistorySvr服务,并再次进行攻击,Ollydbg截断了异常处理,程序终止在了异常的指令处。
     
    原因是call调用的eax+0x0C地址没有被分配使用,触发了异常。
     
    回到该模块的源代码,找到target,发现针对目标win XP SP3 EN返回地址Ret正是EAX寄存器的值0x00A1FB84,显然,溢出发生之后,数据包的Ret覆盖了EAX,但是并没有成功指向shellcode的地址,接下来,只需要修改Ret的值就可以了。
    需要定位shellcode的位置,在该渗透模块添加了一个新的target,Ret随意写,在构造exploit函数的溢出数据包时,加上特殊的定位字符,但要保持总长度不变。
     
     
     
     
    关闭Ollydbg,重启服务,再次进行攻击:
    回到目标靶机上,ollydbg再次拦截到异常,直接在Memory中定位字符“ABAC”,在0x00B404C0搜索到了字符,相应的找到了shellcode的地址0x00B404C4
    接下来,就修改Ret和exploit函数就可以了:
     
    重新加载,再次攻击,成功。
  • 相关阅读:
    Yii2与layuiadmin整合1
    Yii2与layuiadmin整合3
    laravel8.5与layuiadmin整合(8)
    laravel8.5与layuiadmin整合(12)
    laravel8.5与layuiadmin整合(9)
    laravel8.5与layuiadmin整合(14)
    Spring Data JDBC笔记
    Spring Boot笔记 #08# DEBUG级别启动日志译成中文
    Spring Web MVC 1.3. Annotated Controllers
    Java连接数据库 #08# 一个小结(JDBC & 连接池 & ORM & JPA)
  • 原文地址:https://www.cnblogs.com/student-programmer/p/6729176.html
Copyright © 2020-2023  润新知