漏洞
计算机由软件和硬件两部分组成,软件由不同的程序员来编写的,由于程序员的水平不同,会导致软件存在一些问题。
软件编写存在问题→导致软件缺陷→攻击者利用软件缺陷来攻击→给用户植入木马病毒,或者直接盗取用户秘密信息→这时软件缺陷应该被称为软件漏洞
程序员代码编写的软件存在缺陷,使程序存在bug,即软件缺陷,某些情况下,软件中存在的bug可以被利用对用户造成恶意攻击。如给用户计算机上安装木马病毒,或者直接盗取用户计算机上的秘密信息
漏洞挖掘
利用软件的bug来编写恶意代码,从而达到攻击的目的
杀毒软件无效的原因?
计算机系统中的某个软件(包括操作系统)存在安全漏洞,有人利用这些漏洞来发动攻击,给计算机系统安装了木马病毒程序,所以杀毒软件、防火墙软件都无法阻止木马病毒的侵入。
肉鸡
受别人控制的远程电脑。如果服务器软件存在安全漏洞,攻击者可以发起“主动”进攻,植入木马,将该服务器变为一个任人宰割的“肉鸡”
为什么点了一个url链接就会中了木马?
url链接有一个运行环境:浏览器,如果浏览器存在一些安全漏洞,如果访问URL对应的网站时,它在解析上或者网站的功能本身存在一些问题,这些问题足以导致木马被下载到电脑上
word文件、ppt文档它们会导致恶意代码的执行吗?
如果办公软件例如office中存在一些安全漏洞,那么也会导致木马被植入
漏洞产生的原因
- 开发水平质量参差不齐
- 赶进度,偷工减料
- 被轻视的软件安全测试
- 淡薄的安全思想,缺乏安全开发的意识和经验
-
不完善的安全维护
渗透测试
通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法
渗透测试的特点
- 渗透测试是一个逐渐的并且逐步深入的过程
- 渗透测试是选择不影响业务系统正常运的攻击方法进行的测试
渗透测试的方法
黑箱测试又称为 zero-knowledge testing
对系统义务所知,手中的资源来自各种对外公开的服务器
白盒测试
可以通过正常渠道向被测单位取得各种资料,综合利用各种黑客得不到的资源
隐秘测试
告知某个部门会在某段时间内进行测试,但具体时间不会明说,用来检验应激措施是否到位
渗透测试环境
VM ware vmnet1
将虚拟机和真实系统连接上了,可以和真实系统共享文件,但不能访问外部互联网
VM ware vmnet8
NAT网络地址转换,将虚拟机和真实系统连接上了,可以和真实系统共享文件,可以访问外部互联网
kali(卡丽)
专门用于渗透测试的linux操作系统
利用反汇编
-
定位关键分支所占的位置,并进行修改
将错误分支的地址 改成正确分支的地址
push call 为参数调用做了一个输入
eax通常存的是函数的返回值,或者进行加减运算
汇编中 jz(jump if zero)为零跳转
jnz (jump if not zero)非零跳转
-
更改函数
一个数 异或 自身 可以达到清空的效果
Mov dword ptr [ebp-8],eax 把eax移送到局部变量ebp-8的地址
ebp-8 新地址往上减一般是一个局部变量的地址
esp始终指向栈顶,ebp是在堆栈中寻址用的
堆是向到高地址扩展的,栈是向低地址扩展的
nop空指令