zoukankan      html  css  js  c++  java
  • 20159320《网络攻防实践》第9周教材总结

    课本知识简述

    这次博客就不按照书上知识点框架做一些叙述了,首先先给一些基本的简述

    1、恶意代码分类:计算机病毒、特洛伊木马、恶意移动代码、蠕虫、后门、僵尸程序、内核套件。

    2、中国的病毒:CIH、冰河、灰鸽子、证券大盗、机器狗、磁碟机。

    3、网络蠕虫内部组成结构:弹头、传播引擎、目标选择算法、扫描引擎、有效载荷。

    4、缓冲区溢出攻击:通过精心构造的发向目标系统网络服务的缓冲区数据、攻击者可以破坏目标系统服务中内存结构,并在主机上执行缓冲区包含的攻击指令。

    5、后门:允许攻击者绕过系统常规安全控制机制,为攻击者提供访问通道。

    木马:看起来是有用的或者善意的目的,但实际上掩盖了一些隐藏恶意功能的程序。

    6、恶意代码静态分析技术:扫描病毒→文件识别→脱壳→字符串提取→二进制结构分析→反汇编或反编译→代码结构和逻辑分析。

    7、恶意代码动态分析技术:快照对比、系统动态行为监控、网络协议栈监控、沙箱、动态调试。

    8、软件安全的困境三要素:复杂性、可扩展性、连通性

    9、函数调用步骤:调用、序言、返回

    10、缓冲区溢出:栈溢出、堆溢出、内核溢出。

    windows消息钩取

    在看第九章的时候,看到了windows消息钩取和dll注入的一些信息,顿时有了一些兴趣,因此找了点资料,学习了一点简单的消息钩取和dll注入以达到对其理解。

    钩子练习

    1、首先我们先尝试练习钩取技术,在这我们用到的是notepad和hookmain.exe。

    2、安装好hookmain.exe之后我们运行notepad.exe。我们输入任何值(非q)发现键盘无法输入。

    3、在这我们用到了一个非常好用的进程管理工具progress explorer查看进程可以发现keyhook.dll被注入到notepad.exe进程之中

    4、关闭hookmain重新输入发现可以输入

    5、查看keyhook.dll发现无进程加载该dll说明拆除钩子之后相关进程也卸载了keyhook.dll

    调试keymain.exe

    1、将该程序载入OD,查找字符串发现关键字符串

    2、双击进入相应程序查找相应语句

    3、在00401000处下端点,重新载入后,单步知道遇到keyhook.hookstart()函数,此时跟进程序,发现此段程序开始为压入参数的内容,我们发现push 10001020这行代码,为钩子过程的地址,记住此值。

    调试notepad进程内的keyhook.dll

    1、将notepad载入到OD后运行,此时点开调试设置,将事件中的break on new module勾选,表示在新的调用上断下来。

    2、运行hookmain后键盘任意输入,发现程序断在相应位置,此时keyhook被加载到10000000处。

    3、双击进入该位置,找到10001020处下断,此时还需注意将之前的事件设置改回来

    4、重新载入,输入内容发现程序断在指定位置即钩子过程的位置。

    参考程序

    1、本实例所用的工具包括OD和progress explorer。OD可以自行去官网下载,progress explorer这款软件是查看进程的利器,可以列出很多详细的信息方便参考,非常推介大家使用。

    2、本实例所用到的程序请参考一下链接:https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

  • 相关阅读:
    组合模式
    C#+ArcEngine中com对象的释放问题
    备忘录模式
    C#中的DataSet添加DataTable问题
    jenkins从节点
    jenkins Publish over SSH
    jenkins凭据
    jenkins maven项目
    jenkins部署-docker
    zabbix api
  • 原文地址:https://www.cnblogs.com/miaohj/p/5450931.html
Copyright © 2011-2022 走看看